RFC 9023

Deterministic Networking (DetNet) Data Plane: IP over IEEE 802.1 Time-Sensitive Networking (TSN)

πŸ“… published June 2021, from ietf

RFC 9023: Deterministic Networking (DetNet) Data Plane: IP over IEEE 802.1 Time-Sensitive Networking (TSN) πŸ¦‹

Part 1 of 3 πŸ’…

Okay bestie, let's start with the title block 🫢. This is RFC 9023, an Informational document, which means it's published for information and isn't a Standards Track spec ✨. It came out in June 2021 under ISSN 2070-1721. The editor is B. Varga, Ed. πŸ‘‘, with co-authors J. Farkas, A. Malis, and S. Bryant. They're repping Ericsson, Malis Consulting, and Futurewei Technologies πŸ’œ. The header has no Obsoletes or Updates entries, so there's nothing it's replacing or changing. Its whole title is "Deterministic Networking (DetNet) Data Plane: IP over IEEE 802.1 Time-Sensitive Networking (TSN)" 🌈.

Abstract 🌸

This doc explains how the Deterministic Networking IP data plane works when it runs over a Time-Sensitive Networking (TSN) sub-network. Heads up, it doesn't invent any new procedures or processes πŸ™…β€β™€οΈ. Anything it says or recommends comes straight from the normative text in the RFCs it cites, so it's basically a guide to what those already say. Lowkey genius 🧚.

Status of This Memo πŸŽ€

This document is not an Internet Standards Track specification. It's published for informational purposes πŸ’….

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community, and it went through public review before the Internet Engineering Steering Group (IESG) approved it for publication. Not every document the IESG approves is a candidate for any level of Internet Standard. See Section 2 of RFC 7841 for more on that πŸ‘€.

Info about the current status of this document, any errata, and how to send feedback on it lives at https://www.rfc-editor.org/info/rfc9023 πŸ”—.

Copyright (c) 2021 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), as in effect on the date of publication. Please read these carefully, because they spell out your rights and restrictions for this document πŸ“œ. Code Components extracted from this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Simplified BSD License βš–οΈ.

Table of Contents 🧚

   1.  Introduction
   2.  Terminology
     2.1.  Terms Used in This Document
     2.2.  Abbreviations
   3.  DetNet IP Data Plane Overview
   4.  DetNet IP Flows over an IEEE 802.1 TSN Sub-network
     4.1.  Functions for DetNet Flow to TSN Stream Mapping
     4.2.  TSN Requirements of IP DetNet Nodes
     4.3.  Service Protection within the TSN Sub-network
     4.4.  Aggregation during DetNet Flow to TSN Stream Mapping
   5.  Management and Control Implications
   6.  Security Considerations
   7.  IANA Considerations
   8.  References
     8.1.  Normative References
     8.2.  Informative References
   Acknowledgements
   Authors' Addresses

1. Introduction πŸ’–

Okay so Deterministic Networking (DetNet) is a service a network can offer to DetNet flows ✨. It gives those flows extremely low packet-loss rates and assured maximum end-to-end delivery latency, which is giving reliability πŸ”₯. If you want the background and core concepts, the DetNet Architecture [RFC8655] is where it's at.

[RFC8939] specifies the DetNet data plane operation for IP hosts and routers that provide DetNet service to IP-encapsulated data 🌐. This document zeroes in on the scenario where DetNet IP nodes are interconnected by a Time-Sensitive Networking (TSN) sub-network πŸ’œ.

The DetNet Architecture splits the DetNet-related data plane functions into two sub-layers: a service sub-layer and a forwarding sub-layer πŸ“. The service sub-layer provides DetNet service protection and reordering. The forwarding sub-layer provides congestion protection, which means low loss, assured latency, and limited reordering πŸ’…. As described in [RFC8939], no DetNet-specific headers are added to support DetNet IP flows. So only the forwarding sub-layer functions can be supported inside the DetNet IP domain πŸ™ˆ. Service protection can be provided on a per-sub-network basis, as shown here for the IEEE 802.1 TSN sub-network scenario ✨.

2. Terminology πŸŽ€

2.1. Terms Used in This Document 🌸

This document uses the terminology and concepts established in the DetNet Architecture [RFC8655]. TSN-specific terms are defined by the TSN Task Group of the IEEE 802.1 Working Group. The reader is assumed to be familiar with these documents and their terminology πŸ“š.

