Internet-Draft | DetNet Enhanced Data Plane | December 2022 |
Geng, et al. | Expires 27 June 2023 | [Page] |
Aiming at providing the bounded latency to DetNet services, DetNet data plane is required to be enhanced. This document provides a method to extend DetNet data plane by introducing the Bounded Latency Information (BLI), which facilitates DetNet transit nodes to guarantee the bounded latency transmission in data plane.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in .¶
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 27 June 2023.¶
Copyright (c) 2022 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.¶
DetNet [RFC8655] provides the capability to carry specified unicast or multicast data flows with extremely low data loss rates and bounded end-to-end latency within a network domain. Three primary goals of DetNet QoS are defined in section 3.1 of [RFC8655]:¶
To fulfill the goals of DetNet QoS, DetNet architecture [RFC8655] defines a DetNet data plane protocol stack, which includes DetNet forwarding and service sub-layers. Specifically, DetNet data plane framework [RFC8938] specifies two metadata of flow identity and sequence number to be encoded in data plane. Flow-ID is used for identification of the flow or aggregate flow to decide the DetNet traffic treatment and PREOF in both sub-layers. At the same time, sequence number is only used for PREOF in service sub-layer.¶
For IP DetNet data plane, [RFC8939] specifies a method of using 6-tuple to identify DetNet flows. Management and control information defined in DetNet YANG module [I-D.ietf-detnet-yang] is used to select the forwarding outgoing interface and next hop. It is stated that the allocation of system resources and provisioning of related parameters is used for DetNet traffic treatment. However, [RFC8939] doesn't further specify the related parameters used in data plane.¶
In [RFC8964], DetNet Control Word (d-CW), DetNet service label (S-Label), and DetNet MPLS forwarding label(s) (F-Label) are defined for the MPLS-based DetNet data plane encapsulation, where the first two information is mainly used for the DetNet service sub-layer functions, the last information is used for the DetNet forwarding sub-layer functions. DetNet controller plane takes the responsibility to provision both flow identification information and the flow-specific resources needed to provide traffic treatment to meet each flow's service requirements. There is no specification in MPLS DetNet data plane to empower the packet treatment capabilities.¶
There are also other specifications of DetNet data planes such as [RFC9023], [RFC9024], [RFC9025], [RFC9037], and [RFC9056]. These documents specifies the DetNet data planes and interworking technologies of one type of network operating over another sub-network in order to extend the DetNet service range. However, these documents do not introduce new procedure or process, but to follow the specifications defined in [RFC8939] and [RFC8964].¶
To meet the requirements for large-scale deterministic networks and support the bounded latency objective specified in [I-D.liu-detnet-large-scale-requirements], DetNet data plane is required to be enhanced in the following aspects:¶
This documents provides a method to extend DetNet data plane by introducing Bounded Latency Information (BLI), which facilitates DetNet transit nodes to guarantee the bounded latency transmission in data plane. The resources include the QoS mechanisms, scheduling mechanisms, or any other mechanisms from underlying network layer so as to support bounded latency. This document also proposes a format of bounded latency information and its encapsulations on DetNet data planes.¶
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.¶
The abbreviations used in this document are:¶
BLI: Bounded Latency Information¶
PREOF: Packet Replication, Elimination, and Ordering Functions¶
In order to support the enhanced traffic treatment functions, such as bounded latency, DetNet data plane is enhanced by carrying a new defined metadata information in DetNet service packets: Bounded Latency Information (BLI).¶
DetNet uses either one or combination of QoS related and resource allocation technologies to ensure the end-to-end bounded latency. [I-D.ietf-detnet-bounded-latency] introduces a set of scheduling mechanisms can be used to assure the bounded latency. [I-D.stein-srtsn] uses a single stack data structure to provide a unified approach to forwarding and deadline based scheduling. Noted that in most scheduling process, an ancillary information is required to be transmitted between DetNet nodes to facilitate local scheduling. In this document, this ancillary information is named bounded latency information. Bounded latency information is transmitted across multiple DetNet transit nodes and used by the DetNet forwarding sub-layer.¶
To cope with a variety of scheduling mechanisms and transfer different information in a uniform format in data plane, the bounded latency information is abstracted and classified into two categories: requirement and resource.¶
Bounded latency information in the requirement category may include the information like the end-to-end delay budget, local delay budget, local deadline, delay variation budget, local delay variation budget etc. For example, end-to-end delay budget describes the upper bounded latency value of DetNet flow in network. Then DetNet node may use this information to determine the packet priority or which queue can be used to transmit this packet. Local delay budget is a variation of end-to-end delay budget when multiple DetNet nodes may have same or different delay budget time of each in DetNet network. Deadline is straightforward to indicate how much time is left for this packet to meet the upper bounded latency requirement. Similar practice in 6LoWPANs is given by [RFC9034]. The usage of this information is similar to the delay budget information when DetNet node decides the priority or queue for the packet forwarding. Delay variation [I-D.mohammadpour-detnet-bounded-delay-variation] is another deterministic goal required by DetNet and should be considered in scheduling process when it is required. Priority can also be a type of requirement. DetNet application may assign its priority by different meanings and formats, which may not be equivalently fulfilled by existing QoS priority.¶
Bounded latency information in the resource category includes the information like cycle ID, queue ID, and time slot ID etc. Since cycles, queues, or time slots are the real resources can be allocated for DetNet flow, they are named as the time resource ID. For example, time resource ID can represent a cycle ID when cyclic queuing mechanism is used on DetNet node. Time resource ID can also represent a queue ID when queue based scheduling mechanism is locally used on DetNet node. Time resource ID can represent a time slot ID too, when a time slot based mechanism like [RFC9030] is used.¶
This section introduces the data field of bounded latency information in DetNet data plane. The format of the data field is shown as follows.¶
+---------------+-------------+-------------+-------------+ | BLI Type | Format | Flag | Reserved | +---------------+-------------+---------------------------+ | ~ ~ Bounded Latency Information (variable size) ~ ~ | +---------------------------------------------------------+¶
Figure 1: Data Field of Bounded Latency Information¶
where:¶
+----------------+---------------------------------------+ | BLI Type Value | Bounded Latency Information | +----------------+---------------------------------------+ | 0 | Reserved | +----------------+---------------------------------------+ | 1 | Time resource ID | +----------------+---------------------------------------+ | 2 | Priority | +----------------+---------------------------------------+ | 3 | End-to-end delay budget | +----------------+---------------------------------------+ | 4 | Local delay budget | +----------------+---------------------------------------+ | 5 | End-to-end deadline | +----------------+---------------------------------------+ | 6 | Local deadline | +----------------+---------------------------------------+ | 7 | End-to-end delay variation budget | +----------------+---------------------------------------+ | 8 | Local delay variation budget | +----------------+---------------------------------------+¶
Table 1: Bounded Latency Information Type and Value¶
+--------------+-------------------------+ | Format Value | Format | +--------------+-------------------------+ | 1 | 32-bit unsigned Integer | +--------------+-------------------------+ | 2 | 16-bit unsigned Integer | +--------------+-------------------------+ | 3 | 8-bit unsigned Integer | +--------------+-------------------------+ | 4 | PTP 80-bit Timestamp | +--------------+-------------------------+ | 5 | PTP 64-bit Timestamp | +--------------+-------------------------+ | 6 | NTP 64-bit Timestamp | +--------------+-------------------------+ | 7 | NTP 32-bit Timestamp | +--------------+-------------------------+¶
Table 2: Format¶
Bounded Latency Information Type and Format are used together to specify the type, length and format of the bounded latency information.¶
0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |U U U U U U U U| +-+-+-+-+-+-+-+-+¶
Figure 2: Flag¶
BLI data field can be encapsulated in different DetNet data planes.¶
For IPv6 based DetNet data plane, the data field of bounded latency information is recommended to be carried in IPv6 Extension Header Options, called Bounded Latency Information Option, shown in the following Figure.¶
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 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type | Opt Data Len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BLI Type | Format | Flag | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ ~ Bounded Latency Information (variable size) ~ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+¶
Figure 3: Bounded Latency Information Option¶
Bounded latency information data field is encapsulated in either IPv6 Hop-by-Hop Options header or IPv6 Destination Options header depending on the processing happens at each hop or at the last hop. More than one bounded latency information can appear in one Bounded Latency Information Option. The Option Data Length and the Format are used to locate every bounded latency information. The encapsulation of Bounded Latency Information Option is shown in Figure 4 and Figure 5.¶
+--------------------------------------+ | DetNet App-Flow | | (Original IP) Packet | +--------------------------------------+ | UDP/GRE/IPSec... Header | +--------------------------------------+ | Other IPv6 EHs | +--------------------------------------+ | IPv6 Hop-by-Hop Options Header | | (Bounded Latency Information Option) | +--------------------------------------+ | IPv6 Header | +--------------------------------------+ | Data-Link | +--------------------------------------+ | Physical | +--------------------------------------+¶
Figure 4: Encapsulation of BLI Option in IPv6 Hop-by-Hop Options Headers¶
+--------------------------------------+ | DetNet App-Flow | | (Original IP) Packet | +--------------------------------------+ | UDP/GRE/IPSec... Header | +--------------------------------------+ | IPv6 Destination Options Header | | (Bounded Latency Information Option) | +--------------------------------------+ | Other IPv6 EHs | +--------------------------------------+ | IPv6 Header | +--------------------------------------+ | Data-Link | +--------------------------------------+ | Physical | +--------------------------------------+¶
Figure 5: Encapsulation of BLI Option in IPv6 Destination Options Headers¶
An MPLS extension header is proposed in [I-D.song-mpls-extension-header]. An MPLS Extension Header (EH) encapsulated with the format of bounded latency information is called Bounded Latency Information Extension Header (BLIEH) and shown in Figure 6.¶
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 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | HLEN | EXT | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BLI Type | Format | Flag | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ ~ Bounded Latency Information (variable size) ~ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+¶
Figure 6: Bounded Latency Information Extension Header¶
The encapsulation of bounded latency information in MPLS extension headers with MPLS label stack is shown in the following figure. More than one BLI can be carried in one Bounded Latency Information Extension Header (BLIEH).¶
0 31 +--------+--------+--------+--------+ \ | | | ~ MPLS Label Stack ~ | | | | +--------+--------+--------+--------+ | | EH Indicator (TBD) | > MPLS Label Stack +--------+--------+--------+--------+ | (extended with EHI) | | | ~ MPLS Label Stack ~ | | | | +--------+--------+--------+--------+ < | Header of Extension Headers (HEH) | | +--------+--------+--------+--------+ | | | > MPLS EH Fields ~ Extension Header (EH) with BLI ~ | (new) | | | +--------+--------+--------+--------+ < | | | ~ Upper Layer Headers/Payload ~ > MPLS Payload | | | (as is) +--------+--------+--------+--------+ /¶
Figure 7: MPLS Encapsulation of Bounded Latency Information Extension Header¶
This document describes a DetNet IP encapsulation that includes the bounded latency information based on the DetNet MPLS over UDP/IP data plane [RFC9025], i.e., leveraging the MPLS-over-UDP technology. The bounded latency guarantee capable DetNet IP encapsulation builds on encapsulating DetNet PW over an IP/UDP tunnel [RFC7510]. It is noted that the format of MPLS Bounded Latency Extension Header (BLIEH) after UDP header is the same with the format of MPLS Bounded Latency Extension Header (BLIEH) defined in section 5.2, as well as without using any MPLS forwarding labels. The encapsulation of bounded latency information in DetNet Data Plane of MPLS over UDP/IP is shown in the following figure.¶
0 31 +----------------------------------+ | | | DetNet App-Flow | | (original IP) Packet | | | +----------------------------------+<--\ | | | ~ MPLS Bounded Latency Information ~ | ~ Extension Header (BLIEH) ~ | | | | +----------------------------------+ +--> Bounded latency support | UDP/GRE/IPSec... Header | | DetNet IP data +----------------------------------+ | plane encapsulation | IP Header | | +----------------------------------+<--/ | Data-Link | +----------------------------------+ | Physical | +----------------------------------+¶
Figure 8: IPv6 extension option of bounded latency¶
IANA is requested to allocate a value of "Destination Options and Hop-by-Hop Options" under "Internet Protocol Version 6 (IPv6) Parameters" registry. The suggested value is:¶
+------+-----+-----+-------+---------------------+-----------+ | Hex | act | chg | rest | Description | Reference | +------+-----+-----+-------+---------------------+-----------+ | TBD | 00 | 1 | TBD | BLI Option | This I-D | +------+-----+-----+-------+---------------------+-----------+¶
Bounded Latency Information Option¶
IANA is requested to allocate a 8-bit indicator for the Next Header to the Bounded Latency Extension Header.¶
IANA is requested to define a new subregistry of "Bounded Latency Information Type" for the "Bounded Latency Information Option" under "Internet Protocol Version 6 (IPv6) Parameters" registry.¶
This new subregistry will include the following registries:¶
+-----------------+---------------------------------+-----------+ | Suggested Value | Meaning | Reference | +-----------------+---------------------------------+-----------+ | TBD | Reserved | This I-D | +-----------------+---------------------------------+-----------+ | TBD | Time resource ID | This I-D | +-----------------+---------------------------------+-----------+ | TBD | Priority | This I-D | +-----------------+---------------------------------+-----------+ | TBD | End-to-end delay budget | This I-D | +-----------------+---------------------------------+-----------+ | TBD | Local delay budget | This I-D | +-----------------+---------------------------------+-----------+ | TBD | End-to-end deadline | This I-D | +-----------------+---------------------------------+-----------+ | TBD | Local deadline | This I-D | +-----------------+---------------------------------+-----------+ | TBD |End-to-end delay variation budget| This I-D | +-----------------+---------------------------------+-----------+ | TBD | Local delay variation budget | This I-D | +-----------------+---------------------------------+-----------+¶
Bounded Latency Information Type¶
The following examples are provided to give instructions on how Bounded Latency Information is used when network node implements different algorithms to guarantee the bounded latency transmission.¶
When network node implements cycle based algorithms for example [I-D.yizhou-detnet-ipv6-options-for-cqf-variant] , cycles are the local resources used to guarantee the bounded latency transmission. Cycle ID is expected to be carried in data plane. Thus, the data field of BLI is suggested as follows:¶
+---------------+--------------+--------------+--------------+ | BLI Type (=1) | Format(=1) | Flag | Reserved | +---------------+--------------+--------------+--------------+ | Cycle ID | +------------------------------------------------------------+¶
Figure A.1: Data Field of BLI Used With Cycle Based Algorithms¶
When network node implements time slot based algorithms, time slots are the local resources used to guarantee the bounded latency transmission. Time Slot ID is expected to be carried in data plane. Thus, the data field of BLI is suggested as follows:¶
+---------------+--------------+--------------+--------------+ | BLI Type (=1) | Format(=1) | Flag | Reserved | +---------------+--------------+--------------+--------------+ | Time Slot ID | +------------------------------------------------------------+¶
Figure A.2: Data Field of BLI Used With Time Slot Based Algorithms¶
When network node implements the budget based algorithms to provide bounded latency transmission, end to end or per hop delay budget or delay variation budget information is the requirement proposed from the services and expected to be carried in data plane. The data fields of BLI used with delay budget based algorithms are suggested as follows:¶
+---------------+---------------+---------------+--------------+ | BLI Type(=3/4)| Format(=1) | Flag | Reserved | +---------------+---------------+---------------+--------------+ | E2E/Local Delay Budget | +--------------------------------------------------------------+¶
Figure A.3: Data Field of BLI Used With Delay Budget Based Algorithms¶
The data fields of BLI used with delay variation budget based algorithms are suggested as follows:¶
+---------------+----------------+---------------+---------------+ | BLI Type(=7/8)| Format(=2) | Flag | Reserved | +---------------+----------------+---------------+---------------+ |E2E/Local Delay Variation Budget| +--------------------------------+¶
Figure A.4: Data Field of BLI Used With Delay Variation Budget Based Algorithms¶
When network node implements deadline based algorithms like EDF, Deadine forwarding [I-D.peng-detnet-deadline-based-forwarding] to provide bounded latency transmission, end to end or per hop packet deadline is the requirement proposed from the services and expected to be carried in data plane. The data fields of BLI used with deadline based algorithms are suggested as follows:¶
+---------------+---------------+---------------+--------------+ | BLI Type(=5/6)| Format(=5) | Flag | Reserved | +---------------+---------------+---------------+--------------+ | E2E/Local Deadline | | | +--------------------------------------------------------------+¶
Figure A.5: Data Field of BLI Used With Deadline Based Algorithms¶
When network node implements priority based algorithms, priority is the requirement proposed from the services. Priority ID is expected to be carried in data plane. The data field of BLI is suggested as follows:¶
+---------------+--------------+--------------+--------------+ | BLI Type (=2) | Format(=3) | Flag | Reserved | +---------------+--------------+--------------+--------------+ | Priority ID | +---------------+¶
Figure A.6: Data Field of BLI Used With Priority Based Algorithms¶