| rfc8939xml2.original.xml | rfc8939.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
| ]> | ||||
| <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
| <?rfc toc="yes"?> | ||||
| <?rfc symrefs="yes"?> | ||||
| <?rfc sortrefs="yes"?> | ||||
| <?rfc iprnotified="no"?> | ||||
| <?rfc strict="yes"?> | ||||
| <?rfc compact="yes"?> | ||||
| <?rfc subcompact="no"?> | ||||
| <rfc category="std" | ||||
| docName="draft-ietf-detnet-ip-07" | ||||
| ipr="trust200902" | ||||
| submissionType="IETF"> | ||||
| <front> | ||||
| <title abbrev="DetNet IP"> | ||||
| DetNet Data Plane: IP</title> | ||||
| <author role="editor" fullname="Balázs Varga" initials="B." surname=" | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| Varga"> | ||||
| <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" | ||||
| category="std" consensus="true" docName="draft-ietf-detnet-ip-07" | ||||
| number="8939" ipr="trust200902" obsoletes="" updates="" xml:lang="en" | ||||
| tocInclude="true" symRefs="true" sortRefs="true" version="3"> | ||||
| <!-- xml2rfc v2v3 conversion 2.46.0 --> | ||||
| <front> | ||||
| <title abbrev="DetNet Data Plane: IP">Deterministic Networking (DetNet) Data | ||||
| Plane: IP</title> | ||||
| <seriesInfo name="RFC" value="8939"/> | ||||
| <author role="editor" fullname="Balázs Varga" initials="B." surname="Varga"> | ||||
| <organization>Ericsson</organization> | <organization>Ericsson</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>Magyar Tudosok krt. 11.</street> | <street>Magyar Tudosok krt. 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 krt. 11.</street> | <street>Magyar Tudosok krt. 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> | |||
| skipping to change at line 45 ¶ | skipping to change at line 39 ¶ | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>Magyar Tudosok krt. 11.</street> | <street>Magyar Tudosok krt. 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> | |||
| <author fullname="Lou Berger" initials="L." surname="Berger"> | <author fullname="Lou Berger" initials="L." surname="Berger"> | |||
| <organization>LabN Consulting, L.L.C.</organization> | <organization>LabN Consulting, L.L.C.</organization> | |||
| <address> | <address> | |||
| <email>lberger@labn.net</email> | <email>lberger@labn.net</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Don Fedyk" initials="D." surname="Fedyk"> | <author fullname="Don Fedyk" initials="D." surname="Fedyk"> | |||
| <organization>LabN Consulting, L.L.C.</organization> | <organization>LabN Consulting, L.L.C.</organization> | |||
| <address> | <address> | |||
| <email>dfedyk@labn.net</email> | <email>dfedyk@labn.net</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Stewart Bryant" initials="S." surname="Bryant"> | <author fullname="Stewart Bryant" initials="S." surname="Bryant"> | |||
| <organization>Futurewei Technologies</organization> | <organization>Futurewei Technologies</organization> | |||
| <address> | <address> | |||
| <email>stewart.bryant@gmail.com</email> | <email>sb@stewartbryant.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <!--author fullname="Donald Fauntleroy Duck" initials="D. F." surname="Duck" | <date year="2020" month="November" /> | |||
| > | ||||
| <organization abbrev="Royal Bros.">Royal Bros.</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>13 Paradise Road</street> | ||||
| <city>Duckburg</city> | ||||
| <region>Calisota</region> | ||||
| <country>USA</country> | ||||
| </postal> | ||||
| </address> | ||||
| </author--> | ||||
| <date /> | ||||
| <workgroup>DetNet</workgroup> | <workgroup>DetNet</workgroup> | |||
| <keyword>Application</keyword> | ||||
| <keyword>Endpoint</keyword> | ||||
| <keyword>Service Sub-layer</keyword> | ||||
| <keyword>Forwarding Sub-layer</keyword> | ||||
| <abstract> | <abstract> | |||
| <t> | <t> | |||
| This document specifies the DetNet data plane operation for IP hosts | This document specifies the Deterministic Networking (DetNet) | |||
| and routers that provide DetNet service to IP encapsulated data. No | data plane operation for IP hosts and routers that provide DetNet | |||
| DetNet-specific encapsulation is defined to support IP flows; instead | service to IP-encapsulated data. No DetNet-specific encapsulation is | |||
| the existing IP and higher layer protocol header information is used to | defined to support IP flows; instead, the existing IP-layer and | |||
| support flow identification and DetNet service delivery. This | higher-layer protocol header information is used to support flow | |||
| document builds on the DetNet Architecture and Data Plane Framework. | identification and DetNet service delivery. This document builds on | |||
| the DetNet architecture (RFC 8655) and data plane framework | ||||
| (RFC 8938). | ||||
| </t> | </t> | |||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <!-- | ||||
| *********************************************** | ||||
| IESG review comment resolutions in this version: | ||||
| DONE | ||||
| - Roni Even, (Gen-ART), (03-09), Ready with Nits | ||||
| - Sabrina Tanamal, IANA, (03-12), OK | ||||
| - David Black (03-12), Include ICMP | ||||
| - Tero Kivinen 03-12, Nits | ||||
| - Bob Briscoe, (03-15), Comments and Many nits | ||||
| To be discussed: | ||||
| - Security section | ||||
| - Deborah, (04-09), decrease authors to 5 !!! | ||||
| *********************************************** | ||||
| <middle> | <middle> | |||
| <section title="Introduction" anchor="sec_intro"> | <section anchor="sec_intro" numbered="true" toc="default"> | |||
| <name>Introduction</name> | ||||
| <t> | <t> | |||
| Deterministic Networking (DetNet) is a service that can be offered by a | Deterministic Networking (DetNet) is a service that can be offered by | |||
| network to DetNet flows. | a network to DetNet flows. | |||
| DetNet provides these flows with extremely low packet loss rates and ass | DetNet provides these flows with extremely low packet loss rates and | |||
| ured maximum end-to-end | assured maximum end-to-end | |||
| delivery latency. General background and concepts of DetNet can | delivery latency. General background and concepts of DetNet can | |||
| be found in the DetNet Architecture <xref target="RFC8655"/>. | be found in the DetNet architecture <xref target="RFC8655" format="defau lt"/>. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| This document specifies the DetNet data plane operation for IP hosts | This document specifies the DetNet data plane operation for IP hosts | |||
| and routers that provide DetNet service to IP encapsulated data. No | and routers that provide DetNet service to IP-encapsulated data. No | |||
| DetNet-specific encapsulation is defined to support IP flows; instead | DetNet-specific encapsulation is defined to support IP flows; instead, | |||
| the existing IP and higher layer protocol header information is used to | the existing IP-layer and higher-layer protocol header information is us | |||
| ed to | ||||
| support flow identification and DetNet service delivery. Common data pla ne | support flow identification and DetNet service delivery. Common data pla ne | |||
| procedures and control information for all DetNet data planes | procedures and control information for all DetNet data planes | |||
| can be found in <xref target="I-D.ietf-detnet-data-plane-framework"/>. | can be found in <xref target="RFC8938" format="default"/>. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The DetNet Architecture models the DetNet related data plane functions | The DetNet architecture models the DetNet-related data plane functions | |||
| as two sub-layers: a | as two sub-layers: a service sub-layer and a forwarding sub-layer. | |||
| service sub-layer and a forwarding sub-layer. The service sub-layer is | The service sub-layer is used to provide DetNet service protection | |||
| used to provide DetNet service protection (e.g., by packet replication | (e.g., by the Packet Replication Function (PRF) and Packet Elimination | |||
| and packet elimination functions) and reordering. The | Function (PEF)) and reordering. The forwarding sub-layer is used to | |||
| forwarding sub-layer is used to provide congestion protection (low | provide congestion protection (low loss, assured latency, and limited | |||
| loss, assured latency, and limited out-of-order delivery). | out-of-order delivery). The service sub-layer generally requires | |||
| The service sub-layer generally requires additional header fields | additional header fields to provide its service; for example, see | |||
| to provide | <xref target="DetNet-MPLS" format="default"/>. Since no | |||
| its service; for example see <xref target="I-D.ietf-detnet-mpls"/ | DetNet-specific fields are added to support DetNet IP flows, only the | |||
| >. | forwarding sub-layer functions are supported using the DetNet IP | |||
| Since no DetNet-specific fields are added to support DetNet | defined by this document. Service protection can be provided on a | |||
| IP flows, only | per-sub-network basis using technologies such as MPLS <xref | |||
| the forwarding sub-layer functions are supported using the DetNet | target="DetNet-MPLS"/> and Ethernet, | |||
| IP | as specified by the IEEE 802.1 TSN (Time-Sensitive Networking) task | |||
| defined by this document. | group (referred to in this document simply as "IEEE 802.1 TSN"). | |||
| Service protection can be provided on a per | See <xref target="IEEE802.1TSNTG"/>. | |||
| sub-net basis using technologies such as MPLS <xref | ||||
| target="I-D.ietf-detnet-dp-sol-mpls"/> and Ethernet as | ||||
| specified in the IEEE 802.1 TSN (Time-Sensitive Networking) task group ( | ||||
| referred to in this document | ||||
| simply as IEEE802.1 TSN). | ||||
| </t> | </t> | |||
| <t> | <t> | |||
| This document provides an overview of the DetNet IP data plane in <xref | This document provides an overview of the DetNet IP data plane in | |||
| target="sec_dt_dp"/>, and considerations that apply to providing | <xref target="sec_dt_dp" format="default"/> and considerations that | |||
| DetNet services via the DetNet IP data plane in <xref | apply to providing | |||
| target="dn-gen-encap-solution"/>. <xref target="ip-procs"/> | DetNet services via the DetNet IP data plane in <xref target="dn-gen-enc | |||
| ap-solution" format="default"/>. <xref target="ip-procs" format="default"/> | ||||
| provides the procedures for hosts and routers that support IP-based | provides the procedures for hosts and routers that support IP-based | |||
| DetNet services. <xref target="ip-flow-id-info"/> summarizes the set of | DetNet services. <xref target="ip-flow-id-info" format="default"/> summa rizes the set of | |||
| information that is needed to identify an individual DetNet flow . | information that is needed to identify an individual DetNet flow . | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Terminology"> | <name>Terminology</name> | |||
| <section title="Terms Used In This Document"> | <section numbered="true" toc="default"> | |||
| <name>Terms Used in This Document</name> | ||||
| <t> | <t> | |||
| This document uses the terminology and concepts established in | This document uses the terminology and concepts established in | |||
| the DetNet architecture <xref | the DetNet architecture <xref target="RFC8655" format="default"/>, | |||
| target="RFC8655"/>, and the reader is assumed | and it is assumed that the reader is | |||
| to be familiar with that document and its terminology. | familiar with that document and its terminology. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Abbreviations"> | <name>Abbreviations</name> | |||
| <t> | <t> | |||
| The following abbreviations used in this document: | The following abbreviations are used in this document: | |||
| <!-- [JiK] Update later --> | ||||
| <list style="hanging" hangIndent="14"> | </t> | |||
| <t hangText="CoS">Class of Service</t> | <dl newline="false" spacing="normal" indent="14"> | |||
| <t hangText="DetNet">Deterministic Networking</t> | <dt>CoS</dt> | |||
| <t hangText="DN">DetNet</t> | <dd>Class of Service</dd> | |||
| <t hangText="DiffServ">Differentiated Services</t> | <dt>DetNet</dt> | |||
| <t hangText="DSCP">Differentiated Services Code Point</t> | <dd>Deterministic Networking</dd> | |||
| <t hangText="L2">Layer-2</t> | <dt>DN</dt> | |||
| <t hangText="L3">Layer-3</t> | <dd>DetNet</dd> | |||
| <t hangText="LSP">Label-switched path</t> | <dt>Diffserv</dt> | |||
| <t hangText="MPLS">Multiprotocol Label Switching</t> | <dd>Differentiated Services</dd> | |||
| <t hangText="PREOF">Packet Replication, Elimination and Ordering Fun | <dt>DSCP</dt> | |||
| ction</t> | <dd>Differentiated Services Code Point</dd> | |||
| <t hangText="QoS">Quality of Service</t> | <dt>L2</dt> | |||
| <t hangText="TSN">Time-Sensitive Networking, TSN is a Task Group of | <dd>Layer 2</dd> | |||
| the IEEE | <dt>L3</dt> | |||
| 802.1 Working Group.</t> | <dd>Layer 3</dd> | |||
| </list> | <dt>LSP</dt> | |||
| <dd>Label Switched Path</dd> | ||||
| <dt>MPLS</dt> | ||||
| <dd>Multiprotocol Label Switching</dd> | ||||
| <dt>PEF</dt> | ||||
| <dd>Packet Elimination Function</dd> | ||||
| <dt>PREOF</dt> | ||||
| <dd>Packet Replication, Elimination, and Ordering Functions</dd> | ||||
| <dt>PRF</dt> | ||||
| <dd>Packet Replication Function</dd> | ||||
| <dt>QoS</dt> | ||||
| <dd>Quality of Service</dd> | ||||
| <dt>TSN</dt> | ||||
| <dd>Time-Sensitive Networking. TSN is a task group of the IEEE | ||||
| 802.1 Working Group.</dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Requirements Language</name> | ||||
| <t> | ||||
| The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | ||||
| IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | ||||
| NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | ||||
| RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
| "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
| be interpreted as | ||||
| described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
| when, and only when, they appear in all capitals, as shown here. | ||||
| </t> | </t> | |||
| </section> | </section> | |||
| <section title="Requirements Language"> | ||||
| <t> | ||||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | ||||
| NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | ||||
| "MAY", and "OPTIONAL" in this document are to be interpreted as | ||||
| described in BCP 14 <xref target="RFC2119"/> <xref | ||||
| target="RFC8174"/> when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| </t> | ||||
| </section> | </section> | |||
| </section> | <section anchor="sec_dt_dp" numbered="true" toc="default"> | |||
| <name>Overview of the DetNet IP Data Plane</name> | ||||
| <section title="DetNet IP Data Plane Overview" anchor="sec_dt_dp"> | ||||
| <!-- LB: this section should provide the overview related to: | ||||
| <section title="Simplified IP-Related DetNet Data Plane Solution" anchor="si | ||||
| mple-ip-solution"> | ||||
| <t> | ||||
| This section is the placeholder for the conclusion discussed during IETF 101 an | ||||
| d 102. | ||||
| </t> | ||||
| <t> | ||||
| [Editor's note: describe the 6 tuple way of identifying DetNet service f | ||||
| lows. Also stress | ||||
| that PREOF is per network segment as described in <xref target="nwsegmen | ||||
| ts"/> | ||||
| <list style="symbols"> | ||||
| <t>DetNet flows are recognized based on 6 tuple.</t> | ||||
| <t>No end-to-end DN Sequence Number present in the packet.</t> | ||||
| <t>Links/sub-networks may use their technology specific methods to ach | ||||
| ieve DN service.</t> | ||||
| <t>TE information does not travel with the packet (e.g., nailed down p | ||||
| ath ensured via Policy-Based-Routing).</t> | ||||
| <t>etc.</t> | ||||
| </list> | ||||
| ] | ||||
| </t> | ||||
| <t> | <t> | |||
| <xref target="simplifiedip"/> illustrated the case for DetNet simplified | ||||
| IP data plane solution. | ||||
| </t> | ||||
| </section> | ||||
| --> | ||||
| <t> | ||||
| This document describes how IP is used by DetNet nodes, i.e., hosts and | This document describes how IP is used by DetNet nodes, i.e., hosts and | |||
| routers, to identify DetNet flows and provide a DetNet service using an IP | routers, to identify DetNet flows and provide a DetNet service using an IP | |||
| data plane. From a data plane perspective, an end-to-end IP model is | data plane. From a data plane perspective, an end-to-end IP model is | |||
| followed. As mentioned above, existing IP and higher layer protocol | followed. As mentioned above, existing IP-layer and higher-layer | |||
| header information is used to support flow identification and DetNet | protocol header information is used to support flow identification and | |||
| DetNet | ||||
| service delivery. Common data plane procedures and control information | service delivery. Common data plane procedures and control information | |||
| for all DetNet data planes can be found in <xref | for all DetNet data planes can be found in <xref target="RFC8938" format | |||
| target="I-D.ietf-detnet-data-plane-framework"/>. | ="default"/>. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The DetNet IP data plane primarily uses 6-tuple based flow identificatio | The DetNet IP data plane primarily uses 6-tuple-based flow identificatio | |||
| n, where | n, where | |||
| "6-tuple" refers to information carried in IP and higher layer protocol | "6-tuple" refers to information carried in IP-layer and higher-layer pro | |||
| tocol | ||||
| headers. The 6-tuple referred to in this document is the same as | headers. The 6-tuple referred to in this document is the same as | |||
| that defined in <xref target="RFC3290"/>. Specifically 6-tuple is | that defined in <xref target="RFC3290" | |||
| format="default"/>. Specifically, the 6-tuple is | ||||
| destination address, source address, IP protocol, source port, | destination address, source address, IP protocol, source port, | |||
| destination port, and differentiated services (DiffServ) code point | destination port, and | |||
| (DSCP). General background on the use of IP headers, and 5-tuples, | DSCP. General background on the use of IP headers and 5-tuples | |||
| to identify flows and support Quality of Service (QoS) can be found in | to identify flows and support Quality of Service (QoS) can be found in | |||
| <xref target="RFC3670"/>. <xref target="RFC7657"/> also provides | <xref target="RFC3670" format="default"/>. <xref target="RFC7657" forma | |||
| useful background on the delivery of DiffServ and "tuple" based flow | t="default"/> also provides | |||
| useful background on the delivery of Diffserv and tuple-based flow | ||||
| identification. Note that a 6-tuple is composed of a 5-tuple | identification. Note that a 6-tuple is composed of a 5-tuple | |||
| plus the addition of a DSCP component. | plus the addition of a DSCP component. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| For some of the protocols 5-tuples and 6-tuples cannot be used becaus | For some of the protocols, 5-tuples and 6-tuples cannot be used, bec | |||
| e | ause | |||
| the port information is not available (e.g., ICMP, IPSec ESP). Th | the port information is not available (e.g., ICMP, IPsec, and | |||
| is is | Encapsulating Security Payload (ESP)). This is | |||
| also the case for flow aggregates. In such cases, using | also the case for flow aggregates. In such cases, using | |||
| fewer fields is appropriate, e.g., a 3-tuple (2 IP addresses, IP | fewer fields is appropriate, such as a 3-tuple (2 IP | |||
| protocol) or even a | addresses, IP protocol) or even a | |||
| 2-tuple (all IP traffic between two IP addresses). | 2-tuple (all IP traffic between two IP addresses). | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The DetNet IP data plane also allows for optional matching on | The DetNet IP data plane also allows for optional matching on | |||
| the IPv6 flow label field, | the IPv6 Flow Label field, | |||
| as defined in <xref target="RFC8200"/>. | as defined in <xref target="RFC8200" format="default"/>. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Non-DetNet and DetNet IP packets have the same protocol | Non-DetNet and DetNet IP packets have the same protocol | |||
| header format on the wire. | header format on the wire. | |||
| Generally the fields used in flow identification are forwarded | Generally, the fields used in flow identification are forwarded | |||
| unmodified. However, standard modification of the | unmodified. However, standard modification of the | |||
| DSCP field <xref target="RFC2474"/> is not precluded. | DSCP field <xref target="RFC2474" format="default"/> is not preclude | |||
| d. | ||||
| </t> | </t> | |||
| <t> | <t> | |||
| DetNet flow aggregation may be enabled via the use of | DetNet flow aggregation may be enabled via the use of | |||
| wildcards, masks, lists, prefixes and ranges. IP tunnels may also be | wildcards, masks, lists, prefixes, and ranges. IP tunnels may also be | |||
| used to support flow aggregation. In these cases, it is | used to support flow aggregation. In these cases, it is | |||
| expected that DetNet-aware intermediate nodes will provide | expected that DetNet-aware intermediate nodes will provide | |||
| DetNet service on the aggregate through resource | DetNet service on the aggregate through resource | |||
| allocation and congestion control mechanisms. | allocation and congestion control mechanisms. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The specific procedures that are required to be implemented by a | The specific procedures that are required to be implemented by a | |||
| DetNet node supporting this document can be found in <xref | DetNet node supporting this document can be found in <xref target="ip-pr | |||
| target="ip-procs"/>. The DetNet controller plane, as defined in | ocs" format="default"/>. The DetNet Controller Plane, as defined in | |||
| <xref target="RFC8655"/>, is responsible for providing each node | <xref target="RFC8655" format="default"/>, is responsible for providing | |||
| each node | ||||
| with the information needed to identify and handle each DetNet flow. | with the information needed to identify and handle each DetNet flow. | |||
| </t> | </t> | |||
| <figure align="center" anchor="fig_ip_detnet_simple" | <figure anchor="fig_ip_detnet_simple"> | |||
| title="A Simple DetNet (DN) Enabled IP Network"> | <name>A Simple DetNet-Enabled IP Network</name> | |||
| <artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| DetNet IP Relay Relay DetNet IP | DetNet IP Relay Relay DetNet IP | |||
| End System Node Node End System | End System Node Node End System | |||
| +----------+ +----------+ | +----------+ +----------+ | |||
| | Appl. |<------------ End to End Service ----------->| Appl. | | | Appl. |<------------ End-to-End Service ----------->| Appl. | | |||
| +----------+ ............ ........... +----------+ | +----------+ ............ ........... +----------+ | |||
| | Service |<-: Service :-- DetNet flow --: Service :->| Service | | | Service |<-: Service :-- DetNet flow --: Service :->| Service | | |||
| +----------+ +----------+ +----------+ +----------+ | +----------+ +----------+ +----------+ +----------+ | |||
| |Forwarding| |Forwarding| |Forwarding| |Forwarding| | |Forwarding| |Forwarding| |Forwarding| |Forwarding| | |||
| +--------.-+ +-.------.-+ +-.---.----+ +-------.--+ | +--------.-+ +-.------.-+ +-.---.----+ +-------.--+ | |||
| : Link : \ ,-----. / \ ,-----. / | : Link : \ ,-----. / \ ,-----. / | |||
| +......+ +----[ Sub ]----+ +-[ Sub ]-+ | +......+ +----[ Sub- ]----+ +-[ Sub- ]-+ | |||
| [Network] [Network] | [Network] [Network] | |||
| `-----' `-----' | `-----' `-----' | |||
| |<--------------------- DetNet IP --------------------->| | |<--------------------- DetNet IP --------------------->| | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| <t> | <t> | |||
| <xref target="fig_ip_detnet_simple"/> illustrates a DetNet enabled IP | <xref target="fig_ip_detnet_simple" format="default"/> illustrates a | |||
| network. The DetNet enabled end systems originate IP encapsulated | DetNet-enabled IP | |||
| network. The DetNet-enabled end systems originate IP-encapsulated | ||||
| traffic that is identified within the DetNet domain as DetNet | traffic that is identified within the DetNet domain as DetNet | |||
| flows based on IP header information. | flows based on IP header information. | |||
| Relay nodes understand the | Relay nodes understand the | |||
| forwarding requirements of the DetNet flow and ensure that node, | forwarding requirements of the DetNet flow and ensure that node, | |||
| interface and sub-network resources are allocated to ensure DetNet | interface, and sub-network resources are allocated to ensure DetNet | |||
| service requirements. The dotted line around the Service component of | service requirements. The dotted line around the Service component of | |||
| the Relay Nodes indicates that the transit routers are DetNet service | the Relay Nodes indicates that the transit routers are | |||
| aware but do not perform any DetNet service sub-layer function, e.g., PR | DetNet service aware but do not perform any DetNet service sub-layer | |||
| EOF | function, e.g., PREOF. | |||
| (Packet Replication, Elimination and Ordering Function). | ||||
| </t> | </t> | |||
| <aside> | ||||
| <t> | <t> | |||
| Note: The sub-network can represent a TSN, MPLS network or other | Note: The sub-network can represent a TSN, MPLS network, or other | |||
| network technology that can carry DetNet IP traffic. | network technology that can carry DetNet IP traffic. | |||
| </t> | </t> | |||
| </aside> | ||||
| <figure align="center" anchor="fig_non_detnet_ip" | <figure anchor="fig_non_detnet_ip"> | |||
| title="Non-DetNet-aware IP end systems with DetNet IP Domain"> | <name>Non-DetNet-Aware IP End Systems with DetNet IP Domain</name> | |||
| <artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| IP Edge Edge IP | IP Edge Edge IP | |||
| End System Node Node End System | End System Node Node End System | |||
| +----------+ +.........+ +.........+ +----------+ | +----------+ +.........+ +.........+ +----------+ | |||
| | Appl. |<--:Svc Proxy:-- E2E Service---:Svc Proxy:-->| Appl. | | | Appl. |<--:Svc Proxy:-- E2E Service---:Svc Proxy:-->| Appl. | | |||
| +----------+ +.........+ +.........+ +----------+ | +----------+ +.........+ +.........+ +----------+ | |||
| | IP |<--:IP : :Svc:---- IP flow ----:Svc: :IP :-->| IP | | | IP |<--:IP : :Svc:---- IP flow ----:Svc: :IP :-->| IP | | |||
| +----------+ +---+ +---+ +---+ +---+ +----------+ | +----------+ +---+ +---+ +---+ +---+ +----------+ | |||
| |Forwarding| |Fwd| |Fwd| |Fwd| |Fwd| |Forwarding| | |Forwarding| |Fwd| |Fwd| |Fwd| |Fwd| |Forwarding| | |||
| +--------.-+ +-.-+ +-.-+ +-.-+ +-.-+ +---.------+ | +--------.-+ +-.-+ +-.-+ +-.-+ +-.-+ +---.------+ | |||
| : Link : \ ,-----. / / ,-----. \ | : Link : \ ,-----. / / ,-----. \ | |||
| +.......+ +----[ Sub ]----+ +--[ Sub ]--+ | +.......+ +----[ Sub- ]----+ +--[ Sub- ]--+ | |||
| [Network] [Network] | [network] [network] | |||
| `-----' `-----' | `-----' `-----' | |||
| |<--- IP --->| |<------ DetNet IP ------>| |<--- IP --->| | |<--- IP --->| |<------ DetNet IP ------>| |<--- IP --->| | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| <t> | <t> | |||
| <xref target="fig_non_detnet_ip"/> illustrates a variant of <xref | <xref target="fig_non_detnet_ip" format="default"/> illustrates a varian | |||
| target="fig_ip_detnet_simple"/> where the end systems are not DetNet | t of <xref target="fig_ip_detnet_simple" format="default"/> where the end system | |||
| s are not DetNet | ||||
| aware. In this case, edge nodes sit at the boundary of the DetNet | aware. In this case, edge nodes sit at the boundary of the DetNet | |||
| domain and provide DetNet service proxies for the end applications by | domain and provide DetNet service proxies for the end applications by | |||
| initiating and terminating DetNet service for the application's IP | initiating and terminating DetNet service for the application's IP | |||
| flows. The existing header information or an approach such as described | flows. The existing header information or an approach such as described | |||
| in <xref target="aggregation"/> can be used to support DetNet flow | in <xref target="aggregation" format="default"/> can be used to support DetNet flow | |||
| identification. | identification. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Note that <xref target="fig_ip_detnet_simple"/> and | Note that Figures <xref target="fig_ip_detnet_simple" | |||
| <xref target="fig_non_detnet_ip"/> can be collapsed, so IP DetNet | format="counter"/> and <xref target="fig_non_detnet_ip" | |||
| End Systems can communicate over a DetNet IP network with IP End Systems | format="counter"/> can be collapsed, | |||
| . | so IP DetNet | |||
| end systems can communicate over a DetNet IP network with IP end systems | ||||
| . | ||||
| </t> | </t> | |||
| <t> | <t> | |||
| As non-DetNet and DetNet IP packets have the same protocol | As non-DetNet and DetNet IP packets have the same protocol header | |||
| header format on the wire, from | format on the wire, from | |||
| a data plane perspective, the only difference is that there is | a data plane perspective, the only difference is that there is | |||
| flow-associated DetNet information on each DetNet node that | flow-associated DetNet information on each DetNet node that | |||
| defines the flow related characteristics and required forwarding | defines the flow-related characteristics and required forwarding | |||
| behavior. As shown above, edge nodes provide a Service Proxy | behavior. As shown above, edge nodes provide a Service Proxy | |||
| function that "associates" one or more IP flows with the | function that "associates" one or more IP flows with the | |||
| appropriate DetNet flow-specific information and ensures that | appropriate DetNet flow-specific information and ensures that | |||
| the flow receives the proper traffic treatment within the domain. | the flow receives the proper traffic treatment within the domain. | |||
| </t> | </t> | |||
| <t> | <aside> | |||
| Note: The operation of IEEE802.1 TSN end systems over DetNet | <t> | |||
| enabled IP networks is not described in this document. TSN | Note: The operation of IEEE 802.1 TSN end systems over DetNet-enabled | |||
| over MPLS is described in <xref target="I-D.ietf-detnet-tsn-vpn-over-mpl | IP networks is not described in this document. TSN | |||
| s"/>. | over MPLS is described in <xref | |||
| </t> | target="I-D.ietf-detnet-tsn-vpn-over-mpls" format="default"/>. | |||
| </t> | ||||
| </aside> | ||||
| </section> | </section> | |||
| <!-- ================================================================= --> | <section anchor="dn-gen-encap-solution" numbered="true" toc="default"> | |||
| <!-- =================== General Encap considerations ================ --> | <name>DetNet IP Data Plane Considerations</name> | |||
| <!-- ================================================================= --> | ||||
| <section title="DetNet IP Data Plane Considerations" anchor="dn-gen-encap-so | ||||
| lution"> | ||||
| <t> | <t> | |||
| This section provides considerations related to | This section provides considerations related to | |||
| providing DetNet service to flows which are identified | providing DetNet service to flows that are identified | |||
| based on their header information. | based on their header information. | |||
| </t> | </t> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="End System Specific Considerations"> | <name>End-System-Specific Considerations</name> | |||
| <t> | <t> | |||
| Data-flows requiring DetNet service are generated and terminate | Data flows requiring DetNet service are generated and terminated on | |||
| d on | end systems. This document deals only with IP end systems. | |||
| end systems. This document deals only with IP end systems. | The protocols used by an IP end system are specific to an application, | |||
| The protocols used by an IP end system are specific to an appli | and end systems peer with other end systems. | |||
| cation, | DetNet's use of 6-tuple IP flow | |||
| and end systems peer with other end systems. | ||||
| DetNet's use of 6-tuple IP flow | ||||
| identification means that DetNet must be aware of not only the | identification means that DetNet must be aware of not only the | |||
| format of the IP header, but also of the next protocol value carried | format of the IP header, but also of the next protocol value carried | |||
| within an IP packet (see <xref target="nxt-proto-field"/>). | within an IP packet (see <xref target="nxt-proto-field" format="defaul t"/>). | |||
| </t> | </t> | |||
| <t> | <t> | |||
| For DetNet unaware IP end systems service-level proxy functions are | For DetNet-unaware IP end systems, service-level proxy functions are | |||
| needed inside the DetNet domain. | needed inside the DetNet domain. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| When IP end systems are DetNet-aware, no application-level or | When IP end systems are DetNet aware, no application-level or | |||
| service-level proxy functions are needed inside the DetNet domain. | service-level proxy functions are needed inside the DetNet domain. | |||
| End systems need to ensure that DetNet service requirements are met | End systems need to ensure that DetNet service requirements are met | |||
| when processing packets associated to a DetNet flow. When | when processing packets associated to a DetNet flow. When | |||
| sending packets, this means that packets are | sending packets, this means that packets are | |||
| appropriately shaped on transmission and receive appropriate traffic | appropriately shaped on transmission and receive appropriate traffic | |||
| treatment on the connected sub-network; see <xref target="QoS"/> and | treatment on the connected sub-network; see Sections <xref target="QoS | |||
| <xref target="dn_dom_spec_cons"/> for more details. When receiving pa | " | |||
| ckets, | format="counter"/> and <xref target="dn_dom_spec_cons" | |||
| format="counter"/> for more details. When receiving packets, | ||||
| this means that there are appropriate local node resources, | this means that there are appropriate local node resources, | |||
| e.g., buffers, to receive and process the packets of that DetNet flow. | e.g., buffers, to receive and process the packets of that DetNet flow. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| An important additional consideration for DetNet-aware end | An important additional consideration for DetNet-aware end | |||
| systems is avoiding IP fragmentation. Full 6-tuple flow | systems is avoiding IP fragmentation. Full 6-tuple flow | |||
| identification is not possible on IP fragments as fragments | identification is not possible on IP fragments, as fragments | |||
| don't include the transport headers or their port | don't include the transport headers or their port | |||
| information. As such, it is important that applications and/or | information. As such, it is important that applications and/or | |||
| end-systems use an IP packet size that will avoid | end systems use an IP packet size that will avoid | |||
| fragmentation within the network when sending DetNet flows. | fragmentation within the network when sending DetNet flows. | |||
| The maximum size can be learned via path MTU discovery, <xref | The maximum size can be learned via Path MTU Discovery <xref | |||
| target="RFC1192"/> and <xref target="RFC8201"/>, or via | target="RFC1191" /> <xref target="RFC8201" | |||
| the controller plane. Note that path MTU discovery relies on | format="default"/> or via the Controller Plane. Note that Path MTU | |||
| Discovery relies on | ||||
| ICMP, which may not follow the same path as an individual | ICMP, which may not follow the same path as an individual | |||
| DetNet flow. | DetNet flow. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| In order to maximize reuse of existing mechanisms, | In order to maximize reuse of existing mechanisms, | |||
| DetNet-aware applications and end systems SHOULD NOT mix | DetNet-aware applications and end systems <bcp14>SHOULD NOT</bcp14> mi x | |||
| DetNet and non-DetNet traffic within a single 5-tuple. | DetNet and non-DetNet traffic within a single 5-tuple. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="dn_dom_spec_cons" numbered="true" toc="default"> | ||||
| <section title="DetNet Domain-Specific Considerations" anchor="dn_dom_spec | <name>DetNet Domain-Specific Considerations</name> | |||
| _cons"> | ||||
| <t> | <t> | |||
| As a general rule, DetNet IP domains need to be able to forward any | As a general rule, DetNet IP domains need to be able to forward any | |||
| DetNet flow identified by the IP 6-tuple. Doing otherwise would limit | DetNet flow identified by the IP 6-tuple. Doing otherwise would limit | |||
| the number of 6-tuple flow ID combinations that could be used b | the number of 6-tuple flow ID combinations that could be | |||
| y the | used by the end systems. From a practical standpoint, this | |||
| end systems. From a practical standpoint this | ||||
| means that all nodes along the end-to-end path of DetNet flows need | means that all nodes along the end-to-end path of DetNet flows need | |||
| to agree on what fields are used for flow identification. | to agree on what fields are used for flow identification. | |||
| Possible consequences of not having such an agreement include | Possible consequences of not having such an agreement include | |||
| some flows interfering with other flows, and | some flows interfering with other flows, and | |||
| the traffic treatment expected for a service not being | the traffic treatment expected for a service not being | |||
| provided. | provided. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| From a connection type perspective two scenarios are identified: | From a connection-type perspective, two scenarios are identified: | |||
| <list style="numbers"> | ||||
| <t> | ||||
| DN attached: the end system is directly connected to an edge node, | ||||
| or the end system is behind a sub-network | ||||
| (See ES1 and ES2 in figure below) | ||||
| </t> | ||||
| <t> | ||||
| DN integrated: the end system is part of the DetNet domain. (See E | ||||
| S3 | ||||
| in figure below) | ||||
| </t> | ||||
| </list> | ||||
| </t> | </t> | |||
| <ol spacing="normal" type="1"> | ||||
| <li> | ||||
| DN attached: the end system is directly connected to an edge | ||||
| node or the end system is behind a sub-network. (See ES1 and | ||||
| ES2 in <xref target="fig_es_con_types"/>.) | ||||
| </li> | ||||
| <li> | ||||
| DN integrated: the end system is part of the DetNet domain. (See E | ||||
| S3 | ||||
| in <xref target="fig_es_con_types"/>.) | ||||
| </li> | ||||
| </ol> | ||||
| <t> | <t> | |||
| L3 (IP) end systems may use any of these connection types. A DetNet | L3 (IP) end systems may use any of these connection types. A DetNet | |||
| domain allows communication between any end systems using the | domain allows communication between any end systems using the | |||
| same encapsulation format, independent of their connection type and | same encapsulation format, independent of their connection type and | |||
| DetNet capability. DN attached end systems have no knowledge about | DetNet capability. DN-attached end systems have no knowledge about | |||
| the DetNet domain and its encapsulation format. See <xref | the DetNet domain and its encapsulation format. See <xref target="fig | |||
| target="fig_es_con_types"/> for L3 end system connection examples. | _es_con_types" format="default"/> for L3 end system connection examples. | |||
| </t> | </t> | |||
| <figure anchor="fig_es_con_types"> | ||||
| <figure title="Connection types of L3 end systems" anchor="fig_es_con_ty | <name>Connection Types of L3 End Systems</name> | |||
| pes"> | <artwork align="center" name="" type="" alt=""><![CDATA[ | |||
| <artwork align="center"><![CDATA[ | ||||
| ____+----+ | ____+----+ | |||
| +----+ _____ / | ES3| | +----+ _____ / | ES3| | |||
| | ES1|____ / \__/ +----+___ | | ES1|____ / \__/ +----+___ | |||
| +----+ \ / \ | +----+ \ / \ | |||
| + | | + | | |||
| ____ \ _/ | ____ \ _/ | |||
| +----+ __/ \ +__ DetNet IP domain / | +----+ __/ \ +__ DetNet IP domain / | |||
| | ES2|____/ L2/L3 |___/ \ __ __/ | | ES2|____/ L2/L3 |___/ \ __ __/ | |||
| +----+ \_______/ \_______/ \___/ | +----+ \_______/ \_______/ \___/ | |||
| ]]></artwork> | ||||
| </figure> | ||||
| ]]> | <t> | |||
| </artwork></figure> | Within a DetNet domain, the DetNet-enabled IP routers are | |||
| interconnected by links and sub-networks to support end-to-end | ||||
| <t> | delivery of DetNet flows. From a DetNet architecture perspective, | |||
| Within a DetNet domain, the DetNet-enabled IP Routers are interconne | these routers are DetNet relays, as they must be DetNet service | |||
| cted by | aware. Such routers identify DetNet flows based on the IP 6-tuple | |||
| links and sub-networks to support end-to-end delivery of DetNet | and ensure that the traffic treatment required by the DetNet service | |||
| flows. From a DetNet architecture perspective, these routers are | is | |||
| DetNet relays, as they must be DetNet service aware. Such routers | provided on both the node and any attached sub-network. | |||
| identify DetNet flows based on the IP 6-tuple, and ensure that the | </t> | |||
| DetNet service required traffic treatment is provided both on the | <t> | |||
| node and on any attached sub-network. | This solution provides DetNet functions end to end, but it does so | |||
| </t> | on a per-link and per-sub-network basis. Congestion protection, lat | |||
| <t> | ency | |||
| This solution provides DetNet functions end-to-end, but does so on | control, | |||
| a per link and sub-network basis. Congestion protection and | and resource allocation (queuing, policing, | |||
| latency control and the resource allocation (queuing, policing, | shaping) are supported using the underlying | |||
| shaping) are supported using the underlying link/sub-network | link/sub-network-specific mechanisms. However, service protection | |||
| specific mechanisms. However, service protection (packet | (PRF and PEF) is not | |||
| replication and packet elimination functions) is not provided at | provided end to end at the DetNet layer. | |||
| the DetNet layer end-to-end. Instead service protection can be | Instead, service protection can be | |||
| provided on a per underlying L2 link and sub-network basis. | provided on a per-link (underlying | |||
| </t> | L2 link) and per-sub-network basis. | |||
| </t> | ||||
| <!-- ================================================================= | ||||
| <figure title="Encapsulation of DetNet Routing in simplified | ||||
| IP service L3 end systems" | ||||
| anchor="fig_simple_iprouting"> | ||||
| <artwork align="center"><![CDATA[ | ||||
| +- - - - - -+ +- - - - - -+ | ||||
| | X | | X | | ||||
| +======+ +- - - - - -+ | ||||
| End system | IP | | IP | | ||||
| - - - - -+- - - - - -+- - - - - - -+======+- - - - -+======+- - | ||||
| DetNet |L2/SbN| |L2/SbN| | ||||
| +- - - - - -+ +- - - - - -+ | ||||
| ]]> | ||||
| </artwork></figure> | ||||
| <t> | <t> | |||
| The DetNet Service Flow is mapped to the link/sub-network | The DetNet service flow is mapped to the | |||
| specific resources using an underlying system-specific | link/sub-network-specific resources using an underlying | |||
| means. This implies each DetNet-aware node on path looks | system-specific | |||
| into the forwarded DetNet Service Flow packet and utilize | means. This implies that each DetNet-aware node on the path looks | |||
| e.g., a 6-tuple to find out the required mapping within | into the forwarded DetNet service flow packet and utilizes, | |||
| for example, a 6-tuple to find out the required mapping within | ||||
| a node. | a node. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| As noted earlier, service protection must be implemente | As noted earlier, service protection must be implemented within | |||
| d within | each link/sub-network independently, using the domain-specific | |||
| each link/sub-network independently, using the domain s | mechanisms. This is due to the lack of unified end-to-end | |||
| pecific | sequencing information that could be used by the intermediate | |||
| mechanisms. This is due to the lack of unified end-to-e | nodes. | |||
| nd | Therefore, service protection (if enabled) cannot be provided | |||
| sequencing information that could be used by the interm | end to end, only within sub-networks. This is shown for a scenario | |||
| ediate | with three sub-networks in <xref target="fig_pref_in_subnets" | |||
| nodes. | format="default"/>, | |||
| Therefore, service protection (if enabled) cannot be provided | where each sub-network can provide service protection between | |||
| end-to-end, only within sub-networks. This is shown for a three | ||||
| sub-network scenario in <xref target="fig_pref_in_subnets"/>, | ||||
| where each sub-network can provide service protection between | ||||
| its borders. "R" and "E" denote replication and elimination | its borders. "R" and "E" denote replication and elimination | |||
| points within the sub-network. | points within the sub-network. | |||
| </t> | </t> | |||
| <figure anchor="fig_pref_in_subnets"> | ||||
| <figure title="Replication and elimination in sub-networks for DetNe | <name>Replication and Elimination in Sub-networks for DetNet IP | |||
| t IP networks" anchor="fig_pref_in_subnets"> | Networks</name> | |||
| <artwork align="center"> | <artwork align="center" name="" type="" alt=""><![CDATA[ | |||
| <![CDATA[ | <-------------------- DetNet IP ------------------------> | |||
| <-------------------- DenNet IP ------------------------> | ||||
| ______ | ______ | |||
| ____ / \__ | ____ / \__ | |||
| ____ / \__/ \___ ______ | ____ / \__/ \___ ______ | |||
| +----+ __/ +====+ +==+ \ +----+ | +----+ __/ +====+ +==+ \ +----+ | |||
| |src |__/ SubN1 ) | | \ SubN3 \____| dst| | |src |__/ Sub-N1 ) | | \ Sub-N3\____| dst| | |||
| +----+ \_______/ \ Sub-Network2 | \______/ +----+ | +----+ \_______/ \ Sub-network 2 | \______/ +----+ | |||
| \_ _/ | \_ _/ | |||
| ----+ \_______/ \ <span class="insert">Sub-network 2</span> | \___ ___/ +----+ | ||||
| \ __ __/ | \ __ __/ | |||
| \_______/ \___/ | \_______/ \___/ | |||
| +---+ +---------E--------+ +-----+ | +---+ +---------E--------+ +-----+ | |||
| +----+ | | | | | | | +----+ | +----+ | | | | | | | +----+ | |||
| |src |----R E--------R +---+ E------R E------+ dst| | |src |----R E--------R +---+ E------R E------+ dst| | |||
| +----+ | | | | | | | +----+ | +----+ | | | | | | | +----+ | |||
| +---+ +-----R------------+ +-----+ | +---+ +-----R------------+ +-----+ | |||
| ]]> | ]]></artwork> | |||
| </artwork></figure> | </figure> | |||
| <t> | <t> | |||
| If end-to-end service protection is desired, it can be | If end-to-end service protection is desired, it can be | |||
| implemented, for example, by the DetNet end systems using Layer-4 | implemented -- for example, by the DetNet end systems using | |||
| Layer 4 | ||||
| (L4) transport protocols or application protocols. However, these | (L4) transport protocols or application protocols. However, these | |||
| protocols are out of scope of this document. | protocols are out of the scope of this document. | |||
| </t> | ||||
| <t> | ||||
| Note that not mixing DetNet and non-DetNet traffic within | ||||
| a single 5-tuple, as described above, enables simpler | ||||
| 5-tuple filters to be used (or re-used) at the edges of a DetNet | ||||
| network to prevent non-congestion-responsive DetNet | ||||
| traffic from escaping the DetNet domain. | ||||
| </t> | ||||
| </section> | ||||
| <section title="Forwarding Sub-Layer Considerations"> | ||||
| <section title="Class of Service"> | ||||
| <t> | ||||
| Class of Service (CoS) for DetNet flows carried in IPv4 and IPv6 is pr | ||||
| ovided using the standard | ||||
| differentiated services (DSCP) field <xref | ||||
| target="RFC2474"/> and related mechanisms. | ||||
| </t> | </t> | |||
| <t> | <t> | |||
| One additional consideration for DetNet nodes which support CoS | Note that not mixing DetNet and non-DetNet traffic within | |||
| services is that they must ensure that the CoS service classes do | a single 5-tuple, as described above, enables simpler | |||
| not impact the congestion protection and latency control mechanisms | 5-tuple filters to be used (or reused) at the edges of a DetNet | |||
| used to provide DetNet QoS. This requirement is similar to the | network to prevent non-congestion-responsive DetNet | |||
| requirement for MPLS LSRs that CoS LSPs cannot impact the resou | traffic from escaping the DetNet | |||
| rces | domain. | |||
| allocated to TE LSPs <xref target="RFC3473"/>. | ||||
| </t> | </t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <name>Forwarding Sub-Layer Considerations</name> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Class of Service</name> | ||||
| <section title="Quality of Service" anchor="QoS"> | <t> | |||
| <t> | Class of Service (CoS) for DetNet flows carried in IPv4 and IPv6 | |||
| is provided using the standard | ||||
| DSCP field <xref target="RFC2474" | ||||
| format="default"/> and related mechanisms. | ||||
| </t> | ||||
| <t> | ||||
| One additional consideration for DetNet nodes that support CoS | ||||
| services is that they must ensure that the CoS service classes do | ||||
| not impact the congestion protection and latency control mechanisms | ||||
| used to provide DetNet QoS. This requirement is similar to the | ||||
| requirement for MPLS Label Switching Routers (LSRs) that CoS LSPs | ||||
| cannot impact the resources allocated to TE | ||||
| LSPs <xref target="RFC3473" format="default"/>. | ||||
| </t> | ||||
| </section> | ||||
| <section anchor="QoS" numbered="true" toc="default"> | ||||
| <name>Quality of Service</name> | ||||
| <t> | ||||
| Quality of Service (QoS) for DetNet service flows carried in IP must b e provided locally by | Quality of Service (QoS) for DetNet service flows carried in IP must b e provided locally by | |||
| the DetNet-aware hosts and routers supporting DetNet flows. Such | the DetNet-aware hosts and routers supporting DetNet flows. Such | |||
| support leverages the underlying network layer such as | support leverages the underlying network layer such as | |||
| 802.1 TSN. The node-internal traffic control mechanisms used to deliv | 802.1 TSN. The node-internal traffic control mechanisms used to | |||
| er QoS for | deliver QoS for | |||
| IP encapsulated DetNet flows are outside the scope of this | IP-encapsulated DetNet flows are outside the scope of this | |||
| document. From an encapsulation perspective, the combination of the 6- tuple | document. From an encapsulation perspective, the combination of the 6- tuple | |||
| (the typical 5-tuple enhanced with the DSCP) and optionally | (the typical 5-tuple enhanced with the DSCP) and optionally | |||
| the flow label uniquely identifies a DetNet IP flow. | the flow label uniquely identifies a DetNet IP flow. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Packets that are identified as part of a DetNet IP flow | Packets that are identified as part of a DetNet IP flow | |||
| but that have not been the subject of a completed reservation | but that have not been the subject of a completed reservation | |||
| can disrupt the QoS offered to properly reserved DetNet flows | can disrupt the QoS offered to properly reserved DetNet flows | |||
| by using resources allocated to the reserved flows. | by using resources allocated to the reserved flows. | |||
| Therefore, the network nodes of a DetNet network MUST ensure | Therefore, the network nodes of a DetNet network <bcp14>MUST</bcp14> e | |||
| that no DetNet allocated resources, e.g., queue or shaper, is | nsure | |||
| that no DetNet-allocated resource, e.g., queue or shaper, is | ||||
| used by such flows. | used by such flows. | |||
| There are multiple methods that may be | There are multiple methods that may be | |||
| used by an implementation to defend service delivery to | used by an implementation to defend service delivery to | |||
| reserved DetNet flows, including but not limited to: | reserved DetNet flows, including but not limited to: | |||
| <list style="symbols"> | </t> | |||
| <t> | <ul spacing="normal"> | |||
| <li> | ||||
| Treating packets associated with an incomplete reservation | Treating packets associated with an incomplete reservation | |||
| as non-DetNet traffic. | as non-DetNet traffic. | |||
| </t> | </li> | |||
| <t> | <li> | |||
| Discarding packets associated with an incomplete | Discarding packets associated with an incomplete | |||
| reservation. | reservation. | |||
| </t> | </li> | |||
| <t> | <li> | |||
| Re-marking packets associated with an incomplete | Re-marking packets associated with an incomplete | |||
| reservation. Re-marking can be accomplished by changing | reservation. Re-marking can be accomplished by changing | |||
| the value of the DSCP field to a value that | the value of the DSCP field to a value that | |||
| results in the packet no longer matching any other | results in the packet no longer matching any other | |||
| reserved DetNet IP flow. | reserved DetNet IP flow. | |||
| </t> | </li> | |||
| </list> | </ul> | |||
| </t> | </section> | |||
| </section> | <section anchor="path" numbered="true" toc="default"> | |||
| <section title="Path Selection" anchor="path"> | <name>Path Selection</name> | |||
| <t> | <t> | |||
| While path selection algorithms and mechanisms are out of | While path selection algorithms and mechanisms are out of the | |||
| scope of the DetNet data plane definition, it is important to | scope of the DetNet data plane definition, it is important to | |||
| highlight the implications of DetNet IP flow identification on | highlight the implications of DetNet IP flow identification on | |||
| path selection and next hops. As mentioned above, the DetNet | path selection and next hops. As mentioned above, the DetNet | |||
| IP data plane identifies flows using "6-tuple" header | IP data plane identifies flows using 6-tuple header | |||
| information as well as the optional (flow label) header | information as well as the optional (flow label) header | |||
| field. DetNet generally allows for both flow-specific traffic | field. DetNet generally allows for both flow-specific traffic | |||
| treatment and flow-specific next-hops. | treatment and flow-specific next hops. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| In non-DetNet IP forwarding, it is generally assumed that the | In non-DetNet IP forwarding, it is generally assumed that the | |||
| same series of next hops, i.e., the same path, will be used | same series of next hops, i.e., the same path, will be used | |||
| for a particular 5-tuple or, in some cases, e.g., <xref | for a particular 5-tuple or, in some cases (e.g., <xref | |||
| target="RFC5120"/>, for a particular 6-tuple. Using different | target="RFC5120" format="default"/>), for a particular 6-tuple. | |||
| Using different | ||||
| next hops for different 5-tuples does not take any special | next hops for different 5-tuples does not take any special | |||
| consideration for DetNet-aware applications. | consideration for DetNet-aware applications. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Care should be taken when using different next hops for the | Care should be taken when using different next hops for the | |||
| same 5-tuple. As discussed in <xref target="RFC7657"/>, | same 5-tuple. As discussed in <xref target="RFC7657" format="default" />, | |||
| unexpected behavior can occur when a single 5-tuple | unexpected behavior can occur when a single 5-tuple | |||
| application flow experiences reordering due to being split | application flow experiences reordering due to being split | |||
| across multiple next hops. Understanding of the application | across multiple next hops. Understanding of the application | |||
| and transport protocol impact of using different next hops for | and transport protocol impact of using different next hops for | |||
| the same 5-tuple is required. Again, this impacts path | the same 5-tuple is required. Again, this only indirectly impacts pat | |||
| selection for DetNet flows and this document only indirectly. | h | |||
| </t> | selection for DetNet flows and this document. | |||
| </section> | </t> | |||
| </section> | ||||
| </section> | </section> | |||
| <section anchor="aggregation" numbered="true" toc="default"> | ||||
| <section title="DetNet Flow Aggregation" anchor="aggregation"> | <name>DetNet Flow Aggregation</name> | |||
| <t> | <t> | |||
| As described in <xref | As described in <xref target="RFC8938" format="default"/>, the ability | |||
| target="I-D.ietf-detnet-data-plane-framework"/>, the ability to | to | |||
| aggregate individual flows, and their associated resource | aggregate individual flows and their associated resource | |||
| control, into a larger aggregate is an important technique for | control into a larger aggregate is an important technique for | |||
| improving scaling by reducing the state per hop. DetNet IP | improving scaling by reducing the state per hop. DetNet IP | |||
| data plane aggregation can take place within a single node, | data plane aggregation can take place within a single node, | |||
| when that node maintains state about both the aggregated and | when that node maintains state about both the aggregated and | |||
| individual flows. It can also take place between nodes, where | individual flows. It can also take place between nodes, when | |||
| one node maintains state about only flow aggregates while the | one node maintains state about only flow aggregates while the | |||
| other node maintains state on all or a portion of the component | other node maintains state on all or a portion of the component | |||
| flows. In either case, the management or control function that | flows. In either case, the management or control function that | |||
| provisions the aggregate flows must ensure that adequate | provisions the aggregate flows must ensure that adequate | |||
| resources are allocated and configured to provide combined | resources are allocated and configured to provide the combined | |||
| service requirements of the individual flows. As DetNet is | service requirements of the individual flows. As DetNet is | |||
| concerned about latency and jitter, more than just bandwidth | concerned about latency and jitter, more than just bandwidth | |||
| needs to be considered. | needs to be considered. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| From a single node perspective, the aggregation of IP flows | From a single node perspective, the aggregation of IP flows | |||
| impacts DetNet IP data plane flow identification and resource | impacts DetNet IP data plane flow identification and resource | |||
| allocation. As discussed above, IP flow identification uses | allocation. As discussed above, IP flow identification uses | |||
| the IP "6-tuple" for flow identification. DetNet IP flows can | the IP 6-tuple for flow identification. DetNet IP flows can | |||
| be aggregated using any of the 6-tuple fields and optionally also by | be aggregated using any of the 6-tuple fields and optionally also by | |||
| the flow label. The use of prefixes, wildcards, | the flow label. The use of prefixes, wildcards, | |||
| lists, and value ranges allows a DetNet node to identify | lists, and value ranges allows a DetNet node to identify | |||
| aggregate DetNet flows. From a resource allocation | aggregate DetNet flows. From a resource allocation | |||
| perspective, DetNet nodes ought to provide service to an | perspective, DetNet nodes ought to provide service to an | |||
| aggregate rather than on a component flow basis. | aggregate rather than on a component flow basis. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| It is the responsibility of the DetNet controller plane to | It is the responsibility of the DetNet Controller Plane to | |||
| properly provision the use of these aggregation mechanisms. | properly provision the use of these aggregation mechanisms. | |||
| This includes ensuring that aggregated flows have compatible | This includes ensuring that aggregated flows have compatible | |||
| (e.g., the same or very similar) QoS and/or CoS characteristics, | (e.g., the same or very similar) QoS and/or CoS characteristics; | |||
| see <xref target="QoS"/>. It also includes ensuring that per | see <xref target="QoS" format="default"/>. It also includes | |||
| component-flow service requirements are satisfied by the | ensuring that per-component-flow service requirements are satisfied | |||
| aggregate, see <xref target="ip-svc"/>. | by the aggregate; see <xref target="ip-svc" format="default"/>. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The DetNet controller plane MUST ensure that | The DetNet Controller Plane <bcp14>MUST</bcp14> ensure that | |||
| non-congestion-responsive DetNet traffic is not forwarded | non-congestion-responsive DetNet traffic is not forwarded | |||
| outside a DetNet domain. | outside a DetNet domain. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Bidirectional Traffic"> | <name>Bidirectional Traffic</name> | |||
| <t> | <t> | |||
| While the DetNet IP data plane must support bidirectional | While the DetNet IP data plane must support bidirectional | |||
| DetNet flows, there are no special bidirectional features within | DetNet flows, there are no special bidirectional features within | |||
| the data plane. The special case of co-routed bidirectional | the data plane. The special case of co-routed bidirectional | |||
| DetNet flows are | DetNet flows is | |||
| solely represented at the management and control plane levels, | solely represented at the management and control plane levels, | |||
| without specific support or knowledge within the DetNet data | without specific support or knowledge within the DetNet data | |||
| plane. Fate sharing and associated or co-routed | plane. Fate sharing and associated or co-routed | |||
| bidirectional flows can be managed at the control level. | bidirectional flows can be managed at the control level. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Control and management mechanisms need to support | Control and management mechanisms need to support | |||
| bidirectional flows, but the specification of such mechanisms | bidirectional flows, but the specification of such mechanisms | |||
| are out of scope of this document. An example control plane | is out of the scope of this document. An example control plane | |||
| solution for MPLS can be found in <xref target="RFC7551"/>. | solution for MPLS can be found in <xref target="RFC7551" format="defau | |||
| lt"/>. | ||||
| </t> | </t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <!-- ===================================================================== - | ||||
| -> | ||||
| <!-- ===================================================================== - | ||||
| -> | ||||
| <section anchor="ip-procs" title="DetNet IP Data Plane Procedures"> | <section anchor="ip-procs" numbered="true" toc="default"> | |||
| <name>DetNet IP Data Plane Procedures</name> | ||||
| <t> | <t> | |||
| This section provides DetNet IP data plane procedures. These | This section provides DetNet IP data plane procedures. These | |||
| procedures have been divided into the following areas: flow | procedures have been divided into the following areas: flow | |||
| identification, forwarding and traffic treatment. Flow | identification, forwarding, and traffic treatment. Flow | |||
| identification includes those procedures related to matching IP | identification includes those procedures related to matching | |||
| and higher layer protocol header information to DetNet flow | IP-layer | |||
| and higher-layer protocol header information to DetNet flow | ||||
| (state) information and service requirements. Flow | (state) information and service requirements. Flow | |||
| identification is also sometimes called Traffic classification; | identification is also sometimes called "traffic classification"; | |||
| for example see <xref target="RFC5777"/>. Forwarding includes | for example, see <xref target="RFC5777" format="default"/>. Forwarding | |||
| those procedures related to next hop selection and | includes | |||
| those procedures related to next-hop selection and | ||||
| delivery. Traffic treatment includes those procedures related to | delivery. Traffic treatment includes those procedures related to | |||
| providing an identified flow with the required DetNet service. | providing an identified flow with the required DetNet service. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| DetNet IP data plane establishment and operational procedures | DetNet IP data plane establishment and operational procedures | |||
| also have requirements on the control and management systems | also have requirements on the control and management systems | |||
| for DetNet flows and these are referred to in this section. | for DetNet flows, and these are referred to in this section. | |||
| Specifically this section identifies a | Specifically, this section identifies a | |||
| number of information elements that require support via the | number of information elements that require support via the | |||
| management and control interfaces supported by a DetNet node. | management and control interfaces supported by a DetNet node. | |||
| The specific mechanism used for such support is out of the scope | The specific mechanism used for such support is out of the scope | |||
| of this document. A summary of the requirements for management and cont | of this document. A summary of the requirements for management- and | |||
| rol | control-related information is included. Conformance | |||
| related information is included. Conformance | language is not used in the summary, since it applies to future | |||
| language is not used in the summary since it applies to future | ||||
| mechanisms such as those that may be provided in YANG models | mechanisms such as those that may be provided in YANG models | |||
| <xref target="I-D.ietf-detnet-yang"/>. | <xref target="I-D.ietf-detnet-yang" format="default"/>. | |||
| </t> | </t> | |||
| <section anchor="ip-flow-id" | <section anchor="ip-flow-id" numbered="true" toc="default"> | |||
| title="DetNet IP Flow Identification Procedures"> | <name>DetNet IP Flow Identification Procedures</name> | |||
| <t> | <t> | |||
| IP and higher layer protocol header information is used to | IP-layer and higher-layer protocol header information is used to ident | |||
| identify DetNet flows. All DetNet implementations that support | ify | |||
| this document MUST identify individual DetNet flows based on | DetNet flows. All DetNet implementations that support this document | |||
| the set of information identified in this section. Note that | <bcp14>MUST</bcp14> identify individual DetNet flows based on the | |||
| additional flow identification requirements, e.g., to support | set of information identified in this section. Note that additional | |||
| other higher layer protocols, may be defined in the future. | requirements for flow identification, e.g., to support | |||
| other higher-layer protocols, may be defined in the future. | ||||
| </t> | </t> | |||
| <t> | <t> | |||
| The configuration and control information used to identify an | The configuration and control information used to identify an | |||
| individual DetNet flow MUST be ordered by an implementation. | individual DetNet flow <bcp14>MUST</bcp14> be ordered by an implementa | |||
| Implementations MUST support a fixed order when identifying | tion. | |||
| flows, and MUST identify a DetNet flow by the first set of | Implementations <bcp14>MUST</bcp14> support a fixed order when identif | |||
| ying | ||||
| flows and <bcp14>MUST</bcp14> identify a DetNet flow by the first set | ||||
| of | ||||
| matching flow information. | matching flow information. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Implementations of this document MUST support DetNet flow | Implementations of this document <bcp14>MUST</bcp14> support DetNet fl ow | |||
| identification when the implementation is acting as a | identification when the implementation is acting as a | |||
| DetNet end systems, a relay node, or as an edge node. | DetNet end system, a relay node, or an edge node. | |||
| </t> | </t> | |||
| <section anchor="ip-hdr" numbered="true" toc="default"> | ||||
| <section anchor="ip-hdr" title="IP Header Information"> | <name>IP Header Information</name> | |||
| <t> | <t> | |||
| Implementations of this document MUST support DetNet flow | Implementations of this document <bcp14>MUST</bcp14> support DetNet flow | |||
| identification based on IP header information. The IPv4 | identification based on IP header information. The IPv4 | |||
| header is defined in <xref target="RFC0791"/> and the IPv6 | header is defined in <xref target="RFC0791" format="default"/>, and | |||
| is defined in <xref target="RFC8200"/>. | the IPv6 | |||
| is defined in <xref target="RFC8200" format="default"/>. | ||||
| </t> | </t> | |||
| <section title="Source Address Field"> | <section numbered="true" toc="default"> | |||
| <name>Source Address Field</name> | ||||
| <t> | <t> | |||
| Implementations of this document MUST support DetNet flow | Implementations of this document <bcp14>MUST</bcp14> support DetNe t flow | |||
| identification based on the Source Address field of an IP | identification based on the Source Address field of an IP | |||
| packet. Implementations SHOULD support longest prefix | packet. Implementations <bcp14>SHOULD</bcp14> support longest pref | |||
| matching for this field (see <xref target="RFC1812"/> and | ix | |||
| <xref target="RFC7608"/>.) Note that a prefix length of | matching for this field (see <xref target="RFC1812" format="defaul | |||
| t"/> and | ||||
| <xref target="RFC7608" format="default"/>). Note that a prefix len | ||||
| gth of | ||||
| zero (0) effectively means that the field is ignored. | zero (0) effectively means that the field is ignored. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section title="Destination Address Field"> | <section numbered="true" toc="default"> | |||
| <name>Destination Address Field</name> | ||||
| <t> | <t> | |||
| Implementations of this document MUST support DetNet flow | Implementations of this document <bcp14>MUST</bcp14> support DetNe t flow | |||
| identification based on the Destination Address field of an IP | identification based on the Destination Address field of an IP | |||
| packet. Implementations SHOULD support longest prefix | packet. Implementations <bcp14>SHOULD</bcp14> support longest pref | |||
| matching for this field (see <xref target="RFC1812"/> and | ix | |||
| <xref target="RFC7608"/>.) Note that a prefix length of | matching for this field (see <xref target="RFC1812" format="defaul | |||
| t"/> and | ||||
| <xref target="RFC7608" format="default"/>). Note that a prefix len | ||||
| gth of | ||||
| zero (0) effectively means that the field is ignored. | zero (0) effectively means that the field is ignored. | |||
| </t> | </t> | |||
| <aside> | ||||
| <t> | <t> | |||
| Note: Any IP address value is allowed, including an IP | Note: Any IP address value is allowed, including an IP | |||
| multicast destination address. | multicast destination address. | |||
| </t> | </t> | |||
| </aside> | ||||
| </section> | </section> | |||
| <section anchor="nxt-proto-field" | <section anchor="nxt-proto-field" numbered="true" toc="default"> | |||
| title="IPv4 Protocol and IPv6 Next Header Fields"> | <name>IPv4 Protocol and IPv6 Next Header Fields</name> | |||
| <t> | <t> | |||
| Implementations of this document MUST support DetNet flow | Implementations of this document <bcp14>MUST</bcp14> support DetNe t flow | |||
| identification based on the IPv4 Protocol field when | identification based on the IPv4 Protocol field when | |||
| processing IPv4 packets, and the IPv6 Next Header Field | processing IPv4 packets and the IPv6 Next Header field | |||
| when processing IPv6 packets. This includes | when processing IPv6 packets. This includes | |||
| the next protocol | the next protocol | |||
| values defined in <xref target="nxt-proto"/> and any other | values defined in <xref target="nxt-proto" format="default"/> and any other | |||
| value, including zero. | value, including zero. | |||
| Implementations SHOULD allow for these fields to be | Implementations <bcp14>SHOULD</bcp14> allow for these fields to be | |||
| ignored for a specific DetNet flow. | ignored for a specific DetNet flow. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section title="IPv4 Type of Service and IPv6 Traffic Class Fields"> | <section numbered="true" toc="default"> | |||
| <name>IPv4 Type of Service and IPv6 Traffic Class Fields</name> | ||||
| <t> | <t> | |||
| These fields are used to support Differentiated Services | These fields are used to support differentiated services | |||
| <xref target="RFC2474"/> <xref target="RFC2475"/>. | <xref target="RFC2474" format="default"/> <xref target="RFC2475" f | |||
| Implementations of this document MUST support DetNet flow | ormat="default"/>. | |||
| Implementations of this document <bcp14>MUST</bcp14> support DetNe | ||||
| t flow | ||||
| identification based on the DSCP field in the IPv4 Type of | identification based on the DSCP field in the IPv4 Type of | |||
| Service field when processing IPv4 packets, and the DSCP | Service field when processing IPv4 packets and the DSCP | |||
| field in the IPv6 Traffic Class Field when processing IPv6 | field in the IPv6 Traffic Class field when processing IPv6 | |||
| packets. Implementations MUST support list-based matching | packets. Implementations <bcp14>MUST</bcp14> support list-based m | |||
| atching | ||||
| of DSCP values, where the list is composed of possible | of DSCP values, where the list is composed of possible | |||
| field values that are to be considered when identifying a | field values that are to be considered when identifying a | |||
| specific DetNet flow. Implementations SHOULD allow for | specific DetNet flow. Implementations <bcp14>SHOULD</bcp14> allow for | |||
| this field to be ignored for a specific DetNet flow. | this field to be ignored for a specific DetNet flow. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section title="IPv6 Flow Label Field"> | <section numbered="true" toc="default"> | |||
| <name>IPv6 Flow Label Field</name> | ||||
| <t> | <t> | |||
| Implementations of this document SHOULD support identification of | Implementations of this document <bcp14>SHOULD</bcp14> support ide ntification of | |||
| DetNet flows based on the IPv6 Flow Label field. Implementations | DetNet flows based on the IPv6 Flow Label field. Implementations | |||
| that support matching based on this field MUST allow for it | that support matching based on this field <bcp14>MUST</bcp14> allo w for it | |||
| to be ignored for a specific DetNet flow. When this field | to be ignored for a specific DetNet flow. When this field | |||
| is used to identify a specific DetNet flow, implementations MAY | is used to identify a specific DetNet flow, implementations <bcp14 >MAY</bcp14> | |||
| exclude the IPv6 Next Header field and next header information as | exclude the IPv6 Next Header field and next header information as | |||
| part of DetNet flow identification. | part of DetNet flow identification. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="nxt-proto" numbered="true" toc="default"> | ||||
| <section anchor="nxt-proto" title="Other Protocol Header Information"> | <name>Other Protocol Header Information</name> | |||
| <t> | <t> | |||
| Implementations of this document MUST support DetNet flow | Implementations of this document <bcp14>MUST</bcp14> support DetNet flow | |||
| identification based on header information identified in this | identification based on header information identified in this | |||
| section. Support for TCP, UDP, ICMP and IPsec flows is defined. | section. Support for TCP, UDP, ICMP, and IPsec flows is defined. | |||
| Future documents are expected to define support for other | Future documents are expected to define support for other | |||
| protocols. | protocols. | |||
| </t> | </t> | |||
| <section title="TCP and UDP"> | <section numbered="true" toc="default"> | |||
| <name>TCP and UDP</name> | ||||
| <t> | <t> | |||
| DetNet flow identification for TCP <xref | DetNet flow identification for TCP <xref target="RFC0793" format=" | |||
| target="RFC0793"/> and UDP <xref target="RFC0768"/> is | default"/> and UDP <xref target="RFC0768" format="default"/> is | |||
| achieved based on the Source and Destination | achieved based on the Source and Destination | |||
| Port fields carried in each protocol's header. These | Port fields carried in each protocol's header. These | |||
| fields share a common format and common DetNet flow | fields share a common format and common DetNet | |||
| identification procedures. | flow identification procedures. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The rules defined in this section only apply when the | The rules defined in this section only apply when the | |||
| IPv4 Protocol or IPv6 Next Header Field contains the IANA | IPv4 Protocol or IPv6 Next Header field contains the | |||
| defined value for UDP or TCP. | IANA-defined value for UDP or TCP. | |||
| </t> | </t> | |||
| <section title="Source Port Field"> | <section numbered="true" toc="default"> | |||
| <name>Source Port Field</name> | ||||
| <t> | <t> | |||
| Implementations of this document MUST support DetNet flow | Implementations of this document <bcp14>MUST</bcp14> support Det Net flow | |||
| identification based on the Source Port field of a TCP or | identification based on the Source Port field of a TCP or | |||
| UDP packet. Implementations MUST support flow | UDP packet. Implementations <bcp14>MUST</bcp14> support flow | |||
| identification based on a particular value carried in the | identification based on a particular value carried in the | |||
| field, i.e., an exact value. Implementations SHOULD support | field, i.e., an exact value. Implementations <bcp14>SHOULD</bcp | |||
| range-based port matching. Implementation MUST also allow | 14> support | |||
| range-based port matching. Implementation <bcp14>MUST</bcp14> al | ||||
| so allow | ||||
| for the field to be ignored for a specific DetNet flow. | for the field to be ignored for a specific DetNet flow. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section title="Destination Port Field"> | <section numbered="true" toc="default"> | |||
| <name>Destination Port Field</name> | ||||
| <t> | <t> | |||
| Implementations of this document MUST support DetNet flow | Implementations of this document <bcp14>MUST</bcp14> support Det Net flow | |||
| identification based on the Destination Port field of a TCP or | identification based on the Destination Port field of a TCP or | |||
| UDP packet. Implementations MUST support flow | UDP packet. Implementations <bcp14>MUST</bcp14> support flow | |||
| identification based on a particular value carried in the | identification based on a particular value carried in the | |||
| field, i.e., an exact value. Implementations SHOULD support | field, i.e., an exact value. Implementations <bcp14>SHOULD</bcp | |||
| range-based port matching. Implementation MUST also allow | 14> support | |||
| range-based port matching. Implementation <bcp14>MUST</bcp14> al | ||||
| so allow | ||||
| for the field to be ignored for a specific DetNet flow. | for the field to be ignored for a specific DetNet flow. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section title="ICMP"> | <section numbered="true" toc="default"> | |||
| <name>ICMP</name> | ||||
| <t> | <t> | |||
| DetNet flow identification for ICMP <xref target="RFC0792"/> is a | DetNet flow identification for ICMP <xref target="RFC0792" | |||
| chieved based on the | format="default"/> is achieved based on the | |||
| protocol number in the IP header. Note that ICMP type i | protocol number in the IP header. Note that ICMP type is not inclu | |||
| s not included in the | ded in the | |||
| flow definition. | flow definition. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section title="IPsec AH and ESP"> | <section numbered="true" toc="default"> | |||
| <name>IPsec AH and ESP</name> | ||||
| <t> | <t> | |||
| IPsec Authentication Header (AH) <xref target="RFC4302"/> | IPsec Authentication Header (AH) <xref target="RFC4302" format="de | |||
| and Encapsulating Security Payload (ESP) <xref | fault"/> | |||
| target="RFC4303"/> share a common format for the Security | and Encapsulating Security Payload (ESP) <xref target="RFC4303" fo | |||
| Parameters Index (SPI) field. Implementations MUST | rmat="default"/> share a common format for the Security | |||
| Parameters Index (SPI) field. Implementations <bcp14>MUST</bcp14> | ||||
| support flow identification based on a particular value | support flow identification based on a particular value | |||
| carried in the field, i.e., an exact value. Implementation SHOULD | carried in the field, i.e., an exact value. Implementations | |||
| <bcp14>SHOULD</bcp14> | ||||
| also allow for the field to be ignored for a specific | also allow for the field to be ignored for a specific | |||
| DetNet flow. | DetNet flow. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The rules defined in this section only apply when the | The rules defined in this section only apply when the | |||
| IPv4 Protocol or IPv6 Next Header Field contains the IANA | IPv4 Protocol or IPv6 Next Header field contains the | |||
| defined value for AH or ESP. | IANA-defined value for AH or ESP. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="ip-fwd" numbered="true" toc="default"> | ||||
| <section anchor="ip-fwd" title="Forwarding Procedures"> | <name>Forwarding Procedures</name> | |||
| <t> | <t> | |||
| General requirements for IP nodes are defined in <xref | General requirements for IP nodes are defined in <xref | |||
| target="RFC1122"/>, <xref target="RFC1812"/> and <xref | target="RFC1122" format="default"/>, <xref target="RFC1812" | |||
| target="RFC8504"/>, and are not modified by this document. The | format="default"/>, and <xref target="RFC8504" format="default"/> | |||
| and are not modified by this document. The | ||||
| typical next-hop selection process is impacted by DetNet. | typical next-hop selection process is impacted by DetNet. | |||
| Specifically, implementations of this document SHALL use | Specifically, implementations of this document <bcp14>SHALL</bcp14> us e | |||
| management and control information to select the one or more | management and control information to select the one or more | |||
| outgoing interfaces and next hops to be used for a packet | outgoing interfaces and next hops to be used for a packet | |||
| associated with a DetNet flow. Specific management and control | associated with a DetNet flow. Specific management and control | |||
| information will be defined in future documents, e.g., <xref | information will be defined in future documents, e.g., <xref target="I | |||
| target="I-D.ietf-detnet-yang"/>. | -D.ietf-detnet-yang" format="default"/>. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The use of multiple paths or links, e.g., ECMP, to support a | The use of multiple paths or links, e.g., ECMP, to support a | |||
| single DetNet flow is NOT RECOMMENDED. ECMP MAY be used for | single DetNet flow is <bcp14>NOT RECOMMENDED</bcp14>. ECMP <bcp14>MAY< /bcp14> be used for | |||
| non-DetNet flows within a DetNet domain. | non-DetNet flows within a DetNet domain. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The above implies that management and control functions will | The above implies that management and control functions will | |||
| be defined to support this requirement, e.g., see <xref target="I-D.ie | be defined to support this requirement, e.g., see <xref | |||
| tf-detnet-yang"/>. | target="I-D.ietf-detnet-yang" format="default"/>. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="ip-svc" numbered="true" toc="default"> | ||||
| <section anchor="ip-svc" title="DetNet IP Traffic Treatment Procedures"> | <name>DetNet IP Traffic Treatment Procedures</name> | |||
| <t> | <t> | |||
| Implementations of this document must ensure that a DetNet flow | Implementations of this document must ensure that a DetNet flow | |||
| receives the traffic treatment that is provisioned for it via | receives the traffic treatment that is provisioned for it via | |||
| configuration or the controller plane, e.g., via <xref target="I-D.iet | configuration or the Controller Plane, e.g., via <xref target="I-D.iet | |||
| f-detnet-yang"/>. | f-detnet-yang" format="default"/>. | |||
| General information on DetNet service can be found in <xref | General information on DetNet service can be found in <xref target="I- | |||
| target="I-D.ietf-detnet-flow-information-model"/>. Typical | D.ietf-detnet-flow-information-model" format="default"/>. Typical | |||
| mechanisms used to provide different treatment to different flows | mechanisms used to provide different treatment to different flows | |||
| includes the allocation of system resources (such as queues and | include the allocation of system resources (such as queues and | |||
| buffers) and provisioning of related parameters (such as shaping, and | buffers) and provisioning of related parameters (such as shaping and | |||
| policing). Support can also be provided via an underlying network | policing). Support can also be provided via an underlying network | |||
| technology such as MPLS <xref target="I-D.ietf-detnet-ip-over-mpls"/> | technology such as MPLS <xref target="I-D.ietf-detnet-ip-over-mpls" fo | |||
| or | rmat="default"/> or | |||
| IEEE802.1 TSN <xref target="I-D.ietf-detnet-ip-over-tsn"/>. | IEEE 802.1 TSN <xref target="I-D.ietf-detnet-ip-over-tsn" format="defa | |||
| Other mechanisms than the ones used in the TSN case are outside | ult"/>. | |||
| the | Other mechanisms than the ones used in the TSN case are outsid | |||
| scope of this document. | e the | |||
| scope of this document. | ||||
| </t> | </t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="ip-flow-id-info" | <section anchor="ip-flow-id-info" numbered="true" toc="default"> | |||
| title="Management and Control Information Summary"> | <name>Management and Control Information Summary</name> | |||
| <t> | <t> | |||
| The following summarizes the set of information that is needed to | The following summarizes the set of information that is needed to | |||
| identify individual and aggregated DetNet flows: | identify individual and aggregated DetNet flows: | |||
| <list style="symbols"> | </t> | |||
| <t>IPv4 and IPv6 source address field.</t> | <ul spacing="normal"> | |||
| <t>IPv4 and IPv6 source address prefix length, where a zero | <li>IPv4 and IPv6 Source Address field.</li> | |||
| (0) value effectively means that the address field is | <li>IPv4 and IPv6 source address prefix length, where a zero | |||
| ignored.</t> | (0) value effectively means that the Source Address field is | |||
| <t>IPv4 and IPv6 destination address field.</t> | ignored.</li> | |||
| <t>IPv4 and IPv6 destination address prefix length, where a | <li>IPv4 and IPv6 Destination Address field.</li> | |||
| zero (0) effectively means that the address field is | <li>IPv4 and IPv6 destination address prefix length, where a | |||
| ignored.</t> | zero (0) value effectively means that the Destination Address fiel | |||
| <t>IPv4 protocol field. A limited set of values is allowed, | d is | |||
| and the ability to ignore this field is desirable.</t> | ignored.</li> | |||
| <t>IPv6 next header field. A limited set of values is allowed, | <li>IPv4 Protocol field. A limited set of values is allowed, | |||
| and the ability to ignore this field is desirable.</t> | and the ability to ignore this field is desirable.</li> | |||
| <t>For the IPv4 Type of Service and IPv6 Traffic Class | <li>IPv6 Next Header field. A limited set of values is allowed, | |||
| Fields: | and the ability to ignore this field is desirable.</li> | |||
| <list style="symbols"> | <li> | |||
| <t>Whether or not the DSCP field is used in flow identification. | <t>For the IPv4 Type of Service and IPv6 Traffic Class fields: | |||
| Use of the DSCP field for flow identification is | </t> | |||
| optional.</t> | <ul spacing="normal"> | |||
| <t>If the DSCP field is used to identify a flow, then the flow | <li>Whether or not the DSCP field is used in flow identification. | |||
| identification information (for that flow) includ | Use of the DSCP field for flow identification is | |||
| es a list of | optional.</li> | |||
| DSCPs used by that flow.</t> | <li>If the DSCP field is used to identify a flow, then the flow | |||
| </list></t> | identification information (for that flow) inclu | |||
| <t>IPv6 flow label field. This field can be optionally used | des a list of | |||
| DSCPs used by that flow.</li> | ||||
| </ul> | ||||
| </li> | ||||
| <li>IPv6 Flow Label field. This field can be optionally used | ||||
| for matching. When used, this field can be used instead of matchi ng against | for matching. When used, this field can be used instead of matchi ng against | |||
| the Next Header field.</t> | the Next Header field.</li> | |||
| <t>TCP and UDP Source Port. Support for both exact and wildcard ma | <li>TCP and UDP Source Port. Support for both exact and wildcard matchin | |||
| tching is | g is | |||
| required. Port ranges can optionally be used.</t> | required. Port ranges can optionally be used.</li> | |||
| <t>TCP and UDP Destination Port. Support for both exact and wildca | <li>TCP and UDP Destination Port. Support for both exact and wildcard ma | |||
| rd matching is | tching is | |||
| required. Port ranges can optionally be used.</t> | required. Port ranges can optionally be used.</li> | |||
| <t>IPsec Header SPI field. Exact matching is | <li>IPsec Header SPI field. Exact matching is | |||
| required. Support for wildcard matching is | required. Support for wildcard matching is | |||
| recommended.</t> | recommended.</li> | |||
| <t>For end systems, an optional maximum IP packet size | <li>For end systems, an optional maximum IP packet size | |||
| that should be used for that outgoing DetNet IP flow.</t> | that should be used for that outgoing DetNet IP flow.</li> | |||
| </list> | </ul> | |||
| This information MUST be provisioned per DetNet flow via | <t> | |||
| configuration, e.g., via the controller or management plane. | This information <bcp14>MUST</bcp14> be provisioned per DetNet flow | |||
| </t> | via | |||
| <t> | configuration, e.g., via the Controller Plane or the management plan | |||
| An implementation MUST support ordering of the | e. | |||
| set of information information used to identify an | </t> | |||
| <t> | ||||
| An implementation <bcp14>MUST</bcp14> support ordering of the | ||||
| set of information used to identify an | ||||
| individual DetNet flow. This can, for example, be | individual DetNet flow. This can, for example, be | |||
| used to provide a DetNet service for a specific UDP flow, with | used to provide a DetNet service for a specific UDP flow, with | |||
| unique Source and Destination Port field values, while | unique Source and Destination Port field values, while | |||
| providing a different service for the aggregate of all other | providing a different service for the aggregate of all other | |||
| flows with that same UDP Destination Port value. | flows with that same UDP Destination Port value. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| It is the responsibility of the DetNet controller plane to | It is the responsibility of the DetNet Controller Plane to | |||
| properly provision both flow identification information and | properly provision both flow identification information and | |||
| the flow specific resources needed to provided the traffic | the flow-specific resources needed to provide the traffic | |||
| treatment needed to meet each flow's service requirements. | treatment needed to meet each flow's service requirements. | |||
| This applies for aggregated and individual flows. | This applies for aggregated and individual flows. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <!-- ===================================================================== - | <section numbered="true" toc="default"> | |||
| -> | <name>Security Considerations</name> | |||
| <section title="Security Considerations"> | ||||
| <t> | <t> | |||
| Detailed security considerations for DetNet are cataloged in | Detailed security considerations for DetNet are cataloged in | |||
| <xref target="I-D.ietf-detnet-security"/>, and more general security cons | <xref target="DetNet-Security" format="default"/>, and more general secur | |||
| iderations | ity considerations | |||
| are described in <xref target="RFC8655"/>. This section | are described in <xref target="RFC8655" format="default"/>. This section | |||
| considers exclusively security considerations which are specific to the D | exclusively considers security considerations that are specific to the De | |||
| etNet | tNet | |||
| IP data plane. | IP data plane. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Security aspects which are unique to DetNet are those whose aim is to | Security aspects that are unique to DetNet are those whose aim is to | |||
| provide the specific quality of service aspects of DetNet, which are | provide the specific QoS aspects of DetNet, which are | |||
| primarily to deliver data flows with extremely low packet loss rates | primarily to deliver data flows with extremely low packet loss rates | |||
| and bounded end-to-end delivery latency. | and bounded end-to-end delivery latency. | |||
| Achieving such loss rates and bounded latency may not be possible | Achieving such loss rates and bounded latency may not be possible | |||
| in the face of a highly capable adversary, such as the one | in the face of a highly capable adversary, such as the one | |||
| envisioned by the Internet Threat Model of BCP 72 that can | envisioned by the Internet Threat Model of BCP 72 <xref | |||
| target="RFC3552"/> that can | ||||
| arbitrarily drop or delay any or all traffic. In order to | arbitrarily drop or delay any or all traffic. In order to | |||
| present meaningful security considerations, we consider a | present meaningful security considerations, we consider a | |||
| somewhat weaker attacker who does not control the physical links | somewhat weaker attacker who does not control the physical links | |||
| of the DetNet domain, but may have the ability to control a | of the DetNet domain but may have the ability to control a | |||
| network node within the boundary of the DetNet domain. | network node within the boundary of the DetNet domain. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The primary consideration for the DetNet data plane is to maintain | The primary consideration for the DetNet data plane is to maintain | |||
| integrity of data and delivery of the associated DetNet service traversi ng | integrity of data and delivery of the associated DetNet service traversi ng | |||
| the DetNet network. | the DetNet network. | |||
| Since no DetNet-specific fields are available in the DetNet IP | Since no DetNet-specific fields are available in the DetNet IP | |||
| data plane, | data plane, | |||
| the integrity and confidentiality of application flows can be protected through whatever means are | the integrity and confidentiality of application flows can be protected through whatever means are | |||
| provided by the underlying technology. For example, encryption may be | provided by the underlying technology. For example, encryption may be | |||
| used, such as that provided by IPSec <xref target="RFC4301"/> for IP | used, such as that provided by IPsec <xref target="RFC4301" format="defa | |||
| flows and/or by an underlying sub-net using MACSec | ult"/> for IP | |||
| <xref target="IEEE802.1AE-2018"/> for IP over Ethernet (Layer-2) flows. | flows and/or by an underlying sub-network using | |||
| </t> | MACsec | |||
| <t> | <xref target="IEEE802.1AE-2018" format="default"/> for IP over | |||
| From a data plane perspective this document does not add or modify any | Ethernet (Layer 2) flows. | |||
| </t> | ||||
| <t> | ||||
| From a data plane perspective, this document does not add or modify any | ||||
| header information. | header information. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| At the management and control level DetNet flows are identified on a | At the management and control level, DetNet flows are identified on a | |||
| per-flow basis, which may provide controller plane | per-flow basis, which may provide Controller Plane | |||
| attackers with additional information about the data flows (when | attackers with additional information about the data flows (when | |||
| compared to controller planes that do not include per-flow identificatio | compared to Controller Planes that do not include per-flow identificatio | |||
| n). | n). | |||
| This is an inherent property of DetNet which has security | This is an inherent property of DetNet that has security | |||
| implications that should be considered when determining if DetNet is | implications that should be considered when determining if DetNet is | |||
| a suitable technology for any given use case. | a suitable technology for any given use case. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| To provide uninterrupted availability of the DetNet | To provide uninterrupted availability of the DetNet service, | |||
| service, provisions can be made against DOS attacks and delay | provisions can be made against DoS attacks and delay attacks. To | |||
| attacks. To protect against DOS attacks, excess traffic due to | protect against DoS attacks, excess traffic due to malicious or | |||
| malicious or malfunctioning devices can be prevented or mitigated, | malfunctioning devices can be prevented or mitigated -- for example, | |||
| for example through the use of existing mechanism such as policing and s | through the use of existing mechanisms such as policing and shaping | |||
| haping applied at | applied at the input of a DetNet domain or within an edge IEEE 802.1 | |||
| the input of a DetNet domain or within an edge IEEE802.1 TSN domain. To | TSN domain. To prevent DetNet packets from being delayed by an entity | |||
| prevent DetNet packets from | external to a DetNet domain, DetNet technology definitions can allow | |||
| being delayed by an entity external to a DetNet domain, DetNet | for the mitigation of man-in-the-middle attacks -- for example, | |||
| technology definition can allow for the mitigation of | through the use of authentication and authorization of devices within th | |||
| Man-In-The-Middle attacks, for example through use of | e | |||
| authentication and authorization of devices within the DetNet domain. | DetNet domain. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="iana" numbered="true" toc="default"> | ||||
| <section anchor="iana" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
| <t> | <t> | |||
| This document does not require an action from IANA. | This document has no IANA actions. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| </middle> | ||||
| <back> | ||||
| <section anchor="acks" title="Acknowledgements"> | <displayreference target="I-D.ietf-detnet-flow-information-model" to="DetNet-Flo | |||
| w-Info"/> | ||||
| <displayreference target="I-D.ietf-detnet-yang" to="DetNet-YANG"/> | ||||
| <displayreference target="I-D.ietf-detnet-ip-over-tsn" to="DetNet-IP-over-TSN"/> | ||||
| <displayreference target="I-D.ietf-detnet-ip-over-mpls" to="DetNet-IP-over-MPLS" | ||||
| /> | ||||
| <displayreference target="I-D.ietf-detnet-tsn-vpn-over-mpls" to="DetNet-TSN-over | ||||
| -MPLS"/> | ||||
| <references> | ||||
| <name>References</name> | ||||
| <references> | ||||
| <name>Normative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.0768.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.0791.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.0792.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.0793.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.1812.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.2119.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.2474.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.4301.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.4302.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.4303.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7608.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8174.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8200.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8655.xml"/> | ||||
| <!-- draft-ietf-detnet-data-plane-framework (RFC 8938) --> | ||||
| <reference anchor='RFC8938'> | ||||
| <front> | ||||
| <title>Deterministic Networking (DetNet) Data Plane Framework</title> | ||||
| <author initials='B' surname='Varga' fullname='Balazs Varga' role="editor"> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='J' surname='Farkas' fullname='Janos Farkas'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='L' surname='Berger' fullname='Lou Berger'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='A' surname='Malis' fullname='Andrew Malis'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='S' surname='Bryant' fullname='Stewart Bryant'> | ||||
| <organization /> | ||||
| </author> | ||||
| <date month='November' year='2020' /> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8938"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8938"/> | ||||
| </reference> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.1122.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.1191.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.2475.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.3290.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.3473.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.3552.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.3670.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.5120.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.5777.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8504.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7551.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7657.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8201.xml"/> | ||||
| <!-- draft-ietf-detnet-mpls (RFC-EDITOR) --> | ||||
| <!-- Have to do long way; Balazs Varga is an editor --> | ||||
| <reference anchor="DetNet-MPLS" target="https://tools.ietf.org/html/draf | ||||
| t-ietf-detnet-mpls-13"> | ||||
| <front> | ||||
| <title>DetNet Data Plane: MPLS</title> | ||||
| <author initials="B" surname="Varga" fullname="Balazs Varga" | ||||
| role="editor"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="J" surname="Farkas" fullname="Janos Farkas"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="L" surname="Berger" fullname="Lou Berger"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="A" surname="Malis" fullname="Andrew Malis"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="S" surname="Bryant" fullname="Stewart Bryant"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="J" surname="Korhonen" fullname="Jouni Korhonen"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date day="11" month="October" year="2020"/> | ||||
| </front> | ||||
| <seriesInfo name="Internet-Draft" | ||||
| value="draft-ietf-detnet-mpls-13"/> | ||||
| </reference> | ||||
| <!-- draft-ietf-detnet-flow-information-model (Waiting for Writeup) --> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference. | ||||
| I-D.ietf-detnet-flow-information-model.xml"/> | ||||
| <!-- draft-ietf-detnet-security (Waiting for Writeup) --> | ||||
| <!-- Have to do long way; Ethan Grossman is an editor --> | ||||
| <reference anchor="DetNet-Security" | ||||
| target="https://tools.ietf.org/html/draft-ietf-detnet-security-12"> | ||||
| <front> | ||||
| <title>Deterministic Networking (DetNet) Security | ||||
| Considerations</title> | ||||
| <author initials="E" surname="Grossman" fullname="Ethan Grossman" r | ||||
| ole="editor"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="T" surname="Mizrahi" fullname="Tal Mizrahi"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="A" surname="Hacker" fullname="Andrew Hacker"> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month="October" day="2" year="2020"/> | ||||
| </front> | ||||
| <seriesInfo name="Internet-Draft" | ||||
| value="draft-ietf-detnet-security-12"/> | ||||
| </reference> | ||||
| <!-- draft-ietf-detnet-yang (I-D Exists) --> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference. | ||||
| I-D.ietf-detnet-yang.xml"/> | ||||
| <!-- draft-ietf-detnet-ip-over-tsn (I-D Exists) --> | ||||
| <!-- Have to do long way; B Varga is an editor --> | ||||
| <reference anchor='I-D.ietf-detnet-ip-over-tsn'> | ||||
| <front> | ||||
| <title>DetNet Data Plane: IP over IEEE 802.1 Time Sensitive Networking (TSN)</ti | ||||
| tle> | ||||
| <author initials='B' surname='Varga' fullname='Balazs Varga' role="editor"> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='J' surname='Farkas' fullname='Janos Farkas'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='A' surname='Malis' fullname='Andrew Malis'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='S' surname='Bryant' fullname='Stewart Bryant'> | ||||
| <organization /> | ||||
| </author> | ||||
| <date month='November' day='2' year='2020' /> | ||||
| </front> | ||||
| <seriesInfo name='Internet-Draft' value='draft-ietf-detnet-ip-over-tsn-04' /> | ||||
| </reference> | ||||
| <!-- draft-ietf-detnet-ip-over-mpls (MISSREF) --> | ||||
| <!-- Have to do long way; B Varga is an editor --> | ||||
| <reference anchor='I-D.ietf-detnet-ip-over-mpls'> | ||||
| <front> | ||||
| <title>DetNet Data Plane: IP over MPLS</title> | ||||
| <author initials='B' surname='Varga' fullname='Balazs Varga' role="editor"> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='L' surname='Berger' fullname='Lou Berger'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='D' surname='Fedyk' fullname='Don Fedyk'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='S' surname='Bryant' fullname='Stewart Bryant'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='J' surname='Korhonen' fullname='Jouni Korhonen'> | ||||
| <organization /> | ||||
| </author> | ||||
| <date month='October' day='11' year='2020' /> | ||||
| </front> | ||||
| <seriesInfo name='Internet-Draft' value='draft-ietf-detnet-ip-over-mpls-09' /> | ||||
| </reference> | ||||
| <!-- draft-ietf-detnet-tsn-vpn-over-mpls (I-D Exists) --> | ||||
| <!-- Had to do long way; B Varga is an editor --> | ||||
| <reference anchor='I-D.ietf-detnet-tsn-vpn-over-mpls'> | ||||
| <front> | ||||
| <title>DetNet Data Plane: IEEE 802.1 Time Sensitive Networking over MPLS</title> | ||||
| <author initials='B' surname='Varga' fullname='Balazs Varga' role="editor"> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='J' surname='Farkas' fullname='Janos Farkas'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='A' surname='Malis' fullname='Andrew Malis'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='S' surname='Bryant' fullname='Stewart Bryant'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='D' surname='Fedyk' fullname='Don Fedyk'> | ||||
| <organization /> | ||||
| </author> | ||||
| <date month='November' day='2' year='2020' /> | ||||
| </front> | ||||
| <seriesInfo name='Internet-Draft' value='draft-ietf-detnet-tsn-vpn-over-mpls-04' | ||||
| /> | ||||
| </reference> | ||||
| <reference anchor="IEEE802.1AE-2018" target="https://ieeexplore.ieee.org | ||||
| /document/8585421"> | ||||
| <front> | ||||
| <title>IEEE Standard for Local and metropolitan area networks-Media | ||||
| Access Control (MAC) Security</title> | ||||
| <author> | ||||
| <organization>IEEE</organization> | ||||
| </author> | ||||
| <date year="2018" month="December"/> | ||||
| </front> | ||||
| <seriesInfo name="IEEE" value="802.1AE-2018" /> | ||||
| <seriesInfo name="DOI" value="10.1109/IEEESTD.2018.8585421" /> | ||||
| </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> | ||||
| </references> | ||||
| </references> | ||||
| <section anchor="acks" numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t> | <t> | |||
| The authors wish to thank Pat Thaler, Norman Finn, Loa Anderson, David B | The authors wish to thank <contact fullname="Pat Thaler"/>, <contact | |||
| lack, | fullname="Norman Finn"/>, <contact fullname="Loa Andersson"/>, <contact | |||
| Rodney Cummings, Ethan Grossman, Tal Mizrahi, David Mozes, Craig Gunther | fullname="David Black"/>, | |||
| , | <contact fullname="Rodney Cummings"/>, <contact fullname="Ethan | |||
| George Swallow, Yuanlong Jiang and Carlos J. Bernardos for their | Grossman"/>, <contact fullname="Tal Mizrahi"/>, <contact | |||
| various contributions to this work. David Black served as | fullname="David Mozes"/>, <contact fullname="Craig Gunther"/>, | |||
| <contact fullname="George Swallow"/>, <contact fullname="Yuanlong | ||||
| Jiang"/>, and <contact fullname="Carlos J. Bernardos"/> for their | ||||
| various contributions to this work. <contact fullname="David Black"/> se | ||||
| rved as | ||||
| technical advisor to the DetNet working group during the | technical advisor to the DetNet working group during the | |||
| development of this document and provided many valuable | development of this document and provided many valuable | |||
| comments. IESG comments were provided by Murray Kucherawy, | comments. IESG comments were provided by <contact fullname="Murray Kuche | |||
| Roman Danyliw, Alvaro Retana, Benjamin Kaduk, Rob Wilton, and | rawy"/>, | |||
| Erik Vyncke. | <contact fullname="Roman Danyliw"/>, <contact fullname="Alvaro | |||
| Retana"/>, <contact fullname="Benjamin Kaduk"/>, <contact fullname="Rob | ||||
| Wilton"/>, and | ||||
| <contact fullname="Érik Vyncke"/>. | ||||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="contrib" numbered="false" toc="default"> | ||||
| <name>Contributors</name> | ||||
| <section anchor="contrib" title="Contributors"> | ||||
| <t> | <t> | |||
| RFC7322 limits the number of authors listed on the front page of | The editor of this document wishes to thank and acknowledge the following | |||
| a draft to a maximum of 5. The editor wishes to thank and | people who contributed substantially to the content of this document and | |||
| acknowledge the follow authors for contributing text to this | should be considered coauthors: | |||
| draft. | ||||
| </t> | </t> | |||
| <figure> <artwork><![CDATA[ | <contact fullname="Jouni Korhonen"> | |||
| Jouni Korhonen | <address> | |||
| Email: jouni.nospam@gmail.com | <postal> | |||
| <street></street> | ||||
| Andrew G. Malis | <city></city> | |||
| Malis Consulting | <region></region><code></code> | |||
| Email: agmalis@gmail.com | <country></country> | |||
| ]]></artwork> | </postal> | |||
| </figure> | <email>jouni.nospam@gmail.com</email> | |||
| </section> | </address> | |||
| </contact> | ||||
| </middle> | ||||
| <back> | <contact fullname="Andrew G. Malis"> | |||
| <references title="Normative references"> | <organization>Malis Consulting</organization> | |||
| <?rfc include="reference.RFC.0768"?> | <address> | |||
| <?rfc include="reference.RFC.0791"?> | <postal> | |||
| <?rfc include="reference.RFC.0792"?> | <street></street> | |||
| <?rfc include="reference.RFC.0793"?> | <city></city> | |||
| <?rfc include="reference.RFC.1812"?> | <region></region><code></code> | |||
| <?rfc include="reference.RFC.2119"?> | <country></country> | |||
| <?rfc include="reference.RFC.2474"?> | </postal> | |||
| <?rfc include="reference.RFC.4301"?> | <email>agmalis@gmail.com</email> | |||
| <?rfc include="reference.RFC.4302"?> | </address> | |||
| <?rfc include="reference.RFC.4303"?> | </contact> | |||
| <?rfc include="reference.RFC.7608"?> | ||||
| <?rfc include="reference.RFC.8174"?> | ||||
| <?rfc include="reference.RFC.8200"?> | ||||
| <?rfc include="reference.RFC.8655"?> | ||||
| <?rfc include="reference.I-D.ietf-detnet-data-plane-framework'?> | ||||
| </references> | ||||
| <references title="Informative references"> | ||||
| <?rfc include="reference.RFC.1122"?> | ||||
| <?rfc include="reference.RFC.1192"?> | ||||
| <?rfc include="reference.RFC.2475"?> | ||||
| <?rfc include="reference.RFC.3290"?> | ||||
| <?rfc include="reference.RFC.3473"?> | ||||
| <?rfc include="reference.RFC.3670"?> | ||||
| <?rfc include="reference.RFC.5120"?> | ||||
| <?rfc include="reference.RFC.5777"?> | ||||
| <?rfc include="reference.RFC.8504"?> | ||||
| <?rfc include="reference.RFC.7551"?> | ||||
| <?rfc include="reference.RFC.7657"?> | ||||
| <?rfc include="reference.RFC.8201"?> | ||||
| <?rfc include="reference.I-D.ietf-detnet-mpls"?> | ||||
| <?rfc include="reference.I-D.ietf-detnet-dp-sol-mpls"?> | ||||
| <?rfc include="reference.I-D.ietf-detnet-flow-information-model"?> | ||||
| <?rfc include="reference.I-D.ietf-detnet-security"?> | ||||
| <?rfc include="reference.I-D.ietf-detnet-yang"?> | ||||
| <?rfc include="reference.I-D.ietf-detnet-ip-over-tsn'?> | ||||
| <?rfc include="reference.I-D.ietf-detnet-ip-over-mpls'?> | ||||
| <?rfc include="reference.I-D.ietf-detnet-tsn-vpn-over-mpls'?> | ||||
| <reference anchor="IEEE802.1AE-2018" | ||||
| target="https://ieeexplore.ieee.org/document/8585421"> | ||||
| <front> | ||||
| <title>IEEE Std 802.1AE-2018 MAC Security (MACsec)</title> | ||||
| <author> | ||||
| <organization>IEEE Standards Association</organization> | ||||
| </author> | ||||
| <date year="2018" /> | ||||
| </front> | ||||
| </reference> | ||||
| </references> | </section> | |||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 209 change blocks. | ||||
| 752 lines changed or deleted | 975 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||