Internet-Draft | DetNet Deterministic Latency Option for | September 2022 |
Xiong & Liu | Expires 2 April 2023 | [Page] |
This document introduces new IPv6 options to identify the Deterministic Latency related information for DetNet flows in IPv6 and SRv6 networks.¶
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 2 April 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.¶
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]. The existing deterministic technologies are facing large-scale number of nodes and long-distance transmission, traffic scheduling, dynamic flows, and other controversial issues in large-scale networks. The enhanced DetNet Data plane is required to support a data plane method of flow identification and packet treatment. [I-D.liu-detnet-large-scale-requirements] has described the enhancement requirements for DetNet data plane, it is required to support information used by functions ensuring Deterministic Latency. [I-D.xiong-detnet-large-scale-enhancements] has proposed the overall framework of DetNet enhancements for large-scale deterministic networks. The packet treatment should support new functions to ensure deterministic latency and the identification of deterministic latency related information.¶
As described in [I-D.ietf-detnet-bounded-latency], the end-to-end bounded latency depends on the value of queuing delay bound along with the queuing mechanisms. Multiple queuing mechanisms can be used to guarantee the bounded latency in DetNet. And many types of queuing mechanisms have been proposed to provide diversified deterministic service for various applications. For example, time-scheduling queuing mechanisms includes the Time Aware Shaping [IIEEE802.1Qbv] and priority-scheduling includes the Credit-Based Shaper[IEEE802.1Q-2014] with Asynchronous Traffic Shaping[IEEE802.1Qcr]. The cyclic-scheduling queuing mechanism has been proposed in [IEEE802.1Qch] and improved in [I-D.dang-queuing-with-multiple-cyclic-buffers]. The deadline-scheduling queuing mechanism has been proposed in [I-D.stein-srtsn] and improved in [I-D.peng-detnet-deadline-based-forwarding]. The per-flow queuing mechanism includes Guaranteed-Service Integrated service (IntServ) [RFC2212]. The asynchronous queuing mechanism includes the Asynchronous Deterministic Networking (ADN) as per [I-D.joung-detnet-asynch-detnet-framework]. The functions such as the queuing mechanisms should be provided for enhanced DetNet to ensure the deterministic latency. So it is required to carry deterministic latency related information such as queuing parameters in data plane so as to make appropriate packet forwarding and scheduling decisions to meet the time bounds. The DetNet forwarding nodes along the path can apply the function and the deterministic latency related information carried in the packet to achieve the end-to-end bounded latency.¶
This document introduces new IPv6 options to identify the Deterministic Latency related information for DetNet flows in IPv6 and SRv6 networks.¶
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.¶
This document defines new IPv6 options for DetNet to signal Deterministic Latency related information to the DetNet layers. The format of the options follow the generic definition in section 4.2 of [RFC8200]. The option may be placed either in an HbH or a DoH EH.¶
The DetNet Deterministic Latency Information Option helps to discriminate the types of mechanisms and specify the related parameters.¶
Option Type: 8-bit identifier of the type of option. Value TBD1 by IANA; the highest-order 3 bits of the field is 001 to skip over this option and continue processing the header if the processing IPv6 node does not recognize the Option Type and to permit the Option Data to be changed en route to the packet's final destination.¶
Opt Data Len: 8-bit unsigned integer. Length of the Option Data field of this option, in octets. It is set to 12.¶
Flag(16 bits): indicates the type of Deterministic Latency function. The flag is defined in section 3.1.1.¶
TU(2 bits): indicates the time units for the Deterministic Delay.¶
ODL(3 bits): Length of the Deterministic Delay field as an unsigned 3-bit integer. The length of Deterministic Delay variation field is same with Deterministic Delay field.¶
OPL(3 bits): Length of the Deterministic Latency Parameters field as an unsigned 3-bit integer.¶
Maximum Deterministic Delay (variable): indicates the Maximum queuing delay. The value is various when the Queuing type is different.¶
Maximum Deterministic Delay variation (variable): indicates the Maximum Deterministic delay variation. The value is various when the flag is different.¶
Deterministic Latency Parameters Sub-TLVs (variable): it is optional and provides additional information for a node to forward a DetNet flow. The Sub-TLVs has been defined in section 3.1.2.¶
The types of Deterministic Latency function should cover all the mechanisms ensuring the Deterministic Latency such as the existing queuing and scheduling mechanisms and other mechanisms which may be proposed in the future.¶
It indicates that a type of mechanisms is used for DetNet when one flag is set to 1 and multiple cooperating queuing mechanisms may be implemented when more than one flag is set to 1. For example, Credit-Based Shaper with Asynchronous Traffic Shaping can be used to provide the guaranteed delay. This document proposed the flags to cover the existing mechanisms and other mechanisms should be taken into considerations in the future.¶
The Flags field is designed as follow:¶
T flag: 1 bit, if the flag is set to 1, it indicates the TAS (Time Aware Shaping) [IIEEE802.1Qbv] queuing mechanism.¶
P Flag: 1 bit, if the flag is set to 1, it indicates the CBS (Credit-Based Shaper) [IEEE802.1Q-2014] queuing mechanism.¶
C Flag: 1 bit, if the flag is set to 1, it indicates the CQF (Cyclic Queuing and Forwarding) [IEEE802.1Qch] queuing mechanism.¶
A Flag: 1 bit, if the flag is set to 1, it indicates the ATS (Asynchronous Traffic Shaping) [IEEE802.1Qcr] queuing mechanism.¶
M Flag: 1 bit, if the flag is set to 1, it indicates the Multiple Cyclic Queuing as defined in [I-D.dang-queuing-with-multiple-cyclic-buffers].¶
D Flag: 1 bit, if the flag is set to 1, it indicates the Deadline-based Queuing mechanisms defined in [I-D.peng-detnet-deadline-based-forwarding] and [I-D.stein-srtsn].¶
N Flag: 1 bit, if the flag is set to 1, it indicates the ADN mechanism defined in [I-D.joung-detnet-asynch-detnet-framework].¶
The Deterministic Latency Parameters sub-TLVs is optional and it provides Deterministic Latency additional parameters for a node to forward a DetNet flow. The format of Sub-TLVs is based on the type and the flag field.¶
When the M flag is set to 1, the Cycle Sub-TLV may be carried and designed as follow:¶
Sub-type (16bits): TBD2, indicates the type of Cycle Sub-TLV.¶
Length (16bits): indicated the length of Cycle Sub-TLV.¶
Cycle Profile ID (32bits): indicates the profile ID which the cyclic queue applied at a node.¶
Cycle ID (32bits): indicates the Cycle ID for a node to forward a DetNet flow.¶
When the D flag is set to 1, the Deadline Sub-TLV may be carried and designed as follow:¶
Sub-type (16bits): TBD3, indicates the type of Deadline Sub-TLV.¶
Length (16bits): indicated the length of Deadline Sub-TLV.¶
Deadline Information(variable): indicates the deadline information such as deadline as defined in [I-D.stein-srtsn] or planned Deadline and deadline Deviation as defined in [I-D.peng-6man-deadline-option].¶
The DetNet Deterministic Latency information Option is intended to be placed in an IPv6 HbH EH since it must be processed by every DetNet forwarding node along the path. All DetNet forwarding nodes can use the queuing information to achieve the packet forwarding and queue scheduling.¶
The DetNet Deterministic Latency information Option is intended to be placed in an DOH EH before an SRH since it must be processed by the DetNet forwarding nodes of the SRv6 segment list. The DetNet forwarding nodes among SRv6 segment list can use the Deterministic Latency to achieve the packet forwarding and queue scheduling.¶
TBA¶
The authors would like to thank Peng Liu, Bin Tan, Shaofu Peng for their review, suggestions and comments to this document.¶
This specification updates the "Destination Options and Hop-by-Hop Options" under the "Internet Protocol Version 6 (IPv6) Parameters" registry with the values below:¶
Type | Description | Reference |
---|---|---|
TBD1 | Deterministic Latency Information Option | [this document] |
The Sub-TLVs has been proposed for Deterministic Latency Information Option as following shown:¶
Sub-type | Description | Reference |
---|---|---|
TBD2 | Cycle Sub-TLV | [this document] |
TBD3 | Deadline Sub-TLV | [this document] |