Internet-Draft DetNet HbH Options June 2021
Thubert Expires 11 December 2021 [Page]
Workgroup:
DetNet
Published:
Intended Status:
Standards Track
Expires:
Author:
P. Thubert, Ed.
Cisco Systems

IPv6 Hop-by-Hop Options for DetNet

Abstract

RFC 8938, the Deterministic Networking Data Plane Framework relies on the 6-tuple to identify an IPv6 flow. But the full DetNet operations require also the capabilities to signal meta-information such as a sequence within that flow, and to transport different types of packets along the same path with the same treatment, e.g., Operations, Administration, and Maintenance packets and/or multiple flows with fate and resource sharing. This document introduces new Hop-by-Hop header options that can signal that information to the intermediate relays.

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 December 2021.

Table of Contents

1. Introduction

Section 2 of the Deterministic Networking Problem Statement [DetNet-PS] introduces the concept of Deterministic Networking (DetNet) to the IETF. DetNet extends the reach of lower layer technologies such as Time-Sensitive Networking (TSN) [IEEE 802.1 TSN] and Timeslotted Channel Hopping (TSCH) [IEEE Std. 802.15.4] over IPv6 and MPLS [RFC8938].

The "Deterministic Networking Architecture" [DetNet-ARCHI] details the contribution of layer-3 protocols, and defines three planes: the Application (User) Plane, the Controller Plane, and the Network Plane. [DetNet-ARCHI] places an emphasis on the centralized model whereby a controller instantiates per-flow state in the routers to perform adequate forwading operations so as to provide end-to-end reliability and bounded latency guarantees.

The "6TiSCH Architecture" [6TiSCH-ARCHI] leverages RPL, the "Routing Protocol for Low Power and Lossy Networks" [RFC6550] and introduces concept of a Track as a highly redundant RPL Destination Oriented Directed Acyclic Graph (DODAG) rooted at the Track Ingress node, that can be installed using so-called projected routes [RPL-PDAO]. In that case, the TrackId is an index from a namespace associated to one IPv6 address of the Track Ingress node, and the Track that an IPv6 packet follows is signaled by the combination of the source address (of the Track Ingress node), and the TrackID placed in a RPL Option [RFC6553] located in an IPv6 Hop-by-Hop (HbH) Options Header [IPv6] in the IPv6 packet.

The "Reliable and Available Wireless (RAW) Architecture/Framework" [RAW-ARCHI], extends the DetNet Network Plane to accomodate one or multiple hops of homogeneous or heterogeneous wireless technologies, e.g. a Wi-Fi6 Mesh or parallel radio access links combining Wi-Fi and 5G. The RAW Architecture reuses the concept of Track and introduces a new dataplane component, the Path Selection Engine (PSE), to dynamically select a subpath and maintain the required quality of service within a Track in the face of the rapid evolution of the medium properties.

With [IPv6], the behavior of a router upon an IPv6 packet with a HbH Options Header has evolved, making the examination of the header by routers along the path optional, as opposed to previously mandatory. Additionally, the Option Type for any option in a HbH Options Header encodes in the leftmost bits whether a router that inspects the header should drop the packet or ignore the option when encountering an unknown option. Combined, these capabilities enable a larger use of the header beyond the boundaries of a limited domain, as examplified by the change of behavior of the RPL data plane, that was changed to allow a packet with a RPL option to escape the RPL domain in the larger Internet [RFC9008].

"IPv6 Hop-by-Hop Options Processing Procedures" [HbH-PROCESS] further specifies the procedures for how IPv6 Hop-by-Hop options are processed to make their processing even more practical and increase their use in the Internet. In that context, it makes sense to consider Hop-by-Hop Options to transport the information that is relevant to DetNet.

The "Deterministic Networking Data Plane Framework" [RFC8938] relies on the 6-tuple to identify an IPv6 flow. But the full DetNet operations require also the capabilities to signal meta-information such as a sequence within that flow, and to transport different types of packets along the same path with the same treatment. For instance, it is required that Operations, Administration, and Maintenance (OAM) [RFC6291] packets and/or multiple flows share the same fate and resource sharing over the same Track or the same Traffic Engineered (TE) [RFC3272] DetNet path.

This document introduces new Hop-by-Hop options that can signal DetNet path and sequencing information to the intermediate relays in an abstract form that is independent of the transport layer. Transported in IPv6 HbH Options, the DetNet information is available early in the header chain of the packet and presented and added as part of a service instance encapsulation by the Ingress of the DetNet path and accessed by the intermediate DetNet relay nodes.

2. Terminology

Timestamp semantics and timestamp formats used in this document are defined in "Guidelines for Defining Packet Timestamps" [RFC8877].

The Deterministic Networking terms used in this document are defined in the "Deterministic Networking Architecture" [DetNet-ARCHI].

The terms Track and TrackID are defined in the "6TiSCH Architecture" [6TiSCH-ARCHI].

3. The DetNet Options

This document defines a number of IPv6 options to be placed in a HbH Options Header; the format of these options follow the generic definition in section 4.2 of [IPv6].

