| < draft-ietf-spring-nsh-sr-09.txt | draft-ietf-spring-nsh-sr-10.txt > | |||
|---|---|---|---|---|
| SPRING J. Guichard, Ed. | SPRING J. Guichard, Ed. | |||
| Internet-Draft Futurewei Technologies | Internet-Draft Futurewei Technologies | |||
| Intended status: Standards Track J. Tantsura, Ed. | Intended status: Standards Track J. Tantsura, Ed. | |||
| Expires: January 27, 2022 Microsoft | Expires: June 16, 2022 Microsoft | |||
| July 26, 2021 | December 13, 2021 | |||
| Integration of Network Service Header (NSH) and Segment Routing for | Integration of Network Service Header (NSH) and Segment Routing for | |||
| Service Function Chaining (SFC) | Service Function Chaining (SFC) | |||
| draft-ietf-spring-nsh-sr-09 | draft-ietf-spring-nsh-sr-10 | |||
| Abstract | Abstract | |||
| This document describes the integration of the Network Service Header | This document describes the integration of the Network Service Header | |||
| (NSH) and Segment Routing (SR), as well as encapsulation details, to | (NSH) and Segment Routing (SR), as well as encapsulation details, to | |||
| support Service Function Chaining (SFC) in an efficient manner while | support Service Function Chaining (SFC) in an efficient manner while | |||
| maintaining separation of the service and transport planes as | maintaining separation of the service and transport planes as | |||
| originally intended by the SFC architecture. | originally intended by the SFC architecture. | |||
| Combining these technologies allows SR to be used for steering | Combining these technologies allows SR to be used for steering | |||
| skipping to change at page 1, line 48 ¶ | skipping to change at page 1, line 48 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on January 27, 2022. | This Internet-Draft will expire on June 16, 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 44 ¶ | skipping to change at page 2, line 44 ¶ | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
| 8. Backwards Compatibility . . . . . . . . . . . . . . . . . . . 14 | 8. Backwards Compatibility . . . . . . . . . . . . . . . . . . . 14 | |||
| 9. Caching Considerations . . . . . . . . . . . . . . . . . . . 14 | 9. Caching Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
| 10. MTU Considerations . . . . . . . . . . . . . . . . . . . . . 14 | 10. MTU Considerations . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 11.1. Protocol Number for NSH . . . . . . . . . . . . . . . . 14 | 11.1. Protocol Number for NSH . . . . . . . . . . . . . . . . 14 | |||
| 11.2. SRv6 Endpoint Behavior for NSH . . . . . . . . . . . . . 15 | 11.2. SRv6 Endpoint Behavior for NSH . . . . . . . . . . . . . 15 | |||
| 12. Contributing Authors . . . . . . . . . . . . . . . . . . . . 15 | 12. Contributing Authors . . . . . . . . . . . . . . . . . . . . 15 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 16 | 13.1. Normative References . . . . . . . . . . . . . . . . . . 16 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 18 | 13.2. Informative References . . . . . . . . . . . . . . . . . 17 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 1. Introduction | 1. Introduction | |||
| 1.1. SFC Overview and Rationale | 1.1. SFC Overview and Rationale | |||
| The dynamic enforcement of a service-derived and adequate forwarding | The dynamic enforcement of a service-derived and adequate forwarding | |||
| policy for packets entering a network that supports advanced Service | policy for packets entering a network that supports advanced Service | |||
| Functions (SFs) has become a key challenge for network operators. | Functions (SFs) has become a key challenge for network operators. | |||
| For instance, cascading SFs at the 3GPP (Third Generation Partnership | For instance, cascading SFs at the 3GPP (Third Generation Partnership | |||
| Project) Gi interface (N6 interface in 5G architecture) has shown | Project) Gi interface (N6 interface in 5G architecture) has shown | |||
| skipping to change at page 10, line 29 ¶ | skipping to change at page 10, line 29 ¶ | |||
| (2) ^ | (3) | (5) ^ | (6) | | (2) ^ | (3) | (5) ^ | (6) | | |||
| | | | | | | | | | | | | | | |||
| | | | | | | | | | | | | | | |||
| (1) | | v (4) | | v (7) | (1) | | v (4) | | v (7) | |||
| +------------+ ---> +-+----+ ----> +---+--+ --> | +------------+ ---> +-+----+ ----> +---+--+ --> | |||
| | | NSHoverSR | | NSHoverSR | | IP | | | NSHoverSR | | NSHoverSR | | IP | |||
| | Classifier +-----------+ SFF1 +---------------------+ SFF2 | | | Classifier +-----------+ SFF1 +---------------------+ SFF2 | | |||
| | | | | | | | | | | | | | | |||
| +------------+ +------+ +------+ | +------------+ +------+ +------+ | |||
| +------------+ +------------+ +------------+ | +------------+ +------------+ +------------+ | |||
| | S(SF1) | | S(SF2) | | F:Inner Pkt| | | S(SF1) | | S(SF2) | | F:Inner Pkt| | |||
| +------------+ +------------+ +------------+ | +------------+ +------------+ +------------+ | |||
| | S(SFF2) | | N(100,254) | | | S(SFF2) | | N(100,254) | | |||
| +------------+ +------------+ | +------------+ +------------+ | |||
| | S(SF2) | | F:Inner Pkt| | | S(SF2) | | F:Inner Pkt| | |||
| +------------+ +------------+ | +------------+ +------------+ | |||
| | N(100,255) | | | N(100,255) | | |||
| +------------+ | +------------+ | |||
| | F:Inner Pkt| | | F:Inner Pkt| | |||
| +------------+ | +------------+ | |||
| Figure 4: NSH over SR for SFC | Figure 4: NSH over SR for SFC | |||
| skipping to change at page 11, line 36 ¶ | skipping to change at page 11, line 36 ¶ | |||
| used to re-encapsulate and forward the packet(s) coming back from the | used to re-encapsulate and forward the packet(s) coming back from the | |||
| SF. | SF. | |||
| 5.2. SR-based SFC (SRv6) Packet Processing | 5.2. SR-based SFC (SRv6) Packet Processing | |||
| This section describes the End.NSH behavior and NSH processing logic | This section describes the End.NSH behavior and NSH processing logic | |||
| for SRv6. The pseudo code is shown below. | for SRv6. The pseudo code is shown below. | |||
| When N receives a packet destined to S and S is a local End.NSH SID, | When N receives a packet destined to S and S is a local End.NSH SID, | |||
| the processing is the same as that specified by [RFC8754] section | the processing is the same as that specified by [RFC8754] section | |||
| 4.3.1.1, up through line S.16. | 4.3.1.1, up through line S.15. | |||
| After S.15, if S is a local End.NSH SID, then: | After S.15, if S is a local End.NSH SID, then: | |||
| S15.1. Remove and store IPv6 and SRH headers in local cache indexed | S15.1. Remove and store IPv6 and SRH headers in local cache indexed | |||
| by <NSH: service-path-id, service-index -1> | by <NSH: service-path-id, service-index -1> | |||
| S15.2. Submit the packet to the NSH FIB lookup and transmit to the | S15.2. Submit the packet to the NSH FIB lookup and transmit to the | |||
| destination associated with <NSH: service-path-id, service-index> | destination associated with <NSH: service-path-id, service-index> | |||
| Note: The End.NSH behavior interrupts the normal SRH packet | Note: The End.NSH behavior interrupts the normal SRH packet | |||
| skipping to change at page 15, line 13 ¶ | skipping to change at page 15, line 13 ¶ | |||
| 11.1. Protocol Number for NSH | 11.1. Protocol Number for NSH | |||
| IANA is requested to assign a protocol number TBA1 for the NSH from the | IANA is requested to assign a protocol number TBA1 for the NSH from the | |||
| "Assigned Internet Protocol Numbers" registry available at | "Assigned Internet Protocol Numbers" registry available at | |||
| https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml | https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml | |||
| +---------+---------+--------------+---------------+----------------+ | +---------+---------+--------------+---------------+----------------+ | |||
| | Decimal | Keyword | Protocol | IPv6 | Reference | | | Decimal | Keyword | Protocol | IPv6 | Reference | | |||
| | | | | Extension | | | | | | | Extension | | | |||
| | | | | Header | | | | | | | Header | | | |||
| +---------+---------+--------------+---------------+----------------+ | +---------+---------+--------------+---------------+----------------+ | |||
| | TBA1 | NSH | Network | N | [ThisDocument] | | | TBA1 | NSH | Network | N | [This Document]| | |||
| | | | Service | | | | | | | Service | | | | |||
| | | | Header | | | | | | | Header | | | | |||
| +---------+---------+--------------+---------------+----------------+ | +---------+---------+--------------+---------------+----------------+ | |||
| 11.2. SRv6 Endpoint Behavior for NSH | 11.2. SRv6 Endpoint Behavior for NSH | |||
| This I-D requests IANA to allocate, within the "SRv6 Endpoint Behaviors" | This I-D requests IANA to allocate, within the "SRv6 Endpoint Behaviors" | |||
| sub-registry belonging to the top-level "Segment-routing with IPv6 data | sub-registry belonging to the top-level "Segment-routing with IPv6 data | |||
| plane (SRv6) Parameters" registry, the following allocations: | plane (SRv6) Parameters" registry, the following allocations: | |||
| skipping to change at page 16, line 42 ¶ | skipping to change at page 16, line 42 ¶ | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol | [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol | |||
| Label Switching Architecture", RFC 3031, | Label Switching Architecture", RFC 3031, | |||
| DOI 10.17487/RFC3031, January 2001, | DOI 10.17487/RFC3031, January 2001, | |||
| <https://www.rfc-editor.org/info/rfc3031>. | <https://www.rfc-editor.org/info/rfc3031>. | |||
| [RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer | ||||
| Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, | ||||
| January 2012, <https://www.rfc-editor.org/info/rfc6347>. | ||||
| [RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function | ||||
| Chaining (SFC) Architecture", RFC 7665, | ||||
| DOI 10.17487/RFC7665, October 2015, | ||||
| <https://www.rfc-editor.org/info/rfc7665>. | ||||
| [RFC8086] Yong, L., Ed., Crabbe, E., Xu, X., and T. Herbert, "GRE- | ||||
| in-UDP Encapsulation", RFC 8086, DOI 10.17487/RFC8086, | ||||
| March 2017, <https://www.rfc-editor.org/info/rfc8086>. | ||||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | |||
| (IPv6) Specification", STD 86, RFC 8200, | (IPv6) Specification", STD 86, RFC 8200, | |||
| DOI 10.17487/RFC8200, July 2017, | DOI 10.17487/RFC8200, July 2017, | |||
| <https://www.rfc-editor.org/info/rfc8200>. | <https://www.rfc-editor.org/info/rfc8200>. | |||
| [RFC8300] Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed., | [RFC8300] Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed., | |||
| "Network Service Header (NSH)", RFC 8300, | "Network Service Header (NSH)", RFC 8300, | |||
| DOI 10.17487/RFC8300, January 2018, | DOI 10.17487/RFC8300, January 2018, | |||
| <https://www.rfc-editor.org/info/rfc8300>. | <https://www.rfc-editor.org/info/rfc8300>. | |||
| [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | |||
| Decraene, B., Litkowski, S., and R. Shakir, "Segment | Decraene, B., Litkowski, S., and R. Shakir, "Segment | |||
| Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | |||
| July 2018, <https://www.rfc-editor.org/info/rfc8402>. | July 2018, <https://www.rfc-editor.org/info/rfc8402>. | |||
| [RFC8596] Malis, A., Bryant, S., Halpern, J., and W. Henderickx, | ||||
| "MPLS Transport Encapsulation for the Service Function | ||||
| Chaining (SFC) Network Service Header (NSH)", RFC 8596, | ||||
| DOI 10.17487/RFC8596, June 2019, | ||||
| <https://www.rfc-editor.org/info/rfc8596>. | ||||
| [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., | [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., | |||
| Decraene, B., Litkowski, S., and R. Shakir, "Segment | Decraene, B., Litkowski, S., and R. Shakir, "Segment | |||
| Routing with the MPLS Data Plane", RFC 8660, | Routing with the MPLS Data Plane", RFC 8660, | |||
| DOI 10.17487/RFC8660, December 2019, | DOI 10.17487/RFC8660, December 2019, | |||
| <https://www.rfc-editor.org/info/rfc8660>. | <https://www.rfc-editor.org/info/rfc8660>. | |||
| [RFC8663] Xu, X., Bryant, S., Farrel, A., Hassan, S., Henderickx, | [RFC8663] Xu, X., Bryant, S., Farrel, A., Hassan, S., Henderickx, | |||
| W., and Z. Li, "MPLS Segment Routing over IP", RFC 8663, | W., and Z. Li, "MPLS Segment Routing over IP", RFC 8663, | |||
| DOI 10.17487/RFC8663, December 2019, | DOI 10.17487/RFC8663, December 2019, | |||
| <https://www.rfc-editor.org/info/rfc8663>. | <https://www.rfc-editor.org/info/rfc8663>. | |||
| skipping to change at page 18, line 19 ¶ | skipping to change at page 17, line 46 ¶ | |||
| <https://www.rfc-editor.org/info/rfc8667>. | <https://www.rfc-editor.org/info/rfc8667>. | |||
| [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | |||
| Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | |||
| (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | |||
| <https://www.rfc-editor.org/info/rfc8754>. | <https://www.rfc-editor.org/info/rfc8754>. | |||
| 13.2. Informative References | 13.2. Informative References | |||
| [I-D.ietf-spring-sr-service-programming] | [I-D.ietf-spring-sr-service-programming] | |||
| Clad, F., Xu, X., Filsfils, C., daniel.bernier@bell.ca, | Clad, F., Xu, X., Filsfils, C., Bernier, D., Li, C., | |||
| d., Li, C., Decraene, B., Ma, S., Yadlapalli, C., | Decraene, B., Ma, S., Yadlapalli, C., Henderickx, W., and | |||
| Henderickx, W., and S. Salsano, "Service Programming with | S. Salsano, "Service Programming with Segment Routing", | |||
| Segment Routing", draft-ietf-spring-sr-service- | draft-ietf-spring-sr-service-programming-05 (work in | |||
| programming-03 (work in progress), September 2020. | progress), September 2021. | |||
| [RFC7498] Quinn, P., Ed. and T. Nadeau, Ed., "Problem Statement for | [RFC7498] Quinn, P., Ed. and T. Nadeau, Ed., "Problem Statement for | |||
| Service Function Chaining", RFC 7498, | Service Function Chaining", RFC 7498, | |||
| DOI 10.17487/RFC7498, April 2015, | DOI 10.17487/RFC7498, April 2015, | |||
| <https://www.rfc-editor.org/info/rfc7498>. | <https://www.rfc-editor.org/info/rfc7498>. | |||
| [RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function | ||||
| Chaining (SFC) Architecture", RFC 7665, | ||||
| DOI 10.17487/RFC7665, October 2015, | ||||
| <https://www.rfc-editor.org/info/rfc7665>. | ||||
| [RFC8596] Malis, A., Bryant, S., Halpern, J., and W. Henderickx, | ||||
| "MPLS Transport Encapsulation for the Service Function | ||||
| Chaining (SFC) Network Service Header (NSH)", RFC 8596, | ||||
| DOI 10.17487/RFC8596, June 2019, | ||||
| <https://www.rfc-editor.org/info/rfc8596>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| James N Guichard (editor) | James N Guichard (editor) | |||
| Futurewei Technologies | Futurewei Technologies | |||
| 2330 Central Express Way | 2330 Central Express Way | |||
| Santa Clara | Santa Clara | |||
| USA | USA | |||
| Email: james.n.guichard@futurewei.com | Email: james.n.guichard@futurewei.com | |||
| End of changes. 11 change blocks. | ||||
| 34 lines changed or deleted | 26 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||