Network C. Weiqiang Internet-Draft China Mobile Intended status: Standards Track G. Mirsky Expires: January 26, 2020 ZTE Corp. P. Shaofu L. Aihua ZTE Corporation W. Xiaolan New H3C Technologies Co. Ltd C. Wei Centec July 25, 2019 Unified Identifier in IPv6 Segment Routing Networks draft-mirsky-6man-unified-id-sr-03 Abstract Segment Routing architecture leverages the paradigm of source routing. It can be realized in a network data plane by prepending the packet with a list of instructions, a.k.a. segments. A segment can be encoded as a Multi-Protocol Label Switching (MPLS) label, IPv4 address, or IPv6 address. Segment Routing can be applied in MPLS data plane by encoding segments in MPLS label stack. It also can be applied to IPv6 data plane by encoding a list of segment identifiers in IPv6 Segment Routing Extension Header (SRH). This document extends the use of the SRH to unified identifiers encoded as MPLS label and IPv4 address, to support interworking between SR-MPLS and SRv6. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on January 26, 2020. Weiqiang, et al. Expires January 26, 2020 [Page 1] Internet-Draft Unified Identifier SRv6 July 2019 Copyright Notice Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Conventions used in this document . . . . . . . . . . . . 3 1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3 1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3 2. Segment Routing Extension Header: Benefits and Challenges . . 4 3. Support of Multiple SID Lengths in IPv6 Segment Routing Extension Header . . . . . . . . . . . . . . . . . . . . . . 4 4. The Use Case of Unified Segment Identifier . . . . . . . . . 6 4.1. Interworking Scenario Between SR-MPLS and SRv6 . . . . . 6 5. Operations with Unified Segment Identifier . . . . . . . . . 8 5.1. Egress SR Tunnel Node . . . . . . . . . . . . . . . . . . 8 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 9. Normative References . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction Segment Routing architecture [RFC8402] leverages the paradigm of source routing. It can be realized in a network data plane by prepending the packet with a list of instructions, a.k.a. segment identifiers (SIDs). A segment can be encoded as a Multi-Protocol Label Switching (MPLS) label, IPv4 address, or IPv6 address. Segment Routing can be applied in MPLS data plane by encoding 20-bits SIDs in MPLS label stack [I-D.ietf-spring-segment-routing-mpls]. It also can be applied to IPv6 data plane by encoding a list of 128-bits SIDs in IPv6 Segment Routing Extension Header (SRH) [I-D.ietf-6man-segment-routing-header]. Applicability of 32-bits SID that may represent an IPv4 address has not been defined. Weiqiang, et al. Expires January 26, 2020 [Page 2] Internet-Draft Unified Identifier SRv6 July 2019 SR extensions to Interior Gateway Protocols (IGP), IS-IS [I-D.ietf-isis-segment-routing-extensions], OSPF [I-D.ietf-ospf-segment-routing-extensions], and OSPFv3 [I-D.ietf-ospf-ospfv3-segment-routing-extensions], defined how 20-bits and 32-bits SIDs advertised and bound to SR objects and/or instructions. Extensions to BGP link-state address family [I-D.ietf-idr-bgp-ls-segment-routing-ext] enabled propagation of segment information of variable length via BGP. This document extends the use of the SRH [I-D.ietf-6man-segment-routing-header] to SIDs for unified identifier encoded as MPLS label and IPv4 address to support interworking between SR-MPLS and SRv6. 1.1. Conventions used in this document 1.1.1. Terminology SR: Segment Routing SRH: Segment Routing Extension Header MPLS: Multiprotocol Label Switching SR-MPLS: Segment Routing using MPLS dataplane SID: Segment Identifier IGP: Interior Gateway Protocol OAM: Operation, Administration and Maintenance TE: Traffic Engineering SRv6: Segment Routing in IPv6 U-SID: Unified Segment Identifier 1.1.2. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. Weiqiang, et al. Expires January 26, 2020 [Page 3] Internet-Draft Unified Identifier SRv6 July 2019 2. Segment Routing Extension Header: Benefits and Challenges Many functions related to Operation, Administration and Maintenance (OAM) require identification of the SR tunnel ingress and the path, constructed by segments, between the ingress and the egress SR nodes. Combination of IPv6 encapsulation [RFC8200] and SRH [I-D.ietf-6man-segment-routing-header], referred to as SRv6, comply with these requirements while it is challenging when applying SR in MPLS networks, also referred to as SR-MPLS. On the other hand, the size of IPv6 SID presents a scaling challenge to use topological instructions that define strict explicit traffic engineered (TE) path in combination with service-based instructions. At the same time, that is where SR-MPLS approach provides better results due to smaller SID length. SR-MPLS is currently larger-scale used to metro networks than SRv6. With the gradual deployment of SRv6 in the core networks, it becomes necessary to support interworking between SR-MPLS and SRv6. It's operationally more efficient and straightforward if SRv6 can use the same size SIDs as in SR-MPLS. The SRH can be extended to define the same as in SR-MPLS SID length to support the unified segment identifier (U-SID). As a result, end-to-end SR tunnel may use U-SIDs across SR-MPLS and SRv6 domains. 3. Support of Multiple SID Lengths in IPv6 Segment Routing Extension Header In section 3 of [I-D.ietf-6man-segment-routing-header] SRH format has been defined as presented in Figure 1 Weiqiang, et al. Expires January 26, 2020 [Page 4] Internet-Draft Unified Identifier SRv6 July 2019 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | Routing Type | Segments Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Last Entry | Flags | Tag | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[0] (128 bits IPv6 address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | ... | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[n] (128 bits IPv6 address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // // // Optional Type Length Value objects (variable) // // // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: SRH format This document defines the new field Size in the SRH Flags field as a two-bits field with the following values: 0b00 - 128-bits SID; 0b01 - 20-bits SID; 0b10 - 32-bits SID 0b11 - reserved for future use. 0b01 and 0b10 can be used as an indication for the U-SID length. When the value of the S field is 0b01 the 20-bit SID may be encoded as 20-bit label-only or in four octets then occupies the 20 rightmost bits. Entries of the segment list in the SRH MUST be of the same length. Weiqiang, et al. Expires January 26, 2020 [Page 5] Internet-Draft Unified Identifier SRv6 July 2019 4. The Use Case of Unified Segment Identifier The U-SID can be used for interworking between SR-MPLS and SRv6. The SR-MPLS is large-scale used to the metro network, such as, for example, the backhaul metro network of CMCC. When the core network uses SRv6, such as, for example, the core network of CMCC, it can use the U-SID to interworking with SR-MPLS in the metro network for end- to-end tunnel. 4.1. Interworking Scenario Between SR-MPLS and SRv6 SR-MPLS uses SR SIDs as MPLS label in MPLS stack over IPv4 or IPv6, and the SIDs are 20-bits long. SRv6 uses SR SIDs as IPv6 extension header in SRH over IPv6, and the SIDs are 128-bits long. The U-SID uses the same length SIDs in MPLS stack and SRH, and the SID is either 20-bits or 32-bits long. There can be put six 20-bit USIDs and left 8-bit reserved or four 32-bits long USIDs in the space of the single 128-bits long header. The encapsulation is illustrated in Figure 2 and Figure 3. +---------+ +------------------------------------+ | | | IPv6 header | |IPv4/IPv6| +------------------------------------+ | | | SRH | +---------+ +------------------------------------+ | USID1 | | USID1 | USID2 | ... | USID6 | Res | +---------+ +------------------------------------+ | USID2 | | USID7 |... | USIDn| Null | Res | +---------+ +------------------------------------+ | ... | + Payload | +---------+ +------------------------------------+ | USIDn | +---------+ | Payload | +---------+ Figure 2: 20-bits long U-SIDs Encapsulation Weiqiang, et al. Expires January 26, 2020 [Page 6] Internet-Draft Unified Identifier SRv6 July 2019 +---------+ +----------------------------------+ | | | IPv6 header | |IPv4/IPv6| +----------------------------------+ | | | SRH | +---------+ +----------------------------------+ | USID1 | | USID1 | USID2 | ... | USID4 | +---------+ +----------------------------------+ | USID2 | | USID5 |... | USIDn | Null | +---------+ +----------------------------------+ | ... | + Payload | +---------+ +----------------------------------+ | USIDn | +---------+ | Payload | +---------+ Figure 3: 32-bits long U-SIDs Encapsulation The SR-MPLS and SRv6 interworking is illustrated in Figure 4. An end-to-end SR tunnel from A to F crosses the SR-MPLS and SRv6 domains. The SRv6 border nodes (E/G) receive SR-MPLS packets and forward them into the SRv6 domain using U-SIDs. +-----+ +-----+ +-----+ +-----+ | A +-------+ B +-------+ E +-------+ F | +-----+ +--+--+ +--+--+ +--+--+ | SR-MPLS | | SRv6 | | | | | +-----+ +--+--+ +--+--+ +--+--+ | C |-------| D +-------+ G +-------+ H | +-----+ +-----+ +-----+ +-----+ Figure 4: SR-MPLS and SRv6 interworking The SRv6 edge node is assigned two U-SIDs (e.g., E1 and E2), one for SR- MPLS and the other for SRv6. Figure 5 demonstrates an example of the packet forwarding. Weiqiang, et al. Expires January 26, 2020 [Page 7] Internet-Draft Unified Identifier SRv6 July 2019 +--------+ |IP(A->F)| +--------+ | USID(A)| +--------+ +--------+ | USID(B)| |IP(E->F)| +--------+ +--------+ +----------------+ |USID(E1)| |USID(E1)| |IP(E->F) | +--------+ +--------+ +----------------+ |USID(E2)| |USID(E2)| | SRH | +--------+ +--------+ +----------------+ | USID(F)| | USID(F)| | SID(E2)| SID(F)| +--------+ +--------+ +----------------+ | Payload| ---> | Payload| ---> | payload | +--------+ +--------+ +----------------+ Figure 5: An Example of Packe Forwarding Based on U-SID The controller may assign the end-to-end SR tunnel U-SIDs, and another method is out of the scope for this document. 5. Operations with Unified Segment Identifier When the SRH is used to include 20-bits or 32-bits U-SIDs the ingress and transit nodes of an SR tunnel act as described in Section 5.1 and Section 5.2 of [I-D.ietf-6man-segment-routing-header] respectively. 5.1. Egress SR Tunnel Node TBD 6. IANA Considerations IANA is requested to allocate from the Segment Routing Header Flags registry the two-bits long field referred to as Size. 7. Security Considerations This specification inherits all security considerations of [RFC8402] and [I-D.ietf-6man-segment-routing-header]. 8. Acknowledgements TBD Weiqiang, et al. Expires January 26, 2020 [Page 8] Internet-Draft Unified Identifier SRv6 July 2019 9. Normative References [I-D.ietf-6man-segment-routing-header] Filsfils, C., Dukes, D., Previdi, S., Leddy, J., Matsushima, S., and d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header (SRH)", draft-ietf-6man-segment-routing- header-21 (work in progress), June 2019. [I-D.ietf-idr-bgp-ls-segment-routing-ext] Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H., and M. Chen, "BGP Link-State extensions for Segment Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-16 (work in progress), June 2019. [I-D.ietf-isis-segment-routing-extensions] Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., Gredler, H., and B. Decraene, "IS-IS Extensions for Segment Routing", draft-ietf-isis-segment-routing- extensions-25 (work in progress), May 2019. [I-D.ietf-ospf-ospfv3-segment-routing-extensions] Psenak, P. and S. Previdi, "OSPFv3 Extensions for Segment Routing", draft-ietf-ospf-ospfv3-segment-routing- extensions-23 (work in progress), January 2019. [I-D.ietf-ospf-segment-routing-extensions] Psenak, P., Previdi, S., Filsfils, C., Gredler, H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF Extensions for Segment Routing", draft-ietf-ospf-segment- routing-extensions-27 (work in progress), December 2018. [I-D.ietf-spring-segment-routing-mpls] Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing with MPLS data plane", draft-ietf-spring-segment-routing-mpls-22 (work in progress), May 2019. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . Weiqiang, et al. Expires January 26, 2020 [Page 9] Internet-Draft Unified Identifier SRv6 July 2019 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/RFC8200, July 2017, . [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, July 2018, . Authors' Addresses Cheng Weiqiang China Mobile Beijing China Email: chengweiqiang@chinamobile.com Greg Mirsky ZTE Corp. Email: gregimirsky@gmail.com Peng Shaofu ZTE Corporation No.50 Software Avenue, Yuhuatai District Nanjing China Email: peng.shaofu@zte.com.cn Liu Aihua ZTE Corporation Zhongxing Industrial Park, Nanshan District Shenzhen China Email: liu.aihua@zte.com.cn Weiqiang, et al. Expires January 26, 2020 [Page 10] Internet-Draft Unified Identifier SRv6 July 2019 Wan Xiaolan New H3C Technologies Co. Ltd No.8, Yongjia Road, Haidian District Beijing China Email: wxlan@h3c.com Cheng Wei Centec Building B, No.5 Xing Han Street, Suzhou Industrial Park Suzhou China Email: Chengw@centecnetworks.com Weiqiang, et al. Expires January 26, 2020 [Page 11]