3.1. DetNet Sequencing Option

A typical packet sequence can be expressed uniquely as a wrapping counter, represented as an unsigned integer in the option. In that case, the size of the representation MUST be large enough to cover at least 3 times the upper bound on out-of-order packet delivery in terms of number of packets.

This specification also allows to use a time stamp for the packet sequencing following the recommendations in [RFC8877]. This can be accomplished by utilizing the Precision Time Protocol (PTP) format defined in IEEE Std. 1588 [IEEE Std. 1588] or Network Time Protocol (NTP) [RFC5905] formats. In that case, the timestamp resolution at the origin node that builds the option MUST be fine enough to ensure that two consecutive packets are never stamped with the same value. There is no requirement for this particular stamping function that the sense of time at the origin node is synchronized with the rest of the DetNet network.

This specification also allows for an hybrid model with a coarse grained packet sequence within a coarse grained time stamp. In that case, both a time stamp option and a wrapping counter options are found, and the counter is used to compare packets with the same time stamp and ignored otherwise In that case, the size of the representation of the counter MUST be large enough to cover at least 3 times the number of packets that may be sent with the same value of time stamp.

 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 |   Seq. Type   |    Reserved   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
.                                                               .
.          Sequencing Information (variable Size)               .
.                                                               .
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Sequencing Option Format

Sequencing Option fields:

Option Type:
8-bit identifier of the type of option. Value TBD by IANA.
Opt Data Len:

8-bit length of the option data.

Reserved:

8-bit field, set to 0 and ignored on reception.

Sequence Type:

8-bit identifier of the type of sequencing information. Value to be confirmed by IANA.

Table 1: Sequence Type values (suggested)
Seq. Type Value Category Common Name Sequencing Information Format
1 Wrapping Counter Basic Sequence Counter 32-bit unsigned integer
2 Wrapping Counter Zero-avoiding Sequence Counter 32-bit unsigned integer, wraps to 1
3 Wrapping Counter RPL Sequence Counter 8-bit RPL sequence, see section 7. of [RFC6550]
11 Time Stamp Fractional NTP NTP 64-bit Timestamp Format, see section 4.2.1. of [RFC8877]
12 Time Stamp Short NTP NTP 32-bit Timestamp Format, see section 4.2.2. of [RFC8877]
13 Time Stamp PTP PTP 80-bit Timestamp Format, see [IEEE Std. 1588]
14 Time Stamp Short PTP PTP 64-bit Truncated Timestamp Format, see section 4.3. of [RFC8877]
Sequencing Information:

Variable size, as indicated in Table 1.

3.2. RPL Packet Information

6TiSCH [6TiSCH-ARCHI] and RAW [RAW-ARCHI] signal a Track using a RPL Option [RFC6553] with a RPLInstanceID used as TrackID. This specification reuses the RPL option as a method to signal a DetNet path. In that case, the Projected-Route 'P' flag [RPL-PDAO] MUST be set to 1, and the O, R, F flags, as well as the Sender Rank field, MUST be set to 0 by the originator, forwarded as-is, and ignored on reception.

3.3. DetNet Local Path Option

In complement to the RPL option, this specification defines a protocol-independent Local Path Identifier, which is also taken from a namespace indicated by the IPv6 source address of the packet.

 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 |    Local Path ID              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: DetNet Local Path Option Format

Sequencing Option fields:

Option Type:
8-bit identifier of the type of option. Value TBD by IANA.
Opt Data Len:

8-bit length of the option data, set to 2.

Local Path ID:

16-bit identifier of the DetNet Path, taken from a local namespace associated with the IPv6 source address of the packet.

3.4. DetNet Global Path Option

The DetNet Global Path Option transports a global path identifier which is taken from a namespace indicated by the Origin Autonomous System (AS). When the DetNet path is contained within a single AS, the Origin Autonomous System field can be left to 0 indicating local AS.

 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 |   Origin Autonomous System    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Global Path ID                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: DetNet Glocal Path Option Format

Sequencing Option fields:

Option Type:
8-bit identifier of the type of option. Value TBD by IANA.
Opt Data Len:

8-bit length of the option data, set to 6.

Origin Autonomous System:

16-bit identifier of the Autonomous Systems (AS) that originates the path.

Global Path ID:

32-bit identifier of the DetNet Path, taken from a local namespace associated with the origin AS of the DetNet path. The value of 0 signals a DetNet path that is constrained within the local AS or the local administrative DetNet domain.

4. Security Considerations

5. IANA Considerations

5.1. New Subregistry for the Sequencing Type

This specification creates a new Subregistry for the "Sequencing Type of the Sequencing Option" under the "Internet Protocol Version 6 (IPv6) Parameters" registry.

  • Possible values are 8-bit unsigned integers (0..255).
  • Registration procedure is "IETF Review" [RFC8126].
  • Initial allocation is as Suggested in Table 2:
