Internet-Draft DetNet Queuing Option for IPv6 July 2022
Xiong & Liu Expires 11 January 2023 [Page]
Workgroup:
DETNET
Internet-Draft:
draft-xiong-detnet-6man-queuing-option-01
Published:
Intended Status:
Standards Track
Expires:
Authors:
Q. Xiong
ZTE Corporation
A. Liu
ZTE Corporation

DetNet Queuing Option for IPv6

Abstract

This document introduces new IPv6 options to identify the DetNet queuing related information for DetNet flows in IPv6 and SRv6 networks.

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 11 January 2023.

Table of Contents

1. Introduction

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. The [xiong-detnet-large-scale-enhancements] has proposed the overall framework of DetNet enhancements for large-scale deterministic networks. The packet treatment should support the queuing treatment and the identification of queuing 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. Mutiple queueing mechanisms can be used to ganrantee the bounded latency in DetNet. And many types of queueing 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 queueing mechanism has been proposed in [IEEE802.1Qch] and improved in [I-D.dang-queuing-with-multiple-cyclic-buffers]. The deadline-scheduling queueing mechanism has been proposed in [I-D.stein-srtsn] and improved in [I-D.peng-detnet-deadline-based-forwarding]. The per-flow queueing mechanism includes Guaranteed-Service Integrated service (IntServ) [RFC2212]. It is required to carry queuing related information 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 follow the queue scheduling carried in the packet to achieve the end-to-end bounded latency.

This document introduces new IPv6 options to identify the DetNet queuing related information for DetNet flows in IPv6 and SRv6 networks.

2. Conventions used in this document

2.1. Terminology

The terminology is defined as [RFC8655].

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

3. The DetNet Options

This document defines new IPv6 options for DetNet to signal queuing 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.

3.1. The Queuing information Option

The DetNet Queuing Information Option helps to discriminate the types of queuing mechanisms and specify the queuing parameters.


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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Option Type  |  Opt Data Len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Queuing Flag          |   Reserved    |TU | QDL | QPL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Maximum Queuing Delay (variable)                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Maximum Queuing Delay variation (variable)           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Queuing Parameters sub-TLV(variable) (optional)      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 1: Queuing Information Option Format

Option Type: 8-bit identifier of the type of option. Value TBD1 by IANA; the highest-order 3 bits of thie 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.

Queuing Flag(16 bits): indicates the type of queuing mechanisms which can be used for the DetNet flows to identify the queuing information and the flag is defined in section 3.1.1.

TU(2 bits): indicates the time units for Queuing Delay.

ODL(3 bits): Length of the Queuing Delay field as an unsigned 3-bit integer. The length of Queuing Delay variation field is same with Queuing Delay field.

OPL(3 bits): Length of the Queuing Parameters field as an unsigned 3-bit integer.

Maximum Queuing Delay (variable): indicates the Maximum queuing delay. The value is various when the Queuing type is different.

Maximum Queuing Delay variation (variable): indicates the Maximum queuing delay variation. The value is various when the Queuing type is different.

Queuing Parameters Sub-TLVs (variable): it is optional and provides queuing information for a node to forward a DetNet flow. The Sub-TLVs has been defined in section 3.1.2.

3.1.1. Queuing Flag

The types of queuing mechanisms should cover time-scheduling, priority-scheduling, cyclic-scheduling, deadline-scheduling and per-flow scheduling queuing mechanisms. Other type of queuing mechanisms can be taken into considerations in the future. It indicates that a type of queuing mechanisms is used for DetNet when one flag is set to 1 and multiple 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.

The Flags field is designed as follow:


         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |T|P|C|A|M|D|                   |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Queuing Flag

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 such as queuing mechanisms defined in [I-D.peng-detnet-deadline-based-forwarding] and [I-D.stein-srtsn].

3.1.2. Queuing Parameters

The Queuing Parameters sub-TLVs is optional and it provides queuing information for a node to forward a DetNet flow. The format of Sub-TLVs is based on the queuing type and the flag field.

When the M flag is set to 1, the Cycle Sub-TLV may be carried and designed as follow:


       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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Sub-type               |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Cycle Profile ID                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Cycle ID                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 3: Cycle Sub-TLV

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:


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Sub-type            |          Length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Deadline Information(variable)                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 4: Deadline Sub-TLV

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

4. Encapsulation of DetNet Options

4.1. IPv6 Networks

