Network                                                     Shaofu. Peng
Internet-Draft                                           ZTE Corporation
Intended status: Standards Track                             Ron. Bonica
Expires: 14 April 2025                                  Juniper Networks
                                                         11 October 2024


                      Deterministic Routing Header
                   draft-pb-6man-deterministic-crh-01

Abstract

   This document introduces a new IPv6 Routing Header used for
   deterministic forwarding wihch is generally a strict explicit path.
   This Routing Header will contain the decoupled topology instructions
   and deterministic forwarding resource indications.  The target is low
   cost of encapasultion and less amount of allocated SIDs.

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 14 April 2025.

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 (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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.



Peng & Bonica             Expires 14 April 2025                 [Page 1]


Internet-Draft        Deterministic Routing Header          October 2024


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  The Compressed Routing Headers for DetNet (CRH-20)  . . . . .   3
   3.  The CRH Forwarding Information Base (CRH-FIB) . . . . . . . .   6
   4.  Processing Rules  . . . . . . . . . . . . . . . . . . . . . .   6
     4.1.  Processing on the Headend Node  . . . . . . . . . . . . .   6
     4.2.  Processing on the Transit or Endpoint Node  . . . . . . .   7
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   [RFC8655] describes the architecture of deterministic network and
   defines the QoS goals of deterministic forwarding: Minimum and
   maximum end-to-end latency from source to destination, timely
   delivery, and bounded jitter (packet delay variation); packet loss
   ratio under various assumptions as to the operational states of the
   nodes and links; an upper bound on out-of-order packet delivery.  In
   order to achieve these goals, deterministic networks use resource
   reservation, explicit routing, service protection and other means.
   In general, a deterministic path is generally a strictly explicit
   path calculated by a centralized controller, and resources are
   reserved on the nodes along the path.  There is such a need that
   metadata related to each hop used to provide DetNet QoS needs to be
   carried in the packet to avoid network core maintenance flow states
   and meet large scaling deterministic requirements.

   [RFC8200] defines the Routing Header.  The source node of the IPv6
   packet can include some segment information in the Routing Header to
   control the packet's access to these segments before reaching the
   final destination node.  How to reduce the cost of Routing Header,
   especially in scenarios with strict explicit deterministic forwarding
   paths, is a concern.  Generally, there are two categories of
   optimization methods.  One is to use short indexes to map to IPv6
   addresses, and the other is to rely on a common prefix for all
   segments.  For example, [RFC9631] defines two new routing headers
   called CRH-16 and CRH-32, containing a short index for mapping to
   128-bit IPv6 addresses, and retrieving all forwarding information
   from the CRH-FIB entries matched by the index.  And, [RFC6554]
   defines Routing Type 3, where only the different parts of each
   segment need to be stored in the segment list, and the common prefix



Peng & Bonica             Expires 14 April 2025                 [Page 2]


Internet-Draft        Deterministic Routing Header          October 2024


   of all elements is stored in the Destination Address field of the
   IPv6 header.  [I-D.ietf-spring-srv6-srh-compression] also describes
   another common prefixes based compression method suitable for SRv6
   network.

   This document introduces a CRH varaint, called CRH-20, to meet the
   requirement of deterministic forwarding.  It contains the decoupled
   topology instructions and deterministic forwarding resource
   indications.  Here, the decoupled means that the SIDs for topology
   instructions and resource indications for DetNet QoS are defined,
   signaled in control plane, and forwarded in data plane,
   independently.  Considering that there are many types of resources
   and the huge amount of resource instances supported by each type,
   this document does not recommend distinguishing different resource
   instances by allocating different SIDs.  The target of CRH-20 is low
   cost of encapasultion and less amount of SIDs.

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

2.  The Compressed Routing Headers for DetNet (CRH-20)


       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 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | ST  | RT  |P| |                   Common RI                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |             SID[0]                    |     Individual RI     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |             SID[1]                    |     Individual RI     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      //                           ... ...                           //
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |             SID[n-1]                  |     Individual RI     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                            Padding                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                              Figure 1: CRH-20



Peng & Bonica             Expires 14 April 2025                 [Page 3]


Internet-Draft        Deterministic Routing Header          October 2024


   CRH-20 contains the following fields:

   *  Next Header: Defined in [RFC8200].

   *  Hdr Ext Len: Defined in [RFC8200].

   *  Routing Type: Defined in [RFC8200] (TBA for CRH-20)

   *  Segments Left: Defined in [RFC8200].

   *  Type-specific Data: Described in [RFC8200].

   In the CRH-20, the Type-specific data field contains topology
   instructions and forwarding resource indications.  In detailed:

   *  ST (SID Type): 3 bits for the index type.

      -  0: the SID field is 20-bit index that is the default type and
         unrelated to any well-knownn index type.  Implementers need to
         additionally define the announcement, learning, and FIB
         creation for this default index type.

      -  1: the SID field is 20-bit MPLS label.  In this case, CRH-FIB
         reuses MPLS ILM (Incoming Label Map) table.

      -  2: the SID field is 20-bit SR-MPLS SID index.  In this case,
         CRH-FIB resuses SR-MPLS SID index table.

      -  3: the SID field is 20-bit BIER ID.  In this case, CRH-FIB
         resuses BIFT table.

      -  Other types may be defined in the future.

   *  RT (Resource Type): 3 bits for the forwarding resource types.  The
      following only defines the corresponding resource types for DetNet
      queueing mechanisms that need specify different resources per hop.

      -  0: undefined.  In this case, Common RI field and Individual RI
         fields may also be 0 and ignored during forwarding procedure of
         the packet, or other values used for user defined purposes.

      -  1: Indicates that the forwarding resources is timeslot
         resources.  [I-D.peng-detnet-packet-timeslot-mechanism] defines
         the Timeslot Queueing and Forwarding (TQF) mechanism that can
         be used in IP/MPLS network.  Timeslot resources are defined as
         multiple equally time slots contained within a fixed length of
         periodic time (known as orchestration period).  Different nodes
         interoperate on the same orchestration period, but for the same



Peng & Bonica             Expires 14 April 2025                 [Page 4]


Internet-Draft        Deterministic Routing Header          October 2024


         orchestration period, different nodes may configure different
         timeslot lengths.  In this case, Common RI field contains
         orchestration period length (OPL) information, and Individual
         RI field contains the specific timeslot for the corresponding
         segment.

      -  2: Indicates that the forwarding resources is delay resources.
         [I-D.peng-detnet-deadline-based-forwarding] defines the
         Earliest Deadline First (EDF) mechanism that can be used in IP/
         MPLS network.  The network may provide multiple delay levels
         each ensuring a bounded latency according to the schedulability
         condition of EDF.  In this case, Common RI field contains the
         latency deviation (E) information, and Individual RI field
         contains the planned residence time (D) for the corresponding
         segment.  All segments may have the same planned residence time
         (D) by evenly dividing the total residence time budget, but
         this is not mandatory.

      -  3: Indicates that the forwarding resources is damper resources.
         [ATS_Damper] or [I-D.eckert-detnet-glbf] defines the damper
         mechanism that can be used in IP/MPLS network.  It actually
         combines two sub-functions: the worst-case latency guarantee
         component (e.g., ATS) and the damper component.  In this case,
         Common RI field contains the damper delay (D) value which is
         dynamically changed per hop, and Individual RI field contains
         the worst-case latency (M) for the corresponding segment.  All
         segments may have the same worst-case latency (M), but this is
         not the often case because the admitted flow aggregation of
         each traffic class at different hop may be different.

      -  4: Indicate that forwarding resources is network slice
         resources, also known as Network Resource Partition (NRP)
         resources.  [I-D.ietf-teas-ns-ip-mpls] defines a network
         slicing mechanism in IP/MPLS network.  The physical network may
         be partitioned into multiple slices dedicated to specific
         services or customers.  It is possible to directly reuse
         network slices to get DetNet QoS.  In this case, Common RI
         field contains the default NRP-ID, and Individual RI field
         contains the overrided NRP-ID when necessary.

      -  Other types may be defined in the future.

   *  P (Pad) flag: 1 bit to indicate whether there are padding field.
      If P flag is 0, there are no padding.  If P flag is 1, there are
      padding with 4 bytes.






Peng & Bonica             Expires 14 April 2025                 [Page 5]


Internet-Draft        Deterministic Routing Header          October 2024


   *  Common RI (Resource Indication): 24 bits for the common forwarding
      resource information that all segments shared.  The information
      contained in Common RI depends on RT.  Please see the above
      explanation of Resource Type field.

   *  SID (Segment Identifier): 20 bits for the topology instruction.
      Each SID identifies an entry in the CRH-FIB.  Each CRH-FIB entry
      identifies an interface on the path that the packet takes to its
      destination.

   *  Individual RI (Resource Indication): 12 bits for the forwarding
      resource that is specific for the corresponding segment.  The
      information contained in Individual RI depends on RT.  Please see
      the above explanation of Resource Type field.

   *  Padding: 0 or 4 bytes to ensure 8-octet alignment.

   In CRH-20, each segment is constructed by 32-bit tuple <SID,
   Individual RI>.  Segments are listed in reverse order.  So, the first
   segment in the list represents the final interface in the path.
   Because segments are listed in reverse order, the Segments Left field
   can be used as an index into the SID list.  In this document, the
   "current Segment" is the Segment list entry referenced by the
   Segments Left field.

   The first segment in the path can be omitted from the list.

3.  The CRH Forwarding Information Base (CRH-FIB)

   Please refer to [RFC9631].  There are no additional considerations
   for the topology instructions, except that FIB may be organized by
   specific type of index.

4.  Processing Rules

4.1.  Processing on the Headend Node

   The headend node is responsible for encapsulating the CRH-20 for the
   packet.  For a logical Segment List <S1, S2, ..., Sn>, set the SID
   and RI information corresponding to each segment in CRH-20.

   According to the CRH-FIB entry matched with the SID in the segment
   S1, the headend obtain the corresponding destination IPv6 address,
   and copy it to the DA field of the IPv6 header.  In addition, set
   Segment Left to n-1, indicating that there are still n-1 segment
   elements to be processed in the segment list.





Peng & Bonica             Expires 14 April 2025                 [Page 6]


Internet-Draft        Deterministic Routing Header          October 2024


   In order to further save the cost of CRH-20, because the destination
   IPv6 address corresponding to the first segment has already been
   copied to the DA field of the IPv6 header, the headend node may
   exclude the first segment from the segment list of CRH-20.  If this
   is the case, only n-1 segments (from [0] to [n-2]) need to be
   included in the list, and the segment [n-2] field stores the segment
   S2.  The Segment Left is still set to n-1, indicating that there are
   still n-1 segment elements to be processed in the segment list.  Note
   that this attempting to reduce overhead may not be meaningful due to
   the need for 8-octet alignment.

   The headend node must ensure that when forwarding packets to the
   first segment S1, it accesses the forwarding resources associated
   with S1.  Especially for the resources provided by EDF or damper
   mechanisms, the common RI field is set when the packet leaves the
   queue.

4.2.  Processing on the Transit or Endpoint Node

   When a transit or endpoint node receives an IPv6 packet, if the DA in
   the IPv6 header matches the local IP address, and the Next Header
   field of the IPv6 header indicates that the next layer header is CRH-
   20, then continue to process CRH-20 as below:




























Peng & Bonica             Expires 14 April 2025                 [Page 7]


Internet-Draft        Deterministic Routing Header          October 2024


    S01. When a CRH-20 is processed {
    S02.   if (Segments Left == 0) {
    S03.      Stop processing the CRH-20, and proceed to process the
                next header in the packet, whose type is identified by
                the Next Header field in the routing header.
    S04.   }
    S05.   If (IPv6 Hop Limit <= 1) {
    S06.      Send an ICMP Time Exceeded message to the Source Address
                with Code 0 (Hop limit exceeded in transit), interrupt
                packet processing, and discard the packet.
    S07.   }
    S08.   Decrement IPv6 Hop Limit by 1
    S09.   Decrement Segments Left by 1
    S10.   Read the next 32-bit segment by Segment List[Segments Left].
           Match CRH-FIB entry by ST field and segment.SID field.
    S11.   If there is no matched FIB entry, discard the packet and send
             an ICMPv6 Parameter Problem, Code 0, message to the Source
             Address, pointing to the current segment.
    S12.   Get the destinatoin IPv6 address and output interface from
             the matched FIB entry, and copy the destinatoin IPv6
             address to the DA field in the IPv6 header.
    S13.   Transmit the packet to the output interface, and access the
             forwarding resource indicated by Common RI field and
             Individual RI field. Especially for the resources provided
             by EDF or damper mechanisms, the common RI field is set
             when the packet leaves the queue.
    S14. }

5.  IANA Considerations

   This document request to register the following in the "Routing
   Types" subregistry within the "Internet Protocol Version 6 (IPv6)
   Parameters" registry:

       +==========+=============+===============+
       | Value    | Description |   Reference   |
       +==========+=============+===============+
       | TBA      | CRH-20      | this document |
       +----------+-------------+---------------+


6.  Security Considerations

   This document introduces no new security considerations other than
   [RFC9631].






Peng & Bonica             Expires 14 April 2025                 [Page 8]


Internet-Draft        Deterministic Routing Header          October 2024


7.  Acknowledgements

   TBD

8.  References

8.1.  Normative References

   [I-D.eckert-detnet-glbf]
              Eckert, T. T., Clemm, A., Bryant, S., and S. Hommes,
              "Deterministic Networking (DetNet) Data Plane - guaranteed
              Latency Based Forwarding (gLBF) for bounded latency with
              low jitter and asynchronous forwarding in Deterministic
              Networks", Work in Progress, Internet-Draft, draft-eckert-
              detnet-glbf-03, 5 July 2024,
              <https://datatracker.ietf.org/doc/html/draft-eckert-
              detnet-glbf-03>.

   [I-D.ietf-teas-ns-ip-mpls]
              Saad, T., Beeram, V. P., Dong, J., Wen, B., Ceccarelli,
              D., Halpern, J. M., Peng, S., Chen, R., Liu, X.,
              Contreras, L. M., Rokui, R., and L. Jalil, "Realizing
              Network Slices in IP/MPLS Networks", Work in Progress,
              Internet-Draft, draft-ietf-teas-ns-ip-mpls-04, 28 May
              2024, <https://datatracker.ietf.org/doc/html/draft-ietf-
              teas-ns-ip-mpls-04>.

   [I-D.peng-detnet-deadline-based-forwarding]
              Peng, S., Du, Z., Basu, K., cheng, Yang, D., and C. Liu,
              "Deadline Based Deterministic Forwarding", Work in
              Progress, Internet-Draft, draft-peng-detnet-deadline-
              based-forwarding-12, 8 August 2024,
              <https://datatracker.ietf.org/doc/html/draft-peng-detnet-
              deadline-based-forwarding-12>.

   [I-D.peng-detnet-packet-timeslot-mechanism]
              Peng, S., Liu, P., Basu, K., Liu, A., Yang, D., and G.
              Peng, "Timeslot Queueing and Forwarding Mechanism", Work
              in Progress, Internet-Draft, draft-peng-detnet-packet-
              timeslot-mechanism-09, 12 August 2024,
              <https://datatracker.ietf.org/doc/html/draft-peng-detnet-
              packet-timeslot-mechanism-09>.

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




Peng & Bonica             Expires 14 April 2025                 [Page 9]


Internet-Draft        Deterministic Routing Header          October 2024


   [RFC6554]  Hui, J., Vasseur, JP., Culler, D., and V. Manral, "An IPv6
              Routing Header for Source Routes with the Routing Protocol
              for Low-Power and Lossy Networks (RPL)", RFC 6554,
              DOI 10.17487/RFC6554, March 2012,
              <https://www.rfc-editor.org/info/rfc6554>.

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

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

   [RFC8655]  Finn, N., Thubert, P., Varga, B., and J. Farkas,
              "Deterministic Networking Architecture", RFC 8655,
              DOI 10.17487/RFC8655, October 2019,
              <https://www.rfc-editor.org/info/rfc8655>.

   [RFC9631]  Bonica, R., Kamite, Y., Alston, A., Henriques, D., and L.
              Jalil, "The IPv6 Compact Routing Header (CRH)", RFC 9631,
              DOI 10.17487/RFC9631, August 2024,
              <https://www.rfc-editor.org/info/rfc9631>.

8.2.  Informative References

   [ATS_Damper]
              "Constant Delay Switching: Asynchronous Traffic Shaping
              with Jitter Control", 2022,
              <https://ieeexplore.ieee.org/document/9829777>.

   [I-D.ietf-spring-srv6-srh-compression]
              Cheng, W., Filsfils, C., Li, Z., Decraene, B., and F.
              Clad, "Compressed SRv6 Segment List Encoding", Work in
              Progress, Internet-Draft, draft-ietf-spring-srv6-srh-
              compression-18, 22 July 2024,
              <https://datatracker.ietf.org/doc/html/draft-ietf-spring-
              srv6-srh-compression-18>.

Authors' Addresses

   Shaofu Peng
   ZTE Corporation
   China
   Email: peng.shaofu@zte.com.cn





Peng & Bonica             Expires 14 April 2025                [Page 10]


Internet-Draft        Deterministic Routing Header          October 2024


   Ron Bonica
   Juniper Networks
   United States of America
   Email: rbonica@juniper.net















































Peng & Bonica             Expires 14 April 2025                [Page 11]