SRv6 End.M behavior for traversing MPLS Networks
draft-li-spring-srv6-end-mpls-00

Document Type Active Internet-Draft (individual)
Authors Zhenbin Li  , Cheng Li 
Last updated 2021-04-19
Stream (None)
Intended RFC status (None)
Formats plain text xml pdf htmlized (tools) htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
SPRING Working Group                                               Z. Li
Internet-Draft                                                     C. Li
Intended status: Standards Track                     Huawei Technologies
Expires: October 22, 2021                                 April 20, 2021

            SRv6 End.M behavior for traversing MPLS Networks
                    draft-li-spring-srv6-end-mpls-00

Abstract

   As the development of cloud computing, increasing services have been
   migrated from enterprise sites to clouds, so the connection between
   sites and clouds are critical for enterprises.

   SRv6 provides a sourcing routing mechanism to connect the enterprise
   sites and clouds by programming the end-to-end path at the ingress
   node.  In this scenario, the SRv6 packets may traverse multiple
   network domains and some of them may not be SRv6-capable.

   In order to support SRv6 end-to-end path programming, this document
   defines the mechanism of SRv6 traversing MPLS networks, which
   supports encoding MPLS tunnel information in the SRH.

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 October 22, 2021.

Copyright Notice

   Copyright (c) 2021 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

Li & Li                 Expires October 22, 2021                [Page 1]
Internet-Draft                 SRv6 End.M                     April 2021

   (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
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   3.  MPLS Path Programming in SRv6 . . . . . . . . . . . . . . . .   3
     3.1.  END.M . . . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.2.  MPLS Tunnel Information in SRH TLV  . . . . . . . . . . .   6
   4.  Illustration  . . . . . . . . . . . . . . . . . . . . . . . .   6
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   7
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   When Segment routing (SR) [RFC8402] is deployed on the IPv6 data
   plane, it is called SRv6 [RFC8754].  For support of SRv6, a new
   routing header called Segment Routing Header (SRH), which contains a
   list of SIDs and other information, has been defined in [RFC8754].

   When deploying SRv6, the SRv6 network may need to interwork with
   exiting networks, such as MPLS netwoks and IPv4 networks.

   With the development of cloud computing, increasing services have
   been migrated from enterprises to cloud data centers.  Compared with
   interconnections between branches and headquarters, new connections
   between enterprise sites to cloud data centers and inter-cloud are
   added, which bring new requirements and challenges for existing
   networks.  [I-D.li-rtgwg-ipv6-based-con] describes the requirements
   and candidate technologies in IPv6-based Cloud-oriented Networking
   (CON).  In IPv6-based CON, SRv6 can be used to connect enterprise
   sites and clouds.  In this scenario, an SRv6 packet may be forwarded
   traversing MPLS domains or IPv4 domains.

   In order to specify the MPLS tunnel, End.BM [RFC8986] has been
   defined for binding an SR-MPLS policy to an SRv6 SID currently.  The

Li & Li                 Expires October 22, 2021                [Page 2]
Internet-Draft                 SRv6 End.M                     April 2021

   MPLS tunnel information is maintained at the ingress node of the MPLS
   tunnel, which will introduce states to the node, and it also require
   extra configuration at the node allocating End.BM SIDs.

   This document defines a new mechanism to carry MPLS tunnel
   information in the SRv6 packet, so that no configuration of SR-MPLS
   policy is required at the intermediate node, and end-to-end path
   programming traversing MPLS domains can be supported.

2.  Terminology

   This document makes use of the terms defined in [RFC8986], and the
   reader is assumed to be familiar with that terminology.

2.1.  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.

3.  MPLS Path Programming in SRv6

   This document defines the following mechanisms for SRv6 traversing
   MPLS networks.

3.1.  END.M

   In order to indicate the start of SR-MPLS tunnel information, a new
   SRv6 behavior End.M (End with SR-MPLS path instantiation) is defined.

   An End.M SID MUST be encoded preceding the MPLS tunnel information,
   therefore it can not be the last SID in the SID list.

   The path of traversing SR-MPLS domain is called SR-MPLS sub-path.  An
   SR-MPLS sub-path can be encoded by an End.M and the following MPLS
   label stack as shown in the following figure.

Li & Li                 Expires October 22, 2021                [Page 3]
Internet-Draft                 SRv6 End.M                     April 2021

     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

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     .                            ...                                .
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                              ...                              |
     |                       MPLS Tunnel Information                 |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        End.M SRv6 SID                         |
     |                                                               |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
               Figure 1. SR-MPLS Sub-path Encoding in G-SRH

   The MPLS tunnel information include multiple MPLS labels, and they
   are aligned with 128 bits.  Therefore padding is needed if there are
   less than 4 MPLS labels in a 128-bit space.

Li & Li                 Expires October 22, 2021                [Page 4]
Internet-Draft                 SRv6 End.M                     April 2021

     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Label 0                     |  TC |S|     TTL       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Label 1                     |  TC |S|     TTL       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Label 2                     |  TC |S|     TTL       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Label 3                     |  TC |S|     TTL       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                  (a)

     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         Padding                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         Padding                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Label 0                     |  TC |1|     TTL       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Label 1                     |  TC |S|     TTL       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                 (b)

                 Figure 2. MPLS tunnel information Encoding

   The S-bit of the last MPLS label in the SID list MUST be set
   indicating the end of the MPLS label stack.

   When a node processes an End.M SID, it copies the following MPLS
   label stack of SR-MPLS sub-path to the MPLS header, and set the IPv6
   DA as the SRv6 SID after the MPLS label stack, and then forward the
   packet according to the active MPLS label.

   When node N receives a packet whose IPv6 DA is S and S is a local
   End.B4 SID, the line S13-S16 from the End processing [RFC8986] is
   replaced by the following:

Li & Li                 Expires October 22, 2021                [Page 5]
Internet-Draft                 SRv6 End.M                     April 2021

      S13.   Set SL pointing to the next SID after MPLS label stack.
      S14.   Update IPv6 DA with Segment List[Segments Left]
      S15.   Push a MPLS label stack before the IPv6 header
                  by using the MPLS label stack.
      S16.   Lookup the active MPLS label and forward the packet
      S17. }