Table 2: Sequence Type values
Suggested Value Meaning Reference
1 Basic Sequence Counter THIS RFC
2 Zero-avoiding Sequence Counter THIS RFC
3 RPL Sequence Counter THIS RFC
11 Fractional NTP time stamp THIS RFC
12 Short NTP time stamp THIS RFC
13 PTP time stamp THIS RFC
14 Short PTP time stamp THIS RFC

5.2. New Hop-by-Hop Options

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

Table 3: DetNet Hop-by-Hop Options
Hexa act chg rest Description Reference
0x12 00 0 10010 DetNet Sequencing Option THIS RFC
0x13 00 0 10011 DetNet Local Path Option THIS RFC
0x14 00 0 10100 DetNet Global Path Option THIS RFC

6. Acknowledgments

TBD

7. References

7.1. Normative References

[IPv6]
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>.
[RFC8126]
Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, , <https://www.rfc-editor.org/info/rfc8126>.
[RFC8877]
Mizrahi, T., Fabini, J., and A. Morton, "Guidelines for Defining Packet Timestamps", RFC 8877, DOI 10.17487/RFC8877, , <https://www.rfc-editor.org/info/rfc8877>.
[HbH-PROCESS]
Hinden, R. M. and G. Fairhurst, "IPv6 Hop-by-Hop Options Processing Procedures", Work in Progress, Internet-Draft, draft-hinden-6man-hbh-processing-00, , <https://tools.ietf.org/html/draft-hinden-6man-hbh-processing-00>.
[DetNet-ARCHI]
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>.
[6TiSCH-ARCHI]
Thubert, P., Ed., "An Architecture for IPv6 over the Time-Slotted Channel Hopping Mode of IEEE 802.15.4 (6TiSCH)", RFC 9030, DOI 10.17487/RFC9030, , <https://www.rfc-editor.org/info/rfc9030>.
[RAW-ARCHI]
Thubert, P., Papadopoulos, G. Z., and R. Buddenberg, "Reliable and Available Wireless Architecture/Framework", Work in Progress, Internet-Draft, draft-pthubert-raw-architecture-05, , <https://tools.ietf.org/html/draft-pthubert-raw-architecture-05>.

7.2. Informative References

[RPL-PDAO]
Thubert, P., Jadhav, R. A., and M. Gillmore, "Root initiated routing state in RPL", Work in Progress, Internet-Draft, draft-ietf-roll-dao-projection-16, , <https://tools.ietf.org/html/draft-ietf-roll-dao-projection-16>.
[RFC6291]
Andersson, L., van Helvoort, H., Bonica, R., Romascanu, D., and S. Mansfield, "Guidelines for the Use of the "OAM" Acronym in the IETF", BCP 161, RFC 6291, DOI 10.17487/RFC6291, , <https://www.rfc-editor.org/info/rfc6291>.
[RFC5905]
Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, "Network Time Protocol Version 4: Protocol and Algorithms Specification", RFC 5905, DOI 10.17487/RFC5905, , <https://www.rfc-editor.org/info/rfc5905>.
[RFC6550]
Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, JP., and R. Alexander, "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks", RFC 6550, DOI 10.17487/RFC6550, , <https://www.rfc-editor.org/info/rfc6550>.
[RFC6553]
Hui, J. and JP. Vasseur, "The Routing Protocol for Low-Power and Lossy Networks (RPL) Option for Carrying RPL Information in Data-Plane Datagrams", RFC 6553, DOI 10.17487/RFC6553, , <https://www.rfc-editor.org/info/rfc6553>.
[DetNet-PS]
Finn, N. and P. Thubert, "Deterministic Networking Problem Statement", RFC 8557, DOI 10.17487/RFC8557, , <https://www.rfc-editor.org/info/rfc8557>.
[RFC9008]
Robles, M.I., Richardson, M., and P. Thubert, "Using RPI Option Type, Routing Header for Source Routes, and IPv6-in-IPv6 Encapsulation in the RPL Data Plane", RFC 9008, DOI 10.17487/RFC9008, , <https://www.rfc-editor.org/info/rfc9008>.
[RFC3272]
Awduche, D., Chiu, A., Elwalid, A., Widjaja, I., and X. Xiao, "Overview and Principles of Internet Traffic Engineering", RFC 3272, DOI 10.17487/RFC3272, , <https://www.rfc-editor.org/info/rfc3272>.
[RFC8938]
Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S. Bryant, "Deterministic Networking (DetNet) Data Plane Framework", RFC 8938, DOI 10.17487/RFC8938, , <https://www.rfc-editor.org/info/rfc8938>.
[IEEE Std. 802.15.4]
IEEE standard for Information Technology, "IEEE Std. 802.15.4, Part. 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks".
[IEEE 802.1 TSN]
IEEE 802.1, "Time-Sensitive Networking (TSN) Task Group", <http://www.ieee802.org/1/pages/tsn.html>.
[IEEE Std. 1588]
IEEE, "IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems", IEEE Standard 1588, <https://ieeexplore.ieee.org/document/4579760/>.

Author's Address

Pascal Thubert (editor)
Cisco Systems, Inc
France