Skip to main content

Unified Identifier in IPv6 Segment Routing Networks
draft-mirsky-6man-unified-id-sr-03

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Authors Weiqiang Cheng , Greg Mirsky , Shaofu Peng , Aihua Liu , XiaoLan Wan , Cheng Wei
Last updated 2019-07-25 (Latest revision 2019-04-03)
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-mirsky-6man-unified-id-sr-03
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,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

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,
              <https://www.rfc-editor.org/info/rfc8200>.

   [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, <https://www.rfc-editor.org/info/rfc8402>.

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]