3.2.  MPLS Tunnel Information in SRH TLV

   Using SRH TLV is another option of carrying MPLS tunnel information.

   In order to retrive the MPLS tunnel information from SRH TLV, a new
   behavior End.MT (End with SR-MPLS path instantiation by using SRH
   TLV) should be defined, and this will be described in the future.

   A mechanism of specifying which SRH TLV to be processed by which SID
   in the SID list is defined in
   [I-D.li-spring-srh-tlv-processing-programming], and it can be used
   for indicating the node to process MPLS tunnel information in SRH
   TLV.

   [Editor's note] Also, there may be some other solutions to indicate
   and carry MPLS tunnel information in the SRv6 packet, for example
   using the argument of a SID to indicate the MPLS label stack or
   number of MPLS labels.

   More details will be described in the future.

4.  Illustration

   For easy understanding, this section illustrates how to use End.M SID
   to specify the MPLS tunnel.

   Assuming that

   o  A::1:100 is the End.M SID allocated by the ingress node of an SR-
      MPLS domain.

   o  1001, 1002, 1003, and 1004 are the labels for an SR-MPLS sub-path.

   Therefore, the programmed SRv6 path for traversing SR-MPLS/MPLS
   domain is shown in Figure 2.

Li & Li                 Expires October 22, 2021                [Page 6]
Internet-Draft                 SRv6 End.M                     April 2021

     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              ...                              |
     |                                                               |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           1004                        |  TC |1|     TTL       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           1003                        |  TC |0|     TTL       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           1002                        |  TC |0|     TTL       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           1001                        |  TC |0|     TTL       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         A::1:100 (End.M)                      |
     |                                                               |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             ...                               |
     |                                                               |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         Figure 3. Carrying MPLS tunnel information in SID list

5.  IANA Considerations

   TBD

6.  Security Considerations

   TBD

7.  Acknowledgements

8.  References

8.1.  Normative References

   [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>.

Li & Li                 Expires October 22, 2021                [Page 7]
Internet-Draft                 SRv6 End.M                     April 2021

   [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>.

   [RFC8754]  Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
              Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
              (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
              <https://www.rfc-editor.org/info/rfc8754>.

   [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>.

   [RFC8986]  Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
              D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
              (SRv6) Network Programming", RFC 8986,
              DOI 10.17487/RFC8986, February 2021,
              <https://www.rfc-editor.org/info/rfc8986>.

8.2.  Informative References

   [I-D.li-spring-srh-tlv-processing-programming]
              Li, C., Xia, Y., Dhody, D., and Z. Li, "SRH TLV Processing
              Programming", draft-li-spring-srh-tlv-processing-
              programming-00 (work in progress), December 2020.

   [I-D.li-rtgwg-ipv6-based-con]
              (editor), C. L., Li, Z., and H. Yang, "IPv6-based Cloud-
              Oriented Networking (CON)", draft-li-rtgwg-ipv6-based-
              con-01 (work in progress), March 2021.

Authors' Addresses

   Zhenbin Li
   Huawei Technologies
   Huawei Campus, No. 156 Beiqing Rd.
   Beijing  100095
   China

   Email: lizhenbin@huawei.com

Li & Li                 Expires October 22, 2021                [Page 8]
Internet-Draft                 SRv6 End.M                     April 2021

   Cheng Li
   Huawei Technologies
   Huawei Campus, No. 156 Beiqing Rd.
   Beijing  100095
   China

   Email: c.l@huawei.com

Li & Li                 Expires October 22, 2021                [Page 9]