rfc8626xml2.original.xml | rfc8626.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='utf-8'?> | |||
<!-- This template is for creating an Internet Draft using xml2rfc, | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
which is available here: http://xml.resource.org. --> | ||||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
]> | ||||
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
<rfc category="std" ipr="trust200902" docName="draft-ietf-detnet-architecture-13 | ||||
"> | ||||
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" number="8626" docName="draft-iet | ||||
f-detnet-architecture-13" submissionType="IETF" category="std" consensus="yes" i | ||||
pr="trust200902" obsoletes="" updates="" xml:lang="en" sortRefs="true" tocInclud | ||||
e="true" symRefs="true" version="3"> | ||||
<!-- xml2rfc v2v3 conversion 2.31.0 --> | ||||
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | |||
<?rfc sortrefs="yes"?> | ||||
<?rfc iprnotified-"no" ?> | ||||
<?rfc authorship="yes"?> | ||||
<?rfc tocappendix="yes"?> | ||||
<?rfc strict="yes" ?> | ||||
<!-- give errors regarding ID-nits and DTD validation --> | ||||
<!-- control the table of contents (ToC) --> | ||||
<?rfc toc="yes"?> | ||||
<!-- generate a ToC --> | ||||
<?rfc tocdepth="4"?> | ||||
<!-- the number of levels of subsections in ToC. default: 3 --> | ||||
<!-- control references --> | ||||
<?rfc symrefs="yes"?> | ||||
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] --> | ||||
<?rfc sortrefs="yes" ?> | ||||
<!-- sort the reference entries alphabetically --> | ||||
<!-- control vertical white space | ||||
(using these PIs as follows is recommended by the RFC Editor) --> | ||||
<?rfc compact="no" ?> | ||||
<front> | <front> | |||
<title>Deterministic Networking Architecture</title> | <title>Deterministic Networking Architecture</title> | |||
<author initials="N" surname="Finn" fullname="Norman Finn" > | <seriesInfo name="RFC" value="8626"/> | |||
<organization> | <author initials="N" surname="Finn" fullname="Norman Finn"> | |||
<organization> | ||||
Huawei | Huawei | |||
</organization> | </organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>3101 Rio Way</street> | <street>3101 Rio Way</street> | |||
<city>Spring Valley</city> | <city>Spring Valley</city> | |||
<region>California</region> | <region>California</region> | |||
<code>91977</code> | <code>91977</code> | |||
<country>US</country> | <country>United States of America</country> | |||
</postal> | </postal> | |||
<phone>+1 925 980 6430</phone> | <phone>+1 925 980 6430</phone> | |||
<email>norman.finn@mail01.huawei.com</email> | <email>nfinn@nfinnconsulting.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="P" surname="Thubert" fullname="Pascal Thubert"> | <author initials="P" surname="Thubert" fullname="Pascal Thubert"> | |||
<organization abbrev="Cisco"> | <organization abbrev="Cisco"> | |||
Cisco Systems | Cisco Systems | |||
</organization> | </organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Village d'Entreprises Green Side</street> | <street>Village d'Entreprises Green Side</street> | |||
<street>400, Avenue de Roumanille</street> | <street>400, Avenue de Roumanille</street> | |||
<street>Batiment T3</street> | <street>Batiment T3</street> | |||
<city>Biot - Sophia Antipolis</city> | <city>Biot - Sophia Antipolis</city> | |||
<code>06410</code> | <code>06410</code> | |||
<country>FRANCE</country> | <country>France</country> | |||
</postal> | </postal> | |||
<phone>+33 4 97 23 26 34</phone> | <phone>+33 4 97 23 26 34</phone> | |||
<email>pthubert@cisco.com</email> | <email>pthubert@cisco.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Balázs Varga" initials="B." surname="Varga"> | <author fullname="Balázs Varga" initials="B." surname="Varga"> | |||
<organization>Ericsson</organization> | <organization>Ericsson</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Magyar tudosok korutja 11</street> | <street>Magyar tudosok korutja 11</street> | |||
<city>Budapest</city> | <city>Budapest</city> | |||
<country>Hungary</country> | <country>Hungary</country> | |||
<code>1117</code> | <code>1117</code> | |||
</postal> | </postal> | |||
<email>balazs.a.varga@ericsson.com</email> | <email>balazs.a.varga@ericsson.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="János Farkas" initials="J." surname="Farkas"> | <author fullname="János Farkas" initials="J." surname="Farkas"> | |||
<organization>Ericsson</organization> | <organization>Ericsson</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Magyar tudosok korutja 11</street> | <street>Magyar tudosok korutja 11</street> | |||
<city>Budapest</city> | <city>Budapest</city> | |||
<country>Hungary</country> | <country>Hungary</country> | |||
<code>1117</code> | <code>1117</code> | |||
</postal> | </postal> | |||
<email>janos.farkas@ericsson.com</email> | <email>janos.farkas@ericsson.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date/> | <date year="2019" month="September"/> | |||
<area>Internet</area> | ||||
<area>Internet</area> | <workgroup>DetNet</workgroup> | |||
<keyword>>TSN, Bounded Lantency, Reliable Networking, Available Networkin | ||||
<workgroup>DetNet</workgroup> | g</keyword> | |||
<abstract> | ||||
<abstract> | <t> | |||
<t> | ||||
This document provides the overall architecture for | This document provides the overall architecture for | |||
Deterministic Networking (DetNet), which | Deterministic Networking (DetNet), which provides a capability | |||
provides a capability to carry specified unicast or multicast | to carry specified unicast or multicast data flows for | |||
data flows for real-time applications with extremely low data los | real-time applications with extremely low data loss rates and | |||
s rates and bounded | bounded latency within a network domain. Techniques used | |||
latency within a network domain. Techniques used include: 1) res | include 1) reserving data-plane resources for individual (or | |||
erving data plane resources for individual | aggregated) DetNet flows in some or all of the intermediate | |||
(or aggregated) DetNet flows in some or all of the intermediate n | nodes along the path of the flow, 2) providing explicit routes | |||
odes along | for DetNet flows that do not immediately change with the | |||
the path of the flow; 2) providing explicit routes for DetNet flo | network topology, and 3) distributing data from DetNet flow | |||
ws that do not | packets over time and/or space to ensure delivery of each | |||
immediately change with the network topology; and 3) distributing | packet's data in spite of the loss of a path. DetNet operates | |||
data from DetNet flow packets | at the IP layer and delivers service over lower-layer | |||
over time and/or space to ensure delivery of each packet's data i | technologies such as MPLS and Time-Sensitive | |||
n spite of the loss of a path. | Networking (TSN) as defined by IEEE 802.1. | |||
DetNet operates at the IP layer and delivers service over lower layer te | </t> | |||
chnologies such as MPLS | </abstract> | |||
and IEEE 802.1 Time-Sensitive Networking (TSN). | ||||
</t> | ||||
</abstract> | ||||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="introduction" numbered="true" toc="default"> | ||||
<!-- **************************************************************** --> | <name>Introduction</name> | |||
<!-- **************************************************************** --> | ||||
<!-- **************************************************************** --> | ||||
<!-- **************************************************************** --> | ||||
<section anchor='introduction' title="Introduction"> | ||||
<t> | <t> | |||
This document provides the overall architecture for Deterministic | This document provides the overall architecture for Deterministic | |||
Networking (DetNet), which provides a capability for the delivery of dat | Networking (DetNet), which provides a capability for the delivery of | |||
a | data flows with extremely low packet loss rates and bounded end-to-end | |||
flows with extremely | delivery latency. DetNet is for networks that are under a single | |||
low packet loss rates and bounded end-to-end delivery latency. | administrative control or within a closed group of administrative | |||
DetNet is for networks that are under a single administrative con | control; these include campus-wide networks and private WANs. DetNet | |||
trol or | is not for large groups of domains such as the Internet. </t> | |||
within a closed group of administrative control; these include ca | <t> | |||
mpus-wide | DetNet operates at the IP layer and delivers service over lower-layer | |||
networks and private WANs. DetNet is not for large groups of doma | technologies such as MPLS and IEEE 802.1 Time-Sensitive Networking | |||
ins such | (TSN). | |||
as the Internet. | ||||
</t><t> | ||||
DetNet operates at the IP layer and delivers service over | ||||
lower layer technologies such as MPLS and IEEE 802.1 Time-Sensitive Netw | ||||
orking (TSN). | ||||
DetNet accomplishes these goals by dedicating network resources such as | ||||
link bandwidth | ||||
and buffer space to DetNet flows and/or | ||||
classes of DetNet flows, and by replicating packets along multipl | ||||
e paths. | ||||
Unused reserved resources are available to non-DetNet | ||||
packets as long as all guarantees are fulfilled. | ||||
</t><t> | ||||
The <xref target="I-D.ietf-detnet-problem-statement">Deterministi | ||||
c Networking | ||||
Problem Statement</xref> introduces Deterministic Networking, and | ||||
<xref target="I-D.ietf-detnet-use-cases">Deterministic Networking | ||||
Use Cases</xref> summarizes the need for it. | ||||
See <xref target="I-D.ietf-detnet-dp-sol-mpls"/> and | ||||
<xref target="I-D.ietf-detnet-dp-sol-ip"/> for specific technique | ||||
s | ||||
that can be used to identify DetNet flows and assign them to spec | ||||
ific paths | ||||
through a network. | ||||
</t><t> | ||||
A goal of DetNet is a converged network in all respects including | ||||
the convergence of sensitive non-IP networks | ||||
onto a common network infrastructure. The presence | ||||
of DetNet flows does not preclude non-DetNet flows, and the benef | ||||
its offered | ||||
DetNet flows should not, except in extreme cases, prevent existin | ||||
g Quality of | ||||
Service (QoS) mechanisms from operating in a | ||||
normal fashion, subject to the bandwidth required for the DetNet | ||||
flows. A | ||||
single source-destination pair can trade both DetNet and non-DetN | ||||
et flows. | ||||
End systems and applications need not instantiate special interfa | ||||
ces for DetNet flows. | ||||
Networks are not restricted to certain topologies; connectivity i | ||||
s not restricted. | ||||
Any application that generates a data flow that can be usefully | ||||
characterized as having a maximum bandwidth should be able to tak | ||||
e advantage | ||||
of DetNet, as long as the necessary resources can be reserved. R | ||||
eservations | ||||
can be made by the application itself, via network management, by | ||||
an | ||||
application's controller, or by other means, e.g., a dynamic cont | ||||
rol plane | ||||
(e.g., <xref target="RFC2205"/>). QoS requirements of DetNet flow | ||||
s can be met if all | ||||
network nodes in a DetNet domain implement DetNet capabilities. D | ||||
etNet nodes can | ||||
be interconnected with different sub-network technologies | ||||
(<xref target="sec_dt_dp"/>), where the nodes of the subnet are n | ||||
ot | ||||
DetNet aware (<xref target="netref"/>). | ||||
</t><t> | ||||
Many applications that are intended to be served by Deterministic | ||||
Networking require the ability | ||||
to synchronize the clocks in end systems to a sub-microsecond acc | ||||
uracy. Some | ||||
of the queue control techniques defined in <xref target="QueuingM | ||||
odels"/> also | ||||
require time synchronization among network nodes. The means used | ||||
to achieve | ||||
time synchronization are not addressed in this document. DetNet | ||||
can accommodate | ||||
various time synchronization techniques and profiles that are def | ||||
ined elsewhere | ||||
to address the needs of different market segments. | ||||
</t> | ||||
</section> | ||||
<section title="Terminology"> | DetNet provides a reliable and available service by dedicating network | |||
<section title="Terms used in this document"> | resources such as link bandwidth and buffer space to DetNet flows and/or | |||
<t> | classes of DetNet flows, and by replicating packets along multiple paths. | |||
Unused reserved resources are available to non-DetNet packets as long as all | ||||
guarantees are fulfilled. </t> | ||||
<t> The <xref target="RFC8557" format="default">"Deterministic | ||||
Networking Problem Statement"</xref> introduces DetNet, and <xref target="RFC857 | ||||
8" format="default">"Deterministic Networking Use Cases"</xref> summarizes the | ||||
need for it. See <xref target="I-D.ietf-detnet-data-plane-framework" format="de | ||||
fault"/> for specific techniques | ||||
that can be used to identify DetNet flows and assign them to specific paths | ||||
through a network. </t> | ||||
<t> A goal of DetNet is a converged network in all | ||||
respects, including the convergence of sensitive non-IP networks onto a common | ||||
network infrastructure. The presence of DetNet flows does not preclude | ||||
non-DetNet flows, and the benefits offered DetNet flows should not, except in | ||||
extreme cases, prevent existing Quality-of-Service (QoS) mechanisms from | ||||
operating in a normal fashion, subject to the bandwidth required for the | ||||
DetNet flows. A single source-destination pair can trade both DetNet and | ||||
non-DetNet flows. End systems and applications need not instantiate special | ||||
interfaces for DetNet flows. Networks are not restricted to certain | ||||
topologies; connectivity is not restricted. Any application that generates a | ||||
data flow that can be usefully characterized as having a maximum bandwidth | ||||
should be able to take advantage of DetNet, as long as the necessary resources | ||||
can be reserved. | ||||
Reservations can be made by the application itself, via network management, | ||||
centrally by an application's controller, or by other means, for instance, by | ||||
placing on-demand reservation via a distributed Control Plane, e.g., | ||||
leveraging the Resource Reservation Protocol (RSVP) <xref target="RFC2205" forma | ||||
t="default"/>. | ||||
QoS requirements of DetNet flows can be met if all network | ||||
nodes in a DetNet domain implement DetNet capabilities. DetNet nodes can be | ||||
interconnected with different sub-network technologies (<xref target="sec_dt_dp" | ||||
format="default"/>) where the nodes of the subnet are not DetNet aware | ||||
(<xref target="netref" format="default"/>). </t> | ||||
<t> Many applications that are intended to be | ||||
served by DetNet require the ability to synchronize the clocks in end systems | ||||
to a sub-microsecond accuracy. Some of the queue-control techniques defined | ||||
in <xref target="QueuingModels" format="default"/> also require time synchroniza | ||||
tion among | ||||
network nodes. The means used to achieve time synchronization are not | ||||
addressed in this document. DetNet can accommodate various | ||||
time-synchronization techniques and profiles that are defined elsewhere to | ||||
address the needs of different market segments. | ||||
</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Terminology</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Terms Used in This Document</name> | ||||
<t> | ||||
The following terms are used in the context of DetNet in this document: | The following terms are used in the context of DetNet in this document: | |||
<list hangIndent="8" style="hanging"> | </t> | |||
<t hangText="allocation"><vspace blankLines="0"/> | <dl newline="true" spacing="normal" indent="3"> | |||
Resources are dedicated to support a DetNet flo | <dt>allocation</dt> | |||
w. Depending on an implementation, the resource may be reused by non-DetNet flow | <dd> | |||
s when it is not used by the DetNet flow. | The dedication of resources | |||
</t> | to support a DetNet flow. Depending on an | |||
<t hangText="App-flow"><vspace blankLines="0"/> | implementation, the resource may be reused by | |||
non-DetNet flows when it is not used by the DetNet | ||||
flow. | ||||
</dd> | ||||
<dt>App-flow</dt> | ||||
<dd> | ||||
The payload (data) carried over a DetNet service. | The payload (data) carried over a DetNet service. | |||
</t> | </dd> | |||
<t hangText="DetNet compound flow and DetNet member flo | <dt>DetNet compound flow and DetNet member flow</dt> | |||
w"><vspace blankLines="0"/> | <dd> A DetNet compound | |||
A DetNet compound flow is a DetNet flow that has | flow is a DetNet flow that has been separated into | |||
been separated into | multiple duplicate DetNet member flows for service | |||
multiple duplicate DetNet member flows for servic | protection at the DetNet service sub-layer. Member | |||
e protection at the DetNet service sub-layer. | flows are merged back into a single DetNet compound | |||
Member flows are merged back into a single DetNet | flow such that there are no duplicate packets. | |||
compound flow such that there are no duplicate packets. | "Compound" and "member" are strictly relative to | |||
"Compound" and "member" are strictly | each other, not absolutes; a DetNet compound flow | |||
relative to each other, not absolutes; a DetNet c | comprising multiple DetNet member flows can, in | |||
ompound flow comprising | turn, be a member of a higher-order compound. | |||
multiple DetNet member flows can, in turn, be a m | </dd> | |||
ember of a higher-order compound. | <dt>DetNet destination</dt> | |||
</t> | <dd> | |||
<t hangText="DetNet destination"><vspace blankLines="0" | ||||
/> | ||||
An end system capable of terminating a DetNet flo w. | An end system capable of terminating a DetNet flo w. | |||
</t> | </dd> | |||
<t hangText="DetNet domain"><vspace blankLines="0"/> | <dt>DetNet domain</dt> | |||
The portion of a network that is DetNet aware. | <dd> | |||
It includes end | The portion of a network that | |||
systems and DetNet nodes. | is DetNet aware. It includes end systems and DetNet | |||
</t> | nodes. | |||
<t hangText="DetNet edge node"><vspace blankLines="0"/> | </dd> | |||
An instance of a DetNet relay node that acts as | <dt>DetNet edge node</dt> | |||
a source and/or | <dd> An instance | |||
destination at the DetNet service sub-layer. Fo | of a DetNet relay node that acts as a source and/or | |||
r example, it can | destination at the DetNet service sub-layer. For | |||
include a DetNet service sub-layer proxy functi | example, it can include a DetNet service sub-layer | |||
on for DetNet service | proxy function for DetNet service protection (e.g., | |||
protection (e.g., the addition or removal of pa | the addition or removal of packet sequencing | |||
cket sequencing information) | information) for one or more end systems, it can start | |||
for one or more end systems, or starts or termi | or terminate resource allocation at the DetNet | |||
nates resource allocation at | forwarding sub-layer, or it can aggregate DetNet servic | |||
the DetNet forwarding sub-layer, or aggregates | es | |||
DetNet services into new DetNet flows. | into new DetNet flows. It is analogous to a Label | |||
It is analogous to a Label Edge Router (LER) or | Edge Router (LER) or a Provider Edge (PE) router. | |||
a Provider Edge (PE) router. | </dd> | |||
</t> | <dt>DetNet flow</dt> | |||
<t hangText="DetNet flow"><vspace blankLines="0"/> | <dd> | |||
A DetNet flow is a sequence of packets which conf | A sequence of packets that conforms uniquely | |||
orm uniquely | to a flow identifier and to which the DetNet serv | |||
to a flow identifier, and to which the DetNet ser | ice is to be | |||
vice is to be | ||||
provided. It includes any DetNet headers added to support the | provided. It includes any DetNet headers added to support the | |||
DetNet service and forwarding sub-layers. | DetNet service and forwarding sub-layers. | |||
</t> | </dd> | |||
<t hangText="DetNet forwarding sub-layer"><vspace blank | <dt>DetNet forwarding sub-layer</dt> | |||
Lines="0"/> | <dd> | |||
DetNet functionality is divided into two sub-la | DetNet functionality is divided into two sub-layers. | |||
yers. One of | One of | |||
them is the DetNet forwarding sub-layer, which | them is the DetNet forwarding sub-layer, which option | |||
optionally | ally | |||
provides resource allocation for DetNet flows o ver paths | provides resource allocation for DetNet flows o ver paths | |||
provided by the underlying network. | provided by the underlying network. | |||
</t> | </dd> | |||
<t hangText="DetNet intermediate node"><vspace blankLin | <dt>DetNet intermediate node</dt> | |||
es="0"/> | <dd> | |||
A DetNet relay node or DetNet transit node. | A DetNet relay node or DetNet transit node. | |||
</t> | </dd> | |||
<t hangText="DetNet node"><vspace blankLines="0"/> | <dt>DetNet node</dt> | |||
A DetNet edge node, a DetNet relay node, or a | <dd> A | |||
DetNet transit node. | DetNet edge node, a DetNet relay | |||
</t> | node, or a DetNet transit node. | |||
<t hangText="DetNet relay node"><vspace blankLines="0"/ | </dd> | |||
> | <dt>DetNet relay node</dt> | |||
A DetNet node including a service sub-layer funct | <dd> A DetNet | |||
ion that interconnects different | node that includes a service | |||
DetNet forwarding sub-layer paths to provide serv | sub-layer function that interconnects different | |||
ice protection. A DetNet relay node | DetNet forwarding sub-layer paths to provide service | |||
participates in the DetNet service | protection. A DetNet relay node participates in the | |||
sub-layer. It typically incorporates DetNet forw | DetNet service sub-layer. It typically incorporates | |||
arding sub-layer functions as | DetNet forwarding sub-layer functions as well, in | |||
well, in which case it is collocated with a trans | which case it is collocated with a transit node. | |||
it node. | </dd> | |||
</t> | <dt>DetNet service sub-layer</dt> | |||
<t hangText="DetNet service sub-layer"><vspace blankLin | <dd> | |||
es="0"/> | DetNet functionality is divided into two sub-layers. One of | |||
DetNet functionality is divided into two sub-la | them is the DetNet service sub-layer, at which a DetNet | |||
yers. One of | service (e.g., service protection) is provided. | |||
them is the DetNet service sub-layer, at which | </dd> | |||
a DetNet service, | <dt>DetNet service proxy</dt> | |||
e.g., service protection is provided. | <dd> | |||
</t> | A proxy that maps between App-flows and DetNet flows. | |||
<t hangText="DetNet service proxy"><vspace blankLines=" | </dd> | |||
0"/> | <dt>DetNet source</dt> | |||
Maps between App-flows and DetNet flows. | <dd> | |||
</t> | ||||
<t hangText="DetNet source"><vspace blankLines="0"/> | ||||
An end system capable of originating a DetNet f low. | An end system capable of originating a DetNet f low. | |||
</t> | </dd> | |||
<t hangText="DetNet system"><vspace blankLines="0"/> | <dt>DetNet system</dt> | |||
A DetNet aware end system, transit node, or rel | <dd> | |||
ay node. | A DetNet-aware end system, transit node, or rel | |||
ay node. | ||||
"DetNet" may be omitted in some text. | "DetNet" may be omitted in some text. | |||
</t> | </dd> | |||
<t hangText="DetNet transit node"><vspace blankLines="0 | <dt>DetNet transit node</dt> | |||
"/> | <dd> | |||
A DetNet node operating at the DetNet forwardin | A DetNet node, operating at the DetNet forwarding sub- | |||
g sub-layer, that utilizes link layer | layer, | |||
and/or network layer switching across multiple | that utilizes link-layer and/or network-layer | |||
links and/or sub-networks to provide paths for | switching across multiple links and/or sub-networks | |||
DetNet service sub-layer functions. | to provide paths for DetNet service sub-layer | |||
Typically provides resource allocation over tho | functions. It typically provides resource allocation | |||
se paths. | over those paths. An MPLS Label Switch Router (LSR) is | |||
An MPLS LSR is an example of a DetNet transit n | an example of a | |||
ode. | DetNet transit node. | |||
</t> | </dd> | |||
<t hangText="DetNet-UNI"><vspace blankLines="0"/> | <dt>DetNet-UNI</dt> | |||
User-to-Network Interface with DetNet specific | <dd> | |||
functionalities. It is a packet-based reference point and may provide multiple f | A User-to-Network Interface (UNI) with DetNet-specific | |||
unctions like encapsulation, status, synchronization, etc. | functionalities. It is a packet-based reference | |||
</t> | point and may provide multiple functions like | |||
<t hangText="end system"><vspace blankLines="0"/> | encapsulation, status, synchronization, etc. | |||
Commonly called a "host" in IETF documents, and | </dd> | |||
an "end | <dt>end system</dt> | |||
station" is IEEE 802 documents. End systems of | <dd> | |||
interest to | Commonly called a "host" in the RFC series and an | |||
this document are either sources or destination | "end station" in IEEE 802 standards. End systems of | |||
s of DetNet flows. | interest to this document are either sources or | |||
And end system may or may not be DetNet forward | destinations of DetNet flows, and they may or may | |||
ing sub-layer aware or | not be aware of DetNet forwarding sub-layers or | |||
DetNet service sub-layer aware. | DetNet service sub-layers. | |||
</t> | </dd> | |||
<t hangText="link"><vspace blankLines="0"/> | <dt>link</dt> | |||
A connection between two DetNet nodes. It may | <dd> | |||
be composed of a | A connection between two DetNet nodes. It may be | |||
physical link | composed of a physical link or a sub-network | |||
or a sub-network technology that can provide ap | technology that can provide appropriate traffic | |||
propriate traffic | delivery for DetNet flows. | |||
delivery for DetNet | </dd> | |||
flows. | <dt>Packet Elimination Function (PEF)</dt> | |||
</t> | <dd> | |||
<t hangText="PEF"> | A function that eliminates duplicate | |||
A Packet Elimination Function (PEF) eliminates duplicate copi | copies of packets to prevent excess packets flooding the | |||
es of packets | network or duplicate packets being sent out of the DetNet | |||
to prevent excess packets flooding the network or | domain. A PEF can be implemented by a DetNet edge node, a | |||
duplicate packets being | DetNet relay node, or an end system. | |||
sent out of the DetNet domain. PEF can be impleme | </dd> | |||
nted by a DetNet edge node, a | <dt>Packet Replication Function (PRF)</dt> | |||
DetNet relay node, or an end system. | <dd> | |||
</t> | A function that replicates DetNet flow | |||
packets and forwards them to one or more next hops in the | ||||
<t hangText="PRF"> | DetNet domain. The number of packet copies sent to the | |||
A Packet Replication Function (PRF) replicates DetNet flow pa | next hops is a parameter specific to the DetNet flow at the p | |||
ckets | oint | |||
and forwards them to one or more next hops in the | of replication. A PRF can be implemented by a DetNet edge | |||
DetNet domain. | node, a DetNet relay node, or an end system. | |||
The number of packet copies sent to the next hops | </dd> | |||
is a DetNet flow | <dt>PREOF</dt> | |||
specific parameter at the point of replication. P | <dd> | |||
RF can be | A collective name for Packet Replication, Elimination, and Or | |||
implemented by a DetNet edge node, a DetNet relay | dering Functions. | |||
node, or an end system. | </dd> | |||
</t> | <dt>Packet Ordering Function (POF)</dt> | |||
<dd> | ||||
<t hangText="PREOF"> | A function that reorders packets within | |||
Collective name for Packet Replication, Elimination, and Orde | a DetNet flow that are received out of order. This | |||
ring Functions. | function can be implemented by a DetNet edge node, a | |||
</t> | DetNet relay node, or an end system. | |||
</dd> | ||||
<t hangText="POF"> | <dt>reservation</dt> | |||
A Packet Ordering Function (POF) re-orders packets within a D | <dd> | |||
etNet flow that are received out of order. | The set of resources allocated between a source and | |||
This function can be implemented by a DetNet edge node, a Det | one or more destinations through DetNet nodes and | |||
Net relay node, or an end system. | subnets associated with a DetNet flow in order to provi | |||
</t> | de | |||
the provisioned DetNet service. | ||||
<t hangText="reservation"><vspace blankLines="0"/> | </dd> | |||
The set of resources allocated between a source a | </dl> | |||
nd one or more destinations through DetNet nodes | </section> | |||
and subnets associated with a DetNet flow, to pro | <section numbered="true" toc="default"> | |||
vide the provisioned DetNet service. | <name>Dictionary of Terms Used by TSN and DetNet</name> | |||
</t> | <t> | |||
</list> | This section serves as a dictionary for translating the | |||
</t> | ||||
</section> | ||||
<section title="IEEE 802.1 TSN to DetNet dictionary"> | ||||
<t> | ||||
This section also serves as a dictionary for translatin | ||||
g from the | ||||
terms used by the Time-Sensitive Networking (TSN) Task Group | terms used by the Time-Sensitive Networking (TSN) Task Group | |||
<xref target="IEEE802.1TSNTG"/> of the IEEE 802.1 WG t | <xref target="IEEE802.1TSNTG" format="default"/> of the | |||
o those of | IEEE 802.1 WG to those of | |||
the DetNet WG. | the Deterministic Networking (detnet) WG of the IETF. | |||
<list hangIndent="8" style="hanging"> | </t> | |||
<t hangText="Listener"><vspace blankLines="0"/> | <dl newline="true" spacing="normal" indent="3"> | |||
The IEEE 802.1 term for a destination o | <dt>Listener</dt> | |||
f a DetNet flow. | <dd> | |||
</t> | The term used by IEEE 802.1 for a desti | |||
<t hangText="relay system"><vspace blankLines=" | nation of a DetNet flow. | |||
0"/> | </dd> | |||
The IEEE 802.1 term for a DetNet interm | <dt>Relay system</dt> | |||
ediate node. | <dd> | |||
</t> | The term used by IEEE | |||
<t hangText="Stream"><vspace blankLines="0"/> | 802.1 for a DetNet intermediate node. | |||
The IEEE 802.1 term for a DetNet flow. | </dd> | |||
</t> | <dt>Stream</dt> | |||
<t hangText="Talker"><vspace blankLines="0"/> | <dd> | |||
The IEEE 802.1 term for the source of a | The term used by IEEE 802.1 for a DetNe | |||
DetNet flow. | t flow. | |||
</t> | </dd> | |||
</list> | <dt>Talker</dt> | |||
</t> | <dd> | |||
</section> | The term used by IEEE | |||
</section> | 802.1 for the source of a DetNet flow. | |||
</dd> | ||||
<section anchor="ProvidingQoS" title="Providing the DetNet Quality of Ser | </dl> | |||
vice"> | </section> | |||
<section anchor="DefiningGoals" title="Primary goals defining the DetNet Q | </section> | |||
oS"> | <section anchor="ProvidingQoS" numbered="true" toc="default"> | |||
<t> | <name>Providing the DetNet Quality of Service</name> | |||
The DetNet Quality of Service can be expressed in terms o | <section anchor="DefiningGoals" numbered="true" toc="default"> | |||
f: | <name>Primary Goals Defining the DetNet QoS</name> | |||
<list style="symbols"> | <t> | |||
<t> | The DetNet QoS can be expressed in terms of: | |||
Minimum and maximum end-to-end latency from source to des | </t> | |||
tination; | <ul spacing="normal"> | |||
timely delivery, and bounded jitter (packet delay variation) derived | <li> | |||
from these constraints. | Minimum and maximum end-to-end latency from source to | |||
</t> | destination, timely delivery, and bounded jitter | |||
<t> | (packet delay variation) derived from these | |||
Packet loss ratio, under various assumptions as to the op | constraints. | |||
erational | </li> | |||
<li> | ||||
Packet loss ratio under various assumptions as to the ope | ||||
rational | ||||
states of the nodes and links. | states of the nodes and links. | |||
</t><t> | </li> | |||
<li> | ||||
An upper bound on out-of-order packet delivery. It is wor th noting | An upper bound on out-of-order packet delivery. It is wor th noting | |||
that some DetNet applications are unable to tolerate any | that some DetNet applications are unable to tolerate any | |||
out-of-order delivery. | out-of-order delivery. | |||
</t> | </li> | |||
</list> | </ul> | |||
</t><t> | <t> | |||
It is a distinction of DetNet that it is concerned solely with | It is a distinction of DetNet that it is concerned solely with | |||
worst-case values for the end-to-end latency, jitter, and | worst-case values for the end-to-end latency, jitter, and | |||
misordering. Average, mean, or typical values are of litt le | misordering. Average, mean, or typical values are of litt le | |||
interest, because they do not affect the ability of a rea l-time | interest, because they do not affect the ability of a rea l-time | |||
system to perform its tasks. In general, a trivial priori ty-based | system to perform its tasks. In general, a trivial priori ty-based | |||
queuing scheme will give better average latency to a data flow than | queuing scheme will give better average latency to a data flow than | |||
DetNet; however, it may not be a suitable option for DetN et because | DetNet; however, it may not be a suitable option for DetN et because | |||
of its worst-case latency. | of its worst-case latency. | |||
</t><t> | </t> | |||
<t> | ||||
Three techniques are used by DetNet to provide these qual ities of service: | Three techniques are used by DetNet to provide these qual ities of service: | |||
<list style="symbols"> | </t> | |||
<t> | <ul spacing="normal"> | |||
Resource allocation (<xref target="Zero"/ | <li> | |||
>). | Resource allocation (<xref target="Zero" | |||
</t><t> | format="default"/>) | |||
Service protection (<xref target="srvcpro | </li> | |||
t"/>). | <li> | |||
</t><t> | Service protection (<xref target="srvcpro | |||
Explicit routes (<xref target="pinned"/>) | t" format="default"/>) | |||
. | </li> | |||
</t> | <li> | |||
</list> | Explicit routes (<xref target="pinned" fo | |||
</t><t> | rmat="default"/>) | |||
</li> | ||||
</ul> | ||||
<t> | ||||
Resource allocation operates by assigning resources, e.g., buffer | Resource allocation operates by assigning resources, e.g., buffer | |||
space or link bandwidth, to a DetNet flow (or flow aggregate) along | space or link bandwidth, to a DetNet flow (or flow aggregate) along | |||
its path. Resource allocation greatly reduces, or even eliminates | its path. Resource allocation greatly reduces, or even eliminates | |||
entirely, packet loss due to output packet contention within the | entirely, packet loss due to output packet contention within the | |||
network, but it can only be supplied to a DetNet flow that is limite d | network, but it can only be supplied to a DetNet flow that is limite d | |||
at the source to a maximum packet size and transmission rate. | at the source to a maximum packet size and transmission rate. | |||
As DetNet flows are assumed to be rate-limited and DetNet is designed | As DetNet flows are assumed to be rate limited and DetNet is designed | |||
to provide sufficient allocated resources (including prov isioned | to provide sufficient allocated resources (including prov isioned | |||
capacity), the use of transport layer congestion control | capacity), the use of transport-layer congestion control | |||
<xref target="RFC2914"/> for App-flows is not required; h | <xref target="RFC2914" format="default"/> for App-flows i | |||
owever, | s not required; however, | |||
if resources are allocated appropriately, use of congesti on control | if resources are allocated appropriately, use of congesti on control | |||
should not impact transmission negatively. | should not impact transmission negatively. | |||
</t><t> | </t> | |||
Resource allocation addresses two of the DetNet QoS requirements: | <t> Resource allocation addresses two of the DetNet QoS requirements: la | |||
latency and packet loss. Given that DetNet nodes have a finite | tency | |||
amount of buffer space, resource allocation necessarily results in | and packet loss. Given that DetNet nodes have a finite amount of buffer space, | |||
a maximum end-to-end latency. It also addresses contention related | resource allocation necessarily results in a maximum end-to-end | |||
packet loss. | latency. Resource allocation also addresses contention-related packet loss. | |||
</t><t> | </t> | |||
Other important contribution to packet loss are | <t> Other important contributions to packet loss are random media errors | |||
random media errors and equipment failures. Service prot | and equipment failures. Service protection is the name for the mechanisms | |||
ection is the name for the | used by DetNet to address these losses. The mechanisms employed are | |||
mechanisms used by DetNet to address these losses. The m | constrained by the need to meet the users' latency requirements. Packet | |||
echanisms employed are | replication and elimination (<xref target="Seamless" format="default"/>) and pac | |||
constrained by the requirement to meet the users' latency | ket encoding | |||
requirements. | (<xref target="PacketEncoding" format="default"/>) are described in this documen | |||
Packet replication and elimination (<xref target="srvcpro | t to provide | |||
t"/>) and packet encoding | service protection, but other mechanisms may also be found. For instance, | |||
(<xref target="PacketEncoding"/>) are described in this document | packet encoding can be used to provide service protection against random media | |||
to provide service protection; others may be found. For i | errors, while packet replication and elimination can be used to provide | |||
nstance, packet encoding | service protection against equipment failures. This mechanism distributes the | |||
can be used to provide service protection against random media error | contents of DetNet flows over multiple paths in time and/or space, so that the | |||
s, packet | loss of some of the paths does need not cause the loss of any packets. | |||
replication and elimination can be used to provide service protectio | </t> | |||
n against | <t> The paths are typically (but not necessarily) explicit routes so tha | |||
equipment failures. This mechanism | t | |||
distributes the contents of DetNet flows | they do not normally suffer temporary interruptions caused by the convergence | |||
over multiple paths in time and/or space, so that the los | of routing or bridging protocols. </t> | |||
s of some of the paths does | <t> These three techniques can be applied individually or applied togeth | |||
need not cause the loss of any packets. | er; it | |||
</t><t> | results that eight combinations, including none (no DetNet), are | |||
The paths are typically (but not necessarily) explicit ro | possible. Some combinations, however, are of wider utility than others. This | |||
utes, so that they do not normally | separation keeps the protocol stack coherent and maximizes interoperability | |||
suffer temporary interruptions caused by the convergence | with existing and developing standards in the IETF and other Standards | |||
of routing or bridging protocols. | Development Organizations. The following are examples of typical expected | |||
</t><t> | combinations: | |||
These three techniques can be applied independently, givi | </t> | |||
ng eight possible combinations, | <ul spacing="normal"> | |||
including none (no DetNet), although some combinations ar | <li> | |||
e of wider utility than others. | The combination of explicit routes and service protection is the techniqu | |||
This separation keeps the protocol stack coherent and max | e | |||
imizes interoperability with | employed by seamless redundancy mechanisms applied on a ring topology, | |||
existing and developing standards in this (IETF) and othe | e.g., as described in <xref target="IEC-62439-3" format="default"/>. In t | |||
r | his | |||
Standards Development Organizations. Some examples of ty | example, explicit routes are achieved by limiting the physical | |||
pical expected combinations: | topology of the network to a ring. Sequentialization, replication, and | |||
<list style="symbols"> | duplicate elimination are facilitated by packet tags added at the | |||
<t> | front or the end of Ethernet frames. <xref target="RFC8227" format="defau | |||
Explicit routes plus service protection a | lt"/> provides | |||
re exactly the techniques | another example in the context of MPLS. </li> | |||
employed by seamless redundancy mechanism | <li> Resource allocation | |||
s applied on a ring topology | alone was originally offered by Audio Video Bridging as defined by IEEE 8 | |||
as described, e.g., in <xref target="IEC6 | 02.1 <xref target="IEEE802.1BA" format="default"/>. As long as the network suff | |||
2439-3-2016"/>. In this example, | ers no failures, | |||
explicit routes are achieved by limiting | packet loss due to output packet contention can be eliminated through | |||
the physical topology of | the use of a reservation protocol (e.g., the Multiple Stream Registration | |||
the network to a ring. Sequentialization, | Protocol <xref target="IEEE802.1Q" format="default"/>), shapers in every | |||
replication, and | bridge, | |||
duplicate elimination are facilitated by | and proper dimensioning. </li> | |||
packet tags added at the | <li> Using all three together gives | |||
front or the end of Ethernet frames. <xre | maximum protection. | |||
f target="RFC8227"/> provides | </li> | |||
another example in the context of MPLS. | </ul> | |||
</t><t> | <t> There are, of course, simpler methods available (and employed today) | |||
Resource allocation alone was originally | to | |||
offered by IEEE 802.1 Audio Video bridging | achieve levels of latency and packet loss that are satisfactory for many | |||
<xref target="IEEE802.1BA"/>. As long as | applications. Prioritization and over-provisioning is one such technique. | |||
the network suffers no failures, | However, these methods generally work best in the absence of any significant | |||
packet loss due to output packet contenti | amount of noncritical traffic in the network (if, indeed, such traffic is | |||
on can be eliminated through the use of a reservation protocol (e.g., Multiple S | supported at all). They may also work only if the critical traffic constitutes o | |||
tream Registration Protocol <xref target="IEEE802.1Q-2018"/>), shapers in every | nly a small portion of | |||
bridge, and proper dimensioning. | the network's theoretical capacity, if all systems are functioning properly, | |||
</t><t> | or if actions by end systems that disrupt the network's | |||
Using all three together gives maximum pr | operations are absent. </t> | |||
otection. | <t> There are any number of methods in use, defined, or in progress for | |||
</t> | accomplishing each of the above techniques. It is expected that the DetNet | |||
</list> | architecture defined in this document will assist various vendors, users, and/or | |||
</t><t> | "vertical" Standards | |||
There are, of course, simpler methods available (and empl | Development Organizations (dedicated to a single industry) in making selections | |||
oyed, today) to achieve | among the available means of implementing DetNet networks. | |||
levels of latency and packet loss that are satisfactory f | </t> | |||
or many applications. | </section> | |||
Prioritization and over-provisioning is one such techniqu | <section anchor="Techniques" numbered="true" toc="default"> | |||
e. However, these | <name>Mechanisms to Achieve DetNet QoS</name> | |||
methods generally work best in the absence of any signifi | <section anchor="Zero" numbered="true" toc="default"> | |||
cant amount of non-critical | <name>Resource Allocation</name> | |||
traffic in the network (if, indeed, such traffic is suppo | <section anchor="ZeroL" numbered="true" toc="default"> | |||
rted at all), or work only if | <name>Eliminate Contention Loss</name> | |||
the critical traffic constitutes only a small portion of | <t> | |||
the network's theoretical | The primary means by which DetNet achieves its QoS | |||
capacity, or work only if all systems are functioning pro | assurances is to reduce, or even completely eliminate, | |||
perly, or in the absence of | packet loss due to output packet contention within a | |||
actions by end systems that disrupt the network's operati | DetNet node as a cause of packet loss. This can be | |||
ons. | achieved only by the provision of sufficient buffer | |||
</t><t> | storage at each node through the network to ensure | |||
There are any number of methods in use, defined, or in pr | that no packets are dropped due to a lack of buffer | |||
ogress for accomplishing each | storage. Note that App-flows are generally not | |||
of the above techniques. It is expected that this DetNet | expected to be responsive to implicit <xref target="RFC29 | |||
Architecture will assist | 14" format="default"/> or explicit congestion notification | |||
various vendors, users, and/or "vertical" | <xref target="RFC3168" format="default"/>. | |||
Standards Development Organizations (dedicated to a singl | ||||
e industry) to make selections | ||||
among the available means of implementing DetNet networks | ||||
. | ||||
</t> | ||||
</section> | ||||
<section anchor="Techniques" title="Mechanisms to achieve DetNet QoS"> | ||||
<section anchor="Zero" title="Resource allocation"> | ||||
<section anchor="ZeroL" title="Eliminate contention loss"> | ||||
<t> | ||||
The primary means by which DetNet achieves its QoS assura | ||||
nces is to reduce, or even completely eliminate packet loss due to output packet | ||||
contention | ||||
within a DetNet node as a cause of packet loss. | ||||
This can be achieved only by the provision of | ||||
sufficient buffer storage at each node through the networ | ||||
k to ensure that no | ||||
packets are dropped due to a lack of buffer storage. | ||||
Note that App-flows are generally not expected to be res | ||||
ponsive to implicit <xref target="RFC2914"/> or explicit congestion notification | ||||
<xref target="RFC3168"/>. | ||||
</t><t> | </t> | |||
Ensuring adequate buffering requires, in turn, that the s | <t> Ensuring adequate buffering requires, in turn, that | |||
ource, and every DetNet | the source and every DetNet node along the path to the | |||
node along the path to the destination (or nearly every n | destination (or nearly every node; see <xref target="Incomplete" | |||
ode, see | format="default"/>) be careful to regulate its output to | |||
<xref target="Incomplete"/>) be careful to regulate its o | not exceed the data rate for any DetNet flow, except for brief | |||
utput to not exceed the | periods when making up for interfering traffic. Any packet | |||
data rate for any DetNet flow, except for brief periods w | sent ahead of its time potentially adds to the number of | |||
hen making up for | buffers required by the next-hop DetNet node and may thus | |||
interfering traffic. Any packet sent ahead of its time p | exceed the resources allocated for a particular DetNet | |||
otentially adds to the | flow. Furthermore, rate limiting (e.g., using traffic policing) | |||
number of buffers required by the next hop DetNet node an | and shaping functions (e.g., shaping as defined in <xref target=" | |||
d may thus exceed the resources | RFC2475" format="default"/>) at the | |||
allocated for a particular DetNet flow. Furthermore, rate | ingress of the DetNet domain must be applied. This is needed | |||
limiting, e.g., using traffic | for meeting the requirements of DetNet flows as well as for | |||
policing and shaping functions, e.g., <xref target="RFC24 | protecting non-DetNet traffic from potentially misbehaving | |||
75"/>, at the ingress of the | DetNet traffic sources. Note that large buffers have some | |||
DetNet domain must be applied. This is needed for meeting | issues (see, e.g., <xref target="BUFFERBLOAT" format="default"/>) | |||
the requirements of DetNet | . </t> | |||
flows as well as for protecting non-DetNet traffic from p | <t> The low-level mechanisms described in <xref target="QueuingModel | |||
otentially misbehaving DetNet | s" format="default"/> | |||
traffic sources. Note that large buffers have some issues | provide the necessary regulation of transmissions by an end system or DetNet | |||
, see, e.g., <xref target="BUFFERBLOAT"/>. | node to provide resource allocation. The allocation of the bandwidth and | |||
</t><t> | buffers for a DetNet flow requires provisioning. A DetNet node may have other | |||
The low-level mechanisms described in <xref target="Queui | resources requiring allocation and/or scheduling that might otherwise be | |||
ngModels"/> provide | over-subscribed and trigger the rejection of a reservation. | |||
the necessary | </t> | |||
regulation of transmissions by an end system or DetNet no | </section> | |||
de to provide | <section anchor="Jitterless" numbered="true" toc="default"> | |||
resource allocation. The allocation of the bandwidth and | <name>Jitter Reduction</name> | |||
buffers for a DetNet flow requires provisioning. | <t> | |||
A DetNet node may have other resources requiring allocati | ||||
on and/or scheduling, | ||||
that might otherwise be over-subscribed and trigger the r | ||||
ejection of a reservation. | ||||
</t> | ||||
</section> | ||||
<section anchor="Jitterless" title="Jitter Reduction"> | ||||
<t> | ||||
A core objective of DetNet is to enable the convergence of sensitive non- IP networks | A core objective of DetNet is to enable the convergence of sensitive non- IP networks | |||
onto a common network infrastructure. This requires the accurate emulatio n | onto a common network infrastructure. This requires the accurate emulatio n | |||
of currently deployed mission-specific networks, which | of currently deployed mission-specific networks, which, | |||
for example rely on point-to-point analog (e.g., 4-20mA modulation) and | for example, rely on point-to-point analog (e.g., 4-20mA modulation) and | |||
serial-digital cables (or buses) for highly reliable, synchronized and | serial-digital cables (or buses) for highly reliable, synchronized, and | |||
jitter-free communications. While the latency of analog transmissions is | jitter-free communications. While the latency of analog transmissions is | |||
basically the speed of light, legacy serial links are usually slow (in th e | basically the speed of light, legacy serial links are usually slow (in th e | |||
order of Kbps) compared to, say, Gigabit Ethernet, and some latency is us ually | order of Kbps) compared to, say, Gigabit Ethernet, and some latency is us ually | |||
acceptable. What is not acceptable is the introduction of excessive jitte r, | acceptable. What is not acceptable is the introduction of excessive jitte r, | |||
which may, for instance, affect the stability of control systems. | which may, for instance, affect the stability of control systems. | |||
</t> | </t> | |||
<t>Applications that are designed to operate on serial links usually do | <t>Applications that are designed to operate on serial links usually | |||
do | ||||
not provide services to recover the jitter, because jitter simply does no t | not provide services to recover the jitter, because jitter simply does no t | |||
exist there. DetNet flows are generally expected to be delivered in-order | exist there. DetNet flows are generally expected to be delivered in order , | |||
and the precise time of reception influences the processes. In order to | and the precise time of reception influences the processes. In order to | |||
converge such existing applications, | converge such existing applications, | |||
there is a desire to emulate all properties of the serial cable, such | there is a desire to emulate all properties of the serial cable, such | |||
as clock transportation, perfect flow isolation and fixed latency. While minimal | as clock transportation, perfect flow isolation, and fixed latency. While minimal | |||
jitter (in the form of specifying minimum, as well as maximum, end-to-end latency) | jitter (in the form of specifying minimum, as well as maximum, end-to-end latency) | |||
is supported by DetNet, there are practical limitations on packet-based n etworks | is supported by DetNet, there are practical limitations on packet-based n etworks | |||
in this regard. In general, users | in this regard. In general, users | |||
are encouraged to use a combination of: | are encouraged to use a combination of: | |||
<list style="symbols"> | </t> | |||
<t> | <ul spacing="normal"> | |||
<li> | ||||
Sub-microsecond time synchronization among all source an d destination | Sub-microsecond time synchronization among all source an d destination | |||
end systems, and | end systems, and | |||
</t><t> | </li> | |||
<li> | ||||
Time-of-execution fields in the application packets. | Time-of-execution fields in the application packets. | |||
</t> | </li> | |||
</list> | </ul> | |||
</t><t> | <t> | |||
Jitter reduction is provided by the mechanisms described in <xref ta | Jitter reduction is provided by the mechanisms described in <xref ta | |||
rget="QueuingModels"/> | rget="QueuingModels" format="default"/> | |||
that also provide resource allocation. | that also provide resource allocation. | |||
</t> | </t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="srvcprot" numbered="true" toc="default"> | ||||
<section anchor="srvcprot" title="Service Protection"> | <name>Service Protection</name> | |||
<t> | <t> | |||
Service protection aims to mitigate or eliminate packet loss due to | Service protection aims to mitigate or eliminate packet loss due | |||
equipment failures, including random media and/or memory faults. | to equipment failures, including random media and/or memory | |||
These types of | faults. These types of packet loss can be greatly reduced by | |||
packet loss can be greatly reduced by spreading the data over mul | spreading the data over multiple disjoint forwarding | |||
tiple | paths. Various service protection methods are described in <xref targ | |||
disjoint forwarding paths. Various service protection methods are | et="RFC6372" format="default"/>, e.g., 1+1 linear protection. The functional | |||
described in <xref target="RFC6372"/>, e.g., 1+1 linear protectio | details of an additional method are described in <xref target="Seamle | |||
n. | ss" format="default"/>, which can be implemented as described in | |||
This section describes the functional details of an additional me | <xref target="PacketEncoding" format="default"/> or as specified in < | |||
thod | xref target="I-D.ietf-detnet-mpls" format="default"/> in order to provide 1+n hi | |||
in <xref target="Seamless"/>, which can be implemented as describ | tless | |||
ed in | protection. The appropriate service protection mechanism depends | |||
<xref target="PacketEncoding"/> or as specified in | on the scenario and the requirements. | |||
<xref target="I-D.ietf-detnet-dp-sol-mpls"/> in order to provide | </t> | |||
1+n hitless | <section anchor="inorder" numbered="true" toc="default"> | |||
protection. The appropriate service protection mechanism depends | <name>In-Order Delivery</name> | |||
on the | <t> | |||
scenario and the requirements. | Out-of-order packet delivery can be a side effect of service | |||
</t> | protection. Packets delivered out of order impact the amount of | |||
buffering needed at the destination to properly process the received | ||||
<section anchor="inorder" title="In-Order Delivery"> | data. Such packets also influence the jitter of a flow. The guarantees | |||
<t> | of a DetNet service include a maximum amount of misordering as a | |||
Out-of-order packet delivery can be a side effect of service protection. | constraint. Zero misordering would be a valid service constraint to | |||
Packets delivered out-of-order impact the amount of buffering nee | reflect that the end system(s) of the flow cannot tolerate any | |||
ded at | out-of-order delivery. A DetNet Packet Ordering Function (POF) | |||
the destination to properly process the received data. Such packe | (<xref target="Seamless" format="default"/>) can be used to provide in-o | |||
ts | rder delivery. | |||
also influence the jitter of a flow. The DetNet service includes | </t> | |||
maximum allowed misordering as a constraint. Zero misordering wou | </section> | |||
ld be | <section anchor="Seamless" numbered="true" toc="default"> | |||
a valid service constraint to reflect that the end system(s) of t | <name>Packet Replication and Elimination</name> | |||
he | <t> | |||
flow cannot tolerate any out-of-order delivery. DetNet Packet Ord | ||||
ering | ||||
Functionality (POF) (<xref target="Seamless"/>) can be used to pr | ||||
ovide | ||||
in-order delivery. | ||||
</t> | ||||
</section> | ||||
<section anchor="Seamless" title="Packet Replication and Elimination"> | ||||
<t> | ||||
This section describes a service protection method that sends copies | This section describes a service protection method that sends copies | |||
of the same packets over multiple paths. | of the same packets over multiple paths. </t> | |||
</t><t> | <t> The DetNet service | |||
The DetNet service sub-layer includes the packet replication (PRF), | sub-layer includes the PRF, PEF, and POF for use in DetNet edge, | |||
the | relay node, and end-system packet processing. These functions can be | |||
packet elimination (PEF), and the packet ordering functionali | enabled in a DetNet edge node, relay node, or end system. The | |||
ty (POF) | collective name for all three functions is Packet Replication, | |||
for use in DetNet edge, relay node, and end system packet | Elimination, and Ordering Functions (PREOF). The packet replication | |||
processing. | and elimination service protection method altogether involves four | |||
These functions can be enabled in a DetNet edge node, rel | capabilities: | |||
ay | </t> | |||
node or end system. The collective name for all three fun | <ul spacing="normal"> | |||
ctions is | <li> | |||
Packet Replication, Elimination, and Ordering Functions ( | Sequencing information is provided to the | |||
PREOF). | ||||
The packet replication and elimination service protection | ||||
method | ||||
altogether involves four capabilities: | ||||
<list style="symbols"> | ||||
<t> | ||||
Providing sequencing information to the | ||||
packets of a DetNet compound flow. This may | packets of a DetNet compound flow. This may | |||
be done by adding a sequence number or time stamp | be done by adding a sequence number or time | |||
as part of DetNet, or may be | stamp as part of DetNet, or it may be inherent | |||
inherent in the packet, e.g., in a higher layer p | in the packet, e.g., in a higher-layer | |||
rotocol, or associated to other physical | protocol or associated to other physical | |||
properties such as the precise time (and radio ch | properties such as the precise time (and radio | |||
annel) of reception of the packet. | channel) of reception of the packet. This is | |||
This is typically done once, at or near the sourc | typically done once, at or near the source. | |||
e. | </li> | |||
</t><t> | <li> The PRF | |||
The Packet Replication Function (PRF) replicates | replicates these packets into multiple DetNet | |||
these packets | member flows and typically sends them along | |||
into multiple DetNet member flows and typically s | multiple different paths to the | |||
ends them along | destination(s), e.g., over the explicit routes | |||
multiple different paths to the destination(s), e | described in <xref target="pinned" format="defaul | |||
.g., over the | t"/>. The location | |||
explicit routes of <xref target="pinned"/>. The l | within a DetNet node and the mechanism used | |||
ocation within | for the PRF are left open for implementations. | |||
a DetNet node, and the mechanism used for the PRF | </li> | |||
is left open | <li> The PEF | |||
for implementations. | eliminates duplicate packets of a DetNet flow | |||
</t><t> | based on the sequencing information and a | |||
The Packet Elimination Function (PEF) eliminates | history of received packets. The output of the | |||
duplicate packets | PEF is always a single packet. This may be | |||
of a DetNet flow based on the sequencing informat | done at any DetNet node along the path to save | |||
ion and a history | network resources further downstream, in | |||
of received packets. The output of the PEF is alw | particular if multiple replication points | |||
ays a single packet. | exist. But the most common case is to perform | |||
This may be done at any DetNet node along the pat | this operation at the very edge of the DetNet | |||
h to save network | network, preferably in or near the | |||
resources further downstream, in particular if mu | receiver. The location within a DetNet node | |||
ltiple | and the mechanism used for the PEF is left open | |||
Replication points exist. But the most common cas | for implementations. </li> | |||
e is to | <li> The | |||
perform this operation at the very edge of the De | POF uses the sequencing | |||
tNet network, | information to reorder a DetNet flow's packets | |||
preferably in or near the receiver. The location | that are received out of order. | |||
within a DetNet node, | </li> | |||
and mechanism used for the PEF is left open f | </ul> | |||
or implementations. | <t> The order in which a DetNet node applies PEF, POF, and | |||
</t><t> | PRF to a DetNet flow is left open for implementations. | |||
The Packet Ordering Function (POF) uses the sequencin | </t> | |||
g information | <t> Some service protection mechanisms rely on switching from one fl | |||
to re-order a DetNet flow's packets that are rece | ow to | |||
ived out of order. | another when a failure of a flow is detected. Contrarily, packet replication | |||
</t> | and elimination combines the DetNet member flows sent along multiple different | |||
</list> | paths and performs a packet-by-packet selection of which to discard, e.g., | |||
</t><t> | based on sequencing information. | |||
The order in which a DetNet node applies PEF, POF, and PRF to | </t> | |||
a DetNet flow is | <t>In the simplest case, this amounts to 1) replicating each packet | |||
left open for implementations. | in a | |||
</t><t> | source that has two interfaces and 2) conveying them through the network along | |||
Some service protection mechanisms rely on switching from one flow | separate (Shared Risk Link Group (SRLG) disjoint) paths to the similarly | |||
to another when a failure of a flow is detected. Contrari | dual-homed destinations that 3) reorder the packets and 4) discard the | |||
ly, packet | duplicates. This ensures that one path | |||
replication and elimination combines the DetNet member fl | remains, even if some DetNet intermediate node fails. The sequencing | |||
ows sent | information can also be used for loss detection and for reordering. </t> | |||
along multiple different paths, and performs a packet-by- | <t> | |||
packet | DetNet relay nodes in the network can provide replication and elimination | |||
selection of which to discard, e.g., based on sequencing | facilities at various points in the network so that multiple failures can be | |||
information. | accommodated. </t> | |||
</t><t> | <t> This is shown in <xref target="FigSeamless" format="default"/>, | |||
In the simplest case, this amounts to replicating each pa | where the two relay nodes | |||
cket in a source that | each replicate (R) the DetNet flow on input, sending the DetNet member flows | |||
has two interfaces, and conveying them through the networ | to both the other relay node and to the end system, and eliminate duplicates | |||
k, along separate | (E) on the output interface to the right-hand end system. Any one link in the | |||
(Shared Risk Link Group (SRLG) disjoint) paths, to the | network can fail, and the DetNet compound flow can still get through. | |||
similarly dual-homed destinations, that discard the extra | Furthermore, two links can fail, as long as they are in different segments of | |||
s. This ensures that one | the network. | |||
path remains, even if some DetNet intermediate node fails | </t> | |||
. | <figure anchor="FigSeamless"> | |||
The sequencing information can also be used for loss dete | <name>Packet Replication and Elimination</name> | |||
ction and for re-ordering. | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
</t><t> | ||||
DetNet relay nodes in the network can provide | ||||
replication and elimination | ||||
facilities at various points in the network, so that mult | ||||
iple | ||||
failures can be accommodated. | ||||
</t><t> | ||||
This is shown in <xref target="FigSeamless"/>, where the | ||||
two relay nodes | ||||
each replicate (R) the DetNet flow on input, sending the | ||||
DetNet member flows to both the other | ||||
relay node and to the end system, and eliminate duplicate | ||||
s (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. | ||||
Furthermore, two links can | ||||
fail, as long as they are in different segments of the ne | ||||
twork. | ||||
</t> | ||||
<figure align="center" anchor="FigSeamless" | ||||
title="Packet replication and elimination"> | ||||
<artwork align="left"><![CDATA[ | ||||
> > > > > > > > > relay > > > > > > > > | > > > > > > > > > relay > > > > > > > > | |||
> /------------+ R node E +------------\ > | > /------------+ R node E +------------\ > | |||
> / v + ^ \ > | > / v + ^ \ > | |||
end R + v | ^ + E end | end R + v | ^ + E end | |||
system + v | ^ + system | system + v | ^ + system | |||
> \ v + ^ / > | > \ v + ^ / > | |||
> \------------+ R relay E +-----------/ > | > \------------+ R relay E +-----------/ > | |||
> > > > > > > > > node > > > > > > > > | > > > > > > > > > node > > > > > > > >]]></artwork> | |||
]]></artwork> | </figure> | |||
</figure> | <t>Packet replication and elimination does not react to and correct | |||
<t> | failures; | |||
Packet replication and elimination does not react to and | it is entirely passive. Thus, intermittent failures, mistakenly created | |||
correct failures; it is | packet filters, or misrouted data is handled just the same as the equipment | |||
entirely passive. Thus, intermittent failures, mistakenl | failures that are handled by typical routing and bridging protocols. </t> | |||
y created packet filters, | <t>If member flows that take different-length paths through the netw | |||
or misrouted data is handled just the same as the equipme | ork are | |||
nt failures | combined, a merge point may require extra buffering to equalize the delays | |||
that are handled by typical routing and bridging protocol | over the different paths. This equalization ensures that the resultant | |||
s. | compound flow will not exceed its contracted bandwidth even after one of the | |||
</t><t> | paths is restored after a failure. The extra buffering can be also used to | |||
If member flows that take different-length paths | provide in-order delivery. | |||
through the network are combined, a merge | </t> | |||
point may require extra buffering to equalize the delays | </section> | |||
over the different paths. This | <section anchor="PacketEncoding" numbered="true" toc="default"> | |||
equalization ensures that the resultant compound flow wil | <name>Packet Encoding for Service Protection</name> | |||
l not exceed its | <t> | |||
contracted bandwidth even after one or the other of the p | ||||
aths is restored | ||||
after a failure. The extra buffering can be also used to | ||||
provide in-order delivery. | ||||
</t> | ||||
</section> | ||||
<section anchor="PacketEncoding" title="Packet encoding for service protec | ||||
tion"> | ||||
<t> | ||||
There are methods for using multiple paths to provide service prot ection | There are methods for using multiple paths to provide service prot ection | |||
that involve encoding the information in a | that involve encoding the information in a | |||
packet belonging to a DetNet flow into multiple transmission units , | packet belonging to a DetNet flow into multiple transmission units , | |||
combining information from multiple packets into any given transmi ssion unit. | combining information from multiple packets into any given transmi ssion unit. | |||
Such techniques, also known as "network coding", | Such techniques, also known as "network coding", | |||
can be used as a DetNet service protection technique. | can be used as a DetNet service protection technique. | |||
</t> | ||||
</section> | ||||
</section> | ||||
<section anchor="pinned" numbered="true" toc="default"> | ||||
<name>Explicit Routes</name> | ||||
<t> | ||||
In networks controlled by typical dynamic control protocols such as IS-IS or | ||||
OSPF, a network topology event in one part of the network can impact, at least | ||||
briefly, the delivery of data in parts of the network remote from the failure | ||||
or recovery event. Even the use of redundant paths through a network, e.g., as | ||||
defined by <xref target="RFC6372" format="default"/>, does not eliminate the cha | ||||
nces of packet | ||||
loss. Furthermore, out-of-order packet delivery can be a side effect of route | ||||
changes. </t> | ||||
<t> Many 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 a minimum of wiring. As an | ||||
additional benefit, ring topologies can often utilize different topology | ||||
management protocols from those used for a mesh network, with a consequent | ||||
reduction in the response time to topology changes. Of course, this comes at | ||||
some cost in terms of increased hop count, and thus latency, for the typical | ||||
path. </t> | ||||
<t> In order to get the advantages of low hop count and still ensure a | ||||
gainst | ||||
even very brief losses of connectivity, DetNet employs explicit routes where | ||||
the path taken by a given DetNet flow does not change, at least not | ||||
immediately and likely not at all, in response to network topology events. | ||||
Service protection (see Sections <xref target="srvcprot" format="counter"/> | ||||
and <xref target="PacketEncoding" format="counter"/>) over explicit routes | ||||
provides a high likelihood of continuous connectivity. Explicit routes can be | ||||
established in various ways, e.g., with RSVP-TE <xref target="RFC3209" format="d | ||||
efault"/>, with | ||||
Segment Routing (SR) <xref target="RFC8402" format="default"/>, via a SDN approa | ||||
ch <xref target="RFC8453" format="default"/>, with IS-IS <xref target="RFC7813" | ||||
format="default"/>, etc. Explicit routes | ||||
are typically used in MPLS TE (Traffic Engineering) Label Switched Paths | ||||
(LSPs). </t> | ||||
<t> Out-of-order packet delivery can be a side effect of distributing | ||||
a single | ||||
flow over multiple paths, especially when there is a change from one path to | ||||
another when combining the flow. This is irrespective of the distribution | ||||
method used and also applies to service protection over explicit routes. As | ||||
described in <xref target="inorder" format="default"/>, out-of-order packets inf | ||||
luence the | ||||
jitter of a flow and impact the amount of buffering needed to process the | ||||
data; therefore, the guarantees of a DetNet service include a maximum amount | ||||
of misordering as a constraint. The use of explicit routes helps to provide in-o | ||||
rder delivery | ||||
because there is no immediate route change with the network topology, but the | ||||
changes are plannable as they are between the different explicit routes. | ||||
</t> | </t> | |||
</section> | ||||
</section> | </section> | |||
</section> | <section anchor="MoreGoals" numbered="true" toc="default"> | |||
<name>Secondary Goals for DetNet</name> | ||||
<section anchor="pinned" title="Explicit routes"> | <t> | |||
<t> | ||||
In networks controlled by typical dynamic control protoco | ||||
ls such as IS-IS or OSPF, | ||||
a network topology event in one part of the network | ||||
can impact, at least briefly, the delivery of data in par | ||||
ts of the network remote from the | ||||
failure or recovery event. Even the use of redundant path | ||||
s through a network, e.g., | ||||
as defined by <xref target="RFC6372"/> do not eliminate t | ||||
he chances of packet loss. Furthermore, | ||||
out-of-order packet delivery can be a side effect of rout | ||||
e changes. | ||||
</t><t> | ||||
Many real-time networks rely on physical rings of two-por | ||||
t devices, with | ||||
a relatively simple ring control protocol. This supports | ||||
redundant paths for | ||||
service protection with a minimum | ||||
of wiring. As an additional benefit, ring topologies can | ||||
often | ||||
utilize different topology management protocols than thos | ||||
e used for a mesh network, with | ||||
a consequent reduction in the response time to topology c | ||||
hanges. Of course, this comes | ||||
at some cost in terms of increased hop count, and thus la | ||||
tency, for the typical path. | ||||
</t><t> | ||||
In order to get the advantages of low hop count and still | ||||
ensure against even very brief | ||||
losses | ||||
of connectivity, DetNet employs explicit routes, where th | ||||
e path taken by a given DetNet flow | ||||
does not change, at least immediately, and likely not at | ||||
all, in response to network | ||||
topology events. Service protection (<xref target="srvcp | ||||
rot"/> or | ||||
<xref target="PacketEncoding"/>) | ||||
over explicit routes provides a high likelihood of contin | ||||
uous connectivity. | ||||
Explicit routes can be established in various ways, e.g., | ||||
with | ||||
RSVP-TE <xref target="RFC3209"/>, with Segment Routing (S | ||||
R) | ||||
<xref target="RFC8402"/>, via a Software | ||||
Defined Networking approach <xref target="RFC8453"/>, wit | ||||
h IS-IS | ||||
<xref target="RFC7813"/>, etc. | ||||
Explicit routes are typically used in MPLS TE LSPs. | ||||
</t><t> | ||||
Out-of-order packet delivery can be a side effect of dist | ||||
ributing a | ||||
single flow over multiple paths, especially when there is | ||||
a change | ||||
from one path to another when combining the flow. This is | ||||
irrespective of the distribution method used, and also ap | ||||
plies to | ||||
service protection over explicit routes. As described in | ||||
<xref target="inorder"/>, out-of-order packets influence | ||||
the | ||||
jitter of a flow and impact the amount of buffering neede | ||||
d to | ||||
process the data; therefore, DetNet service includes maxi | ||||
mum | ||||
allowed misordering as a constraint. The use of explicit | ||||
routes | ||||
helps to provide in-order delivery because there is no im | ||||
mediate | ||||
route change with the network topology, but the changes a | ||||
re plannable | ||||
as they are between the different explicit routes. | ||||
</t> | ||||
</section> | ||||
</section> | ||||
<section anchor="MoreGoals" title="Secondary goals for DetNet"> | ||||
<t> | ||||
Many applications require DetNet to provide additional services, includi ng coexistence with | Many applications require DetNet to provide additional services, includi ng coexistence with | |||
other QoS mechanisms <xref target="Coexistence"/> and protection against | other QoS mechanisms (<xref target="Coexistence" format="default"/>) and | |||
misbehaving transmitters | protection against misbehaving transmitters | |||
<xref target="FaultMitigation"/>. | (<xref target="FaultMitigation" format="default"/>). | |||
</t> | </t> | |||
<section anchor="Coexistence" title="Coexistence with normal traffic"> | <section anchor="Coexistence" numbered="true" toc="default"> | |||
<name>Coexistence with Normal Traffic</name> | ||||
<t> | <t> | |||
A DetNet network supports the dedication of a high proportion of t | A DetNet network supports the dedication of a high proportion of | |||
he | the network bandwidth to DetNet flows. But, no matter how much | |||
network bandwidth | is dedicated for DetNet flows, it is a goal of DetNet to coexist | |||
to DetNet flows. But, no matter how much is dedicated for DetNet | with existing Class-of-Service schemes (e.g., DiffServ). It is | |||
flows, it is | also important that non-DetNet traffic not disrupt the DetNet | |||
a goal of DetNet to coexist with existing Class of Service schemes | flow, of course (see Sections <xref target="FaultMitigation" forma | |||
(e.g., DiffServ). | t="counter"/> and <xref target="SecurityConsiderations" format="counter"/>). Fo | |||
It is also | r these reasons: | |||
important that non-DetNet traffic not disrupt the DetNet flow, of | ||||
course (see | ||||
<xref target="FaultMitigation"/> and <xref target="SecurityConside | ||||
rations"/>). | ||||
For these reasons: | ||||
<list style="symbols"> | ||||
<t> | ||||
Bandwidth (transmission opportunities) not utilized by a D | ||||
etNet flow is available | ||||
to non-DetNet packets (though not to other DetNet flows). | ||||
</t><t> | ||||
DetNet flows can be shaped or scheduled, in order to ensur | ||||
e that the | ||||
highest-priority non-DetNet | ||||
packet is also ensured a worst-case latency. | ||||
</t><t> | ||||
When transmission opportunities for DetNet flows are sched | ||||
uled in detail, then | ||||
the algorithm constructing the schedule should leave suffi | ||||
cient opportunities for | ||||
non-DetNet packets to satisfy the needs of the users of th | ||||
e network. Detailed | ||||
scheduling can also permit the time-shared use of buffer r | ||||
esources by different | ||||
DetNet flows. | ||||
</t> | ||||
</list> | ||||
</t><t> | ||||
Starvation of non-DetNet traffic must be avoided, e.g., by traffic | ||||
policing and shaping functions (e.g., <xref target="RFC | ||||
2475"/>). Thus, the net | ||||
effect of the presence of DetNet flows in a network on | ||||
the | ||||
non-DetNet flows is primarily a reduction in the availa | ||||
ble bandwidth. | ||||
</t> | </t> | |||
</section> | <ul spacing="normal"> | |||
<section anchor="FaultMitigation" title="Fault Mitigation"> | <li>Bandwidth (transmission opportunities) not utilized by a DetNet | |||
flow is | ||||
available to non-DetNet packets (though not to other DetNet flows). </li> | ||||
<li> DetNet flows can be shaped or scheduled, in order to ensure tha | ||||
t the | ||||
highest-priority non-DetNet packet is also ensured a worst-case latency. </li> | ||||
<li> When transmission opportunities for DetNet flows are scheduled | ||||
in detail, | ||||
the algorithm constructing the schedule should leave sufficient | ||||
opportunities for non-DetNet packets to satisfy the needs of the users of the | ||||
network. Detailed scheduling can also permit the time-shared use of buffer | ||||
resources by different DetNet flows. | ||||
</li> | ||||
</ul> | ||||
<t> Starvation of non-DetNet traffic must be avoided, for example, by | ||||
traffic policing and shaping functions (e.g., <xref target="RFC2475" f | ||||
ormat="default"/>). Thus, the net effect of the presence of DetNet | ||||
flows in a network on the non-DetNet flows is primarily a reduction | ||||
in the available bandwidth. | ||||
</t> | ||||
</section> | ||||
<section anchor="FaultMitigation" numbered="true" toc="default"> | ||||
<name>Fault Mitigation</name> | ||||
<t> | ||||
Robust real-time systems require reducing the number of possible | ||||
failures. Filters and policers should be used in a DetNet | ||||
network to detect if DetNet packets are received on the wrong | ||||
interface, at the wrong time, or in too great a volume. | ||||
Furthermore, filters and policers can take actions to discard | ||||
the offending packets or flows, or trigger shutting down the | ||||
offending flow or the offending interface. </t> | ||||
<t> It is also | ||||
essential that filters and service remarking be employed at the | ||||
network edge to prevent non-DetNet packets from being mistaken | ||||
for DetNet packets and thus impinging on the resources | ||||
allocated to DetNet packets. In particular, sending DetNet | ||||
traffic into networks that have not been provisioned in advance | ||||
to handle that DetNet traffic has to be treated as a fault. The | ||||
use of egress traffic filters, or equivalent mechanisms, to | ||||
prevent this from happening are strongly recommended at the | ||||
edges of DetNet networks and DetNet supporting networks. In | ||||
this context, the term 'provisioned' has a broad meaning, e.g., | ||||
provisioning could be performed via an administrative decision | ||||
that the downstream network has the available capacity to carry | ||||
the DetNet traffic that is being sent into it. </t> | ||||
<t> | <t> | |||
Robust real-time systems require reducing the number of | ||||
possible failures. Filters and policers should be used in a DetNet | ||||
network to | ||||
detect if DetNet packets are received | ||||
on the wrong interface, or at the wrong time, or in too great a vo | ||||
lume. | ||||
Furthermore, filters and policers can take | ||||
actions to discard the offending packets or flows, or trigger | ||||
shutting down the offending flow or the offending interface. | ||||
</t><t> | ||||
It is also essential that filters and service remarking be employe | ||||
d at the network edge | ||||
to prevent non-DetNet | ||||
packets from being mistaken for DetNet packets, and thus impinging | ||||
on the resources | ||||
allocated to DetNet packets. In particular, sending DetNet traffic | ||||
into networks that have not been provisioned in advance | ||||
to handle | ||||
that DetNet traffic has to be treated as a fault. The | ||||
use of | ||||
egress traffic filters, or equivalent mechanisms, to pr | ||||
event this | ||||
from happening are strongly recommended at the edges of | ||||
a DetNet | ||||
networks and DetNet supporting networks. In this conte | ||||
xt, the | ||||
term 'provisioned' has a broad meaning, e.g., provision | ||||
ing could be | ||||
performed via an administrative decision that the downs | ||||
tream network | ||||
has the available capacity to carry the DetNet traffic | ||||
that is being | ||||
sent into it. | ||||
</t><t> | ||||
Note that the sending of App-flows that do not use tran | Note that the sending of App-flows that do not use | |||
sport layer | transport-layer congestion control per <xref target="RF | |||
congestion control per <xref target="RFC2914"/> into a | C2914" format="default"/> into a network that is not | |||
network that | provisioned to handle such traffic has to be treated | |||
is not provisioned to handle such DetNet traffic has to | as a fault and prevented. PRF-generated DetNet | |||
be treated | member flows also need to be treated as not using | |||
as a fault and prevented. PRF generated DetNet member f | transport-layer congestion control even if the | |||
lows also | original App-flow supports transport-layer | |||
need to be treated as not using transport layer congest | congestion control because PREOF can remove | |||
ion control | congestion indications at the PEF and thereby hide | |||
even if the original App-flow supports transport layer | such indications (e.g., drops, ECN markings, | |||
congestion | increased latency) from end systems. | |||
control because PREOF can remove congestion indications | ||||
at the PEF | ||||
and thereby hide such indications (e.g., drops, ECN mar | ||||
kings, | ||||
increased latency) from end systems. | ||||
</t><t> | ||||
The mechanisms to support these requirements are both data plane | ||||
and implementation specific. Data plane specific solut | ||||
ions will | ||||
be specified in the relevant data plane solution docume | ||||
nt. There | ||||
also exist techniques, at present and/or in various sta | ||||
ges of | ||||
standardization, that can support these fault mitigation tasks tha | ||||
t 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 of the misbehavi | ||||
ng device. | ||||
Examples of such techniques include traffic policing and shaping f | ||||
unctions (e.g., | ||||
<xref target="RFC2475"/>) and separating flows into per-flow rate- | ||||
limited queues, | ||||
and potentially apply active queue management <xref tar | ||||
get="RFC7567"/>. | ||||
</t> | </t> | |||
<t> The mechanisms to support these requirements are both Data | ||||
Plane and implementation specific. Solutions that are data-plane | ||||
specific will be specified in the relevant data-plane solution | ||||
document. There also exist techniques, at present and/or in various | ||||
stages of standardization, that can support these fault-mitigation | ||||
tasks that deliver a high probability that misbehaving systems will | ||||
have zero impact on well-behaved DetNet flows with the exception, of | ||||
course, of the receiving interface(s) immediately downstream from | ||||
the misbehaving device. Examples of such techniques include traffic | ||||
policing and shaping functions (e.g., those described in <xref target= | ||||
"RFC2475" format="default"/>), | ||||
separating flows into per-flow rate-limited queues, and potentially | ||||
applying active queue management <xref target="RFC7567" format="defaul | ||||
t"/>. | ||||
</t> | ||||
</section> | ||||
</section> | </section> | |||
</section> | ||||
</section> | </section> | |||
<section anchor="arch" numbered="true" toc="default"> | ||||
<section anchor="arch" title="DetNet Architecture"> | <name>DetNet Architecture</name> | |||
<section anchor="Stacks" title="DetNet stack model"> | <section anchor="Stacks" numbered="true" toc="default"> | |||
<t> | <name>DetNet Stack Model</name> | |||
DetNet functionality (<xref target="ProvidingQoS"/>) is impleme | <t> | |||
nted | DetNet functionality (<xref target="ProvidingQoS" format="defau | |||
lt"/>) is implemented | ||||
in two adjacent sub-layers in the protocol stack: the DetNet se rvice | in two adjacent sub-layers in the protocol stack: the DetNet se rvice | |||
sub-layer and the DetNet forwarding sub-layer. The DetNet servi ce sub-layer | sub-layer and the DetNet forwarding sub-layer. The DetNet servi ce sub-layer | |||
provides DetNet service, e.g., service protection, to higher l ayers | provides DetNet service, e.g., service protection, to higher l ayers | |||
in the protocol stack and applications. The DetNet forwarding s ub-layer | in the protocol stack and applications. The DetNet forwarding s ub-layer | |||
supports DetNet service in the underlying network, e.g., by | supports DetNet service in the underlying network, e.g., by | |||
providing explicit routes and resource allocation to DetNet flo ws. | providing explicit routes and resource allocation to DetNet flo ws. | |||
</t> | </t> | |||
<section anchor="StackModel" title="Representative Protocol Stack Model" | <section anchor="StackModel" numbered="true" toc="default"> | |||
> | <name>Representative Protocol Stack Model</name> | |||
<t> | <t> | |||
<xref target="ProtStack1"/> illustrates a conceptual DetNet data | <xref target="ProtStack1" format="default"/> illustrates a conce | |||
plane layering model. | ptual DetNet data-plane layering model. | |||
One may compare it to that in <xref target="IEEE802.1CB"/>, Anne | One may compare it to that in <xref target="IEEE802.1CB" format= | |||
x C. | "default"/>, Annex C. | |||
</t> | </t> | |||
<figure align="center" anchor="ProtStack1" | <figure anchor="ProtStack1"> | |||
title="DetNet data plane protocol stack"> | <name>DetNet Data-Plane Protocol Stack</name> | |||
<artwork align="center"><![CDATA[ | <artwork align="center" name="" type="" alt=""><![CDATA[ | |||
| packets going | ^ packets coming ^ | | packets going | ^ packets coming ^ | |||
v down the stack v | up the stack | | v down the stack v | up the stack | | |||
+-----------------------+ +-----------------------+ | +-----------------------+ +-----------------------+ | |||
| Source | | Destination | | | Source | | Destination | | |||
+-----------------------+ +-----------------------+ | +-----------------------+ +-----------------------+ | |||
| Service sub-layer: | | Service sub-layer: | | | Service sub-layer: | | Service sub-layer: | | |||
| Packet sequencing | | Duplicate elimination | | | Packet sequencing | | Duplicate elimination | | |||
| Flow replication | | Flow merging | | | Flow replication | | Flow merging | | |||
| Packet encoding | | Packet decoding | | | Packet encoding | | Packet decoding | | |||
+-----------------------+ +-----------------------+ | +-----------------------+ +-----------------------+ | |||
| Forwarding sub-layer: | | Forwarding sub-layer: | | | Forwarding sub-layer: | | Forwarding sub-layer: | | |||
| Resource allocation | | Resource allocation | | | Resource allocation | | Resource allocation | | |||
| Explicit routes | | Explicit routes | | | Explicit routes | | Explicit routes | | |||
+-----------------------+ +-----------------------+ | +-----------------------+ +-----------------------+ | |||
| Lower layers | | Lower layers | | | Lower layers | | Lower layers | | |||
+-----------------------+ +-----------------------+ | +-----------------------+ +-----------------------+ | |||
v ^ | v ^ | |||
\_________________________/ | \_________________________/ | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t> | <t> | |||
Not all sub-layers are required for any given application, or ev en for any | Not all sub-layers are required for any given application, or ev en for any | |||
given network. The functionality shown in <xref target="ProtStac | given network. The functionality shown in <xref target="ProtStac | |||
k1"/> is: | k1" format="default"/> is: | |||
<list hangIndent="8" style="hanging"> | </t> | |||
<t hangText="Application"><vspace blankLines="0"/> | <dl newline="true" spacing="normal" indent="3"> | |||
<dt>Application</dt> | ||||
<dd> | ||||
Shown as "source" and "destination" in the diagram. | Shown as "source" and "destination" in the diagram. | |||
</t> | </dd> | |||
<t hangText="Packet sequencing"><vspace blankLines="0"/> | <dt>Packet sequencing</dt> | |||
As part of DetNet service protection, supplies the seque | <dd> | |||
nce number for | As part of the DetNet service sub-layer, the packet | |||
packet replication and elimination (<xref target="srvcpr | sequencing function supplies the sequence number for | |||
ot"/>), thus peers | packet replication and elimination for DetNet service | |||
with Duplicate elimination. This sub-layer is not neede | protection (<xref target="Seamless" format="default"/>); thu | |||
d if a higher layer protocol | s, its peer is | |||
is expected to perform any packet sequencing and duplica | duplicate elimination. This sub-layer is not needed if a | |||
te elimination | higher-layer protocol is expected to perform any packet | |||
required by the DetNet flow replication. | sequencing and duplicate elimination required by the | |||
</t> | DetNet flow replication. | |||
<t hangText="Duplicate elimination"><vspace blankLines="0"/> | </dd> | |||
As part of the DetNet service sub-layer, based on the se | <dt>Duplicate elimination</dt> | |||
quenced number | <dd> | |||
supplied by its peer, packet sequencing, | As part of the DetNet service sub-layer, based on the se | |||
Duplicate elimination discards any duplicate packets gen | quence number | |||
erated by DetNet | supplied by its peer (packet sequencing), | |||
duplicate elimination discards any duplicate packets gen | ||||
erated by DetNet | ||||
flow replication. It can operate on member flows, compo und flows, or both. | flow replication. It can operate on member flows, compo und flows, or both. | |||
The replication may also be inferred from other | The replication may also be inferred from other | |||
information such as the precise time of reception in a s cheduled network. | information such as the precise time of reception in a s cheduled network. | |||
The duplicate elimination sub-layer may also perform res equencing of packets | The duplicate elimination sub-layer may also perform res equencing of packets | |||
to restore packet order in a | to restore packet order in a | |||
flow that was disrupted by the loss of packets on one or another of | flow that was disrupted by the loss of packets on one or another of | |||
the multiple paths taken. | the multiple paths taken. | |||
</t> | </dd> | |||
<t hangText="Flow replication"><vspace blankLines="0"/> | <dt>Flow replication</dt> | |||
As part of DetNet service protection, packets that belon | <dd> As | |||
g to a | part of DetNet service protection, packets that belong to | |||
DetNet compound flow are replicated into two or more Det | a DetNet compound flow are replicated into two or more | |||
Net member flows. | DetNet member flows. This function is separate from | |||
This function is separate from packet sequencing. Flow | packet sequencing. Flow replication can be an explicit | |||
replication | replication and remarking of packets or can be performed | |||
can be an explicit replication and remarking of packets, | by, for example, techniques similar to ordinary multicast | |||
or can be performed by, | replication, albeit with resource allocation implications. | |||
for example, techniques similar to ordinary multicast re | Its peer is DetNet flow merging. | |||
plication, albeit with | </dd> | |||
resource allocation implications. | <dt>Flow merging</dt> | |||
Peers with DetNet flow merging. | <dd> As | |||
</t> | part of the DetNet service sub-layer, the flow merging | |||
<t hangText="Flow merging"><vspace blankLines="0"/> | function combines DetNet member flows together for packets | |||
As part of DetNet service protection, merges | coming up the stack belonging to a specific DetNet | |||
DetNet member flows together for packets coming up the s | compound flow. DetNet flow merging, together with packet | |||
tack belonging to a | sequencing, duplicate elimination, and DetNet flow | |||
specific DetNet compound flow. | replication perform packet replication and elimination | |||
Peers with DetNet flow replication. | (<xref target="srvcprot" format="default"/>). Its peer is De | |||
DetNet flow merging, together with packet sequencing, du | tNet flow | |||
plicate elimination, | replication. | |||
and DetNet flow replication perform | </dd> | |||
packet replication and elimination (<xref target="srvcpr | <dt>Packet encoding</dt> | |||
ot"/>). | <dd> As | |||
</t> | part of DetNet service protection, as an alternative to | |||
<t hangText="Packet encoding"><vspace blankLines="0"/> | packet sequencing and flow replication, packet encoding | |||
As part of DetNet service protection, as an alternative | combines the information in multiple DetNet packets, | |||
to packet sequencing | perhaps from different DetNet compound flows, and | |||
and flow replication, packet encoding combines the infor | transmits that information in packets on different DetNet | |||
mation in | member flows. Its peer is packet decoding. | |||
multiple DetNet packets, perhaps from different DetNet c | </dd> | |||
ompound flows, and transmits that | <dt>Packet decoding</dt> | |||
information in packets on different DetNet member Flows. | <dd> As | |||
Peers with Packet decoding. | part of DetNet service protection, as an alternative to | |||
</t> | flow merging and duplicate elimination, packet decoding | |||
<t hangText="Packet decoding"><vspace blankLines="0"/> | takes packets from different DetNet member flows and | |||
As part of DetNet service protection, as an alternative | computes from those packets the original DetNet packets | |||
to flow merging and | from the compound flows input to packet encoding. Its | |||
duplicate elimination, packet decoding takes packets fro | peer is packet encoding. | |||
m different DetNet member | </dd> | |||
flows, and computes from those packets the original DetN | <dt>Resource allocation</dt> | |||
et packets from the | <dd> | |||
compound flows input to packet encoding. Peers with Pac | The DetNet forwarding sub-layer provides resource | |||
ket encoding. | allocation. See <xref target="QueuingModels" format="default | |||
</t> | "/>. The | |||
<t hangText="Resource allocation"><vspace blankLines="0"/> | actual queuing and shaping mechanisms are typically | |||
The DetNet forwarding sub-layer provides resource alloca | provided by the underlying subnet. These can be closely | |||
tion. See <xref target="QueuingModels"/>. | associated with the means of providing paths for DetNet | |||
The actual queuing and shaping mechanisms are typically | flows. The path and the resource allocation are conflated | |||
provided by underlying subnet. | in this figure. | |||
These can be closely associated with the means of provid | </dd> | |||
ing paths | <dt>Explicit routes</dt> | |||
for DetNet flows. | <dd> | |||
The path and the resource allocation are conflated in th | Explicit routes are arrangements of fixed paths operated at | |||
is figure. | the DetNet forwarding sub-layer that are determined in advance | |||
</t> | to avoid the impact of network convergence on DetNet flows. | |||
<t hangText="Explicit routes"><vspace bla | </dd> | |||
nkLines="0"/> | </dl> | |||
The DetNet forwarding sub-layer provides mechanisms to e | <t> | |||
nsure that fixed paths are provided | Operations, Administration, and Maintenance (OAM) leverages | |||
for DetNet flows. These explicit paths avoid the impact | in-band and out-of-band signaling that validates whether the | |||
of network convergence. | service is effectively obtained within QoS constraints. OAM is | |||
</t> | not shown in <xref target="ProtStack1" format="default"/>; it may re | |||
side in any | ||||
</list> | number of the layers. OAM can involve specific tagging added in | |||
</t> | the packets for tracing implementation or network configuration | |||
<t> | errors; traceability enables finding whether a packet is a | |||
Operations, Administration, and Maintenance (OAM) leverages in-band | replica, which DetNet relay node performed the replication, and | |||
and | which segment was intended for the replica. Active and hybrid OAM | |||
out-of-band signaling that validates whether the service | methods require additional bandwidth to perform fault management | |||
is effectively | and performance monitoring of the DetNet domain. OAM may, for | |||
obtained within QoS constraints. OAM is not shown in | instance, generate special test probes or add OAM information into | |||
<xref target="ProtStack1"/>; it may reside in any number | the data packet. | |||
of the layers. | </t> | |||
OAM can involve specific tagging added in the packets for | <t> | |||
tracing implementation | The packet replication and elimination functions may be | |||
or network configuration errors; traceability enables to | performed either at the source and destination ends of a | |||
find whether a | DetNet compound flow or in a DetNet relay node. | |||
packet is a replica, which DetNet relay node performed th | </t> | |||
e replication, and which | ||||
segment was intended for the replica. Active and hybrid O | ||||
AM methods require | ||||
additional bandwidth to perform fault management and perf | ||||
ormance monitoring | ||||
of the DetNet domain. OAM may, for instance, generate spe | ||||
cial test probes or | ||||
add OAM information into the data packet. | ||||
</t> | ||||
<t> | ||||
The packet sequencing and replication elimination functions at t | ||||
he | ||||
source and destination ends of a DetNet compound flow may be per | ||||
formed either | ||||
in the end system or in a DetNet relay node. | ||||
</t> | ||||
</section> | </section> | |||
<section title="DetNet Data Plane Overview" anchor="sec_dt_dp"> | <section anchor="sec_dt_dp" numbered="true" toc="default"> | |||
<name>DetNet Data-Plane Overview</name> | ||||
<t> | <t> | |||
A "Deterministic Network" will be composed of DetNet enabled end | A "Deterministic Network" will be composed of DetNet-enabled end | |||
systems, DetNet edge nodes, and DetNet relay nodes, which collective | systems, DetNet edge nodes, and DetNet relay nodes, which | |||
ly deliver DetNet | collectively deliver DetNet services. DetNet relay and edge nodes | |||
services. DetNet relay and edge nodes are interconnected via DetNet | are interconnected via DetNet transit nodes (e.g., LSRs), which | |||
transit nodes | support DetNet but are not DetNet service aware. All DetNet nodes | |||
(e.g., LSRs) which support DetNet, but are not DetNet service | are connected to sub-networks, where a point-to-point link is also | |||
aware. All DetNet nodes are connected to | considered a simple sub-network. These sub-networks provide | |||
sub-networks, where a point-to-point link is also considered as a | DetNet-compatible service for support of DetNet traffic. Examples | |||
simple sub-network. These | of sub-network technologies include MPLS TE, TSN as defined by | |||
sub-networks will provide DetNet compatible service for support of D | IEEE 802.1, and OTN (Optical Transport Network). Of course, | |||
etNet | multilayer DetNet systems may also be possible, where one DetNet | |||
traffic. Examples of sub-network technologies include MPLS TE, IEEE | appears as a sub-network and provides service to a higher-layer | |||
802.1 TSN and | DetNet system. A simple DetNet concept network is shown in <xref tar | |||
OTN. Of course, multi-layer DetNet systems may also be possible, wh | get="fig_detnet" format="default"/>. | |||
ere | ||||
one DetNet appears as a sub-network, and provides service to, a high | Note that in this and following figures, "Forwarding" and "Fwd" refer to the | |||
er layer | DetNet forwarding sub-layer, and "Service" and "Svc" refer to the DetNet | |||
DetNet system. A simple DetNet concept network is shown in <xref tar | service sub-layer; both of these sub-layers are described in detail in <xref tar | |||
get="fig_detnet"/>. | get="StackModel" format="default"/>. | |||
Note that in this and following figures "Forwarding" and | ||||
"Fwd" refer to the DetNet | ||||
forwarding sub-layer, "Service" and "Svc" refer to the De | ||||
tNet service sub-layer, | ||||
which are described in detail in <xref target="Stacks"/>. | ||||
</t> | </t> | |||
<figure anchor="fig_detnet" align="center" | <figure anchor="fig_detnet"> | |||
title="A Simple DetNet Enabled Network"> | <name>A Simple DetNet-Enabled Network</name> | |||
<artwork align="center"><![CDATA[ | <artwork align="center" name="" type="" alt=""><![CDATA[ | |||
TSN Edge Transit Relay DetNet | TSN Edge Transit Relay DetNet | |||
End System Node Node Node End System | End System Node Node Node End System | |||
+----------+ +.........+ +----------+ | +----------+ +.........+ +----------+ | |||
| Appl. |<--:Svc Proxy:-- End to End Service -------->| Appl. | | | Appl. |<--:Svc Proxy:-- End-to-End Service -------->| Appl. | | |||
+----------+ +---------+ +---------+ +----------+ | +----------+ +---------+ +---------+ +----------+ | |||
| TSN | |TSN| |Svc|<- DetNet flow --: Service :-->| Service | | | TSN | |TSN| |Svc|<- DetNet flow --: Service :-->| Service | | |||
+----------+ +---+ +---+ +--------+ +---------+ +----------+ | +----------+ +---+ +---+ +--------+ +---------+ +----------+ | |||
|Forwarding| |Fwd| |Fwd| | Fwd | |Fwd| |Fwd| |Forwarding| | |Forwarding| |Fwd| |Fwd| | Fwd | |Fwd| |Fwd| |Forwarding| | |||
+-------.--+ +-.-+ +-.-+ +--.----.+ +-.-+ +-.-+ +---.------+ | +-------.--+ +-.-+ +-.-+ +--.----.+ +-.-+ +-.-+ +---.------+ | |||
: Link : / ,-----. \ : Link : / ,-----. \ | : Link : / ,-----. \ : Link : / ,-----. \ | |||
+........+ +-[ Sub ]-+ +.......+ +-[ Sub ]-+ | +........+ +-[ Sub- ]-+ +.......+ +-[ Sub- ]-+ | |||
[Network] [Network] | [network] [network] | |||
`-----' `-----' | `-----' `-----' | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t> | <t> | |||
DetNet data plane is divided into two sub-layers: the DetNet | DetNet Data Plane is divided into two sub-layers: the DetNet | |||
service sub-layer and the DetNet forwarding sub-layer. Th | service sub-layer and the DetNet forwarding sub-layer. This helps | |||
is | to explore and evaluate various combinations of the data-plane | |||
helps to explore and evaluate various combinations of the | solutions available. Some of them are illustrated in <xref target="f | |||
data | ig_adaptation" format="default"/>. This separation of DetNet sub-layers, | |||
plane solutions available. Some of them are illustrated i | while helpful, should not be considered a formal requirement. | |||
n | For example, some technologies may violate these strict sub-layers | |||
<xref target="fig_adaptation"/>. This separation of DetN | and still be able to deliver a DetNet service. | |||
et | ||||
sub-layers, while helpful, should not be considered as fo | ||||
rmal | ||||
requirement. For example, some technologies may violate | ||||
these | ||||
strict sub-layers and still be able to deliver a DetNet s | ||||
ervice. | ||||
</t> | </t> | |||
<figure anchor="fig_adaptation"> | ||||
<figure anchor="fig_adaptation" align="center" | <name>DetNet Adaptation to Data Plane</name> | |||
title="DetNet adaptation to data plane"> | <artwork align="center" name="" type="" alt=""><![CDATA[ | |||
<artwork align="center"><![CDATA[ | ||||
. | . | |||
. | . | |||
+-----------------------------+ | +-----------------------------+ | |||
| DetNet Service sub-layer | PW, UDP, GRE | | DetNet Service sub-layer | PW, UDP, GRE | |||
+-----------------------------+ | +-----------------------------+ | |||
| DetNet Forwarding sub-layer | IPv6, IPv4, MPLS TE LSPs, MPLS SR | | DetNet Forwarding sub-layer | IPv6, IPv4, MPLS TE LSPs, MPLS SR | |||
+-----------------------------+ | +-----------------------------+ | |||
. | . | |||
. | . | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t> | <t> | |||
In some networking scenarios, the end system initially provides a De | In some networking scenarios, the end system initially provides a | |||
tNet | DetNet flow encapsulation, which contains all information needed | |||
flow encapsulation, which contains all information needed by DetNet | by DetNet nodes (e.g., DetNet flow based on the Real-time Transport | |||
nodes | Protocol (RTP) <xref target="RFC3550" format="default"/> that is car | |||
(e.g., Real-time Transport Protocol (RTP) <xref target="RFC3550"/> b | ried over a | |||
ased | native UDP/IP network or pseudowire (PW)). In other scenarios, the | |||
DetNet flow carried over a native UDP/IP network or PseudoWire). In | encapsulation formats might differ significantly. | |||
other scenarios, the encapsulation formats might differ significantl | ||||
y. | ||||
</t> | </t> | |||
<t> | <t> | |||
There are many valid options to create a data plane solution for Det Net | There are many valid options to create a data-plane solution for Det Net | |||
traffic by selecting a technology approach for the DetNet service su b-layer and | traffic by selecting a technology approach for the DetNet service su b-layer and | |||
also selecting a technology approach for the DetNet forwarding sub-l ayer. There are | also selecting a technology approach for the DetNet forwarding sub-l ayer. There are | |||
a large number of valid combinations. | a large number of valid combinations. | |||
</t> | </t> | |||
<t> | <t> | |||
One of the most fundamental differences between different potential | One of the most fundamental differences between different | |||
data plane options is the basic headers used by DetNet | potential data-plane options is the basic headers used by DetNet | |||
nodes. For example, the basic service can be delivered based on an | nodes. For example, the basic service can be delivered based on | |||
MPLS label | an MPLS label or an IP header. This decision impacts the basic | |||
or an IP header. This decision impacts the basic forwardi | forwarding logic for the DetNet service sub-layer. Note that in | |||
ng logic for the DetNet | both cases, IP addresses are used to address DetNet nodes. The | |||
service sub-layer. Note that in both cases, IP addresses | selected DetNet forwarding sub-layer technology also needs to be | |||
are used to address DetNet nodes. | mapped to the subnet technology used to interconnect DetNet | |||
The selected DetNet forwarding sub-layer technology also needs to | nodes. For example, DetNet flows will need to be mapped to TSN | |||
be mapped to the sub-net | Streams. | |||
technology used to interconnect DetNet nodes. For example | ||||
, DetNet flows will need to | ||||
be mapped to TSN Streams. | ||||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="netref" title="Network reference model"> | <section anchor="netref" numbered="true" toc="default"> | |||
<name>Network Reference Model</name> | ||||
<t> <xref target="fig_DetNetservice"/> shows another view of the | <t> <xref target="fig_DetNetservice" format="default"/> shows another | |||
DetNet service related reference points and main componen | view of the | |||
ts. | DetNet service-related reference points and main componen | |||
</t> | ts. | |||
</t> | ||||
<figure anchor="fig_DetNetservice" align="center" | <figure anchor="fig_DetNetservice"> | |||
title="DetNet Service Reference Model (multi-domain)"> | <name>DetNet Service Reference Model (Multidomain)</name> | |||
<artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
DetNet DetNet | DetNet DetNet | |||
end system end system | End System End System | |||
_ _ | _ _ | |||
/ \ +----DetNet-UNI (U) / \ | / \ +----DetNet-UNI (U) / \ | |||
/App\ | /App\ | /App\ | /App\ | |||
/-----\ | /-----\ | /-----\ | /-----\ | |||
| NIC | v ________ | NIC | | | NIC | v ________ | NIC | | |||
+--+--+ _____ / \ DetNet-UNI (U) --+ +--+--+ | +--+--+ _____ / \ DetNet-UNI (U) --+ +--+--+ | |||
| / \__/ \ | | | | / \__/ \ | | | |||
| / +----+ +----+ \_____ | | | | / +----+ +----+ \_____ | | | |||
| / | | | | \_______ | | | | / | | | | \_______ | | | |||
+------U PE +----+ P +----+ \ _ v | | +------U PE +----+ P +----+ \ _ v | | |||
| | | | | | | ___/ \ | | | | | | | | | ___/ \ | | |||
| +--+-+ +----+ | +----+ | / \_ | | | +--+-+ +----+ | +----+ | / \_ | | |||
\ | | | | | / \ | | \ | | | | | / \ | | |||
\ | +----+ +--+-+ +--+PE |------ U-----+ | \ | +----+ +--+-+ +--+PE |------ U-----+ | |||
\ | | | | | | | | | \_ _/ | \ | | | | | | | | | \_ _/ | |||
\ +---+ P +----+ P +--+ +----+ | \____/ | \ +---+ P +----+ P +--+ +----+ | \____/ | |||
\___ | | | | / | \___ | | | | / | |||
\ +----+__ +----+ DetNet-1 DetNet-2 | \ +----+__ +----+ DetNet-1 DetNet-2 | |||
| \_____/ \___________/ | | | \_____/ \___________/ | | |||
| | | | | | |||
| | End-to-End service | | | | | | | End-to-End Service | | | | | |||
<-------------------------------------------------------------> | <-------------------------------------------------------------> | |||
| | DetNet service | | | | | | | DetNet Service | | | | | |||
| <------------------------------------------------> | | | <------------------------------------------------> | | |||
| | | | | | | | | | | | | | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t>DetNet User-to-Network Interfaces (DetNet-UNIs) ("U" in <xref targe | ||||
<t>DetNet User Network Interfaces (DetNet-UNIs) ("U" in <xref target | t="fig_DetNetservice" format="default"/>) are assumed in this document to be | |||
="fig_DetNetservice"/>) are assumed in this document to be packet-based referenc | packet-based reference points and provide connectivity over the | |||
e points and provide connectivity over the packet network. A DetNet-UNI may prov | packet network. A DetNet-UNI may provide multiple functions. For | |||
ide multiple functions, e.g., it may add networking technology specific encapsul | example, it may: | |||
ation to the DetNet flows if necessary; it may provide status of the availabilit | </t> | |||
y of the resources associated with a reservation; it may provide a synchronizati | <ul spacing="normal"> | |||
on service for the end system; it may carry enough signaling to place the reserv | <li>add encapsulation specific to networking technology to the DetNe | |||
ation in a network without a controller, or if the controller only deals with th | t flows if necessary, | |||
e network but not the end systems. Internal reference points of end systems (bet | </li> | |||
ween the application and the NIC) are more challenging from control perspective | <li>provide status of the availability of the resources associated w | |||
and they may have extra requirements (e.g., in-order delivery is expected in end | ith a reservation, | |||
system internal reference points, whereas it is considered optional over the De | </li> | |||
tNet-UNI).</t> | <li>provide a synchronization service for the end system, or | |||
</li> | ||||
<li>carry enough signaling to place the reservation in a network wit | ||||
hout a | ||||
controller or in a network where the controller only deals with the network | ||||
but not the end systems. | ||||
</li> | ||||
</ul> | ||||
<t> | ||||
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 (e.g., | ||||
in-order delivery is expected in end system internal reference | ||||
points, whereas it is considered optional over the DetNet-UNI).</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="netrefsys" title="DetNet systems"> | <section anchor="netrefsys" numbered="true" toc="default"> | |||
<section anchor="es" title="End system"> | <name>DetNet Systems</name> | |||
<t> | <section anchor="es" numbered="true" toc="default"> | |||
The traffic characteristics of an App-flow can be CBR (constant b | <name>End System</name> | |||
it rate) or VBR (variable bit rate) and can have Layer-1 or Layer-2 or Layer-3 e | <t> | |||
ncapsulation (e.g., TDM (time-division multiplexing), Ethernet, IP). These chara | The traffic characteristics of an App-flow can be CBR | |||
cteristics are considered as input for resource reservation and might be simplif | (constant bit rate) or VBR (variable bit rate) and can have | |||
ied to ensure determinism during packet forwarding (e.g., making reservations fo | Layer 1, Layer 2, or Layer 3 encapsulation (e.g., TDM | |||
r the peak rate of VBR traffic, etc.). | (time-division multiplexing) Ethernet, IP). These | |||
</t> | characteristics are considered as input for resource | |||
reservation and might be simplified to ensure determinism | ||||
<t> | during packet forwarding (e.g., making reservations for the | |||
An end system may or may not be DetNet forwarding sub-layer aware | peak rate of VBR traffic, etc.). | |||
or DetNet service sub-layer aware. That is, an end system may or may not contai | </t> | |||
n DetNet specific functionality. End systems with DetNet functionalities may hav | <t> | |||
e the same or different forwarding sub-layer as the connected DetNet domain. Cat | An end system may or may not be aware of the DetNet forwarding su | |||
egorization of end systems are shown in <xref target="fig_endsys2"/>. | b-layer | |||
</t> | or DetNet service sub-layer. That is, an end | |||
system may or may not contain DetNet-specific | ||||
<figure anchor="fig_endsys2" align="center" | functionality. End systems with DetNet functionalities may | |||
title="Categorization of end systems"> | have the same or different forwarding sub-layer as the | |||
<artwork><![CDATA[ | connected DetNet domain. Categorization of end systems are | |||
shown in <xref target="fig_endsys2" format="default"/>. | ||||
</t> | ||||
<figure anchor="fig_endsys2"> | ||||
<name>Categorization of End Systems</name> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
End system | End system | |||
| | | | |||
| | | | |||
| DetNet aware ? | | DetNet aware ? | |||
/ \ | / \ | |||
+------< >------+ | +------< >------+ | |||
NO | \ / | YES | NO | \ / | YES | |||
| v | | | v | | |||
DetNet unaware | | DetNet-unaware | | |||
End system | | End system | | |||
| Service/Forwarding | | Service/Forwarding | |||
| sub-layer | | sub-layer | |||
/ \ aware ? | / \ aware ? | |||
+--------< >-------------+ | +--------< >-------------+ | |||
f-aware | \ / | s-aware | f-aware | \ / | s-aware | |||
| v | | | v | | |||
| | both | | | | both | | |||
| | | | | | | | |||
DetNet f-aware | DetNet s-aware | DetNet f-aware | DetNet s-aware | |||
End system | End system | End system | End system | |||
v | v | |||
DetNet sf-aware | DetNet sf-aware | |||
End system | End system | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t> | ||||
Note some known use case examples for end systems: | ||||
<list style="symbols"> | ||||
<t> DetNet unaware: The classic case requiring service pr | ||||
oxies.</t> | ||||
<t> DetNet f-aware: A DetNet forwarding sub-layer aware s | ||||
ystem. It knows about some TSN functions (e.g., reservation), but not about serv | ||||
ice protection. </t> | ||||
<t> DetNet s-aware: A DetNet service sub-layer aware syst | ||||
em. It supplies sequence numbers, but doesn't know about resource allocation. </ | ||||
t> | ||||
<t> DetNet sf-aware: A full 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 dom | ||||
ain. </t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
<section anchor="ertn" title="DetNet edge, relay, and transit nodes"> | ||||
<t> | <t> | |||
As shown in <xref target="fig_detnet"/>, DetNet edge nodes providing | The following are some known use case examples for end systems: | |||
proxy | </t> | |||
service and DetNet relay nodes providing the DetNet service sub-laye | <ul spacing="normal"> | |||
r are | <li> DetNet unaware: The classic case requiring service proxies.</li | |||
DetNet-aware, and DetNet transit nodes need only be aware of the Det | > | |||
Net | <li> DetNet f-aware: A system that is aware of the DetNet forwarding | |||
forwarding sub-layer. | sub-layer. It knows about some TSN | |||
</t><t> | functions (e.g., reservation) but not about service | |||
In general, if a DetNet flow passes through one or more DetNet-unawa | protection. </li> | |||
re | <li> DetNet s-aware: A system that is aware of the DetNet service | |||
network nodes between two DetNet nodes providing the DetNet forwardi | sub-layer. It supplies sequence numbers but | |||
ng sub-layer | doesn't know about resource allocation. </li> | |||
for that flow, there is a potential for disruption or failure of the | <li> DetNet sf-aware: A fully functioning DetNet end | |||
DetNet QoS. A network administrator needs to ensure that the DetNet | system. It has DetNet functionalities and usually the | |||
-unaware | same forwarding paradigm as the connected DetNet | |||
network nodes are configured to minimize the chances of packet loss | domain. It can be treated as an integral part of the | |||
and | DetNet domain. </li> | |||
delay, and provision enough extra buffer space in the DetNet transit | </ul> | |||
node | </section> | |||
following the DetNet-unaware network nodes to absorb the induced lat | <section anchor="ertn" numbered="true" toc="default"> | |||
ency | <name>DetNet Edge, Relay, and Transit Nodes</name> | |||
variations. | <t> | |||
As shown in <xref target="fig_detnet" format="default"/>, DetNet edg | ||||
e nodes | ||||
providing proxy service and DetNet relay nodes providing the | ||||
DetNet service sub-layer are DetNet aware, and DetNet transit | ||||
nodes need only be aware of the DetNet forwarding sub-layer. | ||||
</t> | ||||
<t> 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. | ||||
</t> | </t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="DetNetFlows" title="DetNet flows"> | <section anchor="DetNetFlows" numbered="true" toc="default"> | |||
<name>DetNet Flows</name> | ||||
<section anchor="DetNetFlowsTypes" title="DetNet flow types"> | <section anchor="DetNetFlowsTypes" numbered="true" toc="default"> | |||
<t> | <name>DetNet Flow Types</name> | |||
A DetNet flow can have different formats while its p | <t> | |||
ackets are | A DetNet flow can have different formats while its packets are forwarded | |||
forwarded between the peer end systems depending | between the peer end systems depending on the type of the end | |||
on the type | systems. Corresponding to the end system types, the following possible | |||
of the end systems. Corresponding to the end sys | types/formats of a DetNet flow are distinguished in this document. The | |||
tem types, | different flow types have different requirements to DetNet nodes. | |||
the following possible types / formats of a DetN | </t> | |||
et flow are | <ul spacing="normal"> | |||
distinguished in this document. The different fl | <li> App-flow: The payload (data) carried over a DetNet | |||
ow types have | flow between DetNet-unaware end systems. An App-flow does | |||
different requirements to DetNet nodes. | not contain any DetNet-related attributes and does not | |||
<list style="symbols"> | imply any specific requirement on DetNet nodes.</li> | |||
<t> App-flow: the payload (data) carried over a DetNet flow | <li> DetNet-f-flow: The specific format of a DetNet flow. It | |||
between DetNet unaware end systems. An | only requires the resource allocation features provided by | |||
app-flow does not | the DetNet forwarding sub-layer. </li> | |||
contain any DetNet related attributes a | <li> DetNet-s-flow: The specific format of a DetNet flow. It | |||
nd does not imply any | only requires the service protection feature ensured by | |||
specific requirement on DetNet nodes.</ | the DetNet service sub-layer. </li> | |||
t> | <li> DetNet-sf-flow: The specific format of a DetNet | |||
<t> DetNet-f-flow: specific format of a DetNet flow. It only | flow. It requires both the DetNet service sub-layer and | |||
requires the resource allocation features provided by the DetNet forwarding sub | the DetNet forwarding sub-layer functions during | |||
-layer. </t> | forwarding. </li> | |||
<t> DetNet-s-flow: specific format of a DetNet flow. It onl | </ul> | |||
y requires the service protection feature ensured by the DetNet service sub-laye | </section> | |||
r. </t> | <section anchor="FlowLimits" numbered="true" toc="default"> | |||
<t> DetNet-sf-flow: specific format of a DetNet flow. It re | <name>Source Transmission Behavior</name> | |||
quires both DetNet service | <t> | |||
sub-layer and DetNet forwarding sub-layer functions du | ||||
ring forwarding. </t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
<section anchor="FlowLimits" title="Source transmission behavior"> | ||||
<t> | ||||
For the purposes of resource allocation, | For the purposes of resource allocation, | |||
DetNet flows can be synchronous or asynchronous. | DetNet flows can be synchronous or asynchronous. | |||
In synchronous DetNet flows, at least the DetNet nodes (and po ssibly | In synchronous DetNet flows, at least the DetNet nodes (and po ssibly | |||
the end systems) are closely time | the end systems) are closely time | |||
synchronized, typically to better than 1 microsecond. By tran smitting | synchronized, typically to better than 1 microsecond. By tran smitting | |||
packets from different DetNet flows or classes of DetNet flows at different times, | packets from different DetNet flows or classes of DetNet flows at different times, | |||
using repeating schedules synchronized among the DetNet nodes, resources | using repeating schedules synchronized among the DetNet nodes, resources | |||
such as buffers and link bandwidth can be shared over the time domain | such as buffers and link bandwidth can be shared over the time domain | |||
among different DetNet flows. There is a tradeoff among techn iques for | among different DetNet flows. There is a trade-off among tech niques for | |||
synchronous DetNet flows between the burden of fine-grained sc heduling and the | synchronous DetNet flows between the burden of fine-grained sc heduling and the | |||
benefit of reducing the required resources, especially buffer space. | benefit of reducing the required resources, especially buffer space. | |||
</t><t> | </t> | |||
<t> | ||||
In contrast, asynchronous DetNet flows are not coordinated wit h a fine-grained | In contrast, asynchronous DetNet flows are not coordinated wit h a fine-grained | |||
schedule, so relay and end systems must assume worst-case inte rference | schedule, so relay and end systems must assume worst-case inte rference | |||
among DetNet flows contending for buffer resources. | among DetNet flows contending for buffer resources. | |||
Asynchronous DetNet flows are characterized by: | Asynchronous DetNet flows are characterized by: | |||
<list style="symbols"> | </t> | |||
<t> | <ul spacing="normal"> | |||
<li> | ||||
A maximum packet size; | A maximum packet size; | |||
</t><t> | </li> | |||
<li> | ||||
An observation interval; and | An observation interval; and | |||
</t><t> | </li> | |||
<li> | ||||
A maximum number of transmissions during that observat ion interval. | A maximum number of transmissions during that observat ion interval. | |||
</t> | </li> | |||
</list> | </ul> | |||
</t><t> | <t> These parameters, together with knowledge of the | |||
These parameters, together with knowledge of the protocol stac | protocol stack used (and thus the size of the various headers | |||
k used (and thus the | added to a packet), provide the bandwidth that is needed for the | |||
size of the various headers added to a packet), provide the ba | DetNet flow. </t> | |||
ndwidth that is needed for the DetNet flow. | <t> The source is required not to exceed these | |||
</t><t> | limits in order to obtain DetNet service. If the source | |||
The source is required not to exceed these limits in order to | transmits less data than this limit allows, then the unused resour | |||
obtain DetNet service. If the source | ce, | |||
transmits less data than this limit allows, the unused resourc | such as link bandwidth, can be made available by the DetNet | |||
e such as link | system to non-DetNet packets as long as all guarantees are | |||
bandwidth can be made available by the DetNet system to non-De | fulfilled. However, making those resources available to DetNet | |||
tNet packets as long as all guarantees are fulfilled. However, | packets in other DetNet flows would serve no purpose. Those | |||
making those resources available to DetNet packets in other De | other DetNet flows have their own dedicated resources, on the | |||
tNet flows would serve | assumption that all DetNet flows can use all of their resources | |||
no purpose. Those other DetNet flows have their own dedicated | over a long period of time. | |||
resources, on the | ||||
assumption that all DetNet flows can use all of their resource | ||||
s over a long | ||||
period of time. | ||||
</t><t> | </t> | |||
There is no expectation in DetNet for App-flows to be responsi | <t> | |||
ve to congestion control <xref target="RFC2914"/> or explicit congestion notific | There is no expectation in DetNet for App-flows to be responsive to | |||
ation <xref target="RFC3168"/>. The assumption | congestion control <xref target="RFC2914" format="default"/> or explicit co | |||
is that a DetNet flow, to be useful, must be delivered in its | ngestion | |||
entirety. That | notification <xref target="RFC3168" format="default"/>. The assumption is t | |||
is, while any useful application is written to expect a certai | hat a DetNet | |||
n number of lost | flow, to be useful, must be delivered in its entirety. That is, while | |||
packets, the real-time applications of interest to DetNet dema | any useful application is written to expect a certain number of lost | |||
nd that the loss of | packets, the real-time applications of interest to DetNet demand that the | |||
data due to the network is a rare event. | loss of data due to the network is a rare event. </t> | |||
</t><t> | <t> Although DetNet strives to minimize the changes required of an | |||
Although DetNet strives to minimize the changes required of an | application to allow it to shift from a special-purpose digital network to an | |||
application to | Internet Protocol network, one fundamental shift in the behavior of network | |||
allow it to shift from a special-purpose digital network to an | applications is impossible to avoid: the reservation of resources before the | |||
Internet Protocol | application starts. In the first place, a network cannot deliver finite | |||
network, one fundamental shift in | latency and practically zero packet loss to an arbitrarily high offered load. | |||
the behavior of network applications is impossible to avoid: t | Secondly, achieving practically zero packet loss for DetNet flows means that | |||
he reservation | DetNet nodes have to dedicate buffer resources to specific DetNet flows or to | |||
of resources before the application starts. | classes of DetNet flows. The requirements of each reservation have to be | |||
In the first place, a network cannot deliver finite latency an | translated into the parameters that control each DetNet system's queuing, | |||
d practically zero | shaping, and scheduling functions, and they have to be delivered to the DetNet | |||
packet loss to an arbitrarily high offered load. Secondly, ac | nodes and end | |||
hieving | systems. </t> | |||
practically zero packet loss for DetNet flows | <t> All nodes in a DetNet domain are expected to support the data beha | |||
means that DetNet nodes have to dedicate buffer resources to s | vior | |||
pecific | required to deliver a particular DetNet service. If a node itself is not | |||
DetNet flows or to classes of DetNet flows. The requirements | DetNet service aware, the DetNet nodes that are adjacent to them must ensure | |||
of each reservation have to be | that the node that is non-DetNet aware is provisioned to appropriately support | |||
translated into the parameters that control each DetNet system | the DetNet service. For example, a TSN node (as defined by IEEE 802.1) may be us | |||
's | ed to | |||
queuing, shaping, and scheduling functions and delivered to th | interconnect DetNet-aware nodes, and these DetNet nodes can map DetNet flows | |||
e DetNet nodes and end systems. | to 802.1 TSN flows. As another example, an MPLS-TE or MPLS-TP (Transport Profile | |||
</t><t> | ) domain may be used to | |||
All nodes in a DetNet domain are expected to suppor | interconnect DetNet-aware nodes, and these DetNet nodes can map DetNet flows | |||
t the data | to TE LSPs, which can provide the QoS requirements of the DetNet service. | |||
behavior required to deliver a particular DetNe | </t> | |||
t service. If | </section> | |||
a node itself is not DetNet service aware, the | <section anchor="Incomplete" numbered="true" toc="default"> | |||
DetNet nodes | <name>Incomplete Networks</name> | |||
that are adjacent to such non-DetNet aware node | <t> | |||
s must ensure | The presence in the network of intermediate nodes or subnets | |||
that the non-DetNet aware node is provisioned t | that are not fully capable of offering DetNet services | |||
o appropriately | complicates the ability of the intermediate nodes and/or | |||
support the DetNet service. For example, an IEE | controller to allocate resources, as extra buffering must be | |||
E 802.1 TSN | allocated at points downstream from the non-DetNet | |||
node may be used to interconnect DetNet aware n | intermediate node for a DetNet flow. This extra buffering | |||
odes, and these | may increase latency and/or jitter. | |||
DetNet nodes can map DetNet flows to 802.1 TSN | </t> | |||
flows. Another | </section> | |||
example, an MPLS-TE or TP domain may be used to | ||||
interconnect | ||||
DetNet aware nodes, and these DetNet nodes can | ||||
map DetNet | ||||
flows to TE LSPs which can provide the QoS requ | ||||
irements of the | ||||
DetNet service. | ||||
</t> | ||||
</section> | ||||
<section anchor="Incomplete" title="Incomplete Networks"> | ||||
<t> | ||||
The presence in the network of intermediate nodes or subnets t | ||||
hat are not fully capable of offering | ||||
DetNet services complicates the ability of the intermediate no | ||||
des and/or controller to | ||||
allocate resources, | ||||
as extra buffering must be allocated at points | ||||
downstream from the non-DetNet intermediate node | ||||
for a DetNet flow. This extra buffering may inc | ||||
rease latency and/or jitter. | ||||
</t> | ||||
</section> | ||||
</section> | </section> | |||
<section anchor="te" title="Traffic Engineering for DetNet"> | <section anchor="te" numbered="true" toc="default"> | |||
<name>Traffic Engineering for DetNet</name> | ||||
<t> | <t> | |||
<xref target="TEAS">Traffic Engineering Architecture and Signaling (TEA | <xref target="TEAS" format="default">Traffic Engineering Architecture a | |||
S) | nd Signaling (TEAS) | |||
</xref> defines traffic-engineering architectures for generic applicabi | </xref> defines traffic-engineering architectures for generic applicab | |||
lity | ility | |||
across packet and non-packet networks. | across packet and nonpacket networks. | |||
From a TEAS perspective, Traffic Engineering (TE) refers to techniques | From a TEAS perspective, Traffic Engineering (TE) refers to techniques | |||
that enable operators to control how specific traffic flows are treated | that enable operators to control how specific traffic flows are treated | |||
within their networks. | within their networks. | |||
</t> | </t> | |||
<t> | <t> | |||
Because if its very nature of establishing explicit optimized paths, | Because of its very nature of establishing explicit optimized paths, | |||
Deterministic Networking can be seen as a new, specialized branch of | DetNet can be seen as a new, specialized branch of | |||
Traffic Engineering, and inherits its architecture with a separation | TE, and it inherits its architecture with a separation | |||
into planes. | into planes. | |||
</t><t> | </t> | |||
The Deterministic Networking architecture is thus composed | <t> | |||
of three planes, a (User) Application Plane, a Controller Plane, and a | The DetNet architecture is thus composed | |||
Network Plane, which echoes that of Figure 1 of | of three planes: a (User) Application Plane, a Controller Plane, and a | |||
<xref target="RFC7426"> Software-Defined Networking (SDN): | Network Plane. This echoes the composition of Figure 1 of | |||
Layers and Architecture Terminology</xref>, and the Controllers | <xref target="RFC7426" format="default">"Software-Defined Networking (S | |||
identified in <xref target="RFC8453"/> and <xref target="RFC7149 | DN): | |||
"/>. | Layers and Architecture Terminology"</xref> and the controllers | |||
</t> | identified in <xref target="RFC8453" format="default"/> and <xre | |||
f target="RFC7149" format="default"/>. | ||||
<section anchor="appplane" title="The Application Plane"> | </t> | |||
<t> | <section anchor="appplane" numbered="true" toc="default"> | |||
Per <xref target="RFC7426"/>, | <name>The Application Plane</name> | |||
<t> | ||||
Per <xref target="RFC7426" format="default"/>, | ||||
the Application Plane includes both applications and services. In parti cular, | the Application Plane includes both applications and services. In parti cular, | |||
the Application Plane incorporates the User Agent, a specialized applic ation | the Application Plane incorporates the User Agent, a specialized applic ation | |||
that interacts with the end user / operator and performs requests for | that interacts with the end user and operator and performs requests for | |||
Deterministic Networking services via an abstract Flow Management Entit | DetNet services via an abstract Flow Management Entity | |||
y, | (FME), which may or may not be collocated with (one of) the end systems | |||
(FME) which may or may not be collocated with (one of) the end systems. | . | |||
</t> | </t> | |||
<t>At the Application Plane, a management interface enables the n | <t>At the Application Plane, a management interface enables | |||
egotiation of flows between end | the negotiation of flows between end systems. An abstraction | |||
systems. An abstraction of the flow called a Traffic Spec | of the flow called a Traffic Specification (TSpec) provides | |||
ification (TSpec) provides the | the representation. This abstraction is used to place a | |||
representation. This abstraction is used to place a reser | reservation over the (Northbound) Service Interface and within | |||
vation over the (Northbound) Service | the Application Plane. It is associated with an abstraction | |||
Interface and within the Application plane. | of location, such as IP addresses and DNS names, to identify | |||
It is associated with an abstraction of location, such as IP addresses | the end systems and possibly specify DetNet nodes. | |||
and DNS | </t> | |||
names, to identify the end systems and possibly specify D | </section> | |||
etNet nodes. | <section anchor="ctrlplane" numbered="true" toc="default"> | |||
</t> | <name>The Controller Plane</name> | |||
</section> | <t> | |||
<section anchor="ctrlplane" title="The Controller Plane"> | The Controller Plane corresponds to the aggregation of the Control | |||
<t> | and Management Planes in <xref target="RFC7426" format="default"/>, tho | |||
The Controller Plane corresponds to the aggregation of the Control and | ugh Common | |||
Management Planes in <xref target="RFC7426"/>, though | Control and Measurement Plane (CCAMP) (as defined by the CCAMP | |||
Common Control and Measurement Plane (CCAMP) <xref target="CCAMP"/> | Working Group <xref target="CCAMP" format="default"/>) makes an | |||
makes an additional distinction between management and measurement. | additional distinction between management and measurement. When the | |||
When the logical separation of the Control, Measurement and other | logical separation of the Control, Measurement, and other Management | |||
Management entities is not relevant, the term Controller Plane is used | entities is not relevant, the term "Controller Plane" is used for | |||
for simplicity to represent them all, and the term Controller Plane Fun | simplicity to represent them all, and the term "Controller Plane | |||
ction (CPF) refers to | Function (CPF)" refers to any device operating in that plane, whether | |||
any device operating in that plane, whether is it a Path Computation | it is a Path Computation Element (PCE) <xref target="RFC4655" format="d | |||
Element (PCE) <xref target="RFC4655"/>, or a Network Management entity | efault"/>, a | |||
(NME), or a distributed control plane. | Network Management Entity (NME), or a distributed control protocol. | |||
The CPF is a core | ||||
element of a controller, in charge of computing Deterministic paths | The CPF is a core element of a controller, in charge of computing | |||
to be applied in the Network Plane. | deterministic paths to be applied in the Network Plane. | |||
</t> | </t> | |||
<t> | <t> | |||
A (Northbound) Service Interface enables applications in the Applicatio n | A (Northbound) Service Interface enables applications in the Applicatio n | |||
Plane to communicate with the entities in the Controller Plane as | Plane to communicate with the entities in the Controller Plane as | |||
illustrated in <xref target="NorthSouth"/>. | illustrated in <xref target="NorthSouth" format="default"/>. | |||
</t> | </t> | |||
<t> | <t> | |||
One or more CPF(s) collaborate to implement the requests from the FME | One or more CPFs collaborate to implement the requests from the FME | |||
as Per-Flow Per-Hop Behaviors installed in the DetNet nod | as per-flow, per-hop behaviors installed in the DetNet nodes for each | |||
es for | individual flow. The CPFs place each flow along a deterministic | |||
each individual flow. The CPFs | arrangement of DetNet nodes so as to respect per-flow constraints such | |||
place each flow along a deterministic sequence of DetNet nodes so as | as security and latency, and to optimize the overall result for metrics | |||
to respect per-flow constraints such as security and | such as an abstract aggregated cost. The deterministic arrangement can | |||
latency, and optimize the overall result for metrics such | typically be more complex than a direct arrangement and include | |||
as an | redundant paths with one or more packet replication and elimination | |||
abstract aggregated cost. The deterministic sequence can typically be | points. Scaling to larger networks is discussed in <xref target="Scalin | |||
more complex than a direct sequence and include redundant paths, with | g" format="default"/>. | |||
one or more packet replication and elimination points. Scaling to large | </t> | |||
r | </section> | |||
networks is discussed in <xref target="Scaling"/>. | <section anchor="netplane" numbered="true" toc="default"> | |||
</t> | <name>The Network Plane</name> | |||
</section> | <t> | |||
<section anchor="netplane" title="The Network Plane"><t> | ||||
The Network Plane represents the network devices and protocols as a | The Network Plane represents the network devices and protocols as a whole, | |||
whole, regardless of the Layer at which the network devices operate. | regardless of the layer at which the network devices operate. It includes the | |||
It includes Forwarding Plane (data plane), Application, and | Data Plane and Operational Plane (e.g., OAM) aspects. | |||
Operational Plane (e.g., OAM) aspects. | </t> | |||
</t> | <t>The Network Plane comprises the Network Interface Cards (NICs) in t | |||
<t> | he | |||
The network Plane comprises the Network Interface Cards (NIC) in the | end systems, which are typically IP hosts, and DetNet nodes, which | |||
end systems, which are typically IP hosts, | are typically IP routers and MPLS switches. | |||
and DetNet nodes, which are typically IP routers and MPLS switches. | </t> | |||
Network-to-Network Interfaces such as used for Traffic Engineering | <t> | |||
path reservation in <xref target="RFC5921"/>, | ||||
as well as User-to-Network Interfaces (UNI) such as provided by | ||||
the Local Management Interface (LMI) between network and end systems, | ||||
are both part of the Network Plane, both in the control plane and | ||||
the data plane. | ||||
</t> | ||||
<t> | ||||
A Southbound (Network) Interface enables the entities in the Controller | A Southbound (Network) Interface enables the entities in the Controller | |||
Plane to communicate with devices in the Network Plane as illustrated | Plane to communicate with devices in the Network Plane as illustrated | |||
in <xref target="NorthSouth"/>. This interface leverages and ext ends | in <xref target="NorthSouth" format="default"/>. This interface leverages and extends | |||
TEAS to describe the physical topology and resources in the Netw ork | TEAS to describe the physical topology and resources in the Netw ork | |||
Plane. | Plane. | |||
</t> | </t> | |||
<figure align="center" anchor="NorthSouth" | <figure anchor="NorthSouth"> | |||
title="Northbound and Southbound interfaces"> | <name>Northbound and Southbound Interfaces</name> | |||
<artwork align="left"><![CDATA[ | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
End End | End End | |||
System System | System System | |||
-+-+-+-+-+-+-+ Northbound -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | -+-+-+-+-+-+-+ Northbound -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | |||
CPF CPF CPF CPF | CPF CPF CPF CPF | |||
-+-+-+-+-+-+-+ Southbound -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | -+-+-+-+-+-+-+ Southbound -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | |||
DetNet DetNet DetNet DetNet | DetNet DetNet DetNet DetNet | |||
Node Node Node Node | Node Node Node Node | |||
NIC NIC | NIC NIC | |||
DetNet DetNet DetNet DetNet | DetNet DetNet DetNet DetNet | |||
Node Node Node Node | Node Node Node Node | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t> | <t> | |||
The DetNet nodes (and possibly the end systems NIC) expos | The DetNet nodes (and possibly the end systems' NICs) expose their capabilities | |||
e their capabilities and physical | and physical resources to the controller (the CPF) and update the CPFs with | |||
resources to the controller (the CPF), and update the CPF | their dynamic perception of the topology across the Southbound Interface. In | |||
s with their dynamic perception of the | return, the CPFs set the per-flow paths up, providing a Flow Characterization | |||
topology, across the Southbound Interface. In return, the | that is more tightly coupled to the DetNet node operation than a TSpec. | |||
CPFs set the per-flow | </t> | |||
paths up, providing a Flow Characterization that is more | <t> At the Network Plane, DetNet nodes may exchange information regard | |||
tightly coupled to the DetNet node | ing | |||
Operation than a TSpec. | the state of the paths, between adjacent DetNet nodes and possibly with the | |||
</t><t> | end systems, and forward packets within constraints associated to each flow, | |||
At the Network plane, DetNet nodes may exchange informati | or, when unable to do so, perform a last-resort operation such as drop or | |||
on regarding the state of the paths, | declassify. </t> | |||
between adjacent DetNet nodes and possibly with the end s | <t> This document focuses on the Southbound interface and the | |||
ystems, and forward packets within | operation of the Network Plane. | |||
constraints associated to each flow, or, when unable to d | </t> | |||
o so, perform a last resort | </section> | |||
operation such as drop or declassify. | ||||
</t><t> | ||||
This document focuses on the Southbound interface and the | ||||
operation of the Network Plane. | ||||
</t> | ||||
</section> | </section> | |||
</section> | <section anchor="QueuingModels" numbered="true" toc="default"> | |||
<section anchor="QueuingModels" title="Queuing, Shaping, Scheduling, an | <name>Queuing, Shaping, Scheduling, and Preemption</name> | |||
d Preemption"> | <t> DetNet achieves bounded delivery latency by reserving bandwidth and | |||
<t> | buffer | |||
DetNet achieves bounded delivery latency | resources at each DetNet node along the path of the DetNet flow. The | |||
by reserving bandwidth and buffer resources at each DetNet node | reservation itself is not sufficient, however. Implementors and users of a | |||
along | number of proprietary and standard real-time networks have found that | |||
the path of the DetNet flow. | standards for specific data-plane techniques are required to enable these | |||
The reservation itself is not sufficient, however. Implementor | assurances to be made in a multivendor network. The fundamental reason is | |||
s and users of a | that latency variation in one DetNet system results in the need for extra | |||
number of | buffer space in the next-hop DetNet system(s), which in turn increases the | |||
proprietary and standard real-time networks have found that sta | worst-case per-hop latency. </t> | |||
ndards for | <t> Standard queuing and transmission-selection algorithms allow TE | |||
specific data plane techniques are required to enable these ass | (<xref target="te" format="default"/>) to compute the latency contribution of ea | |||
urances to be | ch | |||
made in a multi-vendor | DetNet node to the end-to-end latency, to compute the amount of buffer space | |||
network. The fundamental reason is that latency variation in o | required in each DetNet node for each incremental DetNet flow, and most | |||
ne DetNet system results | importantly, to translate from a flow specification to a set of values for the | |||
in the need for extra buffer space in the next-hop DetNet syste | managed objects that control each relay or end system. For example, the IEEE | |||
m(s), which in turn, | 802.1 WG has specified (and is specifying) a set of queuing, shaping, and | |||
increases the worst-case per-hop latency. | scheduling algorithms that enable each DetNet node, and/or a central | |||
</t><t> | controller, to compute these values. These algorithms include: | |||
Standard queuing and transmission selection algorithms allow tr | </t> | |||
affic engineering | <ul spacing="normal"> | |||
<xref target="te"/> to compute the latency contribution | <li> | |||
of each DetNet node to the end-to-end latency, to compute the a | A credit-based shaper <xref target="IEEE802.1Qav" format="default"/> (incorpor | |||
mount of buffer space | ated to <xref target="IEEE802.1Q" format="default"/>). </li> | |||
required in each DetNet node for each incremental DetNet flow, | <li> Time-gated queues governed by a rotating time schedule based on | |||
and most importantly, to | synchronized time <xref target="IEEE802.1Qbv" format="default"/> (incorporated t | |||
translate from a flow specification to a set of values for the | o <xref target="IEEE802.1Q" format="default"/>). | |||
managed objects that | </li> | |||
control each relay or end system. For example, the IEEE 802.1 | <li> Synchronized double (or triple) buffers driven by synchronized ti | |||
WG has specified (and is | me ticks. | |||
specifying) a set of queuing, shaping, and scheduling algorithm | <xref target="IEEE802.1Qch" format="default"/> (incorporated to <xref target="IE | |||
s | EE802.1Q" format="default"/>). </li> | |||
that enable each DetNet node, and/or a central controller, to | <li> Preemption of an Ethernet packet in transmission by a packet with | |||
compute these values. These algorithms include: | a more | |||
<list style="symbols"> | stringent latency requirement, followed by the resumption of the preempted | |||
<t> | packet <xref target="IEEE802.1Qbu" format="default"/> (incorporated to <xref tar | |||
A credit-based shaper <xref target="IEEE802.1Qav"/> (su | get="IEEE802.1Q" format="default"/>) <xref target="IEEE802.3br" format="default" | |||
perseded by <xref target="IEEE802.1Q-2018"/>). | /> (incorporated to <xref target="IEEE802.3" format="default"/>). | |||
</t><t> | </li> | |||
Time-gated queues governed by a rotating time schedule | </ul> | |||
based on synchronized time | <t> While these techniques are currently embedded in | |||
<xref target="IEEE802.1Qbv"/> (superseded by <xref targ | Ethernet <xref target="IEEE802.3" format="default"/> and bridging | |||
et="IEEE802.1Q-2018"/>). | standards, we can note that they are all, except perhaps for | |||
</t><t> | packet preemption, equally applicable to media other than | |||
Synchronized double (or triple) buffers driven by synch | Ethernet and to routers as well as bridges. Other media may | |||
ronized time ticks. | have their own methods (see, e.g., <xref target="I-D.ietf-6tisch- | |||
<xref target="IEEE802.1Qch"/> (superseded by <xref targ | architecture" format="default"/> and <xref target="RFC7554" format="default"/>). | |||
et="IEEE802.1Q-2018"/>). | Further techniques are defined by the IETF (e.g., <xref target="R | |||
</t><t> | FC8289" format="default"/> and <xref target="RFC8033" format="default"/>). DetN | |||
Pre-emption of an Ethernet packet in transmission by a | et may | |||
packet with a more stringent | include such definitions in the future or may define how | |||
latency requirement, followed by the resumption of the | these techniques can be used by DetNet nodes. | |||
preempted packet | </t> | |||
<xref target="IEEE802.1Qbu"/> (superseded by <xref targ | </section> | |||
et="IEEE802.1Q-2018"/>), | <section anchor="ServInst" numbered="true" toc="default"> | |||
<xref target="IEEE802.3br"/> (superseded by <xref targe | <name>Service Instance</name> | |||
t="IEEE802.3-2018"/>). | <t> A service instance represents all the functions required | |||
</t> | on a DetNet node to allow the end-to-end service between the | |||
</list> | UNIs. | |||
</t><t> | </t> | |||
While these techniques are currently embedded in Ethernet <xre | <t> The DetNet network general reference model is shown in <xref target= | |||
f target="IEEE802.3-2018"/> and bridging standards, | "fig_DetNetrefmodel" format="default"/> for a DetNet service scenario (i.e., bet | |||
we can note that they are all, except perhaps for packet preemp | ween two | |||
tion, equally applicable | DetNet-UNIs). In this figure, end systems ("A" and "B") are connected directly | |||
to other media than Ethernet, and to routers as well as bridges | to the edge nodes of an IP/MPLS network ("PE1" and "PE2"). End systems | |||
. Other media may have its | participating in DetNet communication may require connectivity before setting | |||
own methods, see, e.g., <xref target="I-D.ietf-6tisch-architect | up an App-flow that requires the DetNet service. Such a connectivity-related | |||
ure"/>, <xref target="RFC7554"/>. | service instance and the one dedicated for DetNet service share the same | |||
Further techniques are defined by the IETF, e.g., <xref target= | access. Packets belonging to a DetNet flow are selected by a filter configured | |||
"RFC8289"/> and <xref target="RFC8033"/>. | on the access ("F1" and "F2"). As a result, data-flow-specific access | |||
DetNet may include such | ("access-A + F1" and "access-B + F2") is terminated in the flow-specific | |||
definitions in the future, or may define how these techniques c | service instance ("SI-1" and "SI-2"). A tunnel is used to provide connectivity | |||
an be used by DetNet nodes. | between the service instances. | |||
</t> | </t> | |||
</section> | <t> The tunnel is exclusively used for the packets of the DetNet flow be | |||
tween "SI-1" and "SI-2". The service instances are configured to implement DetNe | ||||
<section anchor="ServInst" title="Service instance"> | t functions and a flow-specific DetNet forwarding. The service instance and the | |||
<t> A Service instance represents all the functions required on a | tunnel may or may not be shared by multiple DetNet flows. Sharing the service in | |||
DetNet node to allow the end-to-end service between the UNIs. | stance by multiple DetNet flows requires properly populated forwarding tables of | |||
</t> | the service instance. | |||
</t> | ||||
<t> The DetNet network general reference model is shown in <xref | <figure anchor="fig_DetNetrefmodel"> | |||
target="fig_DetNetrefmodel"/> for a DetNet service scenario (i.e., between two D | <name>DetNet Network General Reference Model</name> | |||
etNet-UNIs). In this figure, end systems ("A" and "B") are connected directly to | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
the edge nodes of an IP/MPLS network ("PE1" and "PE2"). End systems participati | ||||
ng in DetNet communication may require connectivity before setting up an App-flo | ||||
w that requires the DetNet service. Such a connectivity related service instance | ||||
and the one dedicated for DetNet service share the same access. Packets belongi | ||||
ng to a DetNet flow are selected by a filter configured on the access ("F1" and | ||||
"F2"). As a result, data flow specific access ("access-A + F1" and "access-B + F | ||||
2") are terminated in the flow specific service instance ("SI-1" and "SI-2"). A | ||||
tunnel is used to provide connectivity between the service instances. | ||||
</t> | ||||
<t> The tunnel is exclusively used for the packets of the DetNet | ||||
flow between "SI-1" and "SI-2". The service instances are configured to implemen | ||||
t DetNet functions and a flow specific DetNet forwarding. The service instance a | ||||
nd the tunnel may or may not be shared by multiple DetNet flows. Sharing the ser | ||||
vice instance by multiple DetNet flows requires properly populated forwarding ta | ||||
bles of the service instance. | ||||
</t> | ||||
<figure anchor="fig_DetNetrefmodel" align="center" | ||||
title="DetNet network general reference model"> | ||||
<artwork><![CDATA[ | ||||
access-A access-B | access-A access-B | |||
<-----> <-------- tunnel ----------> <-----> | <-----> <-------- tunnel ----------> <-----> | |||
+---------+ ___ _ +---------+ | +---------+ ___ _ +---------+ | |||
End system | +----+ | / \/ \_ | +----+ | End system | End system | +----+ | / \/ \_ | +----+ | End system | |||
"A" -------F1+ | | / \ | | +F2----- "B" | "A" -------F1+ | | / \ | | +F2----- "B" | |||
| | +========+ IP/MPLS +=======+ | | | | | +========+ IP/MPLS +=======+ | | | |||
| |SI-1| | \__ Net._/ | |SI-2| | | | |SI-1| | \__ Net._/ | |SI-2| | | |||
| +----+ | \____/ | +----+ | | | +----+ | \____/ | +----+ | | |||
|PE1 | | PE2| | |PE1 | | PE2| | |||
+---------+ +---------+ | +---------+ +---------+]]></artwork> | |||
</figure> | ||||
]]></artwork> | <t> The tunnel between the service instances may have some special | |||
</figure> | characteristics. For example, in case of a DetNet L3 service, there are | |||
differences in the usage of the PW for DetNet traffic compared to the network | ||||
<t> The tunnel between the service instances may have some specia | model described in <xref target="RFC6658" format="default"/>. In the DetNet scen | |||
l characteristics. For example, in case of a DetNet L3 service, there are differ | ario, the PW is | |||
ences in the usage of the PW for DetNet traffic compared to the network model de | likely to be used exclusively by the DetNet flow, whereas <xref target="RFC6658" | |||
scribed in <xref target="RFC6658"/>. In the DetNet scenario, the PW is likely to | format="default"/> states: | |||
be used exclusively by the DetNet flow, whereas <xref target="RFC6658"/> states | </t> | |||
: "The packet PW appears as a single point-to-point link to the client layer. N | <blockquote> | |||
etwork-layer adjacency formation and maintenance between the client equipment wi | The packet PW appears as a single point-to-point link to the client | |||
ll follow the normal practice needed to support the required relationship in the | layer. Network-layer adjacency formation and maintenance between the | |||
client layer ... This packet PseudoWire is used to transport all of the require | client equipments will follow the normal practice needed to support | |||
d Layer-2 and Layer-3 protocols between LSR1 and LSR2". Further details are netw | the required relationship in the client layer. | |||
ork technology specific and can be found in <xref target="I-D.ietf-detnet-dp-sol | &br;... | |||
-mpls"/> and <xref target="I-D.ietf-detnet-dp-sol-ip"/>. | &br; | |||
</t> | This packet pseudowire is used to transport all of the required layer 2 and | |||
layer 3 protocols between LSR1 and LSR2. | ||||
</section> | </blockquote> | |||
<section anchor="FlowIDatTechBord" title="Flow identification at techno | ||||
logy borders"> | ||||
<t>This section discusses what needs to be done at technology border | ||||
s including | ||||
Ethernet as one of the technologies. Flow identification for MPL | ||||
S and IP data | ||||
planes are described in <xref target="I-D.ietf-detnet-dp-sol-mpl | ||||
s"/> and | ||||
<xref target="I-D.ietf-detnet-dp-sol-ip"/>, respectively. | ||||
</t> | ||||
<section anchor="Relayering" title="Exporting flow identification"> | <t> | |||
<t> | Further details are network technology specific and can be found in <xref target | |||
A DetNet node may need to map specific flows to lower layer flo | ="I-D.ietf-detnet-data-plane-framework" format="default"/>. | |||
ws (or Streams) in order to provide specific | </t> | |||
queuing and shaping services for specific flows. For example: | </section> | |||
<list style="symbols"> | <section anchor="FlowIDatTechBord" numbered="true" toc="default"> | |||
<t> | <name>Flow Identification at Technology Borders</name> | |||
<t>This section discusses what needs to be done at technology | ||||
borders including Ethernet as one of the technologies. Flow | ||||
identification for MPLS and IP Data Planes are described in <xref ta | ||||
rget="I-D.ietf-detnet-mpls" format="default"/> and <xref target="I-D.ietf-detnet | ||||
-ip" format="default"/>, | ||||
respectively. | ||||
</t> | ||||
<section anchor="Relayering" numbered="true" toc="default"> | ||||
<name>Exporting Flow Identification</name> | ||||
<t> | ||||
A DetNet node may need to map specific flows to lower-layer | ||||
flows (or Streams) in order to provide specific queuing and | ||||
shaping services for specific flows. For example: | ||||
</t> | ||||
<ul spacing="normal"> | ||||
<li> | ||||
A non-IP, strictly L2 source end system X may be sending multiple flows | A non-IP, strictly L2 source end system X may be sending multiple flows | |||
to the same L2 destination end system Y. Those f lows may include | to the same L2 destination end system Y. Those f lows may include | |||
DetNet flows with different QoS requirements, and may include non-DetNet | DetNet flows with different QoS requirements and may include non-DetNet | |||
flows. | flows. | |||
</t><t> | </li> | |||
<li> | ||||
A router may be sending any number of flows to an other router. | A router may be sending any number of flows to an other router. | |||
Again, those flows may include | Again, those flows may include | |||
DetNet flows with different QoS requirements, and may include non-DetNet | DetNet flows with different QoS requirements and may include non-DetNet | |||
flows. | flows. | |||
</t><t> | </li> | |||
<li> | ||||
Two routers may be separated by bridges. For the se bridges to perform | Two routers may be separated by bridges. For the se bridges to perform | |||
any required per-flow queuing and shaping, they m ust be able to identify | any required per-flow queuing and shaping, they m ust be able to identify | |||
the individual flows. | the individual flows. | |||
</t><t> | </li> | |||
<li> | ||||
A Label Edge Router (LER) may have a Label Switch ed | A Label Edge Router (LER) may have a Label Switch ed | |||
Path (LSP) set up for handling traffic | Path (LSP) set up for handling traffic | |||
destined for a particular IP address carrying onl y non-DetNet flows. If | destined for a particular IP address carrying onl y non-DetNet flows. If | |||
a DetNet flow to that same address is requested, a separate LSP may be | a DetNet flow to that same address is requested, a separate LSP may be | |||
needed, in order that all of the Label Switch Rou | needed in order for all of the Label Switch Route | |||
ters (LSRs) along the | rs (LSRs) along the | |||
path to the destination give that flow special qu | path to the destination to give that flow special | |||
euing and shaping. | queuing and shaping. | |||
</t> | </li> | |||
</list> | </ul> | |||
</t><t> | <t> The need for a lower-layer node to be aware of | |||
The need for a lower-layer node to be aware of individual highe | individual higher-layer flows is not unique to DetNet. But, | |||
r-layer | given the endless complexity of layering and relayering over | |||
flows is not unique to DetNet. But, given the endless complexi | tunnels that is available to network designers, DetNet needs | |||
ty of layering | to provide a model for flow identification that is better than | |||
and relayering over tunnels that is available to network design | packet inspection. That is not to say that packet inspection | |||
ers, DetNet | to Layer 4 or Layer 5 addresses will not be used or the | |||
needs to provide a model for flow identification that is | capability standardized; however, there are alternatives. </t> | |||
better than packet inspection. That is not to say that packet | <t> | |||
inspection | A DetNet relay node can connect DetNet flows on different | |||
to Layer-4 or Layer-5 addresses | paths using different flow identification methods. For | |||
will not be used, or the capability standardized; but, there ar | example: | |||
e alternatives. | </t> | |||
</t><t> | <ul spacing="normal"> | |||
A DetNet relay node can connect DetNet flows on different paths | <li> | |||
using different | ||||
flow identification methods. For example: | ||||
<list style="symbols"> | ||||
<t> | ||||
A single unicast DetNet flow passing from router A thro ugh a bridged network | A single unicast DetNet flow passing from router A thro ugh a bridged network | |||
to router B may be assigned a TSN Stream identifier tha t is | to router B may be assigned a TSN Stream identifier tha t is | |||
unique within that bridged network. The bridges can th en identify the | unique within that bridged network. The bridges can th en identify the | |||
flow without accessing higher-layer headers. Of course , the receiving router | flow without accessing higher-layer headers. Of course , the receiving router | |||
must recognize and accept that TSN Stream. | must recognize and accept that TSN Stream. | |||
</t><t> | </li> | |||
<li> | ||||
A DetNet flow passing from LSR A to LSR B may be assign ed a different | A DetNet flow passing from LSR A to LSR B may be assign ed a different | |||
label than that used for other flows to the same IP des tination. | label than that used for other flows to the same IP des tination. | |||
</t> | </li> | |||
</list> | </ul> | |||
</t><t> | <t> | |||
In any of the above cases, it is possible that an existing DetN et flow can | In any of the above cases, it is possible that an existing DetN et flow can | |||
be an aggregate carrying multiple other DetNet flows. (Not to | be an aggregate carrying multiple other DetNet flows (not to be | |||
be confused | confused | |||
with DetNet compound vs. member flows.) Of course, this requir | with DetNet compound vs. member flows). Of course, this requir | |||
es that the | es that the | |||
aggregate DetNet flow be provisioned properly to carry the aggr egated flows. | aggregate DetNet flow be provisioned properly to carry the aggr egated flows. | |||
</t><t> | </t> | |||
<t> | ||||
Thus, rather than packet inspection, there is the option to exp ort | Thus, rather than packet inspection, there is the option to exp ort | |||
higher-layer information to the lower layer. The requirement t o support | higher-layer information to the lower layer. The requirement t o support | |||
one or the other method for flow identification (or both) is a | one or the other method for flow identification (or both) is a | |||
complexity that is part of DetNet control models. | complexity that is part of DetNet control models. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="FlowAttrMapping" numbered="true" toc="default"> | ||||
<section anchor="FlowAttrMapping" title="Flow attribute mapping between | <name>Flow Attribute Mapping between Layers</name> | |||
layers"> | <t>Forwarding of packets of DetNet flows over multiple | |||
<t>Forwarding of packets of DetNet flows over multiple technology | technology domains may require that lower layers are aware of | |||
domains may require that lower layers are aware of specific flows of higher lay | specific flows of higher layers. Such an "exporting of flow | |||
ers. Such an "exporting of flow identification" is needed each time when the for | identification" is needed each time when the forwarding | |||
warding paradigm is changed on the forwarding path (e.g., two LSRs are interconn | paradigm is changed on the forwarding path (e.g., two LSRs are | |||
ected by a L2 bridged domain, etc.). The three representative forwarding methods | interconnected by an L2 bridged domain, etc.). The three | |||
considered for deterministic networking are: | representative forwarding methods considered for DetNet | |||
<list style="symbols"> | are: | |||
<t>IP routing</t> | </t> | |||
<t>MPLS label switching</t> | <ul spacing="normal"> | |||
<t>Ethernet bridging</t> | <li>IP routing</li> | |||
</list> | <li>MPLS label switching</li> | |||
A packet with corresponding Flow-IDs is illustrated in <xref targ | <li>Ethernet bridging</li> | |||
et="fig_FlowIDStack"/>, | </ul> | |||
<t> | ||||
A packet with corresponding Flow-IDs is illustrated in <xref targ | ||||
et="fig_FlowIDStack" format="default"/>, | ||||
which also indicates where each Flow-ID can be added or removed. | which also indicates where each Flow-ID can be added or removed. | |||
</t> | </t> | |||
<figure anchor="fig_FlowIDStack"> | ||||
<figure anchor="fig_FlowIDStack" align="center" | <name>Packet with Multiple Flow-IDs</name> | |||
title="Packet with multiple Flow-IDs"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<artwork><![CDATA[ | ||||
add/remove add/remove | add/remove add/remove | |||
Eth Flow-ID IP Flow-ID | Eth Flow-ID IP Flow-ID | |||
| | | | | | |||
v v | v v | |||
+-----------------------------------------------------------+ | +-----------------------------------------------------------+ | |||
| | | | | | | | | | | | |||
| Eth | MPLS | IP | Application data | | | Eth | MPLS | IP | Application data | | |||
| | | | | | | | | | | | |||
+-----------------------------------------------------------+ | +-----------------------------------------------------------+ | |||
^ | ^ | |||
| | | | |||
add/remove | add/remove | |||
MPLS Flow-ID | MPLS Flow-ID | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t> The additional (domain-specific) Flow-ID can be: | ||||
<t> The additional (domain specific) Flow-ID can be | </t> | |||
<list style="symbols"> | <ul spacing="normal"> | |||
<t>created by a domain specific function or </t> | <li>created by a domain-specific function or </li> | |||
<t>derived from the Flow-ID added to the App-flow. </t> | <li>derived from the Flow-ID added to the App-flow. </li> | |||
</list> | </ul> | |||
<t> | ||||
The Flow-ID must be unique inside a given domain. Note that the F low-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. | The Flow-ID must be unique inside a given domain. Note that the F low-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. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="FlowIDMapEx" numbered="true" toc="default"> | ||||
<section anchor="FlowIDMapEx" title="Flow-ID mapping examples"> | <name>Flow-ID Mapping Examples</name> | |||
<t> IP nodes and MPLS nodes are assumed to be configured to push | <t> IP nodes and MPLS nodes are assumed to be configured to push such | |||
such an additional (domain specific) Flow-ID when sending traffic to an Ethernet | an additional (domain-specific) Flow-ID when sending traffic to an Ethernet swit | |||
switch (as shown in the examples below). | ch (as shown in the examples below). | |||
</t> | </t> | |||
<t> <xref target="fig_ippushflowid" format="default"/> shows a scenari | ||||
<t> <xref target="fig_ippushflowid"/> shows a scenario where an I | o where an IP end system ("IP-A") is connected via two Ethernet switches ("ETH-n | |||
P end system ("IP-A") is connected via two Ethernet switches ("ETH-n") to an IP | ") to an IP router ("IP-1"). | |||
router ("IP-1"). | </t> | |||
</t> | <figure anchor="fig_ippushflowid"> | |||
<name>IP Nodes Interconnected by an Ethernet Domain</name> | ||||
<figure anchor="fig_ippushflowid" align="center" | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
title="IP nodes interconnected by an Ethernet domain"> | ||||
<artwork><![CDATA[ | ||||
IP domain | IP domain | |||
<----------------------------------------------- | <----------------------------------------------- | |||
+======+ +======+ | +======+ +======+ | |||
|L3-ID | |L3-ID | | |L3-ID | |L3-ID | | |||
+======+ /\ +-----+ +======+ | +======+ /\ +-----+ +======+ | |||
/ \ Forward as | | | / \ Forward as | | | |||
/IP-A\ per ETH-ID |IP-1 | Recognize | /IP-A\ per ETH-ID |IP-1 | Recognize | |||
Push ------> +-+----+ | +---+-+ <----- ETH-ID | Push ------> +-+----+ | +---+-+ <----- ETH-ID | |||
ETH-ID | +----+-----+ | | ETH-ID | +----+-----+ | | |||
skipping to change at line 1592 ¶ | skipping to change at line 1759 ¶ | |||
.L3-ID . +-----+ +-----+ |L3-ID | | .L3-ID . +-----+ +-----+ |L3-ID | | |||
+======+ +......+ +======+ | +======+ +......+ +======+ | |||
|ETH-ID| .L3-ID . |ETH-ID| | |ETH-ID| .L3-ID . |ETH-ID| | |||
+======+ +======+ +------+ | +======+ +======+ +------+ | |||
|ETH-ID| | |ETH-ID| | |||
+======+ | +======+ | |||
Ethernet domain | Ethernet domain | |||
<----------------> | <----------------> | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t> End system "IP-A" uses the original App-flow-specific ID | ||||
<t> End system "IP-A" uses the original App-flow specific ID ("L3 | ("L3-ID"), but as it is connected to an Ethernet | |||
-ID"), but as it is connected to an Ethernet domain it has to push an Ethernet-d | domain, it has to push an Ethernet-domain-specific | |||
omain specific flow-ID ("ETH-ID") before sending the packet to "ETH-1" node. Eth | Flow-ID ("ETH-ID") before sending the packet to | |||
ernet switch "ETH-1" can recognize the data flow based on the "ETH-ID" and it do | "ETH-1". Ethernet switch "ETH-1" can recognize the data flow | |||
es forwarding toward "ETH-2". "ETH-2" switches the packet toward the IP router. | based on the "ETH-ID", and it does forwarding toward | |||
"IP-1" must be configured to receive the Ethernet Flow-ID specific multicast flo | "ETH-2". "ETH-2" switches the packet toward the IP | |||
w, but (as it is an L3 node) it decodes the data flow ID based on the "L3-ID" fi | router. "IP-1" must be configured to receive the Ethernet | |||
elds of the received packet. | Flow-ID-specific multicast | |||
</t> | flow, but (as it is an L3 | |||
node) it decodes the data flow ID based on the "L3-ID" fields | ||||
<t> <xref target="fig_mplspushflowid"/> shows a scenario where MP | of the received packet. | |||
LS domain nodes ("PE-n" and "P-m") are connected via two Ethernet switches ("ETH | </t> | |||
-n"). | <t> <xref target="fig_mplspushflowid" format="default"/> shows a scena | |||
</t> | rio where MPLS domain nodes ("PE-n" and "P-m") are connected via two Ethernet sw | |||
itches ("ETH-n"). | ||||
<figure anchor="fig_mplspushflowid" align="center" | </t> | |||
title="MPLS nodes interconnected by an Ethernet domain"> | <figure anchor="fig_mplspushflowid"> | |||
<artwork><![CDATA[ | <name>MPLS Nodes Interconnected by an Ethernet Domain</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
MPLS domain | MPLS domain | |||
<-----------------------------------------------> | <-----------------------------------------------> | |||
+=======+ +=======+ | +=======+ +=======+ | |||
|MPLS-ID| |MPLS-ID| | |MPLS-ID| |MPLS-ID| | |||
+=======+ +-----+ +-----+ +=======+ +-----+ | +=======+ +-----+ +-----+ +=======+ +-----+ | |||
| | Forward as | | | | | | | Forward as | | | | | |||
|PE-1 | per ETH-ID | P-2 +-----------+ PE-2| | |PE-1 | per ETH-ID | P-2 +-----------+ PE-2| | |||
Push -----> +-+---+ | +---+-+ +-----+ | Push -----> +-+---+ | +---+-+ +-----+ | |||
ETH-ID | +-----+----+ | \ Recognize | ETH-ID | +-----+----+ | \ Recognize | |||
skipping to change at line 1627 ¶ | skipping to change at line 1802 ¶ | |||
.MPLS-ID. +-----+ +-----+ |MPLS-ID| | .MPLS-ID. +-----+ +-----+ |MPLS-ID| | |||
+=======+ +=======+ | +=======+ +=======+ | |||
|ETH-ID | +.......+ |ETH-ID | | |ETH-ID | +.......+ |ETH-ID | | |||
+=======+ .MPLS-ID. +-------+ | +=======+ .MPLS-ID. +-------+ | |||
+=======+ | +=======+ | |||
|ETH-ID | | |ETH-ID | | |||
+=======+ | +=======+ | |||
Ethernet domain | Ethernet domain | |||
<----------------> | <----------------> | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t> "PE-1" uses the MPLS-specific ID ("MPLS-ID"), but as it | ||||
<t> "PE-1" uses the MPLS specific ID ("MPLS-ID"), but as it is co | is connected to an Ethernet domain, it has to push an | |||
nnected to an Ethernet domain it has to push an Ethernet-domain specific flow-ID | Ethernet-domain-specific Flow-ID | |||
("ETH-ID") before sending the packet to "ETH-1". Ethernet switch "ETH-1" can re | ("ETH-ID") before sending the | |||
cognize the data flow based on the "ETH-ID" and it does forwarding toward "ETH-2 | packet to "ETH-1". Ethernet switch "ETH-1" can recognize the | |||
". "ETH-2" switches the packet toward the MPLS node ("P-2"). "P-2" must be confi | data flow based on the "ETH-ID", and it does forwarding toward | |||
gured to receive the Ethernet Flow-ID specific multicast flow, but (as it is an | "ETH-2". "ETH-2" switches the packet toward the MPLS node | |||
MPLS node) it decodes the data flow ID based on the "MPLS-ID" fields of the rece | ("P-2"). "P-2" must be configured to receive the Ethernet | |||
ived packet. | Flow-ID-specific multicast flow, but (as it is an MPLS node) | |||
</t> | it decodes the data flow ID based on the "MPLS-ID" fields of | |||
<t>One can appreciate from the above example that, when the means used f | the received packet. | |||
or DetNet flow identification | </t> | |||
<t>One can appreciate from the above example that, when the means used | ||||
for DetNet flow identification | ||||
is altered or exported, the means for encoding the sequence number i nformation must similarly | is altered or exported, the means for encoding the sequence number i nformation must similarly | |||
be altered or exported. | be altered or exported. | |||
</t> | </t> | |||
</section> | ||||
</section> | </section> | |||
</section> | <section anchor="Advertising" numbered="true" toc="default"> | |||
<section anchor="Advertising" title="Advertising resources, capabilitie | <name>Advertising Resources, Capabilities, and Adjacencies</name> | |||
s and adjacencies"> | <t> | |||
<t> | ||||
Provisioning of DetNet requires knowledge about: | Provisioning of DetNet requires knowledge about: | |||
<list style="symbols"><t> | </t> | |||
<ul spacing="normal"> | ||||
<li> | ||||
Details of the DetNet system's capabilities that are requ ired in order to | Details of the DetNet system's capabilities that are requ ired in order to | |||
accurately allocate that DetNet system's resources, as we ll as other DetNet systems' | accurately allocate that DetNet system's resources, as we ll as other DetNet systems' | |||
resources. This includes, for example, which specific qu euing and | resources. This includes, for example, which specific qu euing and | |||
shaping algorithms are implemented (<xref target="Queuing Models"/>), | shaping algorithms are implemented (<xref target="Queuing Models" format="default"/>), | |||
the number of buffers dedicated for DetNet allocation, an d the worst-case | the number of buffers dedicated for DetNet allocation, an d the worst-case | |||
forwarding delay and misordering. | forwarding delay and misordering. | |||
</t><t> | </li> | |||
<li> | ||||
The actual state of a DetNet node's DetNet resources. | The actual state of a DetNet node's DetNet resources. | |||
</t><t> | </li> | |||
The identity of the DetNet system's neighbors, and the ch | <li> | |||
aracteristics of the | The identity of the DetNet system's neighbors and the cha | |||
racteristics of the | ||||
link(s) between the DetNet systems, including the latency of | link(s) between the DetNet systems, including the latency of | |||
the links (in nanoseconds). | the links (in nanoseconds). | |||
</t> | </li> | |||
</list> | </ul> | |||
</t> | </section> | |||
</section> | <section anchor="Scaling" numbered="true" toc="default"> | |||
<name>Scaling to Larger Networks</name> | ||||
<section anchor="Scaling" title="Scaling to larger networks"> | <t> | |||
<t> | ||||
Reservations for individual DetNet flows require considerable s tate information in | Reservations for individual DetNet flows require considerable s tate information in | |||
each DetNet node, especially when adequate fault mitigation | each DetNet node, especially when adequate fault mitigation | |||
(<xref target="FaultMitigation"/>) is required. The DetNet dat a plane, in order to | (<xref target="FaultMitigation" format="default"/>) is required . The DetNet Data Plane, in order to | |||
support larger numbers of DetNet flows, must support the aggreg ation of DetNet flows. | support larger numbers of DetNet flows, must support the aggreg ation of DetNet flows. | |||
Such aggregated flows can be viewed by the DetNet nodes' data p lane | Such aggregated flows can be viewed by the DetNet nodes' Data P lane | |||
largely as individual DetNet flows. Without such aggregation, the per-relay | largely as individual DetNet flows. Without such aggregation, the per-relay | |||
system may limit the scale of DetNet networks. Example techniqu es that may be used | system may limit the scale of DetNet networks. Example techniqu es that may be used | |||
include MPLS hierarchy and IP DiffServ Code Points (DSCPs). | include MPLS hierarchy and IP DiffServ Code Points (DSCPs). | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="Compatibility" title="Compatibility with Layer-2"> | <section anchor="Compatibility" numbered="true" toc="default"> | |||
<t> | <name>Compatibility with Layer 2</name> | |||
Standards providing similar | <t> | |||
capabilities for bridged networks (only) have been and are bein | Standards providing similar capabilities for bridged networks (only) have | |||
g generated in the | been and are being generated in the IEEE 802 LAN/MAN Standards Committee. | |||
IEEE 802 LAN/MAN Standards Committee. The present architecture | The present architecture describes an abstract model that can be applicable | |||
describes an abstract model that can be applicable both at Laye | both at Layer 2 and Layer 3, and over links not defined by IEEE 802. </t> | |||
r-2 | <t> DetNet-enabled end systems and DetNet nodes can be interconnected by | |||
and Layer-3, and over links not defined by IEEE 802. | sub-networks, i.e., Layer 2 technologies. These sub-networks will provide | |||
</t><t> | DetNet compatible service for support of DetNet traffic. Examples of | |||
DetNet enabled end systems and DetNet nodes can be interc | sub-network technologies include MPLS TE, TSN as defined by IEEE 802.1, and a po | |||
onnected by | int-to-point OTN | |||
sub-networks, i.e., Layer-2 technologies. | link. Of course, multilayer DetNet systems may be possible too, where one | |||
These sub-networks will | DetNet appears as a sub-network and provides service to a higher-layer DetNet | |||
provide DetNet compatible service for support of DetNet t | system. | |||
raffic. | </t> | |||
Examples of sub-network technologies include MPLS TE, 802 | </section> | |||
.1 TSN, and a point-to-point OTN link. | ||||
Of course, multi-layer DetNet systems may be possible too | ||||
, where one | ||||
DetNet appears as a sub-network, and provides service to, | ||||
a higher layer | ||||
DetNet system. | ||||
</t> | ||||
</section> | ||||
</section> | </section> | |||
<section anchor="SecurityConsiderations" numbered="true" toc="default"> | ||||
<section anchor="SecurityConsiderations" title="Security Considerations"> | <name>Security Considerations</name> | |||
<t> | ||||
<t> | Security considerations for DetNet are described in detail | |||
Security considerations for DetNet are described in detail in | in <xref target="I-D.ietf-detnet-security" format="default"/>. | |||
<xref target="I-D.ietf-detnet-security"/>. This section conside | This section considers | |||
rs | exclusively security considerations that are specific to the | |||
exclusively security considerations which are specific to the D | DetNet architecture. </t> | |||
etNet | <t> Security aspects that are | |||
architecture. | unique to DetNet are those whose aim is to provide the | |||
</t><t> | specific QoS aspects of DetNet, which are | |||
Security aspects which are unique to DetNet are those whose aim | primarily to deliver data flows with extremely low packet | |||
is to | loss rates and bounded end-to-end delivery latency. A DetNet | |||
provide the specific quality of service aspects of DetNet, whic | may be implemented using MPLS and/or IP (including both v4 | |||
h are | and v6) technologies and thus inherits the security | |||
primarily to deliver data flows with extremely low packet loss | properties of those technologies at both the Data Plane and | |||
rates | the Controller Plane. </t> | |||
and bounded end-to-end delivery latency. A DetNet may be implem | <t> Security considerations for | |||
ented | DetNet are constrained (compared to, for example, the open | |||
using MPLS and/or IP (including both v4 and v6) technologies, a | Internet) because DetNet is defined to operate only within a | |||
nd | single administrative domain (see <xref target="introduction"/> | |||
thus inherits the security properties of those technologies at | ). The primary | |||
both | considerations are to secure the request and control of | |||
the data plane and the control plane. | DetNet resources, maintain confidentiality of data | |||
</t><t> | traversing the DetNet, and provide the availability of the | |||
Security considerations for DetNet are constrained (compared to | DetNet QoS. </t> | |||
, for | <t> To secure the request | |||
example, the open Internet) because DetNet is defined to operat | and control of DetNet resources, authentication and | |||
e only | authorization can be used for each device connected to a | |||
within a single administrative domain (see Section 1). The prim | DetNet domain, most importantly to network controller | |||
ary | devices. Control of a DetNet network may be centralized or | |||
considerations are to secure the request and control of DetNet | distributed (within a single administrative domain). In the | |||
resources, maintain confidentiality of data traversing the DetN | case of centralized control, precedent for security | |||
et, | considerations as defined for Abstraction and Control of | |||
and provide the availability of the DetNet quality of service. | Traffic Engineered Networks (ACTN) can be found in <xref | |||
</t><t> | target="RFC8453" sectionFormat ="of" section="9"/>. In the case | |||
To secure the request and control of DetNet resources, authenti | of distributed | |||
cation | control protocols, DetNet security is expected to be | |||
and authorization can be used for each device connected to a | provided by the security properties of the protocols in | |||
DetNet domain, most importantly to network controller devices. | use. In any case, the result is that manipulation of | |||
Control | administratively configurable parameters is limited to | |||
of a DetNet network may be centralized or distributed (within a | authorized entities. </t> | |||
single | <t> To maintain confidentiality of | |||
administrative domain). In the case of centralized control, pre | data traversing the DetNet, application flows can be | |||
cedent | protected through whatever means is provided by the | |||
for security considerations as defined for Abstraction and Cont | underlying technology. For example, encryption may be used, | |||
rol of | such as that provided by IPsec <xref target="RFC4301" format="d | |||
Traffic Engineered Networks (ACTN) can be found in | efault"/>, for | |||
<xref target="RFC8453"/>, Section 9. In the case of distributed | IP flows and by MACSec <xref target="IEEE802.1AE" format="defau | |||
control protocols, DetNet security is expected to be provided b | lt"/> for | |||
y the | Ethernet (Layer 2) flows. </t> | |||
security properties of the protocols in use. In any case, the r | <t> DetNet flows are | |||
esult | identified on a per-flow basis, which may provide attackers | |||
is that manipulation of administratively configurable parameter | with additional information about the data flows (when | |||
s is | compared to networks that do not include per-flow | |||
limited to authorized entities. | identification). This is an inherent property of DetNet | |||
</t><t> | that has security implications that should be considered | |||
To maintain confidentiality of data traversing the DetNet, | when determining if DetNet is a suitable technology for any | |||
application flows can be protected through whatever means is | given use case. </t> | |||
provided by the underlying technology. For example, encryption | <t> To provide uninterrupted | |||
may be | availability of the DetNet QoS, provisions | |||
used, such as that provided by IPSec <xref target="RFC4301"/> f | can be made against DoS attacks and delay attacks. To | |||
or IP | protect against DoS attacks, excess traffic due to malicious | |||
flows and by MACSec <xref target="IEEE802.1AE-2018"/> for Ether | or malfunctioning devices can be prevented or mitigated, for | |||
net | example, through the use of traffic admission control | |||
(Layer-2) flows. | applied at the input of a DetNet domain as described in | |||
</t><t> | <xref target="Zero" format="default"/> and through the fault-mi | |||
DetNet flows are identified on a per-flow basis, which may provide | tigation | |||
attackers with additional information about the data flows (when | methods described in <xref target="FaultMitigation" format="def | |||
compared to networks that do not include per-flow identification). | ault"/>. To | |||
This is an inherent property of DetNet which has security | prevent DetNet packets from being delayed by an entity | |||
implications that should be considered when determining if DetNet is | external to a DetNet domain, DetNet technology definition | |||
a suitable technology for any given use case. | can allow for the mitigation of man-in-the-middle attacks, | |||
</t><t> | for example, through use of authentication and authorization | |||
To provide uninterrupted availability of the DetNet quality of | of devices within the DetNet domain. </t> | |||
service, provisions can be made against DOS attacks and delay | <t> Because DetNet | |||
attacks. To protect against DOS attacks, excess traffic due to | mechanisms or applications that rely on DetNet can make | |||
malicious or malfunctioning devices can be prevented or mitigat | heavy use of methods that require precise time | |||
ed, | synchronization, the accuracy, availability, and integrity | |||
for example through the use of traffic admission control applie | of time synchronization is of critical importance. Extensive | |||
d at | discussion of this topic can be found in <xref target="RFC7384" | |||
the input of a DetNet domain, as described in <xref target="Zer | format="default"/>. </t> | |||
o"/>, | <t> DetNet use cases are known to | |||
and through the fault mitigation methods described in | have widely divergent security requirements. The intent of | |||
<xref target="FaultMitigation"/>. To prevent DetNet packets fro | this section is to provide a baseline for security | |||
m | considerations that are common to all DetNet designs and | |||
being delayed by an entity external to a DetNet domain, DetNet | implementations, without burdening individual designs with | |||
technology definition can allow for the mitigation of | specifics of security infrastructure that may not be | |||
Man-In-The-Middle attacks, for example through use of | germane to the given use case. Designers and implementors of | |||
authentication and authorization of devices within the DetNet d | DetNet systems are expected to take use-case-specific considera | |||
omain. | tions | |||
</t><t> | into account in their DetNet designs | |||
Because DetNet mechanisms or applications that rely on DetNet can | and implementations. | |||
make heavy use of methods that require precise time synchroniza | </t> | |||
tion, | </section> | |||
the accuracy, availability, and integrity of time synchronizati | <section numbered="true" toc="default"> | |||
on is | <name>Privacy Considerations</name> | |||
of critical importance. Extensive discussion of this topic can | <t> | |||
be | DetNet provides a QoS, and the generic | |||
found in <xref target="RFC7384"/>. | ||||
</t><t> | ||||
DetNet use cases are known to have widely divergent security | ||||
requirements. The intent of this section is to provide a baseli | ||||
ne for | ||||
security considerations which are common to all DetNet designs | ||||
and | ||||
implementations, without burdening individual designs with spec | ||||
ifics | ||||
of security infrastructure which may not be germane to the give | ||||
n use | ||||
case. Designers and implementers of DetNet systems are expected | ||||
to | ||||
take use case specific considerations into account in their Det | ||||
Net | ||||
designs and implementations. | ||||
</t> | ||||
</section> | ||||
<section title="Privacy Considerations"> | ||||
<t> | ||||
DetNet provides a Quality of Service (QoS), and the generic | ||||
considerations for such mechanisms apply. In particular, such mar kings | considerations for such mechanisms apply. In particular, such mar kings | |||
allow for an attacker to correlate flows or to select particular types | allow for an attacker to correlate flows or to select particular types | |||
of flow for more detailed inspection. | of flow for more detailed inspection. | |||
</t><t> | </t> | |||
<t> | ||||
However, the requirement for every (or almost every) node along t he path of | However, the requirement for every (or almost every) node along t he path of | |||
a DetNet flow to identify DetNet flows may present an additional attack | a DetNet flow to identify DetNet flows may present an additional attack | |||
surface for privacy, should the DetNet paradigm be found useful i n broader | surface for privacy should the DetNet paradigm be found useful in broader | |||
environments. | environments. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<name>IANA Considerations</name> | ||||
<t>This document has no IANA actions. | ||||
</t> | ||||
</section> | ||||
</middle> | ||||
<back> | ||||
<section title="IANA Considerations"> | <!-- I-D.ietf-detnet-security-05: I-D Exists --> | |||
<t>This document does not require an action from IANA. | <displayreference target="I-D.ietf-detnet-security" to="DETNET-SECURITY"/> | |||
</t> | ||||
</section> | ||||
<section title="Acknowledgements"> | <!-- draft-ietf-detnet-ip-01: I-D exists --> | |||
<t>The authors wish to thank Lou Berger, David Black, Stewart Bryant, | <displayreference target="I-D.ietf-detnet-ip" to="DETNET-IP"/> | |||
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, Anca Zamfir, | ||||
for their various contributions to this work. | ||||
</t> | ||||
</section> | ||||
</middle> | <!-- draft-ietf-detnet-data-plane-framework-02: I-D exists--> | |||
<displayreference target="I-D.ietf-detnet-data-plane-framework" to="DETNET-FRAME | ||||
WORK"/> | ||||
<back> | <!-- draft-ietf-detnet-mpls-01: I-D exists--> | |||
<references title='Informative References'> | <displayreference target="I-D.ietf-detnet-mpls" to="DETNET-MPLS"/> | |||
<?rfc include='reference.I-D.ietf-6tisch-architecture'?> | <!-- I-D.ietf-6tisch-architecture-26: I-D exists--> | |||
<?rfc include='reference.I-D.ietf-detnet-problem-statement'?> | <displayreference target="I-D.ietf-6tisch-architecture" to="TSCH-ARCH"/> | |||
<?rfc include='reference.I-D.ietf-detnet-use-cases'?> | ||||
<?rfc include='reference.I-D.ietf-detnet-dp-sol-mpls'?> | ||||
<?rfc include='reference.I-D.ietf-detnet-dp-sol-ip'?> | ||||
<?rfc include='reference.I-D.ietf-detnet-security'?> | ||||
<?rfc include='reference.RFC.2205'?> | ||||
<?rfc include='reference.RFC.2475'?> | ||||
<?rfc include='reference.RFC.2914'?> | ||||
<?rfc include='reference.RFC.3168'?> | ||||
<?rfc include='reference.RFC.3209'?> | ||||
<?rfc include='reference.RFC.3550'?> | ||||
<?rfc include='reference.RFC.4301'?> | ||||
<?rfc include='reference.RFC.4655'?> | ||||
<?rfc include='reference.RFC.5921'?> | ||||
<?rfc include='reference.RFC.6372'?> | ||||
<?rfc include='reference.RFC.6658'?> | ||||
<?rfc include='reference.RFC.7149'?> | ||||
<?rfc include='reference.RFC.7384'?> | ||||
<?rfc include='reference.RFC.7426'?> | ||||
<?rfc include='reference.RFC.7554'?> | ||||
<?rfc include='reference.RFC.7567'?> | ||||
<?rfc include='reference.RFC.7813'?> | ||||
<?rfc include='reference.RFC.8033'?> | ||||
<?rfc include='reference.RFC.8227'?> | ||||
<?rfc include='reference.RFC.8289'?> | ||||
<?rfc include='reference.RFC.8402'?> | ||||
<?rfc include='reference.RFC.8453'?> | ||||
<reference anchor="IEC62439-3-2016" | <references> | |||
target="https://webstore.iec.ch/publication/24447"> | <name>Informative References</name> | |||
<front> | ||||
<title>IEC 62439-3:2016 Industrial communication networks - Hig | ||||
h | ||||
availability automation networks - Part 3: Parallel Redundan | ||||
cy | ||||
Protocol (PRP) and High-availability Seamless Redundancy (HS | ||||
R) | ||||
</title> | ||||
<author> | ||||
<organization>International Electrotechnical Commission ( | ||||
IEC) | ||||
TC 65/SC 65C - Industrial networks</organization> | ||||
</author> | ||||
<date year="2016" /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1AE-2018" | <xi:include href="https://www.rfc-editor.org/refs/bibxml3/reference.I-D.ietf-det | |||
target="https://ieeexplore.ieee.org/document/8585421"> | net-security.xml"/> | |||
<front> | ||||
<title>IEEE Std 802.1AE-2018 MAC Security (MACsec)</title> | ||||
<author> | ||||
<organization>IEEE Standards Association</organization> | ||||
</author> | ||||
<date year="2018" /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1CB" | <xi:include href="https://www.rfc-editor.org/refs/bibxml3/reference.I-D.ietf-det | |||
target="https://ieeexplore.ieee.org/document/8091139/"> | net-ip.xml"/> | |||
<front> | ||||
<title>IEEE Std 802.1CB-2017 Frame Replication and Elimination | ||||
for Reliability</title> | ||||
<author> | ||||
<organization>IEEE Standards Association</organization> | ||||
</author> | ||||
<date year="2017" /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1Q-2018" | <xi:include href="https://www.rfc-editor.org/refs/bibxml3/reference.I-D.ietf-det | |||
target="https://ieeexplore.ieee.org/document/8403927"> | net-data-plane-framework.xml"/> | |||
<front> | ||||
<title>IEEE Std 802.1Q-2018 Bridges and Bridged Networks</title> | ||||
<author> | ||||
<organization>IEEE Standards Association</organization> | ||||
</author> | ||||
<date year="2018" /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1Qav" | <xi:include href="https://www.rfc-editor.org/refs/bibxml3/reference.I-D.ietf-det | |||
target="https://ieeexplore.ieee.org/document/5375704/"> | net-mpls.xml"/> | |||
<front> | ||||
<title>IEEE Std 802.1Qav-2009 Bridges and Bridged Networks - Amend | ||||
ment 12: | ||||
Forwarding and Queuing Enhancements for Time-Sensitive | ||||
Streams</title> | ||||
<author> | ||||
<organization>IEEE Standards Association</organ | ||||
ization> | ||||
</author> | ||||
<date year="2009" /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1Qbu" | <xi:include href="https://www.rfc-editor.org/refs/bibxml3/reference.I-D.ietf-6ti | |||
target="https://ieeexplore.ieee.org/document/7553415/"> | sch-architecture.xml"/> | |||
<front> | ||||
<title>IEEE Std 802.1Qbu-2016 Bridges and Bridged Networks - Amend | ||||
ment 26: Frame Preemption</title> | ||||
<author> | ||||
<organization>IEEE Standards Association</organ | ||||
ization> | ||||
</author> | ||||
<date year="2016" /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1Qbv" | <!-- draft-ietf-detnet-use-cases now RFC 8578--> | |||
target="https://ieeexplore.ieee.org/document/7572858/"> | ||||
<front> | ||||
<title>IEEE Std 802.1Qbv-2015 Bridges and Bridged Networks - Amend | ||||
ment 25: Enhancements for Scheduled Traffic</title> | ||||
<author> | ||||
<organization>IEEE Standards Association</organ | ||||
ization> | ||||
</author> | ||||
<date year="2015" /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1BA" | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8578. | |||
target="https://ieeexplore.ieee.org/document/6032690/"> | xml"/> | |||
<front> | ||||
<title>IEEE Std 802.1BA-2011 Audio Video Bridging (AVB) Systems | ||||
</title> | ||||
<author> | ||||
<organization>IEEE Standards Association</organization> | ||||
</author> | ||||
<date year="2011" /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1Qch" | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8557. | |||
target="https://ieeexplore.ieee.org/document/7961303/"> | xml"/> | |||
<front> | ||||
<title>IEEE Std 802.1Qch-2017 Bridges and Bridged Netwo | ||||
rks - Amendment 29: Cyclic Queuing and Forwarding</title> | ||||
<author> | ||||
<organization>IEEE Standards Association</organ | ||||
ization> | ||||
</author> | ||||
<date year="2017" /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.3-2018" | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2205. | |||
target="https://ieeexplore.ieee.org/document/8457469"> | xml"/> | |||
<front> | ||||
<title>IEEE Std 802.3-2018 Standard for Ethernet</title | ||||
> | ||||
<author> | ||||
<organization>IEEE Standards Association</organ | ||||
ization> | ||||
</author> | ||||
<date year="2018" /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.3br" | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2475. | |||
target="http://ieeexplore.ieee.org/document/7900321/"> | xml"/> | |||
<front> | ||||
<title>IEEE Std 802.3br-2016 Standard for Ethernet Amen | ||||
dment 5: | ||||
Specification and Management Parameters for Interspersing Expr | ||||
ess Traffic</title> | ||||
<author> | ||||
<organization>IEEE Standards Association</organ | ||||
ization> | ||||
</author> | ||||
<date year="2016" /> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1TSNTG" target="http://www.ieee802.org/1/tsn | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2914. | |||
"> | xml"/> | |||
<front> | ||||
<title>IEEE 802.1 Time-Sensitive Networking Task Group</title> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3168. | |||
<author> | xml"/> | |||
<organization>IEEE Standards Association</organization> | ||||
</author> | ||||
<date></date> | ||||
</front> | ||||
</reference> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3209. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3550. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4301. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4655. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6372. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6658. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7149. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7384. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7426. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7554. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7567. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7813. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8033. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8227. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8289. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8402. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8453. | ||||
xml"/> | ||||
<reference anchor="IEC-62439-3" target="https://webstore.iec.ch/publicatio | ||||
n/24447"> | ||||
<front> | ||||
<title>Industrial communication networks - High | ||||
availability automation networks - Part 3: Parallel Redundan | ||||
cy | ||||
Protocol (PRP) and High-availability Seamless Redundancy (HS | ||||
R) | ||||
</title> | ||||
<seriesInfo name="TC 65 /" value="SC 65C"/> | ||||
<seriesInfo name="IEC" value="62439-3:2016"/> | ||||
<author> | ||||
<organization>IEC</organization> | ||||
</author> | ||||
<date month="March" year="2016"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1AE" target="https://ieeexplore.ieee.org/docume | ||||
nt/8585421"> | ||||
<front> | ||||
<title>IEEE Standard for Local and metropolitan area | ||||
networks-Media Access Control (MAC) Security</title> | ||||
<seriesInfo name="DOI" value="10.1109/IEEESTD.2018.8585421"/> | ||||
<seriesInfo name="IEEE" value="802.1AE-2018"/> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1CB" target="https://ieeexplore.ieee.org/docume | ||||
nt/8091139"> | ||||
<front> | ||||
<title>IEEE Standard for Local and metropolitan area | ||||
networks--Frame Replication and Elimination for Reliability</ti | ||||
tle> | ||||
<seriesInfo name="DOI" value="10.1109/IEEESTD.2017.8091139"/> | ||||
<seriesInfo name="IEEE" value="802.1CB-2017"/> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1Q" target="https://ieeexplore.ieee.org/documen | ||||
t/8403927"> | ||||
<front> | ||||
<title>IEEE Standard for Local and Metropolitan Area | ||||
Network--Bridges and Bridged Networks</title> | ||||
<seriesInfo name="DOI" value="10.1109/IEEESTD.2018.8403927"/> | ||||
<seriesInfo name="IEEE" value="802.1Q-2018"/> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1Qav" target="https://ieeexplore.ieee.org/docum | ||||
ent/5375704"> | ||||
<front> | ||||
<title>IEEE Standard for Local and Metropolitan Area Networks - | ||||
Virtual Bridged Local Area Networks Amendment 12: Forwarding and | ||||
Queuing Enhancements for Time-Sensitive Streams</title> | ||||
<seriesInfo name="DOI" value="10.1109/IEEESTD.2009.5375704"/> | ||||
<seriesInfo name="IEEE" value="802.1Qav-2009"/> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1Qbu" target="https://ieeexplore.ieee.org/docum | ||||
ent/7553415"> | ||||
<front> | ||||
<title>IEEE Standard for Local and metropolitan area networks -- | ||||
Bridges and Bridged Networks -- Amendment 26: Frame Preemption</tit | ||||
le> | ||||
<seriesInfo name="DOI" value=" 10.1109/IEEESTD.2016.7553415"/> | ||||
<seriesInfo name="IEEE" value="802.1Qbu-2016"/> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1Qbv" target="https://ieeexplore.ieee.org/docum | ||||
ent/7440741"> | ||||
<front> | ||||
<title>IEEE Standard for Local and metropolitan area networks -- | ||||
Bridges and Bridged Networks - Amendment 25: Enhancements for | ||||
Scheduled Traffic</title> | ||||
<seriesInfo name="DOI" value="10.1109/IEEESTD.2016.7572858"/> | ||||
<seriesInfo name="IEEE" value="802.1Qbv-2015"/> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1BA" target="https://ieeexplore.ieee.org/docume | ||||
nt/6032690"> | ||||
<front> | ||||
<title>IEEE Standard for Local and metropolitan area | ||||
networks--Audio Video Bridging (AVB) Systems</title> | ||||
<seriesInfo name="DOI" value="10.1109/IEEESTD.2011.6032690"/> | ||||
<seriesInfo name="IEEE" value="802.1BA-2011"/> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1Qch" target="https://ieeexplore.ieee.org/docum | ||||
ent/7961303"> | ||||
<front> | ||||
<title>IEEE Standard for Local and metropolitan area | ||||
networks--Bridges and Bridged Networks--Amendment | ||||
29: Cyclic Queuing and Forwarding</title> | ||||
<seriesInfo name="DOI" value="10.1109/IEEESTD.2017.7961303"/> | ||||
<seriesInfo name="IEEE" value="802.1Qch-2017"/> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.3" target="https://ieeexplore.ieee.org/document | ||||
/8457469"> | ||||
<front> | ||||
<title>IEEE Standard for Ethernet</title> | ||||
<seriesInfo name="DOI" value="10.1109/IEEESTD.2018.8457469"/> | ||||
<seriesInfo name="IEEE" value="802.3-2018"/> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.3br" target="https://ieeexplore.ieee.org/docume | ||||
nt/7900321"> | ||||
<front> | ||||
<title>IEEE Standard for Ethernet Amendment 5: | ||||
Specification and Management Parameters for | ||||
Interspersing Express Traffic</title> | ||||
<seriesInfo name="DOI" value="10.1109/IEEESTD.2016.7900321"/> | ||||
<seriesInfo name="IEEE" value="802.3br"/> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IEEE802.1TSNTG" target="https://1.ieee802.org/tsn/"> | ||||
<front> | ||||
<title>Time-Sensitive Networking (TSN) Task Group</title> | ||||
<author> | ||||
<organization>IEEE</organization> | ||||
</author> | ||||
<date/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="TEAS" target="https://datatracker.ietf.org/doc/charter- ietf-teas/"> | <reference anchor="TEAS" target="https://datatracker.ietf.org/doc/charter- ietf-teas/"> | |||
<front> | <front> | |||
<title>Traffic Engineering Architecture and Signaling Working Group< | <title>Traffic Engineering Architecture and Signaling (teas)</title> | |||
/title> | <author> | |||
<author> | <organization>IETF</organization> | |||
<organization>IETF</organization> | </author> | |||
</author> | <date/> | |||
<date></date> | </front> | |||
</front> | ||||
</reference> | </reference> | |||
<reference anchor="CCAMP" target="https://datatracker.ietf.org/wg/ccamp/ch | ||||
<reference anchor="CCAMP" target="https://datatracker.ietf.org/doc/char | arter/"> | |||
ter-ietf-ccamp/"> | <front> | |||
<front> | <title>Common Control and Measurement Plane (ccamp)</title> | |||
<title>Common Control and Measurement Plane Working Group</title> | <author> | |||
<author> | <organization>IETF</organization> | |||
<organization>IETF</organization> | </author> | |||
</author> | <date/> | |||
<date></date> | </front> | |||
</front> | ||||
</reference> | </reference> | |||
<reference anchor="BUFFERBLOAT"> | <reference anchor="BUFFERBLOAT"> | |||
<front> | <front> | |||
<title>Bufferbloat: Dark Buffers in the Internet</title> | <title>Bufferbloat: Dark Buffers in the Internet</title> | |||
<seriesInfo name="DOI" value="10.1145/2063176.2063196"/> | ||||
<author fullname="J. Gettys" initials="J." surname="Gettys"></author> | <seriesInfo name="Communications of the ACM," value="Volume 55, Issue | |||
1"/> | ||||
<author fullname="K. Nichols" initials="K." surname="Nichols"></author | <author initials="J." surname="Gettys" fullname="Jim Gettys"> | |||
> | <organization/> | |||
</author> | ||||
<date month="January" year="2012" /> | <author initials="K." surname="Nichols" fullname="Kathleen Nichols"> | |||
<organization/> | ||||
</author> | ||||
<date month="January" year="2012"/> | ||||
</front> | </front> | |||
<format octets="Communications of the ACM, Volume 55 Issue 1, Pages 57-6 | ||||
5 " target="https://dl.acm.org/citation.cfm?id=2063176.2063196" type="PDF" /> | ||||
</reference> | </reference> | |||
</references> | ||||
</references> | <section numbered="false" toc="default"> | |||
<name>Acknowledgements</name> | ||||
<t>The authors wish to thank 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. | ||||
</t> | ||||
</section> | ||||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 151 change blocks. | ||||
2253 lines changed or deleted | 2043 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |