RFC 8655
Deterministic Networking Architecture
RFC 8655: Deterministic Networking Architecture π¦
Title block tea β: This is RFC 8655, titled Deterministic Networking Architecture. It's on the Standards Track, so it's an official Internet standard, and it was published in October 2019. The IETF published it, and the ISSN is 2070-1721. The authors are N. Finn (Huawei), P. Thubert (Cisco), B. Varga (Ericsson), and J. Farkas (Ericsson). The header doesn't list any RFCs that it obsoletes or updates.
Abstract
okay so DetNet (Deterministic Networking) is all about carrying specific unicast or multicast data flows for real-time apps, with extremely low data loss rates and bounded latency inside one network domain π§ this doc is the overall architecture, aka the big-picture blueprint. The vibe is about three main techniques:
- reserving data-plane resources for individual (or aggregated) DetNet flows on some or all of the intermediate nodes along the flow's path π
- giving DetNet flows explicit routes that don't instantly change when the network topology changes π€οΈ
- spreading the data from DetNet flow packets over time and/or space, so each packet's data still gets delivered even if one path dies π«Ά
DetNet works at the IP layer and delivers its service over lower-layer tech like MPLS and Time-Sensitive Networking (TSN), which is defined by IEEE 802.1. iconic layering, honestly π
Status of This Memo
this one is an Internet Standards Track document β¨
It's a product of the Internet Engineering Task Force (IETF), so it represents what the IETF community agreed on. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). If you want more about Internet Standards, check Section 2 of RFC 7841 π
For the current status, any errata, and how to send feedback, go to https://www.rfc-editor.org/info/rfc8655 π
Copyright Notice
Copyright (c) 2019 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, which you can find at https://trustee.ietf.org/license-info. Those rules were in effect on the publication date. Please actually read them, bestie, since they spell out your rights and restrictions for this document π Code Components pulled out of this document must include the Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions. They're provided 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. Dictionary of Terms Used by TSN and DetNet
3. Providing the DetNet Quality of Service
3.1. Primary Goals Defining the DetNet QoS
3.2. Mechanisms to Achieve DetNet QoS
3.2.1. Resource Allocation
3.2.2. Service Protection
3.2.3. Explicit Routes
3.3. Secondary Goals for DetNet
3.3.1. Coexistence with Normal Traffic
3.3.2. Fault Mitigation
4. DetNet Architecture
4.1. DetNet Stack Model
4.1.1. Representative Protocol Stack Model
4.1.2. DetNet Data-Plane Overview
4.1.3. Network Reference Model
4.2. DetNet Systems
4.2.1. End System
4.2.2. DetNet Edge, Relay, and Transit Nodes
4.3. DetNet Flows
4.3.1. DetNet Flow Types
4.3.2. Source Transmission Behavior
4.3.3. Incomplete Networks
4.4. Traffic Engineering for DetNet
4.4.1. The Application Plane
4.4.2. The Controller Plane
4.4.3. The Network Plane
4.5. Queuing, Shaping, Scheduling, and Preemption
4.6. Service Instance
4.7. Flow Identification at Technology Borders
4.7.1. Exporting Flow Identification
4.7.2. Flow Attribute Mapping between Layers
4.7.3. Flow-ID Mapping Examples
4.8. Advertising Resources, Capabilities, and Adjacencies
4.9. Scaling to Larger Networks
4.10. Compatibility with Layer 2
5. Security Considerations
6. Privacy Considerations
7. IANA Considerations
8. Informative References
Acknowledgements
Authors' Addresses
1. Introduction πΈ
okay this is the opener, and it sets the whole scene β¨ DetNet gives you the delivery of data flows with extremely low packet loss rates and bounded end-to-end delivery latency. It's built for networks under a single administrative control, or inside a closed group of administrative control, like campus-wide networks and private WANs. It is not for big groups of domains like the Internet π ββοΈ
DetNet runs at the IP layer and delivers service over lower-layer techs like MPLS and IEEE 802.1 Time-Sensitive Networking (TSN). To stay reliable and available, it dedicates network resources, like link bandwidth and buffer space, to DetNet flows and/or classes of DetNet flows. It also replicates packets across multiple paths πͺ Any reserved resources that nobody is using can go to non-DetNet packets, as long as all the guarantees are still met. sharing is caring π«Ά
The "Deterministic Networking Problem Statement" [RFC8557] introduces DetNet, and "Deterministic Networking Use Cases" [RFC8578] sums up why we need it π If you want specific techniques for identifying DetNet flows and assigning them to specific paths through a network, check [DETNET-FRAMEWORK] π§
The big goal is a converged network in every way, including putting sensitive non-IP networks onto a common network infrastructure. Having DetNet flows around doesn't rule out non-DetNet flows π The perks DetNet flows get shouldn't, except in extreme cases, stop existing Quality-of-Service (QoS) mechanisms from running normally, as long as there's enough bandwidth for the DetNet flows. A single source-destination pair can carry both DetNet and non-DetNet flows, which is so efficient. End systems and apps don't need special interfaces for DetNet flows. Networks aren't locked into certain topologies, and connectivity isn't restricted either π Any app that makes a data flow with a describable maximum bandwidth should be able to use DetNet, as long as the resources can be reserved.
Reservations can be made by the app itself, through network management, or centrally by the app's controller. They can also come from other ways, like an on-demand reservation through a distributed Control Plane. For example, that could use the Resource Reservation Protocol (RSVP) [RFC2205] π QoS requirements for DetNet flows can be met if every network node in a DetNet domain implements DetNet capabilities. DetNet nodes can connect with different sub-network technologies (Section 4.1.2), even when the nodes of that subnet aren't DetNet aware (Section 4.1.3) π¦
Lots of apps that DetNet is meant to serve need their end-system clocks synced to sub-microsecond accuracy β° Some of the queue-control techniques in Section 4.5 also need time sync among network nodes. This document doesn't say how to get time sync. DetNet can work with various time-synchronization techniques and profiles that are defined elsewhere, so each market segment gets what it needs π
2. Terminology π
to be continued in part 2 π§
2.1. Terms Used in This Document π
okay bestie, these are the DetNet words we're using in this doc π you kinda need them before anything else makes sense β¨
- allocation: The dedication of resources to support a DetNet flow. Depending on an implementation, the resource may be reused by non-DetNet flows when it is not used by the DetNet flow.
- App-flow: The payload (data) carried over a DetNet service. π«Ά
- DetNet compound flow and DetNet member flow: A DetNet compound flow is a DetNet flow that gets split into multiple duplicate DetNet member flows for service protection at the DetNet service sub-layer π¦ then the member flows get merged back into one DetNet compound flow so there are no duplicate packets π and quick note: "Compound" and "member" are strictly relative to each other, not absolutes π so a DetNet compound flow made of several DetNet member flows can itself be a member of an even higher-order compound π
- DetNet destination: An end system capable of terminating a DetNet flow. π
- DetNet domain: The portion of a network that is DetNet aware. It includes end systems and DetNet nodes. πΈ
- DetNet edge node: An instance of a DetNet relay node that acts as a source and/or destination at the DetNet service sub-layer. For example, it can include a DetNet service sub-layer proxy function for DetNet service protection (e.g., the addition or removal of packet sequencing information) for one or more end systems, it can start or terminate resource allocation at the DetNet forwarding sub-layer, or it can aggregate DetNet services into new DetNet flows. It is analogous to a Label Edge Router (LER) or a Provider Edge (PE) router. π
- DetNet flow: A sequence of packets that conforms uniquely to a flow identifier and to which the DetNet service is to be provided. It includes any DetNet headers added to support the DetNet service and forwarding sub-layers. π§
- DetNet forwarding sub-layer: DetNet functionality is divided into two sub-layers. One of them is the DetNet forwarding sub-layer, which optionally provides resource allocation for DetNet flows over paths provided by the underlying network. β
- DetNet intermediate node: A DetNet relay node or DetNet transit node. π¦
- DetNet node: A DetNet edge node, a DetNet relay node, or a DetNet transit node. π
- DetNet relay node: A DetNet node that includes a service sub-layer function that interconnects different DetNet forwarding sub-layer paths to provide service protection. A DetNet relay node participates in the DetNet service sub-layer. It typically incorporates DetNet forwarding sub-layer functions as well, in which case it is collocated with a transit node. π
- DetNet service sub-layer: DetNet functionality is divided into two sub-layers. One of them is the DetNet service sub-layer, at which a DetNet service (e.g., service protection) is provided. π
- DetNet service proxy: A proxy that maps between App-flows and DetNet flows. πΈ
- DetNet source: An end system capable of originating a DetNet flow. π
- DetNet system: A DetNet-aware end system, transit node, or relay node. "DetNet" may be omitted in some text. β¨
- DetNet transit node: A DetNet node, operating at the DetNet forwarding sub-layer, that utilizes link-layer and/or network-layer switching across multiple links and/or sub-networks to provide paths for DetNet service sub-layer functions. It typically provides resource allocation over those paths. An MPLS Label Switch Router (LSR) is an example of a DetNet transit node. π₯
- DetNet-UNI: A User-to-Network Interface (UNI) with DetNet-specific functionalities. It is a packet-based reference point and may provide multiple functions like encapsulation, status, synchronization, etc. π«Ά
- end system: Commonly called a "host" in the RFC series and an "end station" in IEEE 802 standards. End systems of interest to this document are either sources or destinations of DetNet flows, and they may or may not be aware of DetNet forwarding sub-layers or DetNet service sub-layers. π
- link: A connection between two DetNet nodes. It may be composed of a physical link or a sub-network technology that can provide appropriate traffic delivery for DetNet flows. π¦
- Packet Elimination Function (PEF): A function that eliminates duplicate copies of packets to prevent excess packets flooding the network or duplicate packets being sent out of the DetNet domain. A PEF can be implemented by a DetNet edge node, a DetNet relay node, or an end system. π
- Packet Replication Function (PRF): A function that replicates DetNet flow packets and forwards them to one or more next hops in the DetNet domain. The number of packet copies sent to the next hops is a parameter specific to the DetNet flow at the point of replication. A PRF can be implemented by a DetNet edge node, a DetNet relay node, or an end system. π
- PREOF: A collective name for Packet Replication, Elimination, and Ordering Functions. π§
- Packet Ordering Function (POF): A function that reorders packets within a DetNet flow that are received out of order. This function can be implemented by a DetNet edge node, a DetNet relay node, or an end system. πΈ
- reservation: The set of resources allocated between a source and one or more destinations through DetNet nodes and subnets associated with a DetNet flow in order to provide the provisioned DetNet service. π
2.2. Dictionary of Terms Used by TSN and DetNet π
this section is basically a translation dictionary π¦ for the words the Time-Sensitive Networking (TSN) Task Group [IEEE802.1TSNTG] of the IEEE 802.1 WG uses, mapped to the words the Deterministic Networking (detnet) WG of the IETF uses β¨
- Listener: The term used by IEEE 802.1 for a destination of a DetNet flow. π
- Relay system: The term used by IEEE 802.1 for a DetNet intermediate node. π
- Stream: The term used by IEEE 802.1 for a DetNet flow. π
- Talker: The term used by IEEE 802.1 for the source of a DetNet flow. π
3. Providing the DetNet Quality of Service β¨
3.1. Primary Goals Defining the DetNet QoS
okay so the DetNet QoS can be described with three things π
- the minimum and maximum end-to-end latency from source to destination, plus timely delivery and bounded jitter (packet delay variation) that comes out of those constraints π¦
- the packet loss ratio under different assumptions about whether the nodes and links are working π₯
- an upper bound on out-of-order packet delivery π and yes, some DetNet apps can't handle any out-of-order delivery. not even a little π
the big DetNet distinction is that it only cares about worst-case values for latency, jitter, and misordering β¨ averages, means, and typical numbers don't matter much here, because a real-time system does its job based on the worst moment, not the chill average moment π honestly a simple priority-based queue will give a flow better average latency than DetNet will, but it might not be the right pick for DetNet because of its worst-case latency πΈ
DetNet gets these qualities of service using three techniques:
- Resource allocation (Section 3.2.1)
- Service protection (Section 3.2.2)
- Explicit routes (Section 3.2.3)
so resource allocation means giving a DetNet flow (or a flow aggregate) its own resources, like buffer space or link bandwidth, all along its path π this hugely cuts down (or even fully removes) packet loss from output packet contention inside the network π BUT it only works for a flow that's limited at the source to a max packet size and transmission rate. DetNet flows are assumed to be rate limited, and DetNet is built to provide enough allocated resources (provisioned capacity included), so the use of transport-layer congestion control [RFC2914] for App-flows is not required. however, if resources are allocated properly, using congestion control shouldn't hurt the transmission π
resource allocation covers two of the DetNet QoS requirements: latency and packet loss β¨ since DetNet nodes have a finite amount of buffer space, resource allocation necessarily results in a maximum end-to-end latency. it also takes care of contention-related packet loss π
other big causes of packet loss are random media errors and equipment failures π¬ service protection is the name for the mechanisms DetNet uses to handle those losses. the mechanisms have to fit within the users' latency requirements, though π§ Packet replication and elimination (Section 3.2.2.2) and packet encoding (Section 3.2.2.3) are described in this document to provide service protection, but other mechanisms may also be found. for example, packet encoding can protect against random media errors, while packet replication and elimination can protect against equipment failures π¦ this approach spreads the contents of DetNet flows across multiple paths in time and/or space, so losing some of the paths does need not cause the loss of any packets π«Ά
the paths are typically (but not necessarily) explicit routes, so they don't normally get the temporary interruptions that come from routing or bridging protocols converging π
these three techniques can be used on their own or together. that works out to eight combinations, including none (no DetNet), which are possible π some combos are way more useful than others though π this separation keeps the protocol stack coherent and maximizes interoperability with existing and developing standards in the IETF and other Standards Development Organizations. here are some typical combos you'll see:
- explicit routes plus service protection is what seamless redundancy mechanisms use on a ring topology, e.g., as described in [IEC-62439-3] π in this setup, explicit routes come from limiting the physical topology of the network to a ring. sequentialization, replication, and duplicate elimination are made easier by packet tags added at the front or the end of Ethernet frames. [RFC8227] gives another example, this time in the context of MPLS β¨
- resource allocation alone was first offered by Audio Video Bridging as defined by IEEE 802.1 [IEEE802.1BA] π as long as the network has no failures, packet loss from output packet contention can be eliminated using a reservation protocol (e.g., the Multiple Stream Registration Protocol [IEEE802.1Q]), shapers in every bridge, and proper dimensioning πΈ
- using all three together gives maximum protection π₯π
there are definitely simpler methods out there (people use them today) that get latency and packet loss levels good enough for lots of apps π prioritization and over-provisioning are two of them. the catch is that these methods generally work best when there isn't much noncritical traffic on the network (if any is supported at all) π they may also only work if the critical traffic is a small slice of the network's theoretical capacity, if all systems are running properly, or if end systems aren't doing anything that disrupts the network's operations π
there are a bunch of methods in use, defined, or in progress for each of the techniques above π§ the DetNet architecture in this document is expected to help various vendors, users, and/or "vertical" Standards Development Organizations (the ones dedicated to a single industry) pick among the available ways to implement DetNet networks π
3.2. Mechanisms to Achieve DetNet QoS
3.2.1. Resource Allocation
3.2.1.1. Eliminate Contention Loss
the main way DetNet delivers its QoS promises is by reducing (or fully eliminating) packet loss from output packet contention inside a DetNet node β¨ this only happens when there's enough buffer storage at each node along the way, so no packets get dropped for lack of buffer space π¦ note that App-flows generally aren't expected to respond to implicit [RFC2914] or explicit congestion notification [RFC3168] π
adequate buffering means the source and every DetNet node along the path to the destination (or nearly every node; see Section 4.3.3) has to be careful about its output, so it doesn't exceed the data rate for any DetNet flow. the only exception is brief periods where it's making up for interfering traffic π«Ά any packet sent ahead of its time can add to the number of buffers the next-hop DetNet node needs, and that could blow past the resources allocated for that flow π¬ on top of that, rate limiting (e.g., using traffic policing) and shaping functions (e.g., shaping as defined in [RFC2475]) must be applied at the ingress of the DetNet domain π₯ this is needed to meet the requirements of DetNet flows, and also to protect non-DetNet traffic from DetNet traffic sources that might misbehave π heads up that large buffers have some issues too (see, e.g., [BUFFERBLOAT]) π
the low-level mechanisms in Section 4.5 are what handle the necessary regulation of transmissions by an end system or DetNet node for resource allocation π allocating bandwidth and buffers for a DetNet flow requires provisioning π a DetNet node may also have other resources that need allocating and/or scheduling, which could otherwise get over-subscribed and cause a reservation to be rejected π
3.2.1.2. Jitter Reduction
a core goal of DetNet is letting sensitive non-IP networks converge onto one common network infrastructure π§ that means accurately emulating mission-specific networks that are deployed today, which rely on point-to-point analog (e.g., 4-20mA modulation) and serial-digital cables (or buses) for highly reliable, synchronized, and jitter-free communications π analog latency is basically the speed of light, while legacy serial links are usually slow (on the order of Kbps) compared to, say, Gigabit Ethernet, and some latency is usually fine π what is NOT fine is excessive jitter, which can, for instance, mess with the stability of control systems π
apps built for serial links usually don't have services to recover jitter, because jitter just doesn't exist there πΈ DetNet flows are generally expected to be delivered in order, and the exact time of reception affects the processes π¦ to converge these existing apps, there's a desire to emulate all the properties of the serial cable, like clock transportation, perfect flow isolation, and fixed latency β¨ DetNet does support minimal jitter (by specifying both a minimum and a maximum end-to-end latency), but packet-based networks have practical limits here π in general, users are encouraged to use a combination of:
- sub-microsecond time synchronization among all source and destination end systems, and
- time-of-execution fields in the application packets π«Ά
jitter reduction is provided by the mechanisms in Section 4.5 that also provide resource allocation π
3.2.2. Service Protection
service protection aims to mitigate or eliminate packet loss from equipment failures, including random media and/or memory faults π these kinds of packet loss can be greatly reduced by spreading the data over multiple disjoint forwarding paths π various service protection methods are described in [RFC6372], e.g., 1+1 linear protection π the functional details of one more method are described in Section 3.2.2.2, which can be implemented as described in Section 3.2.2.3 or as specified in [DETNET-MPLS] to provide 1+n hitless protection π₯ the right service protection mechanism depends on the scenario and the requirements πΈ
3.2.2.1. In-Order Delivery
out-of-order packet delivery can happen as a side effect of service protection π packets that arrive out of order affect how much buffering the destination needs to process the received data properly π¬ they also influence the jitter of a flow β¨ the guarantees of a DetNet service include a maximum amount of misordering as a constraint π zero misordering is a valid service constraint too, which reflects that the end system(s) of the flow can't tolerate any out-of-order delivery π¦ a DetNet Packet Ordering Function (POF) (Section 3.2.2.2) can be used to provide in-order delivery π
3.2.2.2. Packet Replication and Elimination π
okay bestie, this section is about a service protection method that sends copies of the same packets over multiple paths π¦β¨
so the DetNet service sub-layer has the PRF, PEF, and POF π and they can be turned on in a DetNet edge node, a relay node, or an end system π the group name for all three is Packet Replication, Elimination, and Ordering Functions (PREOF) π§ and the whole replication and elimination service protection method has four capabilities π
- Sequencing info gets attached to the packets of a DetNet compound flow πΈ you can do it by adding a sequence number or a time stamp as part of DetNet, OR it can already be inherent in the packet, like in a higher-layer protocol or tied to physical stuff like the exact time (and radio channel) the packet showed up π‘ this usually happens once, at or near the source π«Ά
- The PRF copies these packets into multiple DetNet member flows and usually sends them down multiple different paths to the destination(s) π for example over the explicit routes from Section 3.2.3 π¦ where the PRF lives inside a node and which mechanism it uses is left open for implementations π€·ββοΈ
- The PEF kills duplicate packets of a DetNet flow using the sequencing info and a history of what it already received π its output is always a single packet β¨ it can run at any DetNet node along the path to save network resources further downstream, especially if there are multiple replication points π but the most common case is doing it at the very edge of the DetNet network, preferably in or near the receiver π«§ again, where it lives inside a node and how it works is left open for implementations π
- The POF uses the sequencing info to reorder a DetNet flow's packets that came in out of order π
the order in which a DetNet node applies PEF, POF, and PRF to a DetNet flow is also left open for implementations π
some service protection mechanisms rely on switching from one flow to another when a flow failure gets detected π but packet replication and elimination is different π it combines the DetNet member flows sent along multiple different paths and does a packet-by-packet pick of which one to throw away, like based on sequencing info π«Ά
in the simplest case, it goes like this π: 1) you replicate each packet at a source that has two interfaces, 2) send them through the network along separate paths that are Shared Risk Link Group (SRLG) disjoint π¦, 3) to the similarly dual-homed destinations, which reorder the packets, and 4) discard the duplicates πΈ this means one path survives even if some DetNet intermediate node fails π₯ the sequencing info can also be used for loss detection and reordering β¨
DetNet relay nodes in the network can offer replication and elimination at various points so that multiple failures can be handled π
Figure 1 shows this π where the two relay nodes each replicate (R) the DetNet flow on input, sending the member flows to both the other relay node and the end system, and eliminate duplicates (E) on the output interface to the right-hand end system π any one link in the network can fail and the DetNet compound flow can still get through π and two links can fail too, as long as they are in different segments of the network π
> > > > > > > > > relay > > > > > > > >
> /------------+ R node E +------------\ >
> / v + ^ \ >
end R + v | ^ + E end
system + v | ^ + system
> \ v + ^ / >
> \------------+ R relay E +-----------/ >
> > > > > > > > > node > > > > > > > >
Figure 1: Packet Replication and Elimination
packet replication and elimination doesn't react to failures or fix them π ββοΈ it's entirely passive π§ββοΈ so intermittent failures, mistakenly created packet filters, or misrouted data get handled just the same as the equipment failures that typical routing and bridging protocols handle π
if member flows that take different-length paths get combined, a merge point may need extra buffering to equalize the delays over the different paths β³ this equalization makes sure the resultant compound flow won't go over its contracted bandwidth even after one of the paths is restored after a failure π the extra buffering can also be used to provide in-order delivery π¦
3.2.2.3. Packet Encoding for Service Protection π§
there are methods for using multiple paths to provide service protection that involve encoding the info in a packet belonging to a DetNet flow into multiple transmission units π and combining info from multiple packets into any given transmission unit π«§ these techniques, also known as "network coding" π, can be used as a DetNet service protection technique β¨
3.2.3. Explicit Routes π£οΈ
in networks controlled by typical dynamic control protocols like IS-IS or OSPF, a topology event in one part of the network can impact (at least briefly) the delivery of data in parts of the network far away from the failure or recovery event π¬ even using redundant paths through a network, e.g., as defined by [RFC6372], doesn't eliminate the chance of packet loss π and out-of-order delivery can be a side effect of route changes π
a lot of real-time networks rely on physical rings of two-port devices with a relatively simple ring control protocol π this supports redundant paths for service protection with minimal wiring π§΅ bonus: ring topologies can often use different topology management protocols from mesh networks, which reduces the response time to topology changes β‘ but ngl, it costs something in increased hop count, and thus latency, for the typical path π’
so to get the perks of a low hop count AND still be protected against even very brief losses of connectivity, DetNet uses explicit routes π where the path a DetNet flow takes doesn't change, at least not immediately and likely not at all, when topology events happen π service protection (see Sections 3.2.2 and 3.2.2.3) over explicit routes gives a high likelihood of continuous connectivity π«Ά explicit routes can be set up in different ways, e.g., with RSVP-TE [RFC3209], with Segment Routing (SR) [RFC8402], via an SDN approach [RFC8453], with IS-IS [RFC7813], etc πΈ explicit routes are typically used in MPLS TE (Traffic Engineering) Label Switched Paths (LSPs) π¦
out-of-order delivery can happen as a side effect of spreading a single flow over multiple paths, especially when the flow switches from one path to another when it gets combined π this is true no matter which distribution method is used and it also applies to service protection over explicit routes π as Section 3.2.2.1 described, out-of-order packets mess with the jitter of a flow and affect how much buffering is needed to process the data π΅βπ« so the guarantees of a DetNet service include a maximum amount of misordering as a constraint π explicit routes help provide in-order delivery because there's no immediate route change when the topology changes, and the changes are plannable since they happen between the different explicit routes π β¨
3.3. Secondary Goals for DetNet π
many applications need DetNet to provide extra services, including coexistence with other QoS mechanisms (Section 3.3.1) and protection against misbehaving transmitters (Section 3.3.2) π
3.3.1. Coexistence with Normal Traffic π«Ά
a DetNet network supports dedicating a high proportion of the network bandwidth to DetNet flows πͺ but no matter how much gets dedicated to DetNet flows, it's a DetNet goal to coexist with existing Class-of-Service schemes (e.g., DiffServ) π it's also important that non-DetNet traffic doesn't disrupt the DetNet flow, obviously (see Sections 3.3.2 and 5) π ββοΈ so:
- bandwidth (transmission opportunities) not used by a DetNet flow is available to non-DetNet packets (though not to other DetNet flows) π¦
- DetNet flows can be shaped or scheduled so that the highest-priority non-DetNet packet also gets a worst-case latency guarantee β±οΈ
- when transmission opportunities for DetNet flows are scheduled in detail, the algorithm building the schedule should leave sufficient opportunities for non-DetNet packets to meet the needs of network users π§ detailed scheduling can also allow the time-shared use of buffer resources by different DetNet flows π§©
starvation of non-DetNet traffic must be avoided, for example by traffic policing and shaping functions (e.g., [RFC2475]) π¨ so the net effect of DetNet flows on non-DetNet flows is mainly a reduction in available bandwidth ππ
3.3.2. Fault Mitigation π‘οΈ
okay bestie, robust real-time systems need to cut down on the number of things that can go wrong π so filters and policers should be used in a DetNet network to check whether DetNet packets show up on the wrong interface, at the wrong time, or in way too big a volume π. then they can actually do something about it: discard the offending packets or flows, or trigger shutting down the offending flow or the offending interface π
ngl this next bit is so important π«Ά it's essential that filters and service remarking get used at the network edge so non-DetNet packets don't get mistaken for DetNet packets and mess with the resources that were allocated to DetNet packets. sending DetNet traffic into networks that weren't provisioned in advance to handle it has to be treated as a fault π. egress traffic filters, or equivalent mechanisms, to stop that from happening are strongly recommended at the edges of DetNet networks and DetNet supporting networks π₯. also, "provisioned" is kinda broad here. provisioning could be an administrative decision that the downstream network has the available capacity to carry the DetNet traffic being sent into it β¨
sending App-flows that don't use transport-layer congestion control per [RFC2914] into a network that isn't provisioned to handle that traffic has to be treated as a fault and prevented π ββοΈ. and here's the plot twist π: PRF-generated DetNet member flows also need to be treated as not using transport-layer congestion control, even if the original App-flow does support it. the reason is that PREOF can remove congestion indications at the PEF and hide them (drops, ECN markings, increased latency) from end systems π.
the mechanisms that support all this are both Data Plane and implementation specific π§. solutions that are data-plane specific will be specified in the relevant data-plane solution document. there are also techniques, some existing today and some in various stages of standardization, that can handle these fault-mitigation tasks. they deliver a high probability that misbehaving systems will have zero impact on well-behaved DetNet flows π¦, except of course for the receiving interface(s) immediately downstream from the misbehaving device. examples include traffic policing and shaping functions (like the ones described in [RFC2475]), separating flows into per-flow rate-limited queues, and potentially applying active queue management [RFC7567] π.
4. DetNet Architecture β¨
4.1. DetNet Stack Model π₯
DetNet functionality (Section 3) is implemented in two adjacent sub-layers in the protocol stack: the DetNet service sub-layer and the DetNet forwarding sub-layer π. the DetNet service sub-layer provides DetNet service (like service protection) to higher layers in the protocol stack and applications. the DetNet forwarding sub-layer supports DetNet service in the underlying network, for example by providing explicit routes and resource allocation to DetNet flows πΈ.
4.1.1. Representative Protocol Stack Model πΊοΈ
Figure 2 illustrates a conceptual DetNet data-plane layering model. you can compare it to the one in [IEEE802.1CB], Annex C π§ .
| packets going | ^ packets coming ^
v down the stack v | up the stack |
+-----------------------+ +-----------------------+
| Source | | Destination |
+-----------------------+ +-----------------------+
| Service sub-layer: | | Service sub-layer: |
| Packet sequencing | | Duplicate elimination |
| Flow replication | | Flow merging |
| Packet encoding | | Packet decoding |
+-----------------------+ +-----------------------+
| Forwarding sub-layer: | | Forwarding sub-layer: |
| Resource allocation | | Resource allocation |
| Explicit routes | | Explicit routes |
+-----------------------+ +-----------------------+
| Lower layers | | Lower layers |
+-----------------------+ +-----------------------+
v ^
\_________________________/
Figure 2: DetNet Data-Plane Protocol Stack
not every sub-layer is required for every application, or even for every network π. the functionality shown in Figure 2 is:
Application π± Shown as "source" and "destination" in the diagram.
Packet sequencing π’ as part of the DetNet service sub-layer, the packet sequencing function supplies the sequence number for packet replication and elimination for DetNet service protection (Section 3.2.2.2). so its peer is duplicate elimination. this sub-layer isn't needed if a higher-layer protocol is expected to do any packet sequencing and duplicate elimination required by the DetNet flow replication πββοΈ.
Duplicate elimination ποΈ as part of the DetNet service sub-layer, duplicate elimination uses the sequence number supplied by its peer (packet sequencing) to discard any duplicate packets generated by DetNet flow replication. it can operate on member flows, compound flows, or both. the replication may also be inferred from other information, like the precise time of reception in a scheduled network β°. the duplicate elimination sub-layer may also resequence packets to restore packet order in a flow that got disrupted by packet loss on one or another of the multiple paths taken π€οΈ.
Flow replication π― as part of DetNet service protection, packets that belong to a DetNet compound flow are replicated into two or more DetNet member flows. this function is separate from packet sequencing. flow replication can be an explicit replication and remarking of packets, or it can be done by techniques similar to ordinary multicast replication, albeit with resource allocation implications π¦. its peer is DetNet flow merging.
Flow merging π€ as part of the DetNet service sub-layer, the flow merging function combines DetNet member flows together for packets coming up the stack that belong to a specific DetNet compound flow. DetNet flow merging, together with packet sequencing, duplicate elimination, and DetNet flow replication, performs packet replication and elimination (Section 3.2.2) π«§. its peer is DetNet flow replication.
Packet encoding π as part of DetNet service protection, as an alternative to packet sequencing and flow replication, packet encoding combines the information in multiple DetNet packets (maybe from different DetNet compound flows) and transmits that information in packets on different DetNet member flows π§©. its peer is packet decoding.
Packet decoding π as part of DetNet service protection, as an alternative to flow merging and duplicate elimination, packet decoding takes packets from different DetNet member flows and computes the original DetNet packets from the compound flows that were input to packet encoding πͺ. its peer is packet encoding.
Resource allocation π the DetNet forwarding sub-layer provides resource allocation. see Section 4.5. the actual queuing and shaping mechanisms are typically provided by the underlying subnet, and they can be closely tied to the means of providing paths for DetNet flows. in this figure, the path and the resource allocation are conflated π« .
Explicit routes π£οΈ explicit routes are arrangements of fixed paths operated at the DetNet forwarding sub-layer, determined in advance to avoid the impact of network convergence on DetNet flows π.
Operations, Administration, and Maintenance (OAM) leverages in-band and out-of-band signaling that validates whether the service is actually obtained within QoS constraints π. OAM isn't shown in Figure 2, because it can live in any number of the layers π . OAM can involve specific tagging added to packets for tracing implementation or network configuration errors. traceability is what lets you find out whether a packet is a replica, which DetNet relay node did the replication, and which segment was intended for the replica π΅οΈββοΈ. active and hybrid OAM methods need extra bandwidth to do fault management and performance monitoring of the DetNet domain πΆ. OAM may, for instance, generate special test probes or add OAM information into the data packet π§ͺ.
the packet replication and elimination functions may be performed either at the source and destination ends of a DetNet compound flow, or in a DetNet relay node πβ¨
4.1.2. DetNet Data-Plane Overview β¨
okay so a "Deterministic Network" π is built from DetNet-enabled end systems, DetNet edge nodes, and DetNet relay nodes, and together they deliver DetNet services. Edge and relay nodes are connected through DetNet transit nodes (think LSRs π¦). Transit nodes support DetNet but are not DetNet service aware π. Every DetNet node connects to sub-networks, and a point-to-point link counts as a simple sub-network too. These sub-networks provide DetNet-compatible service for DetNet traffic. Examples include MPLS TE, TSN as defined by IEEE 802.1, and OTN (Optical Transport Network). Multilayer DetNet systems are also possible, where one DetNet shows up as a sub-network and serves a higher-layer DetNet system π.
Here's a simple DetNet concept network in Figure 3 πΈ. In this figure and the ones that follow, "Forwarding" and "Fwd" mean the DetNet forwarding sub-layer, and "Service" and "Svc" mean the DetNet service sub-layer. Both sub-layers are explained in detail in Section 4.1.1.
TSN Edge Transit Relay DetNet
End System Node Node Node End System
+----------+ +.........+ +----------+
| Appl. |<--:Svc Proxy:-- End-to-End Service -------->| Appl. |
+----------+ +---------+ +---------+ +----------+
| TSN | |TSN| |Svc|<- DetNet flow --: Service :-->| Service |
+----------+ +---+ +---+ +--------+ +---------+ +----------+
|Forwarding| |Fwd| |Fwd| | Fwd | |Fwd| |Fwd| |Forwarding|
+-------.--+ +-.-+ +-.-+ +--.----.+ +-.-+ +-.-+ +---.------+
: Link : / ,-----. \ : Link : / ,-----. \
+........+ +-[ Sub- ]-+ +.......+ +-[ Sub- ]-+
[network] [network]
`-----' `-----'
Figure 3: A Simple DetNet-Enabled Network
The DetNet Data Plane is divided into two sub-layers: the DetNet service sub-layer and the DetNet forwarding sub-layer π. This split helps explore and evaluate the different combinations of data-plane solutions available. Some of them are illustrated in Figure 4 π§. The separation of DetNet sub-layers is helpful, but it should not be considered a formal requirement. For example, some technologies may violate these strict sub-layers and still be able to deliver a DetNet service π .
.
.
+-----------------------------+
| DetNet Service sub-layer | PW, UDP, GRE
+-----------------------------+
| DetNet Forwarding sub-layer | IPv6, IPv4, MPLS TE LSPs, MPLS SR
+-----------------------------+
.
.
Figure 4: DetNet Adaptation to Data Plane
In some networking scenarios, the end system starts out by providing a DetNet flow encapsulation, which holds all the information DetNet nodes need. For example, a DetNet flow based on the Real-time Transport Protocol (RTP) [RFC3550] can be carried over a native UDP/IP network or a pseudowire (PW) π¦. In other scenarios, the encapsulation formats might differ significantly.
There are lots of valid options for creating a data-plane solution for DetNet traffic. You pick a technology approach for the DetNet service sub-layer and another for the DetNet forwarding sub-layer, and there are a large number of valid combinations π.
One of the most fundamental differences between data-plane options is the basic headers used by DetNet nodes. For example, the basic service can be delivered based on an MPLS label or an IP header. That decision affects the basic forwarding logic for the DetNet service sub-layer. Note that in both cases, IP addresses are used to address DetNet nodes. The DetNet forwarding sub-layer technology you choose also needs to be mapped to the sub-network technology used to interconnect DetNet nodes. For example, DetNet flows will need to be mapped to TSN Streams π.
4.1.3. Network Reference Model πΊοΈ
Figure 5 shows another view of the DetNet service-related reference points and main components.
DetNet DetNet
End System End System
_ _
/ \ +----DetNet-UNI (U) / \
/App\ | /App\
/-----\ | /-----\
| NIC | v ________ | NIC |
+--+--+ _____ / \ DetNet-UNI (U) --+ +--+--+
| / \__/ \ | |
| / +----+ +----+ \_____ | |
| / | | | | \_______ | |
+------U PE +----+ P +----+ \ _ v |
| | | | | | | ___/ \ |
| +--+-+ +----+ | +----+ | / \_ |
\ | | | | | / \ |
\ | +----+ +--+-+ +--+PE |------ U-----+
\ | | | | | | | | | \_ _/
\ +---+ P +----+ P +--+ +----+ | \____/
\___ | | | | /
\ +----+__ +----+ DetNet-1 DetNet-2
| \_____/ \___________/ |
| |
| | End-to-End Service | | | |
<------------------------------------------------------------->
| | DetNet Service | | | |
| <------------------------------------------------> |
| | | | | |
Figure 5: DetNet Service Reference Model (Multidomain)
DetNet User-to-Network Interfaces (DetNet-UNIs) ("U" in Figure 5) are assumed in this document to be packet-based reference points, and they provide connectivity over the packet network π¦. A DetNet-UNI may provide multiple functions. For example, it may:
- add encapsulation specific to networking technology to the DetNet flows if necessary,
- provide status of the availability of the resources associated with a reservation,
- provide a synchronization service for the end system, or
- carry enough signaling to place the reservation in a network without a controller or in a network where the controller only deals with the network but not the end systems.
Internal reference points of end systems (between the application and the Network Interface Card (NIC)) are more challenging from the control perspective, and they may have extra requirements. For example, in-order delivery is expected in end system internal reference points, whereas it is considered optional over the DetNet-UNI πΈ.
4.2. DetNet Systems π₯οΈ
4.2.1. End System π»
The traffic characteristics of an App-flow can be CBR (constant bit rate) or VBR (variable bit rate). They can have Layer 1, Layer 2, or Layer 3 encapsulation (e.g., TDM (time-division multiplexing) Ethernet, IP). These characteristics are considered input for resource reservation and might be simplified to ensure determinism during packet forwarding. For example, reservations could be made for the peak rate of VBR traffic π.
An end system may or may not be aware of the DetNet forwarding sub-layer or the DetNet service sub-layer. That is, an end system may or may not contain DetNet-specific functionality. End systems with DetNet functionalities may have the same or a different forwarding sub-layer as the connected DetNet domain. The categorization of end systems is shown in Figure 6 π¦.
End system
|
|
| DetNet aware ?
/ \
+------< >------+
NO | \ / | YES
| v |
DetNet-unaware |
End system |
| Service/Forwarding
| sub-layer
/ \ aware ?
+--------< >-------------+
f-aware | \ / | s-aware
| v |
| | both |
| | |
DetNet f-aware | DetNet s-aware
End system | End system
v
DetNet sf-aware
End system
Figure 6: Categorization of End Systems
The following are some known use case examples for end systems π§:
- DetNet unaware: The classic case requiring service proxies.
- DetNet f-aware: A system that is aware of the DetNet forwarding sub-layer. It knows about some TSN functions (e.g., reservation) but not about service protection.
- DetNet s-aware: A system that is aware of the DetNet service sub-layer. It supplies sequence numbers but doesn't know about resource allocation.
- DetNet sf-aware: A fully functioning DetNet end system. It has DetNet functionalities and usually the same forwarding paradigm as the connected DetNet domain. It can be treated as an integral part of the DetNet domain π.
4.2.2. DetNet Edge, Relay, and Transit Nodes π
As shown in Figure 3, DetNet edge nodes providing proxy service and DetNet relay nodes providing the DetNet service sub-layer are DetNet aware. DetNet transit nodes need only be aware of the DetNet forwarding sub-layer π·.
In general, if a DetNet flow passes through one or more DetNet-unaware network nodes between two DetNet nodes providing the DetNet forwarding sub-layer for that flow, there is a potential for disruption or failure of the DetNet QoS π. A network administrator needs to 1) ensure that the DetNet-unaware network nodes are configured to minimize the chances of packet loss and delay, and 2) provision enough extra buffer space in the DetNet transit node following the DetNet-unaware network nodes to absorb the induced latency variations π οΈ.
4.3. DetNet Flows π
4.3.1. DetNet Flow Types π·οΈ
A DetNet flow can have different formats while its packets are forwarded between the peer end systems, depending on the type of the end systems. Corresponding to the end system types, the following possible types and formats of a DetNet flow are distinguished in this document. The different flow types have different requirements for DetNet nodes π.
- App-flow: The payload (data) carried over a DetNet flow between DetNet-unaware end systems. An App-flow does not contain any DetNet-related attributes and does not imply any specific requirement on DetNet nodes πΌ.
- DetNet-f-flow: The specific format of a DetNet flow. It only requires the resource allocation features provided by the DetNet forwarding sub-layer β.
- DetNet-s-flow: The specific format of a DetNet flow. It only requires the service protection feature ensured by the DetNet service sub-layer π‘οΈ.
- DetNet-sf-flow: The specific format of a DetNet flow. It requires both the DetNet service sub-layer and the DetNet forwarding sub-layer functions during forwarding π.
4.3.2. Source Transmission Behavior β¨
okay so, for resource allocation, DetNet flows can be synchronous or asynchronous π. In synchronous DetNet flows, at least the DetNet nodes (and possibly the end systems) are closely time synchronized, typically to better than 1 microsecond β°. By sending packets from different DetNet flows or classes of DetNet flows at different times, using repeating schedules that are synchronized among the DetNet nodes, resources like buffers and link bandwidth can be shared over the time domain among different DetNet flows π«Ά. There's a trade-off with synchronous techniques between the burden of fine-grained scheduling and the benefit of reducing the required resources, especially buffer space π§.
Asynchronous DetNet flows are the opposite vibe. They aren't coordinated with a fine-grained schedule, so relay and end systems must assume worst-case interference among DetNet flows that are fighting over buffer resources π. Asynchronous DetNet flows are characterized by:
- A maximum packet size;
- An observation interval; and
- A maximum number of transmissions during that observation interval.
These parameters, together with knowledge of the protocol stack used (and thus the size of the various headers added to a packet), give you the bandwidth that's needed for the DetNet flow π.
The source is required not to exceed these limits in order to get DetNet service π«. If the source transmits less data than the limit allows, the unused resource, like link bandwidth, can be made available by the DetNet system to non-DetNet packets, as long as all guarantees are fulfilled πΈ. However, giving that leftover room to DetNet packets in other DetNet flows would serve no purpose π. Those other flows have their own dedicated resources, on the assumption that all DetNet flows can use all of their resources over a long period of time π .
There is no expectation in DetNet for App-flows to be responsive to congestion control [RFC2914] or explicit congestion notification [RFC3168] β¨. The assumption is that a DetNet flow, to be useful, has to be delivered in its entirety π―. Sure, any useful application is written to expect a certain number of lost packets, but the real-time apps DetNet cares about need network data loss to be a rare event π€.
Even though DetNet works hard to minimize the changes an application needs in order to move from a special-purpose digital network to an Internet Protocol network π¦, one big shift in how network applications behave is unavoidable: reserving resources before the application starts π . For starters, a network can't deliver finite latency and practically zero packet loss to an arbitrarily high offered load π. Secondly, getting practically zero packet loss for DetNet flows means DetNet nodes have to dedicate buffer resources to specific DetNet flows or to classes of DetNet flows π§ . The requirements of each reservation have to be translated into the parameters that control each DetNet system's queuing, shaping, and scheduling functions, and those parameters have to be delivered to the DetNet nodes and end systems π¦.
All nodes in a DetNet domain are expected to support the data behavior required to deliver a particular DetNet service π. If a node isn't DetNet service aware, the DetNet nodes next to it must make sure that the non-DetNet-aware node is provisioned to appropriately support the DetNet service π€. For example, a TSN node (as defined by IEEE 802.1) may be used to interconnect DetNet-aware nodes, and those DetNet nodes can map DetNet flows to 802.1 TSN flows π. As another example, an MPLS-TE or MPLS-TP (Transport Profile) domain may be used to interconnect DetNet-aware nodes, and those DetNet nodes can map DetNet flows to TE LSPs, which can provide the QoS requirements of the DetNet service π.
4.3.3. Incomplete Networks π§©
The presence in the network of intermediate nodes or subnets that aren't fully capable of offering DetNet services makes life harder for the intermediate nodes and/or the controller when they allocate resources π©. That's because extra buffering must be allocated at points downstream from the non-DetNet intermediate node for a DetNet flow π¦. This extra buffering may increase latency and/or jitter π₯΄.
4.4. Traffic Engineering for DetNet π£οΈ
Traffic Engineering Architecture and Signaling (TEAS) [TEAS] defines traffic-engineering architectures that are generically applicable across packet and nonpacket networks π. From the TEAS perspective, Traffic Engineering (TE) refers to techniques that let operators control how specific traffic flows are treated within their networks ποΈ.
Because DetNet is all about establishing explicit optimized paths, it can be seen as a new, specialized branch of TE πΏ. It inherits the TE architecture, including its separation into planes π°.
The DetNet architecture is therefore composed of three planes: a (User) Application Plane, a Controller Plane, and a Network Plane π. This echoes the composition of Figure 1 of "Software-Defined Networking (SDN): Layers and Architecture Terminology" [RFC7426] and the controllers identified in [RFC8453] and [RFC7149] π.
4.4.1. The Application Plane π±
Per [RFC7426], the Application Plane includes both applications and services β¨. Specifically, the Application Plane holds the User Agent, a specialized application that talks to the end user and operator and makes requests for DetNet services through an abstract Flow Management Entity (FME). That FME may or may not be collocated with (one of) the end systems π«§.
At the Application Plane, a management interface enables the negotiation of flows between end systems π€. An abstraction of the flow called a Traffic Specification (TSpec) provides the representation π. This abstraction is used to place a reservation over the (Northbound) Service Interface and within the Application Plane ποΈ. It's associated with an abstraction of location, such as IP addresses and DNS names, to identify the end systems and possibly specify DetNet nodes π.
4.4.2. The Controller Plane π§
The Controller Plane corresponds to the aggregation of the Control and Management Planes in [RFC7426], though the Common Control and Measurement Plane (CCAMP) (as defined by the CCAMP Working Group [CCAMP]) makes an extra distinction between management and measurement π. When the logical separation of the Control, Measurement, and other Management entities isn't relevant, the term "Controller Plane" is used for simplicity to represent them all π«Ά. The term "Controller Plane Function (CPF)" refers to any device operating in that plane, whether it's a Path Computation Element (PCE) [RFC4655], a Network Management Entity (NME), or a distributed control protocol π€. The CPF is a core element of a controller, in charge of computing deterministic paths to be applied in the Network Plane π.
A (Northbound) Service Interface lets applications in the Application Plane communicate with the entities in the Controller Plane, as illustrated in Figure 7 π¬.
One or more CPFs collaborate to implement the requests from the FME as per-flow, per-hop behaviors installed in the DetNet nodes for each individual flow π§©. The CPFs place each flow along a deterministic arrangement of DetNet nodes so as to respect per-flow constraints such as security and latency, and to optimize the overall result for metrics such as an abstract aggregated cost π . The deterministic arrangement can typically be more complex than a direct arrangement and can include redundant paths with one or more packet replication and elimination points πͺ. Scaling to larger networks is discussed in Section 4.9 π.
4.4.3. The Network Plane πΈοΈ
The Network Plane represents the network devices and protocols as a whole, no matter which layer the network devices operate at π. It includes the Data Plane and Operational Plane (e.g., OAM) aspects βοΈ.
The Network Plane comprises the Network Interface Cards (NICs) in the end systems, which are typically IP hosts, and DetNet nodes, which are typically IP routers and MPLS switches π₯οΈ.
A Southbound (Network) Interface lets the entities in the Controller Plane communicate with devices in the Network Plane, as illustrated in Figure 7 π. This interface leverages and extends TEAS to describe the physical topology and resources in the Network Plane πΊοΈ.
End End
System System
-+-+-+-+-+-+-+ Northbound -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
CPF CPF CPF CPF
-+-+-+-+-+-+-+ Southbound -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
DetNet DetNet DetNet DetNet
Node Node Node Node
NIC NIC
DetNet DetNet DetNet DetNet
Node Node Node Node
Figure 7: Northbound and Southbound Interfaces
The DetNet nodes (and possibly the end systems' NICs) expose their capabilities and physical resources to the controller (the CPF) π‘. They also update the CPFs with their dynamic view of the topology across the Southbound Interface π. In return, the CPFs set up the per-flow paths, providing a Flow Characterization that's more tightly coupled to the DetNet node operation than a TSpec π―.
At the Network Plane, DetNet nodes may exchange information about the state of the paths, between adjacent DetNet nodes and possibly with the end systems π£οΈ. They forward packets within the constraints associated with each flow. When they're unable to do that, they perform a last-resort operation such as drop or declassify π«£.
This document focuses on the Southbound interface and the operation of the Network Plane π.
4.5. Queuing, Shaping, Scheduling, and Preemption
Okay so DetNet gets bounded delivery latency by reserving bandwidth and buffer space at every DetNet node along the path of the DetNet flow π«Ά. But the reservation alone isn't enough, ngl. Implementors and users of a bunch of proprietary and standard real-time networks found that standards for specific data-plane techniques are needed to make these guarantees work in a multivendor network π . The fundamental reason is that latency variation in one DetNet system means the next-hop DetNet system(s) need extra buffer space, and that in turn increases the worst-case per-hop latency π.
Standard queuing and transmission-selection algorithms let TE (Section 4.4) do a few key jobs β¨. They compute the latency contribution of each DetNet node to the end-to-end latency, work out how much buffer space each DetNet node needs for each incremental DetNet flow, and, most importantly, translate a flow specification into a set of values for the managed objects that control each relay or end system. For example, the IEEE 802.1 WG has specified (and is still specifying) a set of queuing, shaping, and scheduling algorithms that let each DetNet node, and/or a central controller, compute these values. The algorithms include:
- A credit-based shaper [IEEE802.1Qav] (incorporated to [IEEE802.1Q]).
- Time-gated queues governed by a rotating time schedule based on synchronized time [IEEE802.1Qbv] (incorporated to [IEEE802.1Q]).
- Synchronized double (or triple) buffers driven by synchronized time ticks. [IEEE802.1Qch] (incorporated to [IEEE802.1Q]).
- Preemption of an Ethernet packet in transmission by a packet with a more stringent latency requirement, followed by the resumption of the preempted packet [IEEE802.1Qbu] (incorporated to [IEEE802.1Q]) [IEEE802.3br] (incorporated to [IEEE802.3]).
These techniques are currently embedded in Ethernet [IEEE802.3] and bridging standards, but it's worth noting that they're all (except maybe packet preemption) equally applicable to media other than Ethernet, and to routers as well as bridges π. Other media may have their own methods (see, e.g., [TSCH-ARCH] and [RFC7554]). Further techniques are defined by the IETF (e.g., [RFC8289] and [RFC8033]). DetNet may include such definitions in the future, or may define how these techniques can be used by DetNet nodes π§.
4.6. Service Instance
A service instance is basically all the functions a DetNet node needs to deliver the end-to-end service between the UNIs π¦.
The DetNet network general reference model is shown in Figure 8 for a DetNet service scenario (i.e., between two DetNet-UNIs). Here, end systems ("A" and "B") connect directly to the edge nodes of an IP/MPLS network ("PE1" and "PE2"). End systems taking part in DetNet communication may need connectivity before they set up an App-flow that requires the DetNet service πΈ. That connectivity-related service instance and the one dedicated to DetNet service share the same access. Packets belonging to a DetNet flow get picked out by a filter configured on the access ("F1" and "F2"). So the data-flow-specific access ("access-A + F1" and "access-B + F2") terminates in the flow-specific service instance ("SI-1" and "SI-2"). A tunnel provides connectivity between the service instances.
access-A access-B
<-----> <-------- tunnel ----------> <----->
+---------+ ___ _ +---------+
End system | +----+ | / \/ \_ | +----+ | End system
"A" -------F1+ | | / \ | | +F2----- "B"
| | +========+ IP/MPLS +=======+ | |
| |SI-1| | \__ Net._/ | |SI-2| |
| +----+ | \____/ | +----+ |
|PE1 | | PE2|
+---------+ +---------+
Figure 8: DetNet Network General Reference Model
The tunnel is used exclusively for the packets of the DetNet flow between "SI-1" and "SI-2". The service instances are configured to implement DetNet functions and a flow-specific DetNet forwarding. The service instance and the tunnel may or may not be shared by multiple DetNet flows. Sharing the service instance by multiple DetNet flows requires properly populated forwarding tables of the service instance π.
The tunnel between the service instances may have some special characteristics. For example, in the case of a DetNet L3 service, the usage of the PW for DetNet traffic differs from the network model described in [RFC6658]. In the DetNet scenario, the PW is likely to be used exclusively by the DetNet flow, whereas [RFC6658] states:
The packet PW appears as a single point-to-point link to the client layer. Network-layer adjacency formation and maintenance between the client equipments will follow the normal practice needed to support the required relationship in the client layer.
and
This packet pseudowire is used to transport all of the required layer 2 and layer 3 protocols between LSR1 and LSR2.
Further details are network technology specific and can be found in [DETNET-FRAMEWORK] π.
4.7. Flow Identification at Technology Borders
This section is all about what needs to happen at technology borders, including Ethernet as one of the technologies π·. Flow identification for MPLS and IP Data Planes is described in [DETNET-MPLS] and [DETNET-IP], respectively.
4.7.1. Exporting Flow Identification
A DetNet node may need to map specific flows to lower-layer flows (or Streams) so it can provide specific queuing and shaping services for those flows. For example:
- A non-IP, strictly L2 source end system X may be sending multiple flows to the same L2 destination end system Y. Those flows may include DetNet flows with different QoS requirements, and may include non-DetNet flows.
- A router may be sending any number of flows to another router. Again, those flows may include DetNet flows with different QoS requirements, and may include non-DetNet flows.
- Two routers may be separated by bridges. For these bridges to perform any required per-flow queuing and shaping, they must be able to identify the individual flows.
- A Label Edge Router (LER) may have a Label Switched Path (LSP) set up for handling traffic destined for a particular IP address that carries only non-DetNet flows. If a DetNet flow to that same address is requested, a separate LSP may be needed so that all of the Label Switch Routers (LSRs) along the path to the destination can give that flow special queuing and shaping.
The need for a lower-layer node to be aware of individual higher-layer flows isn't unique to DetNet. But given the endless complexity of layering and relayering over tunnels that network designers have available, DetNet needs a model for flow identification that's better than packet inspection. That's not to say that packet inspection to Layer 4 or Layer 5 addresses won't be used or the capability standardized; however, there are alternatives π₯.
A DetNet relay node can connect DetNet flows on different paths using different flow identification methods. For example:
- A single unicast DetNet flow passing from router A through a bridged network to router B may be assigned a TSN Stream identifier that is unique within that bridged network. The bridges can then identify the flow without accessing higher-layer headers. Of course, the receiving router must recognize and accept that TSN Stream.
- A DetNet flow passing from LSR A to LSR B may be assigned a different label than the one used for other flows to the same IP destination.
In any of the above cases, it is possible that an existing DetNet flow can be an aggregate carrying multiple other DetNet flows (not to be confused with DetNet compound vs. member flows). Of course, this requires that the aggregate DetNet flow be provisioned properly to carry the aggregated flows.
So, rather than packet inspection, there's the option to export higher-layer information to the lower layer. The requirement to support one or the other method for flow identification (or both) is a complexity that's part of DetNet control models π.
4.7.2. Flow Attribute Mapping between Layers
Forwarding packets of DetNet flows over multiple technology domains may require that lower layers are aware of specific flows of higher layers. This "exporting of flow identification" is needed each time the forwarding paradigm changes on the forwarding path (e.g., two LSRs are interconnected by an L2 bridged domain, etc.). The three representative forwarding methods considered for DetNet are:
- IP routing
- MPLS label switching
- Ethernet bridging
A packet with corresponding Flow-IDs is illustrated in Figure 9, which also shows where each Flow-ID can be added or removed.
add/remove add/remove
Eth Flow-ID IP Flow-ID
| |
v v
+-----------------------------------------------------------+
| | | | |
| Eth | MPLS | IP | Application data |
| | | | |
+-----------------------------------------------------------+
^
|
add/remove
MPLS Flow-ID
Figure 9: Packet with Multiple Flow-IDs
The additional (domain-specific) Flow-ID can be:
- created by a domain-specific function, or
- derived from the Flow-ID added to the App-flow.
The Flow-ID must be unique inside a given domain. Note that the Flow-ID added to the App-flow is still present in the packet, but some nodes may lack the function to recognize it; that's why the additional Flow-ID is added π.
4.7.3. Flow-ID Mapping Examples β¨
okay so IP nodes and MPLS nodes are assumed to be set up to push that extra, domain-specific Flow-ID whenever they send traffic to an Ethernet switch π. The examples below show exactly how it plays out π .
Figure 10 gives us an IP end system ("IP-A") that's connected through two Ethernet switches ("ETH-n") to an IP router ("IP-1") π¦.
IP domain
<-----------------------------------------------
+======+ +======+
|L3-ID | |L3-ID |
+======+ /\ +-----+ +======+
/ \ Forward as | |
/IP-A\ per ETH-ID |IP-1 | Recognize
Push ------> +-+----+ | +---+-+ <----- ETH-ID
ETH-ID | +----+-----+ |
| v v |
| +-----+ +-----+ |
+------+ | | +---------+
+......+ |ETH-1+----+ETH-2| +======+
.L3-ID . +-----+ +-----+ |L3-ID |
+======+ +......+ +======+
|ETH-ID| .L3-ID . |ETH-ID|
+======+ +======+ +------+
|ETH-ID|
+======+
Ethernet domain
<---------------->
Figure 10: IP Nodes Interconnected by an Ethernet Domain
So "IP-A" keeps using its original App-flow-specific ID ("L3-ID") πΈ. Since it's hooked up to an Ethernet domain, though, it has to push an Ethernet-domain-specific Flow-ID ("ETH-ID") before the packet heads to "ETH-1". Ethernet switch "ETH-1" can recognize the data flow based on that "ETH-ID", and it forwards toward "ETH-2". Then "ETH-2" switches the packet over to the IP router. "IP-1" has to be configured to receive the Ethernet Flow-ID-specific multicast flow, but since it's an L3 node, it decodes the data flow ID based on the "L3-ID" fields of the received packet π§.
Figure 11 shows a different scenario, where MPLS domain nodes ("PE-n" and "P-m") are connected via two Ethernet switches ("ETH-n") π.
MPLS domain
<----------------------------------------------->
+=======+ +=======+
|MPLS-ID| |MPLS-ID|
+=======+ +-----+ +-----+ +=======+ +-----+
| | Forward as | | | |
|PE-1 | per ETH-ID | P-2 +-----------+ PE-2|
Push -----> +-+---+ | +---+-+ +-----+
ETH-ID | +-----+----+ | \ Recognize
| v v | +-- ETH-ID
| +-----+ +-----+ |
+---+ | | +----+
+.......+ |ETH-1+----+ETH-2| +=======+
.MPLS-ID. +-----+ +-----+ |MPLS-ID|
+=======+ +=======+
|ETH-ID | +.......+ |ETH-ID |
+=======+ .MPLS-ID. +-------+
+=======+
|ETH-ID |
+=======+
Ethernet domain
<---------------->
Figure 11: MPLS Nodes Interconnected by an Ethernet Domain
"PE-1" uses its MPLS-specific ID ("MPLS-ID") π₯. But because it's connected to an Ethernet domain, it has to push an Ethernet-domain-specific Flow-ID ("ETH-ID") before sending the packet to "ETH-1". Same deal as before: "ETH-1" recognizes the data flow based on the "ETH-ID" and forwards toward "ETH-2", and "ETH-2" switches the packet toward the MPLS node ("P-2"). "P-2" must be configured to receive the Ethernet Flow-ID-specific multicast flow, but since it's an MPLS node, it decodes the data flow ID based on the "MPLS-ID" fields of the received packet π.
The big takeaway from these examples is that when the means used for DetNet flow identification gets altered or exported, the means for encoding the sequence number information must similarly be altered or exported too π«Ά.
4.8. Advertising Resources, Capabilities, and Adjacencies π
Provisioning DetNet means knowing a few key things π:
- Details about the DetNet system's capabilities, which are needed to accurately allocate that system's resources, as well as other DetNet systems' resources. This covers, for example, which specific queuing and shaping algorithms are implemented (Section 4.5), the number of buffers dedicated to DetNet allocation, and the worst-case forwarding delay and misordering.
- The actual state of a DetNet node's DetNet resources.
- The identity of the DetNet system's neighbors and the characteristics of the link(s) between the DetNet systems, including the latency of the links (in nanoseconds).
4.9. Scaling to Larger Networks π
Reservations for individual DetNet flows take up a lot of state information in each DetNet node π, especially when adequate fault mitigation (Section 3.3.2) is required. So the DetNet Data Plane, in order to support larger numbers of DetNet flows, needs to support the aggregation of DetNet flows β¨. From the DetNet nodes' Data Plane point of view, these aggregated flows can be treated largely as individual DetNet flows. Without that aggregation, the per-relay system may limit the scale of DetNet networks π. Example techniques that may be used include MPLS hierarchy and IP DiffServ Code Points (DSCPs) π§.
4.10. Compatibility with Layer 2 π¦
Standards that provide similar capabilities for bridged networks (only) have been, and are still being, generated in the IEEE 802 LAN/MAN Standards Committee π. This architecture describes an abstract model that can be applicable both at Layer 2 and Layer 3, and over links not defined by IEEE 802 π.
DetNet-enabled end systems and DetNet nodes can be interconnected by sub-networks, i.e., Layer 2 technologies πΈ. These sub-networks will provide DetNet compatible service for support of DetNet traffic. Examples of sub-network technologies include MPLS TE, TSN as defined by IEEE 802.1, and a point-to-point OTN link. Of course, multilayer DetNet systems may be possible too, where one DetNet appears as a sub-network and provides service to a higher-layer DetNet system π.
5. Security Considerations π
Security considerations for DetNet are described in detail in [DETNET-SECURITY]. This section covers exclusively the security considerations that are specific to the DetNet architecture π‘οΈ.
Security aspects that are unique to DetNet are the ones whose aim is to provide the specific QoS aspects of DetNet, which are primarily to deliver data flows with extremely low packet loss rates and bounded end-to-end delivery latency π. A DetNet may be implemented using MPLS and/or IP (including both v4 and v6) technologies, and thus inherits the security properties of those technologies at both the Data Plane and the Controller Plane π€.
Security considerations for DetNet are constrained (compared to, for example, the open Internet) because DetNet is defined to operate only within a single administrative domain (see Section 1). The primary considerations are to secure the request and control of DetNet resources, maintain confidentiality of data traversing the DetNet, and provide the availability of the DetNet QoS. π
To secure the request and control of DetNet resources, authentication and authorization can be used for each device connected to a DetNet domain, most importantly for network controller devices π. Control of a DetNet network may be centralized or distributed (within a single administrative domain). In the case of centralized control, precedent for security considerations as defined for Abstraction and Control of Traffic Engineered Networks (ACTN) can be found in Section 9 of [RFC8453]. In the case of distributed control protocols, DetNet security is expected to be provided by the security properties of the protocols in use. In any case, the result is that manipulation of administratively configurable parameters is limited to authorized entities π«Ά.
To maintain confidentiality of data traversing the DetNet, application flows can be protected through whatever means the underlying technology provides π€«. For example, encryption may be used, such as that provided by IPsec [RFC4301] for IP flows, and by MACSec [IEEE802.1AE] for Ethernet (Layer 2) flows.
DetNet flows are identified on a per-flow basis, which may provide attackers with additional information about the data flows (when compared to networks that do not include per-flow identification). This is an inherent property of DetNet, and it has security implications that should be considered when determining if DetNet is a suitable technology for any given use case π.
To provide uninterrupted availability of the DetNet QoS, provisions can be made against DoS attacks and delay attacks π¨. To protect against DoS attacks, excess traffic due to malicious or malfunctioning devices can be prevented or mitigated, for example through the use of traffic admission control applied at the input of a DetNet domain as described in Section 3.2.1, and through the fault-mitigation methods described in Section 3.3.2. To prevent DetNet packets from being delayed by an entity external to a DetNet domain, DetNet technology definition can allow for the mitigation of man-in-the-middle attacks, for example through the use of authentication and authorization of devices within the DetNet domain π.
Because DetNet mechanisms, or applications that rely on DetNet, can make heavy use of methods that require precise time synchronization, the accuracy, availability, and integrity of time synchronization is of critical importance β°. Extensive discussion of this topic can be found in [RFC7384].
DetNet use cases are known to have widely divergent security requirements. The intent of this section is to provide a baseline for security considerations that are common to all DetNet designs and implementations, without burdening individual designs with specifics of security infrastructure that may not be germane to the given use case π§©. Designers and implementors of DetNet systems are expected to take use-case-specific considerations into account in their DetNet designs and implementations π.
6. Privacy Considerations π΅οΈ
DetNet provides a QoS, and the generic considerations for such mechanisms apply π·. In particular, such markings allow for an attacker to correlate flows or to select particular types of flow for more detailed inspection ποΈ.
However, the requirement for every (or almost every) node along the path of a DetNet flow to identify DetNet flows may present an additional attack surface for privacy should the DetNet paradigm be found useful in broader environments π«£.
7. IANA Considerations π
This document has no IANA actions. πΈ
8. Informative References β¨
okay bestie, this is the reading list π every paper, standard, and draft this RFC points to, so you can go dig into anything that caught your eye. ngl, the list is long, but it's giving research girlie energy π
[BUFFERBLOAT]Gettys, J. and K. Nichols, "Bufferbloat: Dark Buffers in the Internet", DOI 10.1145/2063176.2063196, Communications of the ACM, Volume 55, Issue 1, January 2012,https://doi.org/10.1145/2063176.2063196.[CCAMP]IETF, "Common Control and Measurement Plane (ccamp)", October 2019,https://datatracker.ietf.org/wg/ccamp/charter/.[DETNET-FRAMEWORK]Varga, B., Farkas, J., Berger, L., Fedyk, D., Malis, A., Bryant, S., and J. Korhonen, "DetNet Data Plane Framework", Work in Progress, Internet-Draft, draft-ietf-detnet-data-plane-framework-02, 13 September 2019,https://tools.ietf.org/html/draft-ietf-detnet-data-plane-framework-02.[DETNET-IP]Varga, B., Farkas, J., Berger, L., Fedyk, D., Malis, A., Bryant, S., and J. Korhonen, "DetNet Data Plane: IP", Work in Progress, Internet-Draft, draft-ietf-detnet-ip-01, 1 July 2019,https://tools.ietf.org/html/draft-ietf-detnet-ip-01.[DETNET-MPLS]Varga, B., Farkas, J., Berger, L., Fedyk, D., Malis, A., Bryant, S., and J. Korhonen, "DetNet Data Plane: MPLS", Work in Progress, Internet-Draft, draft-ietf-detnet-mpls-01, 1 July 2019,https://tools.ietf.org/html/draft-ietf-detnet-mpls-01.[DETNET-SECURITY]Mizrahi, T., Grossman, E., Hacker, A., Das, S., Dowdell, J., Austad, H., Stanton, K., and N. Finn, "Deterministic Networking (DetNet) Security Considerations", Work in Progress, Internet-Draft, draft-ietf-detnet-security-05, 29 August 2019,https://tools.ietf.org/html/draft-ietf-detnet-security-05.[IEC-62439-3]IEC, "Industrial communication networks - High availability automation networks - Part 3: Parallel Redundancy Protocol (PRP) and High-availability Seamless Redundancy (HSR)", TC 65 / SC 65C, IEC 62439-3:2016, March 2016,https://webstore.iec.ch/publication/24447.[IEEE802.1AE]IEEE, "IEEE Standard for Local and metropolitan area networks-Media Access Control (MAC) Security", IEEE 802.1AE-2018,https://ieeexplore.ieee.org/document/8585421.[IEEE802.1BA]IEEE, "IEEE Standard for Local and metropolitan area networks--Audio Video Bridging (AVB) Systems", IEEE 802.1BA-2011,https://ieeexplore.ieee.org/document/6032690.[IEEE802.1CB]IEEE, "IEEE Standard for Local and metropolitan area networks--Frame Replication and Elimination for Reliability", DOI 10.1109/IEEESTD.2017.8091139, IEEE 802.1CB-2017, October 2019,https://ieeexplore.ieee.org/document/8091139.[IEEE802.1Q]IEEE, "IEEE Standard for Local and Metropolitan Area Network--Bridges and Bridged Networks", IEEE 802.1Q-2018,https://ieeexplore.ieee.org/document/8403927.[IEEE802.1Qav]IEEE, "IEEE Standard for Local and Metropolitan Area Networks - Virtual Bridged Local Area Networks Amendment 12: Forwarding and Queuing Enhancements for Time-Sensitive Streams", IEEE 802.1Qav-2009,https://ieeexplore.ieee.org/document/5375704.[IEEE802.1Qbu]IEEE, "IEEE Standard for Local and metropolitan area networks -- Bridges and Bridged Networks -- Amendment 26: Frame Preemption", IEEE 802.1Qbu-2016,https://ieeexplore.ieee.org/document/7553415.[IEEE802.1Qbv]IEEE, "IEEE Standard for Local and metropolitan area networks -- Bridges and Bridged Networks - Amendment 25: Enhancements for Scheduled Traffic", IEEE 802.1Qbv-2015,https://ieeexplore.ieee.org/document/7440741.[IEEE802.1Qch]IEEE, "IEEE Standard for Local and metropolitan area networks--Bridges and Bridged Networks--Amendment 29: Cyclic Queuing and Forwarding", IEEE 802.1Qch-2017,https://ieeexplore.ieee.org/document/7961303.[IEEE802.1TSNTG]IEEE, "Time-Sensitive Networking (TSN) Task Group",https://1.ieee802.org/tsn/.[IEEE802.3]IEEE, "IEEE Standard for Ethernet", IEEE 802.3-2018,https://ieeexplore.ieee.org/document/8457469.[IEEE802.3br]IEEE, "IEEE Standard for Ethernet Amendment 5: Specification and Management Parameters for Interspersing Express Traffic", IEEE 802.3br,https://ieeexplore.ieee.org/document/7900321.[RFC2205]Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S. Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification", RFC 2205, DOI 10.17487/RFC2205, September 1997,https://www.rfc-editor.org/info/rfc2205.[RFC2475]Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., and W. Weiss, "An Architecture for Differentiated Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,https://www.rfc-editor.org/info/rfc2475.[RFC2914]Floyd, S., "Congestion Control Principles", BCP 41, RFC 2914, DOI 10.17487/RFC2914, September 2000,https://www.rfc-editor.org/info/rfc2914.[RFC3168]Ramakrishnan, K., Floyd, S., and D. Black, "The Addition of Explicit Congestion Notification (ECN) to IP", RFC 3168, DOI 10.17487/RFC3168, September 2001,https://www.rfc-editor.org/info/rfc3168.[RFC3209]Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,https://www.rfc-editor.org/info/rfc3209.[RFC3550]Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, July 2003,https://www.rfc-editor.org/info/rfc3550.[RFC4301]Kent, S. and K. Seo, "Security Architecture for the Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, December 2005,https://www.rfc-editor.org/info/rfc4301.[RFC4655]Farrel, A., Vasseur, J.-P., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, DOI 10.17487/RFC4655, August 2006,https://www.rfc-editor.org/info/rfc4655.[RFC6372]Sprecher, N., Ed. and A. Farrel, Ed., "MPLS Transport Profile (MPLS-TP) Survivability Framework", RFC 6372, DOI 10.17487/RFC6372, September 2011,https://www.rfc-editor.org/info/rfc6372.[RFC6658]Bryant, S., Ed., Martini, L., Swallow, G., and A. Malis, "Packet Pseudowire Encapsulation over an MPLS PSN", RFC 6658, DOI 10.17487/RFC6658, July 2012,https://www.rfc-editor.org/info/rfc6658.[RFC7149]Boucadair, M. and C. Jacquenet, "Software-Defined Networking: A Perspective from within a Service Provider Environment", RFC 7149, DOI 10.17487/RFC7149, March 2014,https://www.rfc-editor.org/info/rfc7149.[RFC7384]Mizrahi, T., "Security Requirements of Time Protocols in Packet Switched Networks", RFC 7384, DOI 10.17487/RFC7384, October 2014,https://www.rfc-editor.org/info/rfc7384.[RFC7426]Haleplidis, E., Ed., Pentikousis, K., Ed., Denazis, S., Hadi Salim, J., Meyer, D., and O. Koufopavlou, "Software-Defined Networking (SDN): Layers and Architecture Terminology", RFC 7426, DOI 10.17487/RFC7426, January 2015,https://www.rfc-editor.org/info/rfc7426.[RFC7554]Watteyne, T., Ed., Palattella, M., and L. Grieco, "Using IEEE 802.15.4e Time-Slotted Channel Hopping (TSCH) in the Internet of Things (IoT): Problem Statement", RFC 7554, DOI 10.17487/RFC7554, May 2015,https://www.rfc-editor.org/info/rfc7554.[RFC7567]Baker, F., Ed. and G. Fairhurst, Ed., "IETF Recommendations Regarding Active Queue Management", BCP 197, RFC 7567, DOI 10.17487/RFC7567, July 2015,https://www.rfc-editor.org/info/rfc7567.[RFC7813]Farkas, J., Ed., Bragg, N., Unbehagen, P., Parsons, G., Ashwood-Smith, P., and C. Bowers, "IS-IS Path Control and Reservation", RFC 7813, DOI 10.17487/RFC7813, June 2016,https://www.rfc-editor.org/info/rfc7813.[RFC8033]Pan, R., Natarajan, P., Baker, F., and G. White, "Proportional Integral Controller Enhanced (PIE): A Lightweight Control Scheme to Address the Bufferbloat Problem", RFC 8033, DOI 10.17487/RFC8033, February 2017,https://www.rfc-editor.org/info/rfc8033.[RFC8227]Cheng, W., Wang, L., Li, H., van Helvoort, H., and J. Dong, "MPLS-TP Shared-Ring Protection (MSRP) Mechanism for Ring Topology", RFC 8227, DOI 10.17487/RFC8227, August 2017,https://www.rfc-editor.org/info/rfc8227.[RFC8289]Nichols, K., Jacobson, V., McGregor, A., Ed., and J. Iyengar, Ed., "Controlled Delay Active Queue Management", RFC 8289, DOI 10.17487/RFC8289, January 2018,https://www.rfc-editor.org/info/rfc8289.[RFC8402]Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, July 2018,https://www.rfc-editor.org/info/rfc8402.[RFC8453]Ceccarelli, D., Ed. and Y. Lee, Ed., "Framework for Abstraction and Control of TE Networks (ACTN)", RFC 8453, DOI 10.17487/RFC8453, August 2018,https://www.rfc-editor.org/info/rfc8453.[RFC8557]Finn, N. and P. Thubert, "Deterministic Networking Problem Statement", RFC 8557, DOI 10.17487/RFC8557, May 2019,https://www.rfc-editor.org/info/rfc8557.[RFC8578]Grossman, E., Ed., "Deterministic Networking Use Cases", RFC 8578, DOI 10.17487/RFC8578, May 2019,https://www.rfc-editor.org/info/rfc8578.[TEAS]IETF, "Traffic Engineering Architecture and Signaling (teas)", October 2019,https://datatracker.ietf.org/doc/charter-ietf-teas/.[TSCH-ARCH]Thubert, P., "An Architecture for IPv6 over the TSCH mode of IEEE 802.15.4", Work in Progress, Internet-Draft, draft-ietf-6tisch-architecture-26, 27 August 2019,https://tools.ietf.org/html/draft-ietf-6tisch-architecture-26.
Acknowledgements π«Ά
the authors wanna shout out Lou Berger, David Black, Stewart Bryant, Rodney Cummings, Ethan Grossman, Craig Gunther, Marcel Kiessling, Rudy Klecka, Jouni Korhonen, Erik Nordmark, Shitanshu Shah, Wilfried Steiner, George Swallow, Michael Johas Teener, Pat Thaler, Thomas Watteyne, Patrick Wetterwald, Karl Weber, and Anca Zamfir for their various contributions to this work πΈ literally the whole squad, periodt π
Authors' Addresses β¨
okay bestie, the squad behind this whole RFC π«Ά here's who to thank (or slide into the DMs of) π
Norman Finn π
Norman Finn
Huawei
3101 Rio Way
Spring Valley, California 91977
United States of America
Phone: +1 925 980 6430
Email: nfinn@nfinnconsulting.com
Pascal Thubert π¦
Pascal Thubert
Cisco Systems
Batiment T3
Village d'Entreprises Green Side, 400, Avenue de Roumanille
06410 Biot - Sophia Antipolis
France
Phone: +33 4 97 23 26 34
Email: pthubert@cisco.com
BalΓ‘zs Varga πΈ
BalΓ‘zs Varga
Ericsson
Budapest
Magyar tudosok korutja 11
1117
Hungary
Email: balazs.a.varga@ericsson.com
JΓ‘nos Farkas π§
JΓ‘nos Farkas
Ericsson
Budapest
Magyar tudosok korutja 11
1117
Hungary
Email: janos.farkas@ericsson.com
that's the whole cast, periodt πππ
π¦ where this page comes from
- ietf: rfc8655 2019-10
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms