Skip to main content

Advertise SRv6 Locator Information by IPv6 Neighbor Discovery
draft-gong-spring-nd-advertise-srv6-locator-00

Document Type Active Internet-Draft (individual)
Authors Liyan Gong , Changwang Lin
Last updated 2024-11-08
RFC stream (None)
Intended RFC status (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-gong-spring-nd-advertise-srv6-locator-00
SPRING                                                          L. Gong
Internet Draft                                             China Mobile
Intended status: Standards Track                                 C. Lin
Expires: May 10, 2025                              New H3C Technologies
                                                       November 9, 2024
                                                       

       Advertise SRv6 Locator Information by IPv6 Neighbor Discovery
              draft-gong-spring-nd-advertise-srv6-locator-00

Abstract

   In an SRv6 network, each SRv6 segment endpoint has at least one SRv6
   locator. Through the SRv6 locator routes, other SRv6 segment nodes
   can steer traffic to that node. This document describes a method of
   advertising SRv6 locator to neighboring SRv6 Segment Endpoint nodes
   through IPv6 Neighbor Discovery protocol.

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), its areas, and its working groups. Note that
   other groups may also distribute working documents as Internet-
   Drafts.

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

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire on May 10, 2025.

xxxx, et al.             Expires May, 2025                   [Page 1]
Internet-Draft       Advertise SRv6 Locator by ND         November 2024

Copyright Notice

   Copyright (c) 2024 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
   (http://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.

Gong, et al.              Expires May, 2025                   [Page 2]
Internet-Draft       Advertise SRv6 Locator by ND         November 2024

Table of Contents

   1. Introduction...................................................4
      1.1. Requirements Language.....................................5
   2. Terminology....................................................6
   3. Process of Advertising SRv6 Locator by IPv6 ND.................6
   4. Extension of IPv6 Neighbor Discovery Options...................8
      4.1. Source SRv6 Locator Information Option....................8
      4.2. Source SRv6 Capability Option.............................9
   5. IANA Considerations...........................................10
   6. Security Considerations.......................................11
   7. Acknowledgements..............................................11
   8. References....................................................11
      8.1. Normative References.....................................11
      8.2. Informative References...................................11
   Authors' Addresses...............................................12

Gong, et al.              Expires May, 2025                   [Page 3]
Internet-Draft       Advertise SRv6 Locator by ND         November 2024

1. Introduction

   Segment Routing (SR) [RFC8402] allows a node to steer a packet flow
   along any path. The headend is a node where the instructions for
   source routing (i.e., segments) are written into the packet. It
   hence becomes the starting node for a specific segment routing path.
   Intermediate per-path states are eliminated thanks to source
   routing. A Segment Routing Policy (SR Policy) [RFC8402] is an
   ordered list of segments (i.e., instructions) that represent a
   source-routed policy. The headend node is said to steer a flow into
   an SR Policy. The packets steered into an SR Policy have an ordered
   list of segments associated with that SR Policy written into them.

   [RFC8402] defines an SRv6 Segment Identifier (SID) as an IPv6
   address explicitly associated with the segment. When an SRv6 SID is
   in the Destination Address field of an IPv6 header of a packet, it
   is routed through transit nodes in an IPv6 network as an IPv6
   address.

   An SRv6 SID [RFC8986] is as consisting of LOC:FUNCT:ARG, where a
   locator (LOC) is encoded in the L most significant bits of the SID,
   followed by F bits of function (FUNCT) and A bits of arguments
   (ARG). L, the locator length, is flexible, and an operator is free
   to use the locator length of their choice. F and A may be any value
   as long as L+F+A <= 128. A locator may be represented as B:N where B
   is the SRv6 SID block (IPv6 prefix allocated for SRv6 SIDs by the
   operator) and N is the identifier of the parent node instantiating
   the SID. When the LOC part of the SRv6 SIDs is routable, it leads to
   the node, which instantiates the SID.

   The SRv6 locator can be distributed to other IPv6 nodes within the
   SRv6 domain through IGP advertisement. This allows other nodes to
   learn the locator's route.

   However, in the following two scenarios, the SRv6 endpoint can't
   advertise its SRv6 Locator information to other SRv6 nodes,
   resulting in other nodes being unable to dynamically generate routes
   to this node.

   *  Scenario 1: Deploying SRv6 on hosts.

   As shown in Figure 1, the SRv6 network comprises Host, Access, Spin,
   and Core segments. Information is exchanged between Access and Spin
   through IGP, and between Spin and Core using BGP.

   The SRv6 Locator information is transmitted between Access and Spin
   using the IGP protocol, and between Spin and Core using the BGP
   protocol. However, since Hosts generally do not support complex

Gong, et al.              Expires May, 2025                   [Page 4]
Internet-Draft       Advertise SRv6 Locator by ND         November 2024

   routing protocols, they cannot automatically transmit their SRv6
   Locator information to the devices. This limitation complicates the
   deployment of SRv6 networks.

       +----+     +------+ IGP +------+BGP +------+
       |Host+-----+Access+-----+ Spin +----+ Core +
       +----+     +------+     +------+    +------+
                        Figure 1

   *  Scenario 2: Static manual configuration of SRv6 Locator.

   In IP network customer provider edge (CPE) devices often do not
   support an IGP protocol, which makes it impossible to advertise SRv6
   locator routes for SRv6 Segment Endpoint Nodes through IGP. As shown
   in Figure 2, SIDs can only be configured manually on CPEs, and SRv6
   Locator routes can only be statically distributed.

                               Metropolitan area network
                            +---------------------------+
                            |                           |
   +------+     +------+    |  +-----+        +------+  |
   |Host1 +-----+ CPE1 +----+--+BRAS1+--------+  CR1 |  |
   +------+     +------+    |  +-----+        +---+--+  |
                            |                     |     |
                            +---------------------+-----+
                                                  |
                                         +--------+-------------+
                                         |                      |
                                         |   Backbone Network   |
                                         |                      |
                                         +--------+-------------+
                                                  |
                            +---------------------+-----+
                            |                     |     |
   +------+     +------+    |  +-----+         +--+---+ |
   |Host2 +-----+ CPE2 +----+--+BRAS2+---------+  CR2 | |
   +------+     +------+    |  +-----+         +------+ |
                            +---------------------------+
                           Figure 2

   To address these issues, this document proposes a method of
   advertising SRv6 locators to neighboring SRv6 Segment Endpoint Nodes
   through IPv6 Neighbor Discovery packets.

1.1. Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and

Gong, et al.              Expires May, 2025                   [Page 5]
Internet-Draft       Advertise SRv6 Locator by ND         November 2024

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

2. Terminology

   This document leverages the terms defined in [RFC4861] and
   [RFC8986]. The reader is assumed to be familiar with this
   terminology.

3. Process of Advertising SRv6 Locator by IPv6 ND

   By extending the Neighbor Solicit (NS) and Neighbor Advertisement
   (NA) packets of the IPv6 Neighbor Discovery protocol to carry SRv6
   locator information, SRv6 segment endpoint nodes can advertise their
   own SRv6 locator information to neighboring SRv6 nodes, and can also
   obtain the SRv6 locator information of neighboring SRv6 nodes,
   thereby achieving the exchange of SRv6 locator information and
   facilitating the deployment of SRv6.

   Taking the scenario of deploying SRv6 on a host in Section 1 as an
   example, illustrate the process flow of exchanging SRv6 Locator
   information through IPv6 ND.

   By extending the IPv6 ND protocol to carry SRv6 Locator information,
   Hosts and Access devices can exchange all SRv6 Locator information
   within an SRv6 network, facilitating the deployment of SRv6.

   The srv6 locator are advertised in IPv6 ND NS and NA packets between
   the host and access, and are advertised via IGP within the domain.
   This information is collected by the controller using NETCONF or
   BGP-LS.

Gong, et al.              Expires May, 2025                   [Page 6]
Internet-Draft       Advertise SRv6 Locator by ND         November 2024

                    +----------+      BGP-LS
                    |Controller|<-----------------+
                    +----------+                  |
                        ^  ^                      |
                NETCONF |  | NETCONF              |
                        |  +----------+           |
                        |             |           |
      FC00:0:11::/48    |             |           |
           +----+     +------+ IGP +------+BGP +------+
           |Host+-----+Access+-----+ Spin +----+ Core +
           +----+     +------+     +------+    +------+
              ^           ^
              |           |
              +---- ND ---+
               SRv6 Locator
                              Figure 3

   The process is as follows:

   1) Manually configure SRv6 Locator statically on the host.

   2) The Host advertises the SRv6 locator (For example, FC00:0:11::/48)
      and its SRv6 capability through IPv6 NS and NA packets.

   3) The Access device learns the SRv6 locator (FC00:0:11::/48) via ND
      packets.

   4) Using IGP, the Access device re-advertises the SRv6 locator
      (FC00:0:11::/48) obtained from ND packets to the Spine device.

   5) The Spine device learns the SRv6 locator (FC00:0:11::/48) route
      through IGP.

   6) A BGP neighbor relationship is established between the Spine and
      Core devices, and the learned SRv6 locator (FC00:0:11::/48) is
      sent to the Core using BGP-LS routes.

   7) The Core device learns the SRv6 locator (FC00:0:11::/48) via BGP-
      LS.

   8) A BGP neighbor relationship is established between the Core device
      and the controller, and the SRv6 locator (FC00:0:11::/48) is sent
      to the controller via BGP-LS routes.

Gong, et al.              Expires May, 2025                   [Page 7]
Internet-Draft       Advertise SRv6 Locator by ND         November 2024

4. Extension of IPv6 Neighbor Discovery Options

