| rfc9024xml2.original.xml | rfc9024.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="utf-8"?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
| <!ENTITY rfc2119 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/refe | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| rence.RFC.2119.xml"> | ||||
| <!ENTITY rfc3031 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/refe | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ie | |||
| rence.RFC.3031.xml"> | tf-detnet-tsn-vpn-over-mpls-07" ipr="trust200902" submissionType="IETF" obsolete | |||
| <!ENTITY rfc3985 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/refe | s="" updates="" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" v | |||
| rence.RFC.3985.xml"> | ersion="3" consensus="true" number="9024"> | |||
| ]> | ||||
| <?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-tsn-vpn-over-mpls-07" | ||||
| ipr="trust200902" | ||||
| submissionType="IETF"> | ||||
| <front> | <front> | |||
| <title abbrev="TSN over DetNet MPLS"> | <title abbrev="TSN over DetNet MPLS"> | |||
| DetNet Data Plane: IEEE 802.1 Time Sensitive Networking over MPLS</title> | Deterministic Networking (DetNet) Data Plane: IEEE 802.1 Time-Sensitive Netw | |||
| orking over MPLS</title> | ||||
| <author role="editor" fullname="Balázs Varga" initials="B." surname=" | <seriesInfo name="RFC" value="9024"/> | |||
| Varga"> | <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> | |||
| </author> | </author> | |||
| <author fullname="Andrew G. Malis" initials="A." surname="Malis"> | ||||
| <author fullname="Andrew G. Malis" initials="A.G." surname="Malis"> | ||||
| <organization>Malis Consulting</organization> | <organization>Malis Consulting</organization> | |||
| <address> | <address> | |||
| <email>agmalis@gmail.com</email> | <email>agmalis@gmail.com</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="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> | |||
| <date month="June" year="2021"/> | ||||
| <workgroup>DetNet</workgroup> | ||||
| <date /> | <keyword>interconnecting TSN networks</keyword> | |||
| <workgroup>DetNet</workgroup> | <abstract> | |||
| <t> | ||||
| <abstract> | ||||
| <t> | ||||
| This document specifies the Deterministic Networking data plane | This document specifies the Deterministic Networking data plane | |||
| when TSN networks are interconnected over a DetNet MPLS Network. | when Time-Sensitive Networking (TSN) networks are interconnected over a Det | |||
| </t> | Net MPLS network. | |||
| </abstract> | </t> | |||
| </front> | </abstract> | |||
| <middle> | </front> | |||
| <section title="Introduction" anchor="sec_intro"> | <middle> | |||
| <t> | <section anchor="sec_intro" numbered="true" toc="default"> | |||
| The Time-Sensitive Networking Task Group (TSN TG) within IEEE 802.1 Work | <name>Introduction</name> | |||
| ing | <t> | |||
| The Time-Sensitive Networking Task Group (TSN TG) within the IEEE 802.1 | ||||
| Working | ||||
| Group deals with deterministic services through IEEE 802 networks. | Group deals with deterministic services through IEEE 802 networks. | |||
| Deterministic Networking (DetNet) defined by IETF is a service that can be | Deterministic Networking (DetNet) defined by the IETF is a service that can | |||
| offered by a L3 network to DetNet flows. General background and concept | be | |||
| s | offered by an L3 network to DetNet flows. General background and concep | |||
| of DetNet can be found in <xref target="RFC8655"/>. | ts | |||
| </t> | of DetNet can be found in <xref target="RFC8655" format="default"/>. | |||
| <t> | </t> | |||
| <t> | ||||
| This document specifies the use of a DetNet MPLS network to interconnect TSN | This document specifies the use of a DetNet MPLS network to interconnect TSN | |||
| nodes/network segments. DetNet MPLS data plane is defined in | nodes/network segments. The DetNet MPLS data plane is defined in | |||
| <xref target="RFC8964"/>. | <xref target="RFC8964" format="default"/>. | |||
| <vspace blankLines="100" /> </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"> | |||
| <t> | <name>Terms Used in This Document</name> | |||
| <t> | ||||
| This document uses the terminology and concepts established in the DetNe t | This document uses the terminology and concepts established in the DetNe t | |||
| architecture <xref target="RFC8655"/> and | architecture <xref target="RFC8655" format="default"/> | |||
| <xref target="RFC8938"/>, and | <xref target="RFC8938" format="default"/> | |||
| <xref target="RFC8964"/>. TSN specific terms are defined in the TSN TG | <xref target="RFC8964" format="default"/>. TSN-specific terms are defin | |||
| of IEEE 802.1 Working Group. The reader is assumed | ed in the TSN TG | |||
| of the IEEE 802.1 Working Group. The reader is assumed | ||||
| to be familiar with these documents and their terminology. | to be familiar with these documents and their terminology. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Abbreviations"> | <name>Abbreviations</name> | |||
| <t> | <t> | |||
| The following abbreviations are used in this document: | The following abbreviations are used in this document: | |||
| <list style="hanging" hangIndent="14"> | </t> | |||
| <t hangText="AC">Attachment Circuit.</t> | <dl newline="false" spacing="normal" indent="14"> | |||
| <t hangText="CE">Customer Edge equipment.</t> | <dt>AC</dt> | |||
| <t hangText="d-CW">DetNet Control Word.</t> | <dd>Attachment Circuit</dd> | |||
| <t hangText="DetNet">Deterministic Networking.</t> | <dt>CE</dt> | |||
| <t hangText="DF">DetNet Flow.</t> | <dd>Customer Edge equipment</dd> | |||
| <t hangText="FRER">Frame Replication and Elimination for Redundancy | <dt>d-CW</dt> | |||
| (TSN function).</t> | <dd>DetNet Control Word</dd> | |||
| <t hangText="L2">Layer 2.</t> | <dt>DetNet</dt> | |||
| <t hangText="L2VPN">Layer 2 Virtual Private Network.</t> | <dd>Deterministic Networking</dd> | |||
| <t hangText="L3">Layer 3.</t> | <dt>DF</dt> | |||
| <t hangText="LSR">Label Switching Router.</t> | <dd>DetNet Flow</dd> | |||
| <t hangText="MPLS">Multiprotocol Label Switching.</t> | <dt>FRER</dt> | |||
| <t hangText="MPLS-TE">Multiprotocol Label Switching - Traffic Engineering.</ | <dd>Frame Replication and Elimination for Redundancy | |||
| t> | (TSN function)</dd> | |||
| <t hangText="NSP">Native Service Processing.</t> | <dt>L2</dt> | |||
| <t hangText="OAM">Operations, Administration, and Maintenance.</t> | <dd>Layer 2</dd> | |||
| <t hangText="PE">Provider Edge.</t> | <dt>L2VPN</dt> | |||
| <t hangText="PREOF">Packet Replication, Elimination and Ordering Functions.< | <dd>Layer 2 Virtual Private Network</dd> | |||
| /t> | <dt>L3</dt> | |||
| <t hangText="PW">PseudoWire.</t> | <dd>Layer 3</dd> | |||
| <t hangText="S-PE">Switching Provider Edge.</t> | <dt>LSP</dt><dd>Label Switched Path</dd> | |||
| <t hangText="T-PE">Terminating Provider Edge.</t> | <dt>LSR</dt> | |||
| <t hangText="TSN">Time-Sensitive Network.</t> | <dd>Label Switching Router</dd> | |||
| </list> | <dt>MPLS</dt> | |||
| </t> | <dd>Multiprotocol Label Switching</dd> | |||
| </section> | <dt>MPLS-TE</dt> | |||
| <dd>Multiprotocol Label Switching - Traffic Engineering</dd> | ||||
| <section title="Requirements Language"> | <dt>NSP</dt> | |||
| <t> | <dd>Native Service Processing</dd> | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | <dt>OAM</dt> | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | <dd>Operations, Administration, and Maintenance</dd> | |||
| "OPTIONAL" in this document are to be interpreted as described in | <dt>PE</dt> | |||
| BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and | <dd>Provider Edge</dd> | |||
| only when, they appear in all capitals, as shown here. | <dt>PREOF</dt> | |||
| </t> | <dd>Packet Replication, Elimination and Ordering Functions</dd> | |||
| </section> | <dt>PW</dt> | |||
| </section> <!-- end of terminology --> | <dd>Pseudowire</dd> | |||
| <dt>S-PE</dt> | ||||
| <!-- =========================================== --> | <dd>Switching Provider Edge</dd> | |||
| <!-- TSN over DetNet MPLS --> | <dt>T-PE</dt> | |||
| <!-- =========================================== --> | <dd>Terminating Provider Edge</dd> | |||
| <dt>TSN</dt> | ||||
| <dd>Time-Sensitive Network</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> | ||||
| </section> | ||||
| <section title="IEEE 802.1 TSN Over DetNet MPLS Data Plane Scenario" | </section> | |||
| anchor="sec_tsn_mpls_dt_dp_scen"> | ||||
| <t> | <section anchor="sec_tsn_mpls_dt_dp_scen" numbered="true" toc="default"> | |||
| <xref target="fig_tsn_mpls_detnet"/> shows IEEE 802.1 TSN end | <name>IEEE 802.1 TSN over DetNet MPLS Data Plane Scenario</name> | |||
| stations operating over a TSN aware DetNet service running over an MPLS | <t> | |||
| network. DetNet Edge Nodes sit at the boundary of a DetNet domain. They are | <xref target="fig_tsn_mpls_detnet" format="default"/> shows IEEE 802.1 TSN en | |||
| responsible for mapping non-DetNet aware L2 traffic to DetNet services. | d | |||
| stations operating over a TSN-aware DetNet service running over an MPLS | ||||
| network. DetNet edge nodes sit at the boundary of a DetNet domain. They are | ||||
| responsible for mapping non-DetNet-aware L2 traffic to DetNet services. | ||||
| They also support the imposition and disposition of the required DetNet | They also support the imposition and disposition of the required DetNet | |||
| encapsulation. These are functionally similar to pseudowire (PW) | encapsulation. These are functionally similar to PW | |||
| Terminating Provider Edge (T-PE) nodes which use MPLS-TE LSPs. In this | T-PE nodes, which use MPLS-TE LSPs. In this | |||
| example TSN Streams are simple applications over DetNet flows. The specific | example, TSN Streams are simple applications over DetNet flows. The specific | |||
| s | ||||
| of this operation are discussed later in this document. | of this operation are discussed later in this document. | |||
| </t> | </t> | |||
| <figure anchor="fig_tsn_mpls_detnet"> | ||||
| <figure anchor="fig_tsn_mpls_detnet" align="center" | <name>A TSN over DetNet MPLS-Enabled Network</name> | |||
| title="A TSN over DetNet MPLS Enabled Network"> | <artwork align="center" name="" type="" alt=""><![CDATA[ | |||
| <artwork align="center"><![CDATA[ | ||||
| TSN Edge Transit Edge TSN | TSN Edge Transit Edge TSN | |||
| End System Node Node Node End System | End System Node Node Node End System | |||
| (T-PE) (LSR) (T-PE) | (T-PE) (LSR) (T-PE) | |||
| +----------+ +----------+ | +----------+ +----------+ | |||
| | TSN | <---------End to End TSN Service----------> | TSN | | | TSN | <-------- End-to-End TSN Service ---------> | TSN | | |||
| | Applic. | | Applic. | | | Applic. | | Applic. | | |||
| +----------+ +.........+ +.........+ +----------+ | +----------+ +.........+ +.........+ +----------+ | |||
| | | | \S-Proxy: :S-Proxy/ | | | | | | | \S-Proxy: :S-Proxy/ | | | | |||
| | TSN | | +.+---+<-- DetNet flow -->+---+ | | | TSN | | | TSN | | +.+---+<-- DetNet flow -->+---+ | | | TSN | | |||
| | | |TSN| |Svc| |Svc| |TSN| | | | | | |TSN| |Svc| |Svc| |TSN| | | | |||
| +----------+ +---+ +---+ +----------+ +---+ +---+ +----------+ | +----------+ +---+ +---+ +----------+ +---+ +---+ +----------+ | |||
| | L2 | | L2| |Fwd| |Forwarding| |Fwd| |L2 | | L2 | | | L2 | | L2| |Fwd| |Forwarding| |Fwd| |L2 | | L2 | | |||
| +------.---+ +-.-+ +-.-+ +---.----.-+ +--.+ +-.-+ +---.------+ | +------.---+ +-.-+ +-.-+ +---.----.-+ +--.+ +-.-+ +---.------+ | |||
| : Link : / ,-----. \ : Link : / ,-----. \ | : Link : / ,-----. \ : Link : / ,-----. \ | |||
| +........+ +-[ Sub ]-+ +........+ +-[ TSN ]-+ | +........+ +-[ Sub ]-+ +........+ +-[ TSN ]-+ | |||
| [Network] [Network] | [Network] [Network] | |||
| `-----' `-----' | `-----' `-----' | |||
| |<------ DetNet MPLS ------>| | |<------ DetNet MPLS ------>| | |||
| |<---------------------- TSN --------------------->| | |<---------------------- TSN --------------------->| | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| <t> | ||||
| <t> | ||||
| In this example, edge nodes provide a service proxy function that | In this example, edge nodes provide a service proxy function that | |||
| "associates" the DetNet flows and native flows (i.e., TSN Streams) at | "associates" the DetNet flows and native flows (i.e., TSN Streams) at | |||
| the edge of the DetNet domain. TSN streams are treated as App-flows | the edge of the DetNet domain. TSN Streams are treated as App-flows | |||
| for DetNet. The whole DetNet domain behaves as a TSN relay node f or | for DetNet. The whole DetNet domain behaves as a TSN relay node f or | |||
| the TSN streams. The service proxy behaves as a port of that TSN | the TSN Streams. The service proxy behaves as a port of that TSN | |||
| relay node. | relay node. | |||
| </t> | </t> | |||
| <t> | ||||
| <t> | <xref target="fig_8021_detnet" format="default"/> illustrates how DetNet can | |||
| <xref target="fig_8021_detnet"/> illustrates how DetNet can provide services | provide services | |||
| for IEEE 802.1 TSN end systems, CE1 and CE2, over a DetNet enabled MPLS | for IEEE 802.1 TSN end systems, CE1 and CE2, over a DetNet-enabled MPLS | |||
| network. Edge nodes, E1 and E2, insert and remove required DetNet data | network. Edge nodes E1 and E2 insert and remove the required DetNet data | |||
| plane encapsulation. The 'X' in the edge nodes and relay node, R1, | plane encapsulation. The 'X' in the edge nodes and relay node, R1, | |||
| represent a potential DetNet compound flow packet replication and | represent a potential DetNet compound flow packet replication and | |||
| elimination point. This conceptually parallels L2VPN services, and could | elimination point. This conceptually parallels L2VPN services and could | |||
| leverage existing related solutions as discussed below. | leverage existing related solutions as discussed below. | |||
| </t> | </t> | |||
| <figure anchor="fig_8021_detnet"> | ||||
| <figure align="center" anchor="fig_8021_detnet" | <name>IEEE 802.1TSN over DetNet</name> | |||
| title="IEEE 802.1TSN Over DetNet"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| <artwork><![CDATA[ | TSN |<------- End-to-End DetNet Service ------>| TSN | |||
| TSN |<------- End to End DetNet Service ------>| TSN | ||||
| Service | Transit Transit | Service | Service | Transit Transit | Service | |||
| TSN (AC) | |<-Tnl->| |<-Tnl->| | (AC) TSN | TSN (AC) | |<-Tnl->| |<-Tnl->| | (AC) TSN | |||
| End | V V 1 V V 2 V V | End | End | V V 1 V V 2 V V | End | |||
| System | +--------+ +--------+ +--------+ | System | System | +--------+ +--------+ +--------+ | System | |||
| +---+ | | E1 |=======| R1 |=======| E2 | | +---+ | +---+ | | E1 |=======| R1 |=======| E2 | | +---+ | |||
| | |--|----|._X_....|..DF1..|.._ _...|..DF3..|...._X_.|---|---| | | | |--|----|._X_....|..DF1..|.._ _...|..DF3..|...._X_.|---|---| | | |||
| |CE1| | | \ | | X | | / | | |CE2| | |CE1| | | \ | | X | | / | | |CE2| | |||
| | | | \_.|..DF2..|._/ \_..|..DF4..|._/ | | | | | | | \_.|..DF2..|._/ \_..|..DF4..|._/ | | | | |||
| +---+ | |=======| |=======| | +---+ | +---+ | |=======| |=======| | +---+ | |||
| ^ +--------+ +--------+ +--------+ ^ | ^ +--------+ +--------+ +--------+ ^ | |||
| | Edge Node Relay Node Edge Node | | | Edge Node Relay Node Edge Node | | |||
| | (T-PE) (S-PE) (T-PE) | | | (T-PE) (S-PE) (T-PE) | | |||
| | | | | | | |||
| |<- TSN -> <------- TSN Over DetNet MPLS -------> <- TSN ->| | |<- TSN -> <------- TSN over DetNet MPLS -------> <- TSN ->| | |||
| | | | | | | |||
| |<-------- Time Sensitive Networking (TSN) Service ------->| | |<-------- Time-Sensitive Networking (TSN) Service ------->| | |||
| X = Service protection | X = Service protection | |||
| DFx = DetNet member flow x over a TE LSP | DFx = DetNet member flow x over a TE LSP | |||
| AC = Attachment Circuit | AC = Attachment Circuit | |||
| Tnl = Tunnel | Tnl = Tunnel | |||
| ]]> | ]]></artwork> | |||
| </artwork> | </figure> | |||
| </figure> | </section> | |||
| </section> | ||||
| <!-- ================================================= --> | ||||
| <!-- DetNet MPLS data plane OVERVIEW --> | ||||
| <!-- ================================================= --> | ||||
| <section title="DetNet MPLS Data Plane" anchor="sec_dt_dp"> | ||||
| <section title="Overview" anchor="sec_dt_dp_ov"> | <section anchor="sec_dt_dp" numbered="true" toc="default"> | |||
| <t> | <name>DetNet MPLS Data Plane</name> | |||
| The basic approach defined in <xref target="RFC8964"/> | <section anchor="sec_dt_dp_ov" numbered="true" toc="default"> | |||
| supports the DetNet service sub-layer based on existing pseudowire (PW) | <name>Overview</name> | |||
| encapsulations and mechanisms, and supports the DetNet forwarding | <t> | |||
| The basic approach defined in <xref target="RFC8964" format="default"/> | ||||
| supports the DetNet service sub-layer based on existing PW | ||||
| encapsulations and mechanisms and supports the DetNet forwarding | ||||
| sub-layer based on existing MPLS Traffic Engineering encapsulations | sub-layer based on existing MPLS Traffic Engineering encapsulations | |||
| and mechanisms. | and mechanisms. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| A node operating on a DetNet flow in the Detnet service sub-layer, i.e. | A node operating on a DetNet flow in the DetNet service sub-layer, i.e., | |||
| a node processing a DetNet packet which has the S-Label as top of stack | a node processing a DetNet packet that has the S-Label as top of stack, | |||
| uses the local context associated with that S-Label, for example a recei | uses the local context associated with that S-Label. For example, a rece | |||
| ved | ived | |||
| F-Label, to determine what local DetNet operation(s) are applied to that | F-Label can be used to determine what local DetNet operation(s) is appli | |||
| ed to that | ||||
| packet. An S-Label may be unique when taken from the platform | packet. An S-Label may be unique when taken from the platform | |||
| label space <xref target="RFC3031"/>, which would enable correct DetNet flow | label space <xref target="RFC3031" format="default"/>, which would enabl e correct DetNet flow | |||
| identification regardless of which input interface or LSP the packet arr ives | identification regardless of which input interface or LSP the packet arr ives | |||
| on. The service sub-layer functions (i.e., PREOF) use a DetNet control w ord | on. The service sub-layer functions (i.e., PREOF) use a DetNet control w ord | |||
| (d-CW). | (d-CW). | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The DetNet MPLS data plane builds on MPLS Traffic Engineering | The DetNet MPLS data plane builds on MPLS Traffic Engineering | |||
| encapsulations and mechanisms to provide a forwarding sub-layer that | encapsulations and mechanisms to provide a forwarding sub-layer that | |||
| is responsible for providing resource allocation and explicit | is responsible for providing resource allocation and explicit | |||
| routes. The forwarding sub-layer is supported by one or more | routes. The forwarding sub-layer is supported by one or more | |||
| forwarding labels (F-Labels). | forwarding labels (F-Labels). | |||
| </t> | </t> | |||
| <t> | <t> | |||
| DetNet edge/relay nodes are DetNet service sub-layer | DetNet edge/relay nodes are DetNet service sub-layer | |||
| aware, understand the particular needs of DetNet flows and | aware, understand the particular needs of DetNet flows, and | |||
| provide both DetNet service and forwarding sub-layer functions. | provide both DetNet service and forwarding sub-layer functions. | |||
| They add, remove and process d-CWs, S-Labels and F-labels as | They add, remove, and process d-CWs, S-Labels, and F-Labels as | |||
| needed. MPLS DetNet nodes and transit nodes include | needed. MPLS DetNet nodes and transit nodes include | |||
| DetNet forwarding sub-layer functions, notably, support for | DetNet forwarding sub-layer functions -- notably, support for | |||
| explicit routes and resource allocation to eliminate (or | explicit routes and resource allocation to eliminate (or | |||
| reduce) congestion loss and jitter. Unlike other DetNet node type s, | reduce) congestion loss and jitter. Unlike other DetNet node type s, | |||
| transit nodes provide no service sub-layer processing. | transit nodes provide no service sub-layer processing. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="tom-encap" numbered="true" toc="default"> | ||||
| <section anchor="tom-encap" | <name>TSN over DetNet MPLS Encapsulation</name> | |||
| title="TSN over DetNet MPLS Encapsulation"> | <t> | |||
| <t> | ||||
| The basic encapsulation approach is to treat a TSN Stream as an App-flow | The basic encapsulation approach is to treat a TSN Stream as an App-flow | |||
| from the DetNet MPLS perspective. The corresponding example shown in | from the DetNet MPLS perspective. The corresponding example is shown in | |||
| <xref target="fig_tsn_mpls_ex"/>. Note, that three example flows are | <xref target="fig_tsn_mpls_ex" format="default"/>. Note that three examp | |||
| le flows are | ||||
| shown in the figure. | shown in the figure. | |||
| </t> | </t> | |||
| <figure anchor="fig_tsn_mpls_ex"> | ||||
| <figure title="Examples of TSN over MPLS Encapsulation Formats" | <name>Examples of TSN over MPLS Encapsulation Formats</name> | |||
| anchor="fig_tsn_mpls_ex"> | <artwork align="center" name="" type="" alt=""><![CDATA[ | |||
| <artwork align="center"><![CDATA[ | ||||
| /-> +------+ +------+ +------+ TSN ^ ^ | /-> +------+ +------+ +------+ TSN ^ ^ | |||
| MPLS | | X | | X | | X |<- Appli : : | MPLS | | X | | X | | X |<- Appli : : | |||
| App-Flow <-+ +------+ +------+ +------+ cation : :(1) | App-Flow <-+ +------+ +------+ +------+ cation : :(1) | |||
| | |TSN-L2| |TSN-L2| |TSN-L2| : v | | |TSN-L2| |TSN-L2| |TSN-L2| : v | |||
| \-> +---+======+--+======+--+======+-----+ : | \-> +---+======+--+======+--+======+-----+ : | |||
| | d-CW | | d-CW | | d-CW | : | | d-CW | | d-CW | | d-CW | : | |||
| DetNet-MPLS +------+ +------+ +------+ :(2) | DetNet-MPLS +------+ +------+ +------+ :(2) | |||
| |Labels| |Labels| |Labels| v | |Labels| |Labels| |Labels| v | |||
| +---+======+--+======+--+======+-----+ | +---+======+--+======+--+======+-----+ | |||
| Link/Sub-Network | L2 | | TSN | | UDP | | Link/Sub-Network | L2 | | TSN | | UDP | | |||
| +------+ +------+ +------+ | +------+ +------+ +------+ | |||
| | IP | | | IP | | |||
| +------+ | +------+ | |||
| | L2 | | | L2 | | |||
| +------+ | +------+ | |||
| (1) TSN Stream | (1) TSN Stream | |||
| (2) DetNet MPLS Flow | (2) DetNet MPLS Flow | |||
| ]]> | ]]></artwork> | |||
| </artwork> | </figure> | |||
| </figure> | <t> | |||
| <t> | ||||
| In the figure, "Application" indicates the application payload carried b y | In the figure, "Application" indicates the application payload carried b y | |||
| the TSN network. "MPLS App-Flow" indicates that the TSN Stream is the | the TSN network. "MPLS App-Flow" indicates that the TSN Stream is the | |||
| payload from the perspective of the DetNet MPLS data plane defined in | payload from the perspective of the DetNet MPLS data plane defined in | |||
| <xref target="RFC8964"/>. A single DetNet MPLS flow | <xref target="RFC8964" format="default"/>. A single DetNet MPLS flow | |||
| can aggregate multiple TSN Streams. | can aggregate multiple TSN Streams. | |||
| </t> | </t> | |||
| <t> | <aside> | |||
| Note: In order to avoid fragmentation (see section 5.3 of | <t> | |||
| <xref target="RFC3985"/>), the network operator has to make sure | Note: Network fragmentation for DetNet is not supported and MUST | |||
| that | be avoided. The reason for this is that network fragmentation is not consistent | |||
| all the DetNet encapsulation overhead plus the TSN App-flow do no | with the packet delivery times needed for DetNet. Therefore, when IP is used as | |||
| t | the sub-network, IPv6 fragmentation MUST NOT be used, and IPv4 packets MUST be | |||
| exceed the DetNet network's MTU. | sent with the DF bit set. This means that the network operator MUST ensure that | |||
| </t> | all the DetNet encapsulation overhead plus the maximum TSN App-flow frame size d | |||
| oes not exceed the DetNet network's MTU. | ||||
| </section> | </t></aside> | |||
| </section> | ||||
| </section> <!-- end of DetNet MPLS data plane overview --> | </section> | |||
| <!-- ================================================= --> | ||||
| <!-- TSN over DetNet MPLS procedures --> | ||||
| <!-- ================================================= --> | ||||
| <section title="TSN over MPLS Data Plane Procedures" anchor="tom_proc"> | ||||
| <t> | ||||
| The description of Edge Nodes procedures and functions for TSN over DetN | ||||
| et MPLS | ||||
| scenarios follows the concepts from <xref target="RFC3985"/>, and covers | ||||
| the | ||||
| Edge Nodes components shown in <xref target="fig_tsn_mpls_detnet"/>. In | ||||
| this section the following procedures of DetNet Edge Nodes are described | ||||
| : | ||||
| <list style="symbols"> | ||||
| <t> | ||||
| TSN related (<xref target="tom_tsn_proc"/>) | ||||
| </t><t> | ||||
| DetNet Service Proxy (<xref target="tom_svc_prx_proc"/>) | ||||
| </t><t> | ||||
| DetNet service and forwarding sub-layer (<xref target="t | ||||
| om_dn_sub_proc"/>) | ||||
| </t> | ||||
| </list> | ||||
| </t> | ||||
| <t> | ||||
| The sub-sections describe procedures for forwarding packets by De | ||||
| tNet | ||||
| Edge nodes, where such packets are received from either directly | ||||
| connected CEs (TSN nodes) or some other DetNet Edge nodes. | ||||
| </t> | ||||
| <section title="Edge Node TSN Procedures" anchor="tom_tsn_proc"> | <section anchor="tom_proc" numbered="true" toc="default"> | |||
| <t> | <name>TSN over MPLS Data Plane Procedures</name> | |||
| The Time-Sensitive Networking (TSN) Task Group of the IEEE 802.1 | <t> | |||
| Working Group have defined (and are defining) a number of amendm | The description of edge node procedures and functions for TSN over DetNe | |||
| ents | t MPLS | |||
| to <xref target="IEEE8021Q"/> that provide zero | scenarios follows the concepts from <xref target="RFC3985" format="defau | |||
| lt"/> and covers the | ||||
| edge node components shown in <xref target="fig_tsn_mpls_detnet" format= | ||||
| "default"/>. In | ||||
| this section, the following procedures of DetNet edge nodes are describe | ||||
| d: | ||||
| </t> | ||||
| <ul spacing="normal"> | ||||
| <li> | ||||
| TSN related (<xref target="tom_tsn_proc" format="default | ||||
| "/>) | ||||
| </li> | ||||
| <li> | ||||
| DetNet Service Proxy (<xref target="tom_svc_prx_proc" fo | ||||
| rmat="default"/>) | ||||
| </li> | ||||
| <li> | ||||
| DetNet service and forwarding sub-layer (<xref target="t | ||||
| om_dn_sub_proc" format="default"/>) | ||||
| </li> | ||||
| </ul> | ||||
| <t> | ||||
| The subsections describe procedures for forwarding packets by Det | ||||
| Net | ||||
| edge nodes, where such packets are received from either directly | ||||
| connected CEs (TSN nodes) or some other DetNet edge nodes. | ||||
| </t> | ||||
| <section anchor="tom_tsn_proc" numbered="true" toc="default"> | ||||
| <name>Edge Node TSN Procedures</name> | ||||
| <t> | ||||
| The TSN TG of the IEEE 802.1 | ||||
| Working Group has defined (and is defining) a number of amendmen | ||||
| ts | ||||
| to <xref target="IEEE8021Q" format="default"/> that provide zero | ||||
| congestion loss and bounded latency in bridged networks. | congestion loss and bounded latency in bridged networks. | |||
| <xref target="IEEE8021CB"/> defines packet | <xref target="IEEE8021CB" format="default"/> defines packet | |||
| replication and elimination functions for a TSN network. | replication and elimination functions for a TSN network. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The implementation of TSN entity (i.e., TSN packet proc | The implementation of a TSN entity (i.e., TSN packet pr | |||
| essing | ocessing | |||
| functions) must be compliant with the relevant IEEE 802 .1 | functions) must be compliant with the relevant IEEE 802 .1 | |||
| standards. | standards. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| TSN specific functions are executed on the data received by | TSN-specific functions are executed on the data received by | |||
| the DetNet Edge Node from the connected CE before being forwarde | the DetNet edge node from the connected CE before being forwarde | |||
| d to | d to | |||
| connected CE(s) or presented to the DetNet Servic | connected CE(s) or presented to the DetNet servic | |||
| e Proxy function for | e proxy function for | |||
| transmission across the DetNet domain. TSN specific functions | transmission across the DetNet domain. TSN-specific functions | |||
| are also executed on the data received from a Det Net PW by a PE | are also executed on the data received from a Det Net PW by a PE | |||
| before the data is output on the Attachment Circu | before the data is output on the AC(s). | |||
| it(s) (AC). | </t> | |||
| </t> | <t> | |||
| <t> | The TSN packet processing function(s) of edge nodes (T-PE) belon | |||
| TSN packet processing function(s) of Edge Nodes (T-PE) are belon | gs to the | |||
| ging to the | NSP <xref target="RFC3985" format="default"/> | |||
| native service processing (NSP) <xref target="RFC3985"/> | block. This is similar to other functionalities being defined by | |||
| block. This is similar to other functionalities being defined by | standards | |||
| standard | bodies other than the IETF (for example, in the case of Ethernet | |||
| bodies other than the IETF (for example in case of Ethernet: str | , stripping, | |||
| ipping, | overwriting, or adding VLAN tags, etc.). Depending on the TSN ro | |||
| overwriting or adding VLAN tags, etc.). Depending on the TSN rol | le of | |||
| e of | the edge node in the end-to-end TSN service, selected TSN functi | |||
| the Edge Node in the end-to-end TSN service selected TSN functio | ons | |||
| ns | ||||
| are supported. | are supported. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| When a PE receives a packet from a CE, on a given AC with | When a PE receives a packet from a CE on a given AC with | |||
| DetNet service, | DetNet service, | |||
| it first checks via Stream Identification | it first checks via Stream identification | |||
| (see Clause 6. of <xref target="IEEE8021CB"/> and | (see Clause 6 of <xref target="IEEE8021CB" format="defaul | |||
| <xref target="IEEEP8021CBdb"/>) | t"/> and | |||
| <xref target="IEEEP8021CBdb" format="default"/>) | ||||
| whether the packet belongs | whether the packet belongs | |||
| to a configured TSN Stream (i.e., App-flow from DetNet pe rspective). | to a configured TSN Stream (i.e., App-flow from the DetNe t perspective). | |||
| If no Stream ID is matched and no other (VPN) service is configured | If no Stream ID is matched and no other (VPN) service is configured | |||
| for the AC, then the packet MUST be dropped. If there is | for the AC, then the packet <bcp14>MUST</bcp14> be droppe | |||
| a matching TSN | d. If there is a matching TSN | |||
| Stream, then the Stream ID specific TSN functions are exe | Stream, then the Stream-ID-specific TSN functions are exe | |||
| cuted | cuted | |||
| (e.g., ingress policing, header field manipulation in cas | (e.g., ingress policing, header field manipulation in the | |||
| e | case | |||
| of active Stream Identification, FRER, etc.). Source MAC | of active Stream identification, FRER, etc.). Source Medi | |||
| lookup | a Access Control (MAC) lookup | |||
| may also be used for local MAC address learning. | may also be used for local MAC address learning. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| If the PE decides to forward the packet, the packet MUST | If the PE decides to forward the packet, the packet <bcp1 | |||
| be forwarded | 4>MUST</bcp14> be forwarded | |||
| according to the TSN Stream specific configuration to con | according to the TSN-Stream-specific configuration to con | |||
| nected CE(s) | nected CE(s) | |||
| (in case of local bridging) and/or to the DetNet Service | (in case of local bridging) and/or to the DetNet service | |||
| Proxy | proxy | |||
| (in case of forwarding to remote CE(s)). If there are no | (in case of forwarding to remote CE(s)). If there are no | |||
| TSN Stream specific forwarding configurations, the PE MUS | TSN-Stream-specific forwarding configurations, the PE <bc | |||
| T flood | p14>MUST</bcp14> flood | |||
| the packet to other locally attached CE(s) and to the Det | the packet to other locally attached CE(s) and to the Det | |||
| Net Service | Net service | |||
| Proxy. If the administrative policy on the PE does not al | proxy. If the administrative policy on the PE does not al | |||
| low | low | |||
| flooding, the PE MUST drop the packet. | flooding, the PE <bcp14>MUST</bcp14> drop the packet. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| When a TSN entity of the PE receives a packet from the De tNet | When a TSN entity of the PE receives a packet from the De tNet | |||
| Service Proxy, it first checks via Stream Identification | service proxy, it first checks via Stream identification | |||
| (see Clause 6. of <xref target="IEEE8021CB"/> and | (see Clause 6 of <xref target="IEEE8021CB" format="defaul | |||
| <xref target="IEEEP8021CBdb"/>) whether | t"/> and | |||
| <xref target="IEEEP8021CBdb" format="default"/>) whether | ||||
| the packet belongs to a configured TSN Stream. If no Stre am ID is | the packet belongs to a configured TSN Stream. If no Stre am ID is | |||
| matched, then the packet is dropped. If there is a matchi ng TSN | matched, then the packet is dropped. If there is a matchi ng TSN | |||
| Stream, then the Stream ID specific TSN functions are exe cuted | Stream, then the Stream-ID-specific TSN functions are exe cuted | |||
| (e.g., header field manipulation in case of active Stream | (e.g., header field manipulation in case of active Stream | |||
| Identification, FRER, etc.). Source MAC lookup may also b e used for | identification, FRER, etc.). Source MAC lookup may also b e used for | |||
| local MAC address learning. | local MAC address learning. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| If the PE decides to forward the packet, the packet is fo rwarded | If the PE decides to forward the packet, the packet is fo rwarded | |||
| according to the TSN Stream specific configuration to con | according to the TSN-Stream-specific configuration to con | |||
| nected CE(s). | nected CE(s). | |||
| If there are no TSN Stream specific forwarding configurat | If there are no TSN-Stream-specific forwarding configurat | |||
| ions, the | ions, the | |||
| PE floods the packet to locally attached CE(s). If the | PE floods the packet to locally attached CE(s). If the | |||
| administrative policy on the PE does not allow flooding, the PE | administrative policy on the PE does not allow flooding, the PE | |||
| drops the packet. | drops the packet. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Implementations of this document SHALL use management and | Implementations of this document <bcp14>SHALL</bcp14> use management | |||
| control information to ensure TSN specific functions of the Edge Nod | and | |||
| e | control information to ensure TSN-specific functions of the edge nod | |||
| e | ||||
| according to the expectations of the connected TSN network. | according to the expectations of the connected TSN network. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="tom_svc_prx_proc" numbered="true" toc="default"> | ||||
| <section title="Edge Node DetNet Service Proxy Procedures" anchor="tom_svc_prx | <name>Edge Node DetNet Service Proxy Procedures</name> | |||
| _proc"> | <t> | |||
| <t> | The service proxy | |||
| The Service Proxy | ||||
| function maps between App-flows and DetNet flows. | function maps between App-flows and DetNet flows. | |||
| The DetNet Edge Node TSN entity MUST support the | The DetNet edge node TSN entity <bcp14>MUST</bcp1 | |||
| TSN Stream | 4> support the TSN Stream | |||
| identification functions and the related managed objects as | identification functions (as defined in Clause 6 of <xref target | |||
| defined in Clause 6. and Clause 9. of | ="IEEE8021CB" format="default"/> and <xref target="IEEEP8021CBdb" format="defaul | |||
| <xref target="IEEE8021CB"/> and | t"/>) and the related managed objects (as | |||
| <xref target="IEEEP8021CBdb"/> to | defined in Clause 9 of <xref target="IEEE8021CB" format="default | |||
| recognize the App-flow related packets. The Service Proxy | "/> and <xref target="IEEEP8021CBdb" format="default"/>) to | |||
| presents TSN Streams as an App-flow to a DetNet Flow. | recognize the packets related to App-flow. The service proxy | |||
| </t> | presents TSN Streams as an App-flow to a DetNet flow. | |||
| <t> | </t> | |||
| When a DetNet Service Proxy receives a packet from the TS | <t> | |||
| N Entity | When a DetNet service proxy receives a packet from the TS | |||
| it MUST check whether such an App-flow is present in its | N entity, | |||
| mapping table. | it <bcp14>MUST</bcp14> check whether such an App-flow is | |||
| If present it associates the internal DetNet flow-ID to t | present in its mapping table. | |||
| he packet and | If present, it associates the internal DetNet flow ID to | |||
| MUST forward it to the DetNet Service and Forwarding sub- | the packet and | |||
| layers. If | <bcp14>MUST</bcp14> forward it to the DetNet service and | |||
| no match is found it MUST drop the packet. | forwarding sub-layers. If | |||
| </t> | no match is found, it <bcp14>MUST</bcp14> drop the packet | |||
| <t> | . | |||
| When a DetNet Service Proxy receives a packet from the De | </t> | |||
| tNet Service | <t> | |||
| and Forwarding sub-layers it MUST be forwarded to the Edg | When a DetNet service proxy receives a packet from the De | |||
| e Node | tNet service | |||
| TSN Entity. | and forwarding sub-layers, it <bcp14>MUST</bcp14> be forw | |||
| </t> | arded to the edge node | |||
| <t> | TSN entity. | |||
| Implementations of this document SHALL use management and | </t> | |||
| <t> | ||||
| Implementations of this document <bcp14>SHALL</bcp14> use manage | ||||
| ment and | ||||
| control information to map a TSN Stream to a DetNet flow. | control information to map a TSN Stream to a DetNet flow. | |||
| N:1 mapping (aggregating multiple TSN Streams in a single | N:1 mapping (aggregating multiple TSN Streams in a single | |||
| DetNet flow) SHALL be supported. The management or control | DetNet flow) <bcp14>SHALL</bcp14> be supported. The management o | |||
| function that provisions flow mapping SHALL ensure that | r control | |||
| function that provisions flow mapping <bcp14>SHALL</bcp14> ensur | ||||
| e that | ||||
| adequate resources are allocated and configured to | adequate resources are allocated and configured to | |||
| fulfil the service requirements of the mapped flows. | fulfill the service requirements of the mapped flows. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Due to the (intentional) similarities of the DetNet PREOF and | Due to the (intentional) similarities of the DetNet PREOF and | |||
| TSN FRER functions service protection function interworking is | TSN FRER functions, service protection function interworking is | |||
| possible between the TSN and the DetNet domains. Such service | possible between the TSN and the DetNet domains. Such service | |||
| protection interworking scenarios might require to copy sequence | protection interworking scenarios might require copying of seque nce | |||
| number fields from TSN (L2) to PW (MPLS) encapsulation. | number fields from TSN (L2) to PW (MPLS) encapsulation. | |||
| However, such interworking is out-of-scope in this document and | However, such interworking is out of scope in this document and | |||
| left for further study. | is left for further study. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="tom_dn_sub_proc" numbered="true" toc="default"> | ||||
| <section title="Edge Node DetNet Service and Forwarding Sub-Layer Procedures" | <name>Edge Node DetNet Service and Forwarding Sub-Layer Procedures</name | |||
| anchor="tom_dn_sub_proc"> | > | |||
| <t> | <t> | |||
| In the design of <xref target="RFC8964"/> an MPLS service | In the design presented in <xref target="RFC8964" format="defaul | |||
| label (the S-Label), similar to a pseudowire (PW) label | t"/>, an MPLS service | |||
| <xref target="RFC3985"/>, is used to identify both the DetNet fl | label (the S-Label), similar to a PW label | |||
| ow | <xref target="RFC3985" format="default"/>, is used to identify b | |||
| identity and the payload MPLS payload type. The DetNet sequence | oth the DetNet flow | |||
| number is carried in the DetNet Control word (d-CW) which carrie | identity and the MPLS payload type. The DetNet sequence | |||
| s the | number is carried in the d-CW, which carries the | |||
| Data/OAM discriminator as well. In | Data/OAM discriminator as well. In | |||
| <xref target="RFC8964"/> two sequence number sizes | <xref target="RFC8964" format="default"/>, two sequence number s | |||
| are supported: a 16 bit sequence number and a 28 bit sequence nu | izes | |||
| mber. | are supported: a 16-bit sequence number and a 28-bit sequence nu | |||
| </t> | mber. | |||
| <t> | </t> | |||
| PREOF functions and the provided service recovery is available | <t> | |||
| only within the DetNet domain as the DetNet flow-ID and the DetN | PREOF functions and the provided service recovery are available | |||
| et | only within the DetNet domain as the DetNet flow ID and the DetN | |||
| et | ||||
| sequence number are not valid outside the DetNet network. MPLS | sequence number are not valid outside the DetNet network. MPLS | |||
| (DetNet) Edge nodes terminate all related information elements | (DetNet) edge nodes terminate all related information elements | |||
| encoded in the MPLS labels. | encoded in the MPLS labels. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| When a PE receives a packet from the Service Proxy functi | When a PE receives a packet from the service proxy functi | |||
| on it MUST | on, it <bcp14>MUST</bcp14> | |||
| handle the packet as defined in <xref target="RFC8964"/>. | handle the packet as defined in <xref target="RFC8964" fo | |||
| </t> | rmat="default"/>. | |||
| <t> | </t> | |||
| <t> | ||||
| When a PE receives an MPLS packet from a remote PE, then, after | When a PE receives an MPLS packet from a remote PE, then, after | |||
| processing the MPLS label stack, if the top MPLS label en ds up being | processing the MPLS label stack, if the top MPLS label en ds up being | |||
| a DetNet S-label that was advertised by this node, then t | a DetNet S-Label that was advertised by this node, then t | |||
| he PE | he PE | |||
| MUST forward the packet according to the configured DetNe | <bcp14>MUST</bcp14> forward the packet according to the c | |||
| t Service and | onfigured DetNet service and | |||
| Forwarding sub-layer rules to other PE nodes or via the D | forwarding sub-layer rules to other PE nodes or via the D | |||
| etnet Service | etNet service | |||
| Proxy function towards locally connected CE(s). | proxy function towards locally connected CE(s). | |||
| </t> | ||||
| <t> | ||||
| For further details on DetNet Service and Forwarding sub-layers | ||||
| see <xref target="RFC8964"/>. | ||||
| </t> | </t> | |||
| </section> | <t> | |||
| For further details on DetNet service and forwarding sub-layers, | ||||
| </section> <!-- End of Procedures Section --> | see <xref target="RFC8964" format="default"/>. | |||
| </t> | ||||
| <!-- ========================================================== --> | </section> | |||
| <!-- Management and Control Plane Considerations --> | </section> | |||
| <!-- ========================================================== --> | ||||
| <section title="Controller Plane (Management and Control) Considerations" ancho | ||||
| r="cp_considerations"> | ||||
| <t> | <section anchor="cp_considerations" numbered="true" toc="default"> | |||
| TSN Stream(s) to DetNet flow mapping related information are | <name>Controller Plane (Management and Control) Considerations</name> | |||
| required only for the service proxy function of MPLS (DetNet) Edge nodes | <t> | |||
| . | Information related to TSN Stream(s) to DetNet flow mapping is | |||
| From the Data Plane perspective there is no practical difference | required only for the service proxy function of MPLS (DetNet) edge nodes | |||
| based on the origin of flow mapping related information (manageme | . | |||
| nt | From the data plane perspective, there is no practical difference | |||
| based on the origin of flow-mapping-related information (manageme | ||||
| nt | ||||
| plane or control plane). | plane or control plane). | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The following summarizes the set of information that is needed to | The following summarizes the set of information that is needed to | |||
| configure TSN over DetNet MPLS: | configure TSN over DetNet MPLS: | |||
| <list style="symbols"> | </t> | |||
| <t>TSN related configuration information according to t | <ul spacing="normal"> | |||
| he | <li>TSN-related configuration information according to the | |||
| TSN role of the DetNet MPLS node, as per | TSN role of the DetNet MPLS node, as per | |||
| <xref target="IEEE8021Q"/>, <xref target="IEEE80 | <xref target="IEEE8021Q" format="default"/>, <xr | |||
| 21CB"/> and | ef target="IEEE8021CB" format="default"/>, and | |||
| <xref target="IEEEP8021CBdb"/>. </t> | <xref target="IEEEP8021CBdb" format="default"/>. </l | |||
| <t>DetNet MPLS related configuration information accord | i> | |||
| ing to the | <li>DetNet MPLS-related configuration information according to the | |||
| DetNet role of the DetNet MPLS node, as per | DetNet role of the DetNet MPLS node, as per | |||
| <xref target="RFC8964"/>. </t> | <xref target="RFC8964" format="default"/>. </li> | |||
| <t>App-Flow identification information to map received TSN | <li>App-flow identification information to map received TSN | |||
| Stream(s) to the DetNet flow. Parameters of TSN stream | Stream(s) to the DetNet flow. Parameters of TSN Stream | |||
| identification are defined in <xref target="IEEE8021CB" | identification are defined in <xref target="IEEE8021CB" | |||
| /> and | format="default"/> and | |||
| <xref target="IEEEP8021CBdb"/>. </t> | <xref target="IEEEP8021CBdb" format="default"/>. </li> | |||
| </list> | </ul> | |||
| This information MUST be provisioned per DetNet flow. | <t> | |||
| </t> | This information <bcp14>MUST</bcp14> be provisioned per DetNet flow. | |||
| <t> | </t> | |||
| <t> | ||||
| Mappings between DetNet and TSN management and control pl anes are | Mappings between DetNet and TSN management and control pl anes are | |||
| out of scope of the document. Some of the challanges are | out of scope of the document. Some of the challenges are | |||
| highligthed below. | highlighted below. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| MPLS DetNet Edge nodes are member of both the DetNet domain and the | MPLS DetNet edge nodes are a member of both the DetNet domain and the | |||
| connected TSN network. From the TSN network perspective the MPLS | connected TSN network. From the TSN network perspective, the MPLS | |||
| (DetNet) Edge node has a "TSN relay node" role, so TSN specific | (DetNet) edge node has a "TSN relay node" role, so TSN-specific | |||
| management and control plane functionalities must be implemented. | management and control plane functionalities must be implemented. | |||
| There are many similarities in the management plane techniques used in | There are many similarities in the management plane techniques used in | |||
| DetNet and TSN, but that is not the case for the control plane | DetNet and TSN, but that is not the case for the control plane | |||
| protocols. For example, RSVP-TE and MSRP behaves differently. | protocols. For example, RSVP-TE and MSRP behave differently. | |||
| Therefore management and control plane design is an important asp | Therefore, management and control plane design is an important as | |||
| ect | pect | |||
| of scenarios, where mapping between DetNet and TSN is require | of scenarios where mapping between DetNet and TSN is required. | |||
| d. | </t> | |||
| </t> | <t> | |||
| <t> | Note that as the DetNet network is just a portion of the end-to-end TSN | |||
| Note that, as the DetNet network is just a portion of the end to end TSN | path (i.e., single hop from the Ethernet perspective), some parameters | |||
| path (i.e., single hop from Ethernet perspective), some parameters | ||||
| (e.g., delay) may differ significantly. Since there is no interworking | (e.g., delay) may differ significantly. Since there is no interworking | |||
| function the bandwidth of DetNet network is assumed to be set large enou | function, the bandwidth of the DetNet network is assumed to be set large | |||
| gh to | enough to | |||
| handle all TSN Flows it will support. At the egress of the Detnet Domai | handle all TSN flows it will support. At the egress of the DetNet domai | |||
| n the MPLS | n, the MPLS | |||
| headers are stripped and the TSN flow continues on as a normal TSN | headers are stripped, and the TSN flow continues on as a normal TSN | |||
| flow. | flow. | |||
| </t> | </t> | |||
| <t> | ||||
| <t> | ||||
| In order to use a DetNet network to interconnect TSN segments, | In order to use a DetNet network to interconnect TSN segments, | |||
| TSN specific information must be converted to DetNet domain | TSN-specific information must be converted to DetNet-domain-specific inf | |||
| specific ones. TSN Stream ID(s) and stream(s) related | ormation. TSN Stream ID(s) and stream-related | |||
| parameters/requirements must be converted to a DetNet flow-ID and | parameters/requirements must be converted to a DetNet flow ID and | |||
| flow related parameters/requirements. | flow-related parameters/requirements. | |||
| </t> | </t> | |||
| <t> | ||||
| In some case it may be challenging to determine some egress node | <t> | |||
| related information. For example, it may be not trivial to | In some cases, it may be challenging to determine some information relat | |||
| ed to the egress-node. For example, it may be not trivial to | ||||
| locate the egress point/interface of a TSN Stream with a | locate the egress point/interface of a TSN Stream with a | |||
| multicast destination MAC address. Such scenarios may | multicast destination MAC address. Such scenarios may | |||
| require interaction between control and management plane | require interaction between control and management plane | |||
| functions and between DetNet and TSN domains. | functions and between DetNet and TSN domains. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Mapping between DetNet flow identifiers and TSN Stream | Mapping between DetNet flow identifiers and TSN Stream | |||
| identifiers, if not provided explicitly, can be done by the service | identifiers, if not provided explicitly, can be done by the service | |||
| proxy function of an MPLS (DetNet) Edge node locally based on informatio | proxy function of an MPLS (DetNet) edge node locally based on informatio | |||
| n | n | |||
| provided for configuration of the TSN Stream identification functions | provided for the configuration of the TSN Stream identification function | |||
| s | ||||
| (e.g., Mask-and-Match Stream identification). | (e.g., Mask-and-Match Stream identification). | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Triggering the setup/modification of a DetNet flow in the | Triggering the setup/modification of a DetNet flow in the | |||
| DetNet network is an example where management and/or | DetNet network is an example where management and/or | |||
| control plane interactions are required between the DetNet | control plane interactions are required between the DetNet | |||
| and the TSN network. | and the TSN network. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Configuration of TSN specific functions (e.g., FRER) | Configuration of TSN-specific functions (e.g., FRER) | |||
| inside the TSN network is a TSN domain specific decision | inside the TSN network is a TSN-domain-specific decision | |||
| and may not be visible in the DetNet domain. Service protection | and may not be visible in the DetNet domain. Service protection | |||
| interworking scenarios are left for further study. | interworking scenarios are left for further study. | |||
| </t> | </t> | |||
| </section> <!-- End of Management and Control Plane COnsiderations --> | </section> | |||
| <section title="Security Considerations"> | <section numbered="true" toc="default"> | |||
| <t> | <name>Security Considerations</name> | |||
| Security considerations for DetNet are described in detail in <xref | <t> | |||
| target="I-D.ietf-detnet-security"/>. General security | Security considerations for DetNet are described in detail in <xref target= | |||
| considerations are described in <xref | "I-D.ietf-detnet-security" format="default"/>. General security | |||
| target="RFC8655"/>. | considerations are described in <xref target="RFC8655" format="default"/>. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| DetNet MPLS data plane specific considerations are summarized and | Considerations specific to the DetNet MPLS data plane are summarized and | |||
| described in <xref target="RFC8964"/> including any | described in <xref target="RFC8964" format="default"/>, including any | |||
| application flow types. This document focuses on the scenario where TSN | application flow types. This document focuses on a scenario where TSN St | |||
| Streams are the application flows for DetNet and it is already covered | reams are the application flows for DetNet, which is already covered | |||
| by those DetNet MPLS data plane security considerations. | by those DetNet MPLS data plane security considerations. | |||
| </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 makes no IANA requests. | This document has no IANA actions. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| </middle> | ||||
| <back> | ||||
| <displayreference target="I-D.ietf-detnet-security" to="DETNET-SEC"/> | ||||
| <references> | ||||
| <name>References</name> | ||||
| <references> | ||||
| <name>Normative References</name> | ||||
| <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.3031.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.8655.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8938.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8964.xml"/> | ||||
| <reference anchor="IEEE8021CB" target="https://ieeexplore.ieee.org/docum | ||||
| ent/8091139"> | ||||
| <front> | ||||
| <title>Standard for Local and metropolitan area networks -- Frame Re | ||||
| plication and Elimination for Reliability</title> | ||||
| <author> | ||||
| <organization>IEEE</organization> | ||||
| </author> | ||||
| <date month="October" year="2017"/> | ||||
| </front> | ||||
| <seriesInfo name="IEEE" value="802.1CB-2017"/> | ||||
| <seriesInfo name="DOI" value="10.1109/IEEESTD.2017.8091139"/> | ||||
| </reference> | ||||
| <reference anchor="IEEEP8021CBdb" target=" https://1.ieee802.org/tsn/802 | ||||
| -1cbdb"> | ||||
| <front> | ||||
| <title>Draft Standard for Local and metropolitan area networks - Fra | ||||
| me Replication and Elimination for Reliability - Amendment: Extended Stream Iden | ||||
| tification Functions</title> | ||||
| <author> | ||||
| <organization>IEEE</organization> | ||||
| </author> | ||||
| <date month="April" year="2021"/> | ||||
| </front> | ||||
| <seriesInfo name="IEEE P802.1CBdb" value="D1.3"/> | ||||
| </reference> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.3985.xml"/> | ||||
| <section anchor="acks" title="Acknowledgements"> | <reference anchor='I-D.ietf-detnet-security'> | |||
| <t> | <front> | |||
| The authors wish to thank Norman Finn, Lou Berger, Craig Gunther, | <title>Deterministic Networking (DetNet) Security Considerations</title> | |||
| Christophe Mangin and Jouni Korhonen for their various contributions | ||||
| to this work. | ||||
| </t> | ||||
| </section> | ||||
| </middle> | ||||
| <back> | <author initials='E' surname='Grossman' fullname='Ethan Grossman' role="editor"> | |||
| <references title="Normative References"> | <organization /> | |||
| &rfc2119; | </author> | |||
| <?rfc include="reference.RFC.3031"?> | ||||
| <?rfc include="reference.RFC.8174"?> | ||||
| <?rfc include="reference.RFC.8655"?> | ||||
| <?rfc include="reference.RFC.8938"?> | ||||
| <?rfc include="reference.RFC.8964"?> | ||||
| <reference anchor="IEEE8021CB" | <author initials='T' surname='Mizrahi' fullname='Tal Mizrahi'> | |||
| target="http://standards.ieee.org/about/get/"> | <organization /> | |||
| <front> | </author> | |||
| <title>Standard for Local and metropolitan area networks - | ||||
| Frame Replication and Elimination for Reliability | ||||
| (IEEE Std 802.1CB-2017)</title> | ||||
| <author> | ||||
| <organization>IEEE 802.1</organization> | ||||
| </author> | ||||
| <date year="2017"/> | ||||
| </front> | ||||
| <format type="PDF" target="http://standards.ieee.org/about/get/"/> | ||||
| </reference> | ||||
| <reference anchor="IEEEP8021CBdb" | <author initials='A' surname='Hacker' fullname='Andrew Hacker'> | |||
| target="http://www.ieee802.org/1/files/private/db-drafts/d1/802 | <organization /> | |||
| -1CBdb-d1-0.pdf"> | </author> | |||
| <front> | ||||
| <title>Extended Stream identification functions</title> | ||||
| <author initials="C. M." surname="Mangin" fullname="Christophe Mangin" | ||||
| > | ||||
| <organization>IEEE 802.1</organization> | ||||
| </author> | ||||
| <date month="September" year="2020"/> | ||||
| </front> | ||||
| <seriesInfo name="IEEE P802.1CBdb /D1.0" value="P802.1CBdb"/> | ||||
| <format type="PDF" target="http://www.ieee802.org/1/files/private/db-dra | ||||
| fts/d1/802-1CBdb-d1-0.pdf"/> | ||||
| </reference> | ||||
| </references> | <date month='March' day='2' year='2021' /> | |||
| <references title="Informative References"> | ||||
| &rfc3985; | ||||
| <?rfc include="reference.I-D.ietf-detnet-security"?> | ||||
| <!-- <?rfc include="reference.RFC.4301"?> --> | ||||
| <!-- <reference anchor="IEEE802.1AE-2018" | </front> | |||
| 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> --> | ||||
| <reference anchor="IEEE8021Q" | <seriesInfo name='Internet-Draft' value='draft-ietf-detnet-security-16' /> | |||
| target="http://standards.ieee.org/about/get/"> | <format type='TXT' | |||
| <front> | target='http://www.ietf.org/internet-drafts/draft-ietf-detnet-security.t | |||
| <title>Standard for Local and metropolitan area networks--Bridges | xt' /> | |||
| and Bridged Networks (IEEE Std 802.1Q-2018)</title> | </reference> | |||
| <author> | ||||
| <organization>IEEE 802.1</organization> | ||||
| </author> | ||||
| <date year="2018"/> | ||||
| </front> | ||||
| <format type="PDF" target="http://standards.ieee.org/about/get/"/> | ||||
| </reference> | ||||
| </references> | <reference anchor="IEEE8021Q" target="https://ieeexplore.ieee.org/document | |||
| /8403927"> | ||||
| <front> | ||||
| <title>Standard for Local and Metropolitan Area Networks--Bridges | ||||
| and Bridged Networks</title> | ||||
| <author> | ||||
| <organization>IEEE</organization> | ||||
| </author> | ||||
| <date year="2018" month="July"/> | ||||
| </front> | ||||
| <seriesInfo name="IEEE Std." value="802.1Q-2018"/> | ||||
| <seriesInfo name="DOI" value="10.1109/IEEESTD.2018.8403927"/> | ||||
| </back> | </reference> | |||
| </references> | ||||
| </references> | ||||
| <section anchor="acks" numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t> | ||||
| The authors wish to thank <contact fullname="Norman Finn"/>, <contact fullna | ||||
| me="Lou Berger"/>, <contact fullname="Craig Gunther"/>, | ||||
| <contact fullname="Christophe Mangin"/>, and <contact fullname="Jouni Kor | ||||
| honen"/> for their various contributions | ||||
| to this work. | ||||
| </t> | ||||
| </section> | ||||
| </back> | ||||
| </rfc> | </rfc> | |||
| End of changes. 100 change blocks. | ||||
| 579 lines changed or deleted | 607 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/ | ||||