The DetNet Queuing 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.


            +-----------------------------------+
            |         DetNet App-Flow           |
            |       (original IP) Packet        |
            +-----------------------------------+
            |            other EHs              |
            +-----------------------------------+--\
            |        IPv6 Hop-by-Hop Ex Hdr     |    |
            |(DetNet Queuing information Option)| DetNet Options
            |                                   |    |
            +-----------------------------------+--/
            |            IPv6 Header            |
            +-----------------------------------+
            |             Data-Link             |
            +-----------------------------------+
            |             Physical              |
            +-----------------------------------+

Figure 5: Queuing Information Option Format

4.2. SRv6 Networks

The DetNet Queuing 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 queuing information to achieve the packet forwarding and queue scheduling.



            +-----------------------------------+
            |         DetNet App-Flow           |
            |       (original IP) Packet        |
            +-----------------------------------+
            |       Segment Routing Header      |
            +-----------------------------------+ ---\
            |        IPv6 Destination Ex Hdr    |    |
            |(DetNet Queuing information Option)| DetNet Options
            |                                   |    |
            +-----------------------------------+ ---/
            |            IPv6 Header            |
            +-----------------------------------+
            |             Data-Link             |
            +-----------------------------------+
            |             Physical              |
            +-----------------------------------+

Figure 6: Queuing Information Option Format

5. Security Considerations

TBA

6. Acknowledgements

The authors would like to thank Peng Liu, Bin Tan, Aihua Liu Shaofu Peng for their review, suggestions and comments to this document.

7. IANA Considerations

7.1. New Option for IPv6

This specification updates the "Destination Options and Hop-by-Hop Options" under the "Internet Protocol Version 6 (IPv6) Parameters" registry with the values below:

Table 1
Type Description Reference
TBD1 Queuing Information Option [this document]

The Sub-TLVs has been proposed for Queuing Information Option as following shown:

Table 2
Sub-type Description Reference
TBD2 Cycle Sub-TLV [this document]
TBD3 Deadline Sub-TLV [this document]

8. Normative References

[I-D.dang-queuing-with-multiple-cyclic-buffers]
Liu, B. and J. Dang, "A Queuing Mechanism with Multiple Cyclic Buffers", Work in Progress, Internet-Draft, draft-dang-queuing-with-multiple-cyclic-buffers-00, , <https://www.ietf.org/archive/id/draft-dang-queuing-with-multiple-cyclic-buffers-00.txt>.
[I-D.ietf-detnet-bounded-latency]
Finn, N., Boudec, J. L., Mohammadpour, E., Zhang, J., and B. Varga, "DetNet Bounded Latency", Work in Progress, Internet-Draft, draft-ietf-detnet-bounded-latency-10, , <https://www.ietf.org/archive/id/draft-ietf-detnet-bounded-latency-10.txt>.
[I-D.liu-detnet-large-scale-requirements]
Liu, P., Li, Y., Eckert, T., Xiong, Q., and J. Ryoo, "Requirements for Large-Scale Deterministic Networks", Work in Progress, Internet-Draft, draft-liu-detnet-large-scale-requirements-02, , <https://www.ietf.org/archive/id/draft-liu-detnet-large-scale-requirements-02.txt>.
[I-D.peng-6man-deadline-option]
Peng, S. and B. Tan, "Deadline Option", Work in Progress, Internet-Draft, draft-peng-6man-deadline-option-00, , <https://www.ietf.org/archive/id/draft-peng-6man-deadline-option-00.txt>.
[I-D.peng-detnet-deadline-based-forwarding]
Peng, S., Tan, B., and P. Liu, "Deadline Based Deterministic Forwarding", Work in Progress, Internet-Draft, draft-peng-detnet-deadline-based-forwarding-01, , <https://www.ietf.org/archive/id/draft-peng-detnet-deadline-based-forwarding-01.txt>.
[I-D.stein-srtsn]
Stein, Y. (., "Segment Routed Time Sensitive Networking", Work in Progress, Internet-Draft, draft-stein-srtsn-01, , <https://www.ietf.org/archive/id/draft-stein-srtsn-01.txt>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC2212]
Shenker, S., Partridge, C., and R. Guerin, "Specification of Guaranteed Quality of Service", RFC 2212, DOI 10.17487/RFC2212, , <https://www.rfc-editor.org/info/rfc2212>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <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, , <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, , <https://www.rfc-editor.org/info/rfc8655>.
[RFC8938]
Varga, B., "Deterministic Networking (DetNet) Data Plane Framework", RFC 8938, DOI 10.17487/RFC8938, , <https://www.rfc-editor.org/info/rfc8938>.

Authors' Addresses

Quan Xiong
ZTE Corporation
No.6 Huashi Park Rd
Wuhan
Hubei, 430223
China
Aihua Liu
ZTE Corporation
Shenzhen
China