2.2. Abbreviations πŸ¦‹

The following abbreviations are used in this document:

   DetNet        Deterministic Networking
   FRER          Frame Replication and Elimination for Redundancy (TSN
                 function)
   L2            Layer 2
   L3            Layer 3
   TSN           Time-Sensitive Networking; TSN is a Task Group of the
                 IEEE 802.1 Working Group.

3. DetNet IP Data Plane Overview 🧚

[RFC8939] describes how DetNet nodes, meaning hosts and routers, use IP to identify DetNet flows and provide a DetNet service 🌐. From a data plane perspective, the model is end-to-end IP ✨. DetNet identifies flows using a "6-tuple," where "6-tuple" refers to the information carried in the IP and higher-layer protocol headers, as defined in [RFC8939] πŸ”‘.

DetNet flow aggregation may be enabled through wildcards, masks, prefixes, and ranges πŸ“. IP tunnels may also be used to support flow aggregation. In these cases, DetNet-aware intermediate nodes are expected to provide DetNet service assurance on the aggregate, through resource allocation and congestion control mechanisms πŸ’œ.

Congestion protection, latency control, and resource allocation (queuing, policing, and shaping) are supported using the underlying link and sub-net-specific mechanisms πŸ› οΈ. Service protections, meaning the packet-replication and packet-elimination functions, are not provided at the IP DetNet layer end to end. That's because there's no unified end-to-end sequencing information that intermediate nodes could use πŸ™…β€β™€οΈ. However, such service protection can be provided per underlying L2 link and per sub-network πŸ’–.

DetNet routers make sure DetNet service requirements are met on each hop. They do this by allocating local resources for both receiving and transmitting, and by mapping each flow's service requirements to the right sub-network mechanisms 🌈. Those mappings depend on the sub-network technology. DetNet nodes interconnected by a TSN sub-network are the main focus of this document πŸ’…. How DetNet IP flows map to TSN Streams and TSN protection mechanisms is covered in Section 4 ✨.

4. DetNet IP Flows over an IEEE 802.1 TSN Sub-network 🌸

