Network | G. Mirsky |
Internet-Draft | ZTE Corp. |
Intended status: Standards Track | P. Shaofu |
Expires: April 13, 2019 | ZTE Corporation |
October 10, 2018 |
Unified Identifier in IPv6 Segment Routing Networks
draft-mirsky-6man-unified-id-sr-01
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 list of segment identifiers in IPv6 Segment Routing Extension Header (SRH). This document extends the use of the SRH to segment identifiers encoded as MPLS label and IPv4 address.
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 April 13, 2019.
Copyright (c) 2018 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.
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 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.
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 encoded as MPLS label and IPv4 address.
SR: Segment Routing
SRH: Segment Routing Extension Header
MPLS: Multiprotocol Label Switching
MPLS-SR: Segment Routing in MPLS
SID: Segment Identifier
IGP: Interior Gateway Protocol
OAM: Operation, Administration and Maintenance
TE: Traffic Engineering
SRv6: Segment Routing in IPv6
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.
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 this requirements while it is challenging when applying SR in MPLS networks, also referred to as MPLS-SR.
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 MPLS-SR approach provides better results due to smaller SID length.
[I-D.bryant-mpls-unified-ip-sr] addresses the scaling challenge by using more compact SID encoding of MPLS-SR. Ability to address OAM challenge characteristic to MPLS-SR is open for investigation.
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
In section 3 of [I-D.ietf-6man-segment-routing-header] SRH format has been defined as presented in Figure 1
0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |U|P|O|A|H| S |U| +-+-+-+-+-+-+-+-+
Figure 2: Flags field format
This document defines the new field Size in the Flags field, presented in Figure 2, as a two-bits field with the following values:
When the value of the S field is 0b01, the 20-bit SID is encoded in four octets and occupies the 20 rightmost bits.
Entries of the segment list in the SRH MUST be of the same length.
When the SRH is used to include 20-bits or 32-bits 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.
TBD
TBD
This specification inherits all security considerations of [RFC8402] and [I-D.ietf-6man-segment-routing-header].
TBD
[I-D.bryant-mpls-unified-ip-sr] | Bryant, S., Farrel, A., Drake, J. and J. Tantsura, "MPLS Segment Routing in IP Networks", Internet-Draft draft-bryant-mpls-unified-ip-sr-03, October 2017. |
[I-D.ietf-6man-segment-routing-header] | Filsfils, C., Previdi, S., Leddy, J., Matsushima, S. and d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header (SRH)", Internet-Draft draft-ietf-6man-segment-routing-header-14, June 2018. |
[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", Internet-Draft draft-ietf-idr-bgp-ls-segment-routing-ext-08, May 2018. |
[I-D.ietf-isis-segment-routing-extensions] | Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., Gredler, H., Litkowski, S., Decraene, B. and J. Tantsura, "IS-IS Extensions for Segment Routing", Internet-Draft draft-ietf-isis-segment-routing-extensions-19, July 2018. |
[I-D.ietf-ospf-ospfv3-segment-routing-extensions] | Psenak, P., Filsfils, C., Previdi, S., Gredler, H., Shakir, R., Henderickx, W. and J. Tantsura, "OSPFv3 Extensions for Segment Routing", Internet-Draft draft-ietf-ospf-ospfv3-segment-routing-extensions-15, August 2018. |
[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", Internet-Draft draft-ietf-ospf-segment-routing-extensions-25, April 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", Internet-Draft draft-ietf-spring-segment-routing-mpls-14, June 2018. |
[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. |
[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., Previdi, S., Ginsberg, L., Decraene, B., Litkowski, S. and R. Shakir, "Segment Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, July 2018. |