Internet-Draft | Segment Routing Header Extensions for De | October 2023 |
Xiong, et al. | Expires 15 April 2024 | [Page] |
The DetNet data fields defined in Deterministic Latency Action (DLA) can be used in enhanced Deterministic Networking (DetNet) to provide QoS treatment to achieve deterministic latency.¶
This document defines how DetNet data fields are encapsulated as part of the Segment Routing with IPv6 data plane (SRv6) header.¶
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 15 April 2024.¶
Copyright (c) 2023 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.¶
According to [RFC8655], Deterministic Networking (DetNet) operates at the IP layer and delivers service which provides extremely low data loss rates and bounded latency within a network domain. DetNet data planes has been specified in [RFC8938]. [I-D.ietf-detnet-scaling-requirements]has described the enhancement requirements for DetNet enhanced data plane in large-scale networks. [I-D.xiong-detnet-large-scale-enhancements] has proposed the overall framework of DetNet enhancements for large-scale deterministic networks. The packet treatment should schedule the resources and indicate the behaviour to ensure the deterministic latency. Moreover, new functions and related metadata should be supported in DetNet enhanced data plane. [I-D.xiong-detnet-data-fields-edp] has proposed a common DetNet data fields and option types for enhanced DetNet data plane and defined a Deterministic Latency Action (DLA) option to carry queuing-based metadata.¶
This document defines how DetNet data fields are encapsulated as part of the Segment Routing with IPv6 data plane (SRv6) header [RFC8754].¶
The terminology is defined as [RFC8655] ,[RFC8938] and [RFC8754].¶
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.¶
Abbreviations and definitions used in this document:¶
The DetNet data fields such as DLA option are defined in [I-D.xiong-detnet-data-fields-edp], and can be used for ensuring deterministic latency in enhanced DetNet data plane. The SRv6 encapsulation header (SRH) is defined in [RFC8754] and DetNet data fields can be encapsulated in the SRH.¶
The DetNet data fields can be divided into option header and data. And it can be carried in SRH extensions including the options such as SRH header field, segment List, TLV and the last segment. This enables the DetNet enhanced functions to build on the network programmability capability of SRv6.¶
The following sections discuss the optional SRH extensions for enhanced DetNet data plane in encapsulating the Deterministic Latency Action Option.¶
The DetNet data field can be carried in SRH segment list. This enables the ability of SRv6 networks to forward a DetNet flow per segment list. This document defines a new SRv6 Endpoint behavior which can be used to indicate the Deterministic Forwarding (DF) function, called End.DF. The End.DF is a variant of the End.X behavior defined in [RFC8986]. The End.DF SID SHOULD support the SRH processing of Penultimate S egment Pop (PSP),Ultimate Segment Pop (USP), and Ultimate Segment Decapsulation (USD) flavors as defined in [RFC8986]. The End.DF SIDs can be allocated by a centralized network controller and advertized by IGP or BGP-LS.¶
The SRH segment list extensions for DetNet DLA Option is as follows.¶
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 | DLA Q-Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[0] (128-bit IPv6 address) | | DLA Option Data List[0] | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | ... | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[n] (128-bit IPv6 address) | | DLA Option Data List[n] | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // // // Optional Type Length Value objects (variable) // // // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
DLA Q-Type (8bits): as defined by the DLA Option Header field, and is defined in Section 4.2.1.2 of [I-D.xiong-detnet-data-fields-edp].¶
DLA Option Data List (variable): as defined by the DLA Option Data field, and is defined in Section 4.2.2 of [I-D.xiong-detnet-data-fields-edp].¶
The DetNet data field can be carried in SRH TLV. This enables the ability for an SRv6 node to determine whether to process or ignore some specific SRH TLVs is based on the SID function. The nodes which support the enhanced DetNet functionality can process the SRH TLV and the others can ignore the SRH DetNet TLV. The SRH TLV for DetNet DLA Option is as follows.¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRH-TLV-Type |SRH-TLV-Length | DetNet-Type | DetNet-Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DLA Type | Data Len | Ancillary Len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DLA Data List[0](variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DLA Data List[n](variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
SRH-TLV-Type/SRH-TLV-Length (8 bits): DetNet TLV Type for SRH is defined as TBA1. Length of the SRH TLV in 4-octet units. The fields related to the encapsulation of DetNet data fields in the SRH are defined as follows:¶
DetNet-Length (8 bits): indicates the DetNet option length.¶
DetNet-Type (8 bits): indicates the DetNet option type.¶
DLA Type (16 bits): as defined by the Option Type field, and is defined in Section 4.1 of [I-D.xiong-detnet-data-fields-edp].¶
Data Len (8 bits): unsigned integer. This field specifies the length of DLA option data added by each node.¶
Ancillary Len (8 bits): unsigned integer. This field specifies the length of DLA ancillary data added by each node.¶
DLA Data List(variable): as defined by the Data field including option data and ancillary data, and is defined in Section 4.2 of [I-D.xiong-detnet-data-fields-edp]. The DLA Option Data can be carried one time or in list.¶
The DetNet data field can be carried in SRH segment called DetNet Segment when a particular option data is processed within each node. The mapping from DLA data of current node to DLA data of next node SHOULD be provided in the control plane. It SHOULD swap and encapsulate the DetNet Segment at each forwarding node. The SRH segment extensions for DetNet DLA Option is as follows.¶
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 |D| Tag | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[0] (128-bit IPv6 address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | ... | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Segment List[n] (128-bit IPv6 address) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | SRv6 DetNet Segment (Segment List[n+1] (128-bit IPv6 value) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // // // Optional Type Length Value objects (variable) // // // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
D (Deterministic Flag) : when it is set, indicates the SRH extension for DLA Option Data.¶
The SRv6 DetNet Segment format is as follows.¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DLA Type | Data len | Ancillary Len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DLA Option data field determined by DLA Q-Type (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DLA Ancillary data field determined by DLA Type (variable)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The definition of the value can be referred as [I-D.xiong-detnet-data-fields-edp].¶
TBA¶
TBA¶