4.1. Source SRv6 Locator Information Option

   The Source SRv6 Locator Information (SSLI) option is used to
   advertise the SRv6 locator information of the sending node to IPv6
   neighbor.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |    Length     |R|R|R|R|      MTID             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             Metric                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Flags        | Algorithm     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  LOC Size     |   Locator (variable)                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Sub-TLVs (variable)                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Where:

   *  Type: 8 bits, identifier of the type of option. The value is TBA
      by IANA.

   *  Length: 8 bits, unsigned integer. The length of the option
      (including the type and length fields) in units of 8 octets.  The
      value 0 is invalid.  Nodes MUST silently discard an ND packet that
      contains an option with length zero.

   *  R: 4 bits, reserved field. It MUST be initialized to zero by the
      sender and MUST be ignored by the receiver.

   *  MTID: 12 bits, Multi-Topology Identifier.

   *  Metric: 32 bits, Cost.

   *  Flags: 8 bits, Reserved.

   *  Algorithm: 8 bits Algorithm:

   *     - 0: Shortest Path First (SPF).

   *     - 1: Strict Shortest Path First (Strict SPF).

   *  LOC Size: 8 bits, Locator Length.

Gong, et al.              Expires May, 2025                   [Page 8]
Internet-Draft       Advertise SRv6 Locator by ND         November 2024

   *  Locator (variable): Variable length, indicates the advertised SRv6
      Locator.

   *  Sub-TLVs (variable): Variable length, contains Sub-TLVs such as
      SRv6 End SID Sub-TLV.

   The option only may appear in Neighbor Solicit message and Neighbor
   Advertisement message.

   Neighbor Solicit message and Neighbor Advertisement message can
   include zero or more Source SRv6 Locator Information options. If
   multiple SRv6 Locators need to be advertised, multiple Source SRv6
   Locator Information options MUST be encapsulated in the same
   Neighbor Discovery message. The Source SRv6 Locator Information
   Option should be padded when necessary to ensure that it end on its
   natural 64-bit boundary.

   Receivers MUST silently ignore the option if they can't recognize
   and continue processing the message.

4.2. Source SRv6 Capability Option

   To support the SRv6 functionality, the source node also needs to
   advertise SRv6-related capabilities through IPv6 ND packets. The
   Source SRv6 Capability (SSC) option is used to advertise the SRv6
   capability information of the sending node to IPv6 neighbor.

   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Type     |   Length      |             Flags             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Sub-TLVs (optional)                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   where:

   *  Type: 8 bits, identifier of the type of option. The value is TBA
      by IANA.

   *  Length: 8 bit, unsigned integer. The length of the option
      (including the type and length fields) in units of 8 octets.  The
      value 0 is invalid.  Nodes MUST silently discard an ND packet that
      contains an option with length zero.

   *  Flags: 8 bits, Reserved.

   *  Sub-TLVs: Variable length, contains Sub-TLVs such as MSD sub-TLV.

Gong, et al.              Expires May, 2025                   [Page 9]
Internet-Draft       Advertise SRv6 Locator by ND         November 2024

   For optional MSD sub-sub-TLVs, the format is as follows:

           0                   1
           0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          |    sub-Type   |   Length      |
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          |  MSD-Type     |   MSD-Value   |
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          |               ...             |
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          |  MSD-Type     |   MSD-Value   |
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   where:

   *  sub-Type: 8 bits, The sub-TLV Type value for MSD is TBA.

   *  Length: 8 bits, variable.

   *  MSD-Type: 8 bits.

   *  MSD-Value: 8 bits.

   The option only may appear in Neighbor Solicit message and Neighbor
   Advertisement message.

   Neighbor Solicit message and Neighbor Advertisement message can only
   include a maximum of one Source SRv6 Capability option. The Source
   SRv6 Capability Option should be padded when necessary to ensure
   that it end on its natural 64-bit boundary.

   Receivers MUST silently ignore the option if they can't recognize
   and continue processing the message.

5. IANA Considerations

   IANA is asked to assign a new value for the "IPv6 Neighbor Discovery
   Option Formats" registry under the heading "Internet Control Message
   Protocol version 6 (ICMPv6) Parameters", as follows:

Gong, et al.              Expires May, 2025                  [Page 10]
Internet-Draft       Advertise SRv6 Locator by ND         November 2024

   +========+========================================+===============+
   | Value  |         Description                    |  Reference    |
   +--------+----------------------------------------+---------------+
   | TBA    | Source SRv6 Locator Information Option | This document |
   +--------+----------------------------------------+---------------+
   | TBA    | Source SRv6 Capability Option          | This document |
   +--------+----------------------------------------+---------------+
                                Table 1

6. Security Considerations

   See Section 11 of [RFC4861] for the Neighbor Discovery security
   considerations.

7. Acknowledgements

   TBD

8. References

8.1. Normative References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
             "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
             September 2007.

   [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
             2119 Key Words", BCP 14, RFC 8174, May 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, <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

   TBD

Gong, et al.              Expires May, 2025                  [Page 11]
Internet-Draft       Advertise SRv6 Locator by ND         November 2024

Authors' Addresses

   Liyan Gong
   China Mobile
   China

   Email: gongliyan@chinamobile.com

   Changwang Lin
   New H3C Technologies
   China

   Email: linchangwang.04414@h3c.com

Gong, et al.              Expires May, 2025                  [Page 12]