This section covers how DetNet IP flows operate over an IEEE 802.1 TSN sub-network πŸ¦‹. Figure 1 shows the scenario where two IP (DetNet) nodes are interconnected by a TSN sub-network. The dotted lines around the Service components of the IP (DetNet) nodes mean they are DetNet service aware, but they don't perform any DetNet service sub-layer function πŸ‘€. Node-1 is single homed, Node-2 is dual homed to the TSN sub-network, and both are treated as Talker or Listener inside the TSN sub-network 🧚. Note that from the TSN perspective, the dual-homed characteristics of Talker or Listener nodes are transparent to the IP Layer πŸ’œ.

       IP (DetNet)                   IP (DetNet)
         Node-1                        Node-2

      ............                  ............
   <--: Service  :-- DetNet flow ---: Service  :-->
      +----------+                  +----------+
      |Forwarding|                  |Forwarding|
      +--------.-+    <-TSN Str->   +-.-----.--+
                \      ,-------.     /     /
                 +----[ TSN Sub-]---+     /
                      [ Network ]--------+
                       `-------'
   <----------------- DetNet IP ----------------->

         Figure 1: DetNet-Enabled IP Network over a TSN Sub-network

At the time of writing, the Time-Sensitive Networking (TSN) Task Group of the IEEE 802.1 Working Group has defined, and is still defining, a number of amendments to [IEEE8021Q] that provide zero congestion loss and bounded latency in bridged networks 🌈. Also, [IEEE8021CB] defines frame replication and elimination functions for reliability, which should prove both compatible with and useful to DetNet networks πŸ”₯. All of these functions have to identify the flows that need TSN treatment πŸ”‘.

TSN capabilities of the TSN sub-network are made available to IP (DetNet) flows through the protocol interworking function described in Annex C.5 of [IEEE8021CB] πŸ¦‹. For example, applied on the TSN edge port, it can convert an ingress unicast IP (DetNet) flow to use a specific L2 multicast destination Media Access Control (MAC) address and a VLAN, so the packet is forwarded through a specific path inside the bridged network πŸ›€οΈ. A similar interworking function pair at the other end of the TSN sub-network restores the packet to its original L2 destination MAC address and VLAN πŸ’–.

Placement of TSN functions depends on the TSN capabilities of the nodes 🧚. IP (DetNet) nodes may or may not support TSN functions πŸ“. For a given TSN Stream, meaning a mapped DetNet flow, an IP (DetNet) node is treated as a Talker or a Listener inside the TSN sub-network ✨.

4.1. Functions for DetNet Flow to TSN Stream Mapping πŸ’œ

Mapping a DetNet IP flow to a TSN Stream is handled by combining a passive and an active Stream identification function, both of which operate at the frame level (Layer 2) 🌸. The passive Stream identification function catches the 6-tuple of a DetNet IP flow. The active Stream identification function modifies the Ethernet header according to the ID of the mapped TSN Stream πŸŽ€.

Clause 6.7 of [IEEE8021CB] defines an IP Stream identification function that can be used as a passive function for IP DetNet flows using UDP or TCP πŸ¦‹. Clause 6.8 of [IEEEP8021CBdb] defines a Mask-and-Match Stream identification function that can be used as a passive function for any IP DetNet flows 🌈.

Clause 6.6 of [IEEE8021CB] defines an Active Destination MAC and VLAN Stream identification function. It can replace some Ethernet header fields: (1) the destination MAC address, (2) the VLAN-ID, and (3) the priority parameters, with alternate values. The replacement is provided for the frame as it's passed down the stack from the upper layers, or up the stack from the lower layers πŸ’….

Active Destination MAC and VLAN Stream identification can be used within a Talker to set the flow identity, or within a Listener to recover the original addressing information. It can also be used in a TSN bridge that provides translation as a proxy service for an End System 🫢✨.

4.2. TSN Requirements of IP DetNet Nodes ✨

okay so this section is all about what a TSN-aware DetNet node has to do when it's hanging out in a TSN sub-network 🫢. the TSN packet-processing stuff must be compliant with the relevant IEEE 802.1 standards. no cap, that's the rule πŸ’…

from the TSN sub-network's point of view, DetNet IP nodes are basically a Talker or Listener, and they can be either (1) TSN unaware or (2) TSN aware πŸ¦‹

for TSN-unaware IP DetNet nodes, the TSN relay nodes inside the sub-network are the ones doing the heavy lifting. they have to modify the Ethernet encapsulation of the DetNet IP flow (things like MAC translation, VLAN-ID setting, sequence number addition, etc.) so the flow can get proper TSN-specific handling inside the sub-network 🌸 and yes, this document has no requirements for TSN-unaware IP DetNet nodes. they're giving "not my problem" and honestly we respect it πŸ’€

TSN-aware IP (DetNet) nodes can be thought of as a combo of a TSN-unaware Talker/Listener plus a TSN relay, as you can see in Figure 2 🧚 in this case, the IP (DetNet) node must provide the TSN sub-network-specific Ethernet encapsulation over the link(s) heading towards the sub-network πŸ”₯

              IP (DetNet)
                 Node
  <---------------------------------->

  ............
<--: Service  :-- DetNet flow ------------------
  +----------+
  |Forwarding|
  +----------+    +---------------+
  |    L2    |    | L2 Relay with |<--- TSN ---
  |          |    | TSN function  |    Stream
  +-----.----+    +--.------.---.-+
         \__________/        \   \______
                              \_________
   TSN-unaware
    Talker /          TSN Bridge
    Listener             Relay
                                      <----- TSN Sub-network -----
  <------- TSN-aware Tlk/Lstn ------->

           Figure 2: IP (DetNet) Node with TSN Functions

a TSN-aware IP (DetNet) node implementation must support the Stream identification TSN component so it can recognize flows πŸ‘‘

a Stream identification component has to be able to instantiate all of the following: (1) Active Destination MAC and VLAN Stream identification, (2) IP Stream identification, (3) Mask-and-Match Stream identification, and (4) the related managed objects in Clause 9 of [IEEE8021CB] and [IEEEP8021CBdb]. it's a whole checklist, bestie πŸ“βœ¨

if FRER is used inside the TSN sub-network, a TSN-aware IP (DetNet) node implementation must support the Sequencing function and the Sequence encode/decode function, as defined in Clauses 7.4 and 7.6 of [IEEE8021CB] πŸŽ€

the Sequence encode/decode function must support the Redundancy tag (R-TAG) format as per Clause 7.8 of [IEEE8021CB] πŸ’œ

and when the node is a replication or elimination point for FRER, a TSN-aware IP (DetNet) node implementation must support the Stream splitting function and the Individual recovery function, as defined in Clauses 7.7 and 7.5 of [IEEE8021CB] 🌈

4.3. Service Protection within the TSN Sub-network πŸ›‘οΈ

TSN Streams that support DetNet flows may use FRER as defined in Clause 8 of [IEEE8021CB], based on the loss service requirements of the TSN Stream. those come from the DetNet service requirements of the DetNet mapped flow πŸ¦‹ FRER itself isn't changed by DetNet, so it just follows [IEEE8021CB] πŸ’…

the FRER function and the service recovery it provides are only available inside the TSN sub-network, because the TSN Stream ID and the TSN sequence number aren't valid outside of it πŸ™ˆ an IP (DetNet) node is an L3 border, so it terminates all the related information elements that were encoded in the L2 frames. main character boundary energy 🚧

4.4. Aggregation during DetNet Flow to TSN Stream Mapping πŸ“

implementations of this document shall use management and control information to map a DetNet flow to a TSN Stream. N:1 mapping (aggregating DetNet flows into a single TSN Stream) shall be supported ✨ and the management or control function that sets up the flow mapping shall make sure that adequate resources are allocated and configured, so the mapped flows still get their proper service requirements 🫢

5. Management and Control Implications 🧠

DetNet flows and TSN Stream-mapping-related information are required only for TSN-aware IP (DetNet) nodes πŸŽ€ from the data plane perspective, it doesn't really matter where the flow-mapping info came from, whether that's the management plane or the control plane. no difference at all πŸ’…

here's the set of information you need to configure DetNet IP over TSN πŸ“‹

  • DetNet-IP-related configuration information, according to the DetNet role of the DetNet IP node, as per [RFC8939].
  • TSN-related configuration information, according to the TSN role of the DetNet IP node, as per [IEEE8021Q], [IEEE8021CB], and [IEEEP8021CBdb].
  • Mapping between DetNet IP flow(s) and TSN Stream(s). DetNet IP flow identification is summarized in Section 5.1 of [RFC8939] and includes all wildcards, port ranges, and the ability to ignore specific IP fields. Information on TSN Stream identification is defined in [IEEE8021CB] and [IEEEP8021CBdb]. note that managed objects for TSN Stream identification can be found in [IEEEP8021CBcv] 🌸

this information must be provisioned per DetNet flow πŸ“Œ

mappings between DetNet and TSN management and control planes are out of scope for this document. some of the challenges are highlighted below πŸ‘€

TSN-aware IP DetNet nodes are members of both the DetNet domain and the TSN sub-network 🌍 inside the TSN sub-network, the TSN-aware IP (DetNet) node has a TSN-aware Talker/Listener role, so TSN-specific management and control plane functionalities must be implemented πŸ”₯ the management plane techniques in DetNet and TSN have lots in common, but the control plane protocols? not so much 😭 for example, RSVP-TE and the Multiple Stream Registration Protocol (MSRP) of IEEE 802.1 behave differently. so designing the management and control planes is a big deal wherever DetNet and TSN need mapping πŸ’–

to use a TSN sub-network between DetNet nodes, DetNet-specific information must be converted into TSN sub-network-specific information. the DetNet flow ID and flow-related parameters/requirements must be converted into a TSN Stream ID and stream-related parameters/requirements πŸ¦‹ also, the TSN sub-network is only one piece of the end-to-end DetNet path (a single hop from an IP perspective), so some parameters (e.g., delay) may differ a lot. other parameters (like bandwidth) may also have to be tuned because of the L2 encapsulation used inside the TSN sub-network ⏱️

sometimes it can be tricky to figure out some of the TSN Stream-related information. for example, on a TSN-aware IP (DetNet) node acting as a Talker, it's pretty obvious which DetNet node is the Listener of the mapped TSN Stream (that's the IP next-hop). but it may not be trivial to find the point/interface where that Listener is connected to the TSN sub-network. those attributes may need the control and management plane functions to talk to each other, and the DetNet and TSN domains to talk too 🀝

if it isn't provided explicitly, the mapping between DetNet flow identifiers and TSN Stream identifiers can be done by a TSN-aware IP (DetNet) node locally, based on the information provided for configuring the TSN Stream identification functions (IP Stream identification, Mask-and-Match Stream identification, and the active Stream identification function) 🧩

setting up or modifying a TSN Stream in the TSN sub-network is a good example of where management and/or control plane interactions are needed between the DetNet and TSN sub-network πŸŽ€ and TSN-unaware IP (DetNet) nodes make that even more complicated, since they're fully unaware of the sub-network and run independently πŸ™ƒ

configuring TSN-specific functions (e.g., FRER) inside the TSN sub-network is a TSN-domain-specific decision, and it may not be visible in the DetNet domain πŸŒ™

6. Security Considerations πŸ”

security considerations for DetNet are described in detail in [DETNET-SECURITY]. general security considerations are in [RFC8655], and considerations specific to the DetNet IP data plane are summarized in [RFC8939]. this section covers the security considerations that are specific to the DetNet IP-over-TSN sub-network scenario 🚨

the sub-network between DetNet nodes needs appropriate confidentiality. on top of that, knowing which DetNet/TSN services a sub-network provides can hand attackers information they can use in all sorts of attacks 😱 if someone can modify the information exchanged between connected DetNet nodes, that can lead to bogus operations. so it's important that the interface between DetNet nodes and the TSN sub-network is subject to authorization, authentication, and encryption πŸ”’

the TSN sub-network operates at Layer 2, so IEEE-defined security mechanisms can secure the connection between DetNet nodes. for example, encryption may be provided using MACsec [IEEE802.1AE-2018]. ngl this is the part to screenshot πŸ“ΈπŸ’€

7. IANA Considerations πŸ“­

this document has no IANA actions 🌷

8. References πŸ“š

8.1. Normative References

8.2. Informative References

  • [DETNET-SECURITY] Grossman, E., Ed., Mizrahi, T., and A. Hacker, "Deterministic Networking (DetNet) Security Considerations", Work in Progress, Internet-Draft, draft-ietf-detnet-security-16, March 2021, https://tools.ietf.org/html/draft-ietf-detnet-security-16.
  • [IEEE802.1AE-2018] IEEE, "IEEE Standard for Local and metropolitan area networks--Media Access Control (MAC) Security", IEEE 802.1AE-2018, DOI 10.1109/IEEESTD.2018.8585421, December 2018, https://ieeexplore.ieee.org/document/8585421.
  • [IEEE8021Q] IEEE, "IEEE Standard for Local and Metropolitan Area Network--Bridges and Bridged Networks", IEEE Std 802.1Q-2018, DOI 10.1109/IEEESTD.2018.8403927, July 2018, https://ieeexplore.ieee.org/document/8403927.
  • [IEEEP8021CBcv] IEEE 802.1, "Draft Standard for Local and metropolitan area networks--Frame Replication and Elimination for Reliability--Amendment: Information Model, YANG Data Model and Management Information Base Module", IEEE P802.1CBcv, Draft 1.1, February 2021, https://1.ieee802.org/tsn/802-1cbcv/.

Acknowledgements 🫢

okay bestie, the authors really wanted to shout out their crew πŸ“£ they thank Norman Finn, Lou Berger, Craig Gunther, Christophe Mangin, and Jouni Korhonen for their various contributions to this work πŸ’– literally the main character supporting cast 🌸


Authors' Addresses πŸ¦‹

the squad behind this doc ✨ BalΓ‘zs Varga is the editor πŸ‘‘ (Ericsson, Budapest, Hungary)

BalΓ‘zs Varga (editor)
Ericsson
Budapest
Magyar Tudosok krt. 11.
1117
Hungary

Email: balazs.a.varga@ericsson.com

next up is JÑnos Farkas, also at Ericsson in Budapest, same building and everything 🧚

JΓ‘nos Farkas
Ericsson
Budapest
Magyar Tudosok krt. 11.
1117
Hungary

Email: janos.farkas@ericsson.com

then Andrew G. Malis from Malis Consulting πŸ’…

Andrew G. Malis
Malis Consulting

Email: agmalis@gmail.com

and last but not least Stewart Bryant at Futurewei Technologies 🌈 iconic lineup, periodt πŸ’œ

Stewart Bryant
Futurewei Technologies

Email: sb@stewartbryant.com
πŸ“¦ where this page comes from