summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8964.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc8964.txt')
-rw-r--r--doc/rfc/rfc8964.txt1488
1 files changed, 1488 insertions, 0 deletions
diff --git a/doc/rfc/rfc8964.txt b/doc/rfc/rfc8964.txt
new file mode 100644
index 0000000..69cff6c
--- /dev/null
+++ b/doc/rfc/rfc8964.txt
@@ -0,0 +1,1488 @@
+
+
+
+
+Internet Engineering Task Force (IETF) B. Varga, Ed.
+Request for Comments: 8964 J. Farkas
+Category: Standards Track Ericsson
+ISSN: 2070-1721 L. Berger
+ LabN Consulting, L.L.C.
+ A. Malis
+ Malis Consulting
+ S. Bryant
+ Futurewei Technologies
+ J. Korhonen
+ January 2021
+
+
+ Deterministic Networking (DetNet) Data Plane: MPLS
+
+Abstract
+
+ This document specifies the Deterministic Networking (DetNet) data
+ plane when operating over an MPLS Packet Switched Network. It
+ leverages existing pseudowire (PW) encapsulations and MPLS Traffic
+ Engineering (MPLS-TE) encapsulations and mechanisms. This document
+ builds on the DetNet architecture and data plane framework.
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc8964.
+
+Copyright Notice
+
+ Copyright (c) 2021 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+Table of Contents
+
+ 1. Introduction
+ 2. Terminology
+ 2.1. Terms Used in This Document
+ 2.2. Abbreviations
+ 2.3. Requirements Language
+ 3. Overview of the DetNet MPLS Data Plane
+ 3.1. Layers of DetNet Data Plane
+ 3.2. DetNet MPLS Data Plane Scenarios
+ 4. MPLS-Based DetNet Data Plane Solution
+ 4.1. DetNet over MPLS Encapsulation Components
+ 4.2. MPLS Data Plane Encapsulation
+ 4.2.1. DetNet Control Word and DetNet Sequence Number
+ 4.2.2. S-Labels
+ 4.2.3. F-Labels
+ 4.3. OAM Indication
+ 4.4. Flow Aggregation
+ 4.4.1. Aggregation via LSP Hierarchy
+ 4.4.2. Aggregating DetNet Flows as a New DetNet Flow
+ 4.5. Service Sub-Layer Considerations
+ 4.5.1. Edge Node Processing
+ 4.5.2. Relay Node Processing
+ 4.6. Forwarding Sub-Layer Considerations
+ 4.6.1. Class of Service
+ 4.6.2. Quality of Service
+ 5. Management and Control Information Summary
+ 5.1. Service Sub-Layer Information Summary
+ 5.1.1. Service Aggregation Information Summary
+ 5.2. Forwarding Sub-Layer Information Summary
+ 6. Security Considerations
+ 7. IANA Considerations
+ 8. References
+ 8.1. Normative References
+ 8.2. Informative References
+ Acknowledgements
+ Contributors
+ Authors' Addresses
+
+1. Introduction
+
+ Deterministic Networking (DetNet) is a service that can be offered by
+ a network to DetNet flows. DetNet provides a capability for the
+ delivery of data flows with extremely low packet loss rates and
+ bounded end-to-end delivery latency. General background and concepts
+ of DetNet can be found in the DetNet architecture [RFC8655].
+
+ The purpose of this document is to describe the use of the MPLS data
+ plane to establish and support DetNet flows. The DetNet architecture
+ models the DetNet-related data plane functions as being decomposed
+ into two sub-layers: a service sub-layer and a forwarding sub-layer.
+ The service sub-layer is used to provide DetNet service functions,
+ such as protection and reordering. At the DetNet data plane, a new
+ set of functions (Packet Replication, Elimination and Ordering
+ Functions (PREOF)) provide the tasks specific to the service sub-
+ layer. The forwarding sub-layer is used to provide forwarding
+ assurance (low loss, assured latency, and limited out-of-order
+ delivery). The use of the functionalities of the DetNet service sub-
+ layer and the DetNet forwarding sub-layer require careful design and
+ control by the Controller Plane in addition to the DetNet-specific
+ use of MPLS encapsulation as specified by this document.
+
+ This document specifies the DetNet data plane operation and the on-
+ wire encapsulation of DetNet flows over an MPLS-based Packet Switched
+ Network (PSN) using the service reference model. MPLS encapsulation
+ already provides a solid foundation of building blocks to enable the
+ DetNet service and forwarding sub-layer functions. MPLS-encapsulated
+ DetNet can be carried over a variety of different network
+ technologies that can provide the level of service required for
+ DetNet. However, the specific details of how DetNet MPLS is carried
+ over different network technologies are out of scope for this
+ document.
+
+ MPLS-encapsulated DetNet flows can carry different types of traffic.
+ The details of the types of traffic that are carried in DetNet are
+ also out of scope for this document. An example of IP using DetNet
+ MPLS sub-networks can be found in [RFC8939]. DetNet MPLS may use an
+ associated controller and Operations, Administration, and Maintenance
+ (OAM) functions that are defined outside of this document.
+
+ Background information common to all data planes for DetNet can be
+ found in the DetNet data plane framework [RFC8938].
+
+2. Terminology
+
+2.1. Terms Used in This Document
+
+ This document uses the terminology established in the DetNet
+ architecture [RFC8655] and the DetNet data plane framework [RFC8938].
+ The reader is assumed to be familiar with these documents, any
+ terminology defined therein, and basic MPLS-related terminologies in
+ [RFC3031].
+
+ The following terminology is introduced in this document:
+
+ F-Label A DetNet "forwarding" label that identifies the Label
+ Switched Path (LSP) used to forward a DetNet flow
+ across an MPLS PSN, i.e., a hop-by-hop label used
+ between Label Switching Routers (LSRs).
+
+ S-Label A DetNet "service" label that is used between DetNet
+ nodes that implement the DetNet service sub-layer
+ functions. An S-Label is used to identify a DetNet
+ flow at the DetNet service sub-layer at a receiving
+ DetNet node.
+
+ A-Label A special case of an S-Label, whose aggregation
+ properties are known only at the aggregation and
+ deaggregation end points.
+
+ d-CW A DetNet Control Word (d-CW) that is used for
+ sequencing information of a DetNet flow at the DetNet
+ service sub-layer.
+
+2.2. Abbreviations
+
+ The following abbreviations are used in this document:
+
+ CoS Class of Service
+
+ CW Control Word
+
+ DetNet Deterministic Networking
+
+ LSR Label Switching Router
+
+ MPLS Multiprotocol Label Switching
+
+ MPLS-TE Multiprotocol Label Switching Traffic Engineering
+
+ MPLS-TP Multiprotocol Label Switching Transport Profile
+
+ OAM Operations, Administration, and Maintenance
+
+ PE Provider Edge
+
+ PEF Packet Elimination Function
+
+ PRF Packet Replication Function
+
+ PREOF Packet Replication, Elimination and Ordering Functions
+
+ POF Packet Ordering Function
+
+ PSN Packet Switched Network
+
+ PW Pseudowire
+
+ QoS Quality of Service
+
+ S-PE Switching Provider Edge
+
+ T-PE Terminating Provider Edge
+
+ TSN Time-Sensitive Networking
+
+2.3. Requirements Language
+
+ 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 [RFC2119] [RFC8174] when, and only when, they appear in all
+ capitals, as shown here.
+
+3. Overview of the DetNet MPLS Data Plane
+
+3.1. Layers of DetNet Data Plane
+
+ MPLS provides a wide range of capabilities that can be utilized by
+ DetNet. A straight-forward approach utilizing MPLS for a DetNet
+ service sub-layer is based on the existing pseudowire (PW)
+ encapsulations and utilizes existing MPLS-TE encapsulations and
+ mechanisms. Background on PWs can be found in [RFC3985], [RFC3032],
+ and [RFC3031]. Background on MPLS-TE can be found in [RFC3272] and
+ [RFC3209].
+
+ DetNet MPLS
+ .
+ Bottom of Stack .
+ (inner label) +------------+
+ | Service | d-CW, S-Label (A-Label)
+ +------------+
+ | Forwarding | F-Label(s)
+ +------------+
+ Top of Stack .
+ (outer label) .
+
+ Figure 1: DetNet Adaptation to MPLS Data Plane
+
+ The DetNet MPLS data plane representation is illustrated in Figure 1.
+ The service sub-layer includes a DetNet Control Word (d-CW) and an
+ identifying service label (S-Label). The DetNet Control Word (d-CW)
+ conforms to the Generic PW MPLS Control Word (PWMCW) defined in
+ [RFC4385]. An aggregation label (A-Label) is a special case of
+ S-Label used for aggregation.
+
+ A node operating on a received DetNet flow at the DetNet service sub-
+ layer uses the local context associated with a received S-Label,
+ i.e., a received F-Label, to determine which local DetNet
+ operation(s) are applied to that packet. An S-Label may be taken
+ from the platform label space [RFC3031], making it unique and
+ enabling DetNet flow identification regardless of which input
+ interface or LSP the packet arrives on. It is important to note that
+ S-Label values are driven by the receiver, not the sender.
+
+ The DetNet forwarding sub-layer is supported by zero or more
+ forwarding labels (F-Labels). MPLS-TE encapsulations and mechanisms
+ can be utilized to provide a forwarding sub-layer that is responsible
+ for providing resource allocation and explicit routes.
+
+3.2. DetNet MPLS Data Plane Scenarios
+
+ DetNet MPLS Relay Transit Relay DetNet MPLS
+ End System Node Node Node End System
+ (T-PE) (S-PE) (LSR) (S-PE) (T-PE)
+ +----------+ +----------+
+ | Appl. |<------------ End-to-End Service ----------->| Appl. |
+ +----------+ +---------+ +---------+ +----------+
+ | Service |<--| Service |-- DetNet flow --| Service |-->| Service |
+ +----------+ +---------+ +----------+ +---------+ +----------+
+ |Forwarding| |Fwd| |Fwd| |Forwarding| |Fwd| |Fwd| |Forwarding|
+ +-------.--+ +-.-+ +-.-+ +----.---.-+ +-.-+ +-.-+ +---.------+
+ : Link : / ,-----. \ : Link : / ,-----. \
+ +........+ +-[ Sub- ]-+ +......+ +-[ Sub- ]-+
+ [Network] [Network]
+ `-----' `-----'
+ |<- LSP -->| |<-------- LSP -----------| |<--- LSP -->|
+
+ |<----------------- DetNet MPLS --------------------->|
+
+ Figure 2: A DetNet MPLS Network
+
+ Figure 2 illustrates a hypothetical DetNet MPLS-only network composed
+ of DetNet-aware MPLS-enabled end systems operating over a DetNet-
+ aware MPLS network. In this figure, the relay nodes are PE devices
+ that define the MPLS LSP boundaries, and the transit nodes are LSRs.
+
+ DetNet end systems and relay nodes understand the particular needs of
+ DetNet flows and provide both DetNet service and forwarding sub-layer
+ functions. In the case of MPLS, DetNet service-aware nodes add,
+ remove, and process d-CWs, S-Labels, and F-Labels as needed. DetNet
+ MPLS nodes provide functionality analogous to T-PEs when they sit at
+ the edge of an MPLS domain and S-PEs when they are in the middle of
+ an MPLS domain; see [RFC6073].
+
+ In a DetNet MPLS network, transit nodes may be DetNet-service-aware
+ or DetNet-unaware MPLS Label Switching Routers (LSRs). In this
+ latter case, such LSRs would be unaware of the special requirements
+ of the DetNet service sub-layer but would still provide traffic
+ engineering functions and the QoS capabilities needed to ensure that
+ the (TE) LSPs meet the service requirements of the carried DetNet
+ flows.
+
+ The application of DetNet using MPLS supports a number of control and
+ management plane types. These types support certain MPLS data plane
+ deployments. For example, RSVP-TE, MPLS-TP, or MPLS Segment Routing
+ (when extended to support resource allocation) are all valid MPLS
+ deployment cases.
+
+ Figure 3 illustrates how an end-to-end MPLS-based DetNet service is
+ provided in more detail. In this figure, the Customer Edge (CE1 and
+ CE2) are able to send and receive MPLS-encapsulated DetNet flows, and
+ R1, R2, and R3 are relay nodes in the middle of a DetNet network.
+ The 'X' in the end systems and relay nodes represents potential
+ DetNet compound flow packet replication and elimination points. In
+ this example, service protection is supported utilizing at least two
+ DetNet member flows and TE LSPs. For a unidirectional flow, R1
+ supports PRF, and R3 supports PEF and POF. Note that the relay nodes
+ may change the underlying forwarding sub-layer, for example,
+ tunneling MPLS over IEEE 802.1 TSN [DetNet-MPLS-over-TSN] or simply
+ over interconnected network links.
+
+ DetNet DetNet
+ DetNet Service Transit Transit Service DetNet
+ MPLS | |<-Tnl->| |<-Tnl->| | MPLS
+ End | V 1 V V 2 V | End
+ System | +--------+ +--------+ +--------+ | System
+ +---+ | | R1 |=======| R2 |=======| R3 | | +---+
+ | X...DFa...|._X_....|..DF1..|.__ ___.|..DF3..|...._X_.|.DFa..|.X |
+ |CE1|========| \ | | X | | / |======|CE2|
+ | | | | \_.|..DF2..|._/ \__.|..DF4..|._/ | | | |
+ +---+ | |=======| |=======| | +---+
+ ^ +--------+ +--------+ +--------+ ^
+ | Relay Node Relay Node Relay Node |
+ | (S-PE) (S-PE) (S-PE) |
+ | |
+ |<---------------------- DetNet MPLS --------------------->|
+ | |
+ |<--------------- End-to-End DetNet Service -------------->|
+
+ -------------------------- Data Flow ------------------------->
+
+ Figure 3: MPLS-Based Native DetNet
+
+ X - Optional service protection (none, PRF, PREOF, PEF/POF)
+
+ DFx - DetNet member flow x over a TE LSP
+
+4. MPLS-Based DetNet Data Plane Solution
+
+4.1. DetNet over MPLS Encapsulation Components
+
+ To carry DetNet over MPLS, the following is required:
+
+ 1. A method of identifying the MPLS payload type.
+
+ 2. A method of identifying the DetNet flow(s) to the processing
+ element.
+
+ 3. A method of distinguishing DetNet OAM packets from DetNet data
+ packets.
+
+ 4. A method of carrying the DetNet sequence number.
+
+ 5. A suitable LSP to deliver the packet to the egress PE.
+
+ 6. A method of carrying queuing and forwarding indication.
+
+ In this design, an MPLS service label (the S-Label) is similar to a
+ pseudowire (PW) label [RFC3985] and is used to identify both the
+ DetNet flow identity and the MPLS payload type satisfying (1) and (2)
+ in the list above. OAM traffic discrimination happens through the
+ use of the Associated Channel method described in [RFC4385]. The
+ DetNet sequence number is carried in the DetNet Control Word, which
+ also carries the Data/OAM discriminator. To simplify implementation
+ and to maximize interoperability, two sequence number sizes are
+ supported: a 16-bit sequence number and a 28-bit sequence number.
+ The 16-bit sequence number is needed to support some types of legacy
+ clients. The 28-bit sequence number is used in situations where it
+ is necessary to ensure that, in high-speed networks, the sequence
+ number space does not wrap whilst packets are in flight.
+
+ The LSP used to forward the DetNet packet is not restricted regarding
+ any method used for establishing that LSP (for example, MPLS-LDP,
+ MPLS-TE, MPLS-TP [RFC5921], MPLS Segment Routing [RFC8660], etc.).
+ The F-Label(s) and the S-Label may be used alone or together to
+ indicate the required queue processing as well as the forwarding
+ parameters. Note that the possible use of Penultimate Hop Popping
+ (PHP) means that the S-Label may be the only label received at the
+ terminating DetNet service.
+
+4.2. MPLS Data Plane Encapsulation
+
+ Figure 4 illustrates a DetNet data plane MPLS encapsulation. The
+ MPLS-based encapsulation of the DetNet flows is well suited for the
+ scenarios described in [RFC8938]. Furthermore, an end-to-end DetNet
+ service, i.e., native DetNet deployment (see Section 3.2), is also
+ possible if DetNet end systems are capable of initiating and
+ terminating MPLS-encapsulated packets.
+
+ The MPLS-based DetNet data plane encapsulation consists of:
+
+ * A DetNet Control Word (d-CW) containing sequencing information for
+ packet replication and duplicate elimination purposes, and the OAM
+ indicator.
+
+ * A DetNet service label (S-Label) that identifies a DetNet flow at
+ the receiving DetNet service sub-layer processing node.
+
+ * Zero or more DetNet MPLS forwarding label(s) (F-Label) used to
+ direct the packet along the Label Switched Path (LSP) to the next
+ DetNet service sub-layer processing node along the path. When PHP
+ is in use, there may be no F-Label in the protocol stack on the
+ final hop.
+
+ * The necessary data-link encapsulation is then applied prior to
+ transmission over the physical media.
+
+ DetNet MPLS-based encapsulation
+
+ +---------------------------------+
+ | |
+ | DetNet App-Flow |
+ | Payload Packet |
+ | |
+ +---------------------------------+ <--\
+ | DetNet Control Word | |
+ +---------------------------------+ +--> DetNet data plane
+ | S-Label | | MPLS encapsulation
+ +---------------------------------+ |
+ | [ F-Label(s) ] | |
+ +---------------------------------+ <--/
+ | Data-Link |
+ +---------------------------------+
+ | Physical |
+ +---------------------------------+
+
+ Figure 4: Encapsulation of a DetNet App-Flow in an MPLS PSN
+
+4.2.1. DetNet Control Word and DetNet Sequence Number
+
+ A DetNet Control Word (d-CW) conforms to the Generic PW MPLS Control
+ Word (PWMCW) defined in [RFC4385]. The d-CW formatted as shown in
+ Figure 5 MUST be present in all DetNet packets containing App-flow
+ data. This format of the d-CW was created in order to (1) allow
+ larger sequence number space to avoid sequence number rollover
+ frequency in some applications and (2) allow sequence numbering
+ systems that include the value zero as a valid sequence number, which
+ simplifies implementation.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |0 0 0 0| Sequence Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 5: DetNet Control Word
+
+ (bits 0 to 3)
+ Per [RFC4385], MUST be set to zero (0).
+
+ Sequence Number (bits 4 to 31)
+ An unsigned value implementing the DetNet sequence number. The
+ sequence number space is a circular one with no restriction on the
+ initial value.
+
+ A separate sequence number space MUST be maintained by the node that
+ adds the d-CW for each DetNet App-flow, i.e., DetNet service. The
+ following Sequence Number field lengths MUST be supported:
+
+ * 0 bits
+
+ * 16 bits
+
+ * 28 bits
+
+ The sequence number length MUST be provisioned on a per-DetNet-
+ service basis via configuration, i.e., via the Controller Plane
+ described in [RFC8938].
+
+ A 0-bit Sequence Number field length indicates that there is no
+ DetNet sequence number used for the flow. When the length is zero,
+ the Sequence Number field MUST be set to zero (0) on all packets sent
+ for the flow.
+
+ When the Sequence Number field length is 16 or 28 bits for a flow,
+ the sequence number MUST be incremented by one for each new App-flow
+ packet sent. When the field length is 16 bits, d-CW bits 4 to 15
+ MUST be set to zero (0). The values carried in this field can wrap,
+ and it is important to note that zero (0) is a valid field value.
+ For example, where the sequence number size is 16 bits, the sequence
+ will contain: 65535, 0, 1, where zero (0) is an ordinary sequence
+ number.
+
+ It is important to note that this document differs from [RFC4448],
+ where a sequence number of zero (0) is used to indicate that the
+ sequence number check algorithm is not used.
+
+ The sequence number is optionally used during receive processing, as
+ described below in Sections 4.2.2.2 and 4.2.2.3.
+
+4.2.2. S-Labels
+
+ A DetNet flow at the DetNet service sub-layer is identified by an
+ S-Label. MPLS-aware DetNet end systems and edge nodes, which are by
+ definition MPLS ingress and egress nodes, MUST add (push) and remove
+ (pop) a DetNet service-specific d-CW and S-Label. Relay nodes MAY
+ swap S-Label values when processing a DetNet flow, i.e., incoming and
+ outgoing S-Labels of a DetNet flow can be different.
+
+ S-Label values MUST be provisioned per DetNet service via
+ configuration, i.e., via the Controller Plane described in [RFC8938].
+ Note that S-Labels provide identification at the downstream DetNet
+ service sub-layer receiver, not the sender. As such, S-Labels MUST
+ be allocated by the entity that controls the service sub-layer
+ receiving a node's label space and MAY be allocated from the platform
+ label space [RFC3031]. Because S-Labels are local to each node,
+ rather than being a global identifier within a domain, they must be
+ advertised to their upstream DetNet service-aware peer nodes (i.e., a
+ DetNet MPLS end system or a DetNet relay or edge node) and
+ interpreted in the context of their received F-Label(s). In some
+ PREOF topologies, the node performing replication will be sending to
+ multiple nodes performing PEF or POF and may need to send different
+ S-Label values for the different member flows for the same DetNet
+ service.
+
+ An S-Label will normally be at the bottom of the label stack once the
+ last F-Label is removed, immediately preceding the d-CW. To support
+ OAM at the service sub-layer level, an OAM Associated Channel Header
+ (ACH) [RFC4385] together with a Generic Associated Channel Label
+ (GAL) [RFC5586] MAY be used in place of a d-CW.
+
+ Similarly, an Entropy Label Indicator (ELI) and Entropy Label (EL)
+ [RFC6790] MAY be carried below the S-Label in the label stack in
+ networks where DetNet flows would otherwise receive ECMP treatment.
+ When ELs are used, the same EL value SHOULD be used for all of the
+ packets sent using a specific S-Label to force the flow to follow the
+ same path. However, as outlined in [RFC8938], the use of ECMP for
+ DetNet flows is NOT RECOMMENDED. ECMP MAY be used for non-DetNet
+ flows within a DetNet domain.
+
+ When receiving a DetNet MPLS packet, an implementation MUST identify
+ the DetNet service associated with the incoming packet based on the
+ S-Label. When a node is using platform labels for S-Labels, no
+ additional information is needed, as the S-Label uniquely identifies
+ the DetNet service. In the case where platform labels are not used,
+ zero or more F-Labels proceeding the S-Label MUST be used together
+ with the S-Label to uniquely identify the DetNet service associated
+ with a received packet. The incoming interface MAY also be used
+ together with any present F-Label(s) and the S-Label to uniquely
+ identify an incoming DetNet service, for example, in the case where
+ PHP is used. Note that the choice to use the platform label space
+ for an S-Label or an S-Label plus one or more F-Labels to identify
+ DetNet services is a local implementation choice, with one caveat.
+ When one or more F-Labels, or the incoming interface, is needed
+ together with an S-Label to uniquely identify a service, the
+ Controller Plane must ensure that incoming DetNet MPLS packets arrive
+ with the needed information (F-Label(s) and/or the incoming
+ interface) and provision the needed information. The provisioned
+ information MUST then be used to identify incoming DetNet service
+ based on the combination of S-Label and F-Label(s) or the incoming
+ interface.
+
+ The use of platform labels for S-Labels matches other pseudowire
+ encapsulations for consistency, but there is no hard requirement in
+ this regard.
+
+ Implementation details of PREOF are out of scope for this document.
+ [IEEE802.1CB-2017] defines equivalent replication and elimination-
+ specific aspects, which can be applied to PRF and PEF.
+
+4.2.2.1. Packet Replication Function Processing
+
+ The Packet Replication Function (PRF) MAY be supported by an
+ implementation for outgoing DetNet flows. The use of the PRF for a
+ particular DetNet service MUST be provisioned via configuration,
+ i.e., via the Controller Plane described in [RFC8938]. When
+ replication is configured, the same App-flow data will be sent over
+ multiple outgoing DetNet member flows using forwarding sub-layer
+ LSPs. An S-Label value MUST be configured per outgoing member flow.
+ The same d-CW field value MUST be used on all outgoing member flows
+ for each replicated MPLS packet.
+
+4.2.2.2. Packet Elimination Function Processing
+
+ Implementations MAY support the Packet Elimination Function (PEF) for
+ received DetNet MPLS flows. When supported, use of the PEF for a
+ particular DetNet service MUST be provisioned via configuration,
+ i.e., via the Controller Plane described in [RFC8938].
+
+ After a DetNet service is identified for a received DetNet MPLS
+ packet, as described above, if PEF is configured for that DetNet
+ service, duplicate (replicated) instances of a particular sequence
+ number MUST be discarded. The specific mechanisms used for an
+ implementation to identify which received packets are duplicates and
+ which are new is an implementation choice. Note that, per
+ Section 4.2.1, the Sequence Number field length may be 16 or 28 bits,
+ and the field value can wrap. PEF MUST NOT be used with DetNet flows
+ configured with a d-CW Sequence Number field length of 0 bits.
+
+ An implementation MAY constrain the maximum number of sequence
+ numbers that are tracked on either a platform-wide or per-flow basis.
+ Some implementations MAY support the provisioning of the maximum
+ number of sequence numbers that are tracked on either a platform-wide
+ or per-flow basis.
+
+4.2.2.3. Packet Ordering Function Processing
+
+ A function that is related to in-order delivery is the Packet
+ Ordering Function (POF). Implementations MAY support POF. When
+ supported, use of the POF for a particular DetNet service MUST be
+ provisioned via configuration, i.e., via the Controller Plane
+ described by [RFC8938]. Implementations MAY require that PEF and POF
+ be used in combination. There is no requirement related to the order
+ of execution of the PEF and POF in an implementation.
+
+ After a DetNet service is identified for a received DetNet MPLS
+ packet, as described above, if POF is configured for that DetNet
+ service, packets MUST be processed in the order indicated in the
+ received d-CW Sequence Number field, which may not be in the order
+ the packets are received. As defined in Section 4.2.1, the Sequence
+ Number field length may be 16 or 28 bits, the sequence number is
+ incremented by one (1) for each new MPLS packet sent for a particular
+ DetNet service, and the field value can wrap. The specific
+ mechanisms used for an implementation to identify the order of
+ received packets is an implementation choice.
+
+ An implementation MAY constrain the maximum number of out-of-order
+ packets that can be processed on either a platform-wide or per-flow
+ basis. The number of out-of-order packets that can be processed also
+ impacts the latency of a flow.
+
+ The latency impact on the system resources needed to support a
+ specific DetNet flow will need to be evaluated by the Controller
+ Plane based on that flow's traffic specification. An example traffic
+ specification that can be used with MPLS-TE can be found in
+ [RFC2212].
+
+ DetNet implementations can use flow-specific requirements (e.g.,
+ maximum number of out-of-order packets and maximum latency of the
+ flow) for configuration of POF-related buffers. POF implementation
+ details are out of scope for this document, and POF configuration
+ parameters are implementation specific. The Controller Plane
+ identifies and sets the POF configuration parameters.
+
+4.2.3. F-Labels
+
+ F-Labels support the DetNet forwarding sub-layer. F-Labels are used
+ to provide LSP-based connectivity between DetNet service sub-layer
+ processing nodes.
+
+4.2.3.1. Service Sub-Layer-Related Processing
+
+ DetNet MPLS end systems, edge nodes, and relay nodes may operate at
+ the DetNet service sub-layer with understanding of DetNet services
+ and their requirements. As mentioned earlier, when operating at this
+ layer, such nodes can push, pop, or swap (pop then push) S-Labels.
+ In all cases, the F-Label(s) used for a DetNet service are always
+ replaced, and the following procedures apply.
+
+ When sending a DetNet flow, zero or more F-Labels MAY be pushed on
+ top of an S-Label by the node pushing an S-Label. The F-Label(s) to
+ be pushed when sending a particular DetNet service MUST be
+ provisioned per outgoing S-Label via configuration, i.e., via the
+ Controller Plane discussed in [RFC8938]. F-Label(s) can also provide
+ context for an S-Label. To allow for the omission of F-Label(s), an
+ implementation SHOULD also allow an outgoing interface to be
+ configured per S-Label.
+
+ Note that when PRF is supported, the same App-flow data will be sent
+ over multiple outgoing DetNet member flows using forwarding sub-layer
+ LSPs. This means that an implementation may be sending different
+ sets of F-Labels per DetNet member flow, each with a different
+ S-Label.
+
+ When a single set of F-Labels is provisioned for a particular
+ outgoing S-Label, that set of F-Labels MUST be pushed after the
+ S-Label is pushed. The outgoing packet is then forwarded, as
+ described below in Section 4.2.3.2. When a single outgoing interface
+ is provisioned, the outgoing packet is then forwarded, as described
+ below in Section 4.2.3.2.
+
+ When multiple sets of outgoing F-Labels or interfaces are provisioned
+ for a particular DetNet service (i.e., for PRF), a copy of the
+ outgoing packet, including the pushed member flow-specific S-Label,
+ MUST be made per F-Label set and outgoing interface. Each set of
+ provisioned F-Labels are then pushed onto a copy of the packet. Each
+ copy is then forwarded, as described below in Section 4.2.3.2.
+
+ As described in the previous section, when receiving a DetNet MPLS
+ flow, an implementation identifies the DetNet service associated with
+ the incoming packet based on the S-Label. When a node is using
+ platform labels for S-Labels, any F-Labels can be popped, and the
+ S-Label uniquely identifies the DetNet service. In the case where
+ platform labels are not used, incoming F-Label(s) and, optionally,
+ the incoming interface MUST also be provisioned for a DetNet service.
+
+4.2.3.2. Common F-Label Processing
+
+ All DetNet-aware MPLS nodes process F-Labels as needed to meet the
+ service requirements of the DetNet flow or flows carried in the LSPs
+ represented by the F-Labels. This includes normal push, pop, and
+ swap operations. Such processing is essentially the same type of
+ processing provided for TE LSPs, although the specific service
+ parameters, or traffic specification, can differ. When the DetNet
+ service parameters of the DetNet flow or flows carried in an LSP
+ represented by an F-Label can be met by an existing TE mechanism, the
+ forwarding sub-layer processing node MAY be a DetNet-unaware, i.e.,
+ standard, MPLS LSR. Such TE LSPs may provide LSP forwarding service
+ as defined in, but not limited, to the following: [RFC3209],
+ [RFC3270], [RFC3272], [RFC3473], [RFC4875], [RFC5440], and [RFC8306].
+
+ More specifically, as mentioned above, the DetNet forwarding sub-
+ layer provides explicit routes and allocated resources, and F-Labels
+ are used to map to each. Explicit routes are supported based on the
+ topmost (outermost) F-Label that is pushed or swapped and the LSP
+ that corresponds to this label. This topmost (outgoing) label MUST
+ be associated with a provisioned outgoing interface and, for non-
+ point-to-point outgoing interfaces, a next-hop LSR. Note that this
+ information MUST be provisioned via configuration or the Controller
+ Plane. In the previously mentioned special case where there are no
+ added F-Labels and the outgoing interface is not a point-to-point
+ interface, the outgoing interface MUST also be associated with a
+ next-hop LSR.
+
+ Resources may be allocated in a hierarchical fashion per each LSP
+ that is represented by each F-Label. Each LSP MAY be provisioned
+ with a service parameter that dictates the specific traffic treatment
+ to be received by the traffic carried over that LSP. Implementations
+ of this document MUST ensure that traffic carried over each LSP
+ represented by one or more F-Labels receives the traffic treatment
+ provisioned for that LSP. Typical mechanisms used to provide
+ different treatment to different flows include the allocation of
+ system resources (such as queues and buffers) and provisioning of
+ related parameters (such as shaping and policing) that may be found
+ in implementations of the Resource ReSerVation Protocol (RSVP)
+ [RFC2205] and RSVP-TE [RFC3209] [RFC3473]. Support can also be
+ provided via an underlying network technology, such as IEEE 802.1 TSN
+ [DetNet-MPLS-over-TSN]. The specific mechanisms selected by a DetNet
+ node to ensure DetNet service delivery requirements are met for
+ supported DetNet flows is outside the scope of this document.
+
+ Packets that are marked in a way that do not correspond to allocated
+ resources, e.g., lack a provisioned F-Label, can disrupt the QoS
+ offered to properly reserved DetNet flows by using resources
+ allocated to the reserved flows. Therefore, the network nodes of a
+ DetNet network:
+
+ * MUST defend the DetNet QoS by discarding or remarking (to an
+ allocated DetNet flow or noncompeting non-DetNet flow) packets
+ received that are not associated with a completed resource
+ allocation.
+
+ * MUST NOT use a DetNet allocated resource, e.g., a queue or shaper
+ reserved for DetNet flows, for any packet that does match the
+ corresponding DetNet flow.
+
+ * MUST ensure a QoS flow does not exceed its allocated resources or
+ provisioned service level.
+
+ * MUST ensure a CoS flow or service class does not impact the
+ service delivered to other flows. This requirement is similar to
+ the requirement for MPLS LSRs that CoS LSPs do not impact the
+ resources allocated to TE LSPs, e.g., via [RFC3473].
+
+ Subsequent sections provide additional considerations related to CoS
+ (Section 4.6.1), QoS (Section 4.6.2), and aggregation (Section 4.4).
+
+4.3. OAM Indication
+
+ OAM follows the procedures set out in [RFC5085] with the restriction
+ that only Virtual Circuit Connectivity Verification (VCCV) type 1 is
+ supported.
+
+ As shown in Figure 3 of [RFC5085], when the first nibble of the d-CW
+ is 0x0, the payload following the d-CW is normal user data. However,
+ when the first nibble of the d-CW is 0x1, the payload that follows
+ the d-CW is an OAM payload with the OAM type indicated by the value
+ in the d-CW Channel Type field.
+
+ The reader is referred to [RFC5085] for a more detailed description
+ of the Associated Channel mechanism and to the DetNet work on OAM
+ [DetNet-MPLS-OAM] for more information about DetNet OAM.
+
+ Additional considerations on DetNet-specific OAM are subjects for
+ further study.
+
+4.4. Flow Aggregation
+
+ The ability to aggregate individual flows and their associated
+ resource control into a larger aggregate is an important technique
+ for improving scaling of control in the data, management, and control
+ planes. The DetNet data plane allows for the aggregation of DetNet
+ flows to improved scaling. There are two methods of supporting flow
+ aggregation covered in this section.
+
+ The resource control and management aspects of aggregation (including
+ the configuration of queuing, shaping, and policing) are the
+ responsibility of the DetNet Controller Plane and are out of scope
+ for this document. It is also the responsibility of the Controller
+ Plane to ensure that consistent aggregation methods are used.
+
+4.4.1. Aggregation via LSP Hierarchy
+
+ DetNet flows forwarded via MPLS can leverage MPLS-TE's existing
+ support for hierarchical LSPs (H-LSPs); see [RFC4206]. H-LSPs are
+ typically used to aggregate control and resources; they may also be
+ used to provide OAM or protection for the aggregated LSPs. Arbitrary
+ levels of aggregation naturally fall out of the definition for
+ hierarchy and the MPLS label stack [RFC3032]. DetNet nodes that
+ support aggregation (LSP hierarchy) map one or more LSPs (labels)
+ into and from an H-LSP. Both carried LSPs and H-LSPs may or may not
+ use the Traffic Class (TC) field, i.e., L-LSPs (Label-Only-Inferred-
+ PSC LSPs) or E-LSPs (EXP-Inferred-PSC LSPs [RFC3270], which were
+ renamed to "Explicitly TC-encoded-PSC LSPs" in Section 2.2 of
+ [RFC5462]). Such nodes will need to ensure that individual LSPs and
+ H-LSPs receive the traffic treatment required to ensure the required
+ DetNet service is preserved.
+
+ Additional details of the traffic control capabilities needed at a
+ DetNet-aware node may be covered in the new service definitions
+ mentioned above or in separate future documents. Controller Plane
+ mechanisms will also need to ensure that the service required on the
+ aggregate flow are provided, which may include the discarding or
+ remarking mentioned in the previous sections.
+
+4.4.2. Aggregating DetNet Flows as a New DetNet Flow
+
+ An aggregate can be built by layering DetNet flows, including both
+ their S-Label and (when present) F-Labels, as shown below:
+
+ +---------------------------------+
+ | |
+ | DetNet Flow |
+ | Payload Packet |
+ | |
+ +---------------------------------+ <--\
+ | DetNet Control Word | |
+ +=================================+ |
+ | S-Label | |
+ +---------------------------------+ |
+ | [ F-Label(s) ] | +----DetNet data plane
+ +---------------------------------+ |
+ | DetNet Control Word | |
+ +=================================+ |
+ | A-Label | |
+ +---------------------------------+ |
+ | F-Label(s) | <--/
+ +---------------------------------+
+ | Data-Link |
+ +---------------------------------+
+ | Physical |
+ +---------------------------------+
+
+ Figure 6: DetNet Aggregation as a New DetNet Flow
+
+ Both the aggregation label, which is referred to as an A-Label, and
+ the individual flow's S-Label have their MPLS S bit set indicating
+ the bottom of stack, and the d-CW allows the PREOF to work. An
+ A-Label is a special case of an S-Label, whose properties are known
+ only at the aggregation and deaggregation end points.
+
+ It is a property of the A-Label that what follows is a d-CW followed
+ by an MPLS label stack. A relay node processing the A-Label would
+ not know the underlying payload type, and the A-Label would be
+ processed as a normal S-Label. This would only be known to a node
+ that was a peer of the node imposing the S-Label. However, there is
+ no real need for it to know the payload type during aggregation
+ processing.
+
+ As in the previous section, nodes supporting this type of aggregation
+ will need to ensure that individual and aggregated flows receive the
+ traffic treatment required to ensure the required DetNet service is
+ preserved. Also, it is the Controller Plane's responsibility to
+ ensure that the service required on the aggregate flow is properly
+ provisioned.
+
+4.5. Service Sub-Layer Considerations
+
+ The internal procedures for edge and relay nodes related to PREOF are
+ implementation specific. The order of a packet elimination or
+ replication is out of scope for this specification.
+
+ It is important that the DetNet layer is configured such that a
+ DetNet node never receives its own replicated packets. If it were to
+ receive such packets, the replication function would make the loop
+ more destructive of bandwidth than a conventional unicast loop.
+ Ultimately, the TTL in the S-Label will cause the packet to die
+ during a transient loop, but given the sensitivity of applications to
+ packet latency, the impact on the DetNet application would be severe.
+ To avoid the problem of a transient forwarding loop, changes to an
+ LSP supporting DetNet MUST be loop-free.
+
+4.5.1. Edge Node Processing
+
+ A DetNet edge node operates in the DetNet forwarding sub-layer and
+ service sub-layer. An edge node is responsible for matching incoming
+ packets to the service they require and encapsulating them
+ accordingly. An edge node may perform PRF, PEF, and/or POF. Details
+ on encapsulation can be found in Section 4.2; details on PRF can be
+ found in Section 4.2.2.1; details on PEF can be found in
+ Section 4.2.2.2; and details on POF can be found in Section 4.2.2.3.
+
+4.5.2. Relay Node Processing
+
+ A DetNet relay node operates in the DetNet forwarding sub-layer and
+ service sub-layer. For DetNet using MPLS, forwarding-related
+ processing is performed on the F-Label. This processing is done
+ within an extended forwarder function. Whether an incoming DetNet
+ flow receives DetNet-specific processing depends on how the
+ forwarding is programmed. Some relay nodes may be DetNet service
+ aware for certain DetNet services, while, for other DetNet services,
+ these nodes may perform as unmodified LSRs that only understand how
+ to switch MPLS-TE LSPs, i.e., as a transit node; see Section 4.4.
+ Again, this is entirely up to how the forwarding has been programmed.
+
+ During the elimination and replication process, the sequence number
+ of an incoming DetNet packet MUST be preserved and carried in the
+ corresponding outgoing DetNet packet. For example, a relay node that
+ performs both PEF and PRF first performs PEF on incoming packets to
+ create a compound flow. It then performs PRF and copies the App-flow
+ data and the d-CW into packets for each outgoing DetNet member flow.
+
+ The internal design of a relay node is out of scope for this
+ document. However, the reader's attention is drawn to the need to
+ make any PREOF state available to the packet processor(s) dealing
+ with packets to which PREOF must be applied and to maintain that
+ state in such a way that it is available to the packet processor
+ operation on the next packet in the DetNet flow (which may be a
+ duplicate, a late packet, or the next packet in sequence).
+
+4.6. Forwarding Sub-Layer Considerations
+
+4.6.1. Class of Service
+
+ Class of Service (CoS) and Quality of Service (QoS) are terms that
+ are often used interchangeably and confused with each other. In the
+ context of DetNet, CoS is used to refer to mechanisms that provide
+ traffic-forwarding treatment based on non-flow-specific traffic
+ classification, and QoS is used to refer to mechanisms that provide
+ traffic-forwarding treatment based on DetNet flow-specific traffic
+ classification. Examples of existing network-level CoS mechanisms
+ include Differentiated Services (Diffserv), which is enabled by the
+ IP header Differentiated Services Code Point (DSCP) field [RFC2474]
+ and MPLS label Traffic Class field [RFC5462] and at Layer 2 by IEEE
+ 802.1p Priority Code Point (PCP).
+
+ CoS for DetNet flows carried in PWs and MPLS is provided using the
+ existing MPLS Differentiated Services (Diffserv) architecture
+ [RFC3270]. Both E-LSP and L-LSP MPLS Diffserv modes MAY be used to
+ support DetNet flows. The Traffic Class field (formerly the EXP
+ field) of an MPLS label follows the definition of [RFC5462] and
+ [RFC3270]. The Uniform, Pipe, and Short Pipe Diffserv tunneling and
+ TTL processing models are described in [RFC3270] and [RFC3443] and
+ MAY be used for MPLS LSPs supporting DetNet flows. MPLS Explicit
+ Congestion Notification (ECN) MAY also be used, as defined in ECN
+ [RFC5129] and updated by [RFC5462].
+
+4.6.2. Quality of Service
+
+ In addition to explicit routes and packet replication and elimination
+ (described in Section 4 above), DetNet provides zero congestion loss
+ and bounded latency and jitter. As described in [RFC8655], there are
+ different mechanisms that may be used separately or in combination to
+ deliver a zero congestion loss service. This includes QoS mechanisms
+ at the MPLS layer, which may be combined with the mechanisms defined
+ by the underlying network layer, such as IEEE 802.1 TSN.
+
+ QoS mechanisms for flow-specific traffic treatment typically include
+ a guarantee/agreement for the service and allocation of resources to
+ support the service. Example QoS mechanisms include discrete
+ resource allocation, admission control, flow identification and
+ isolation, and sometimes path control, traffic protection, shaping,
+ policing, and remarking. Example protocols that support QoS control
+ include the Resource ReSerVation Protocol (RSVP) [RFC2205] and RSVP-
+ TE [RFC3209] [RFC3473]. The existing MPLS mechanisms defined to
+ support CoS [RFC3270] can also be used to reserve resources for
+ specific traffic classes.
+
+ A baseline set of QoS capabilities for DetNet flows carried in PWs
+ and MPLS can be provided by MPLS-TE [RFC3209] [RFC3473]. TE LSPs can
+ also support explicit routes (path pinning). Current service
+ definitions for packet TE LSPs can be found in "Specification of the
+ Controlled-Load Network Element Service" [RFC2211], "Specification of
+ Guaranteed Quality of Service" [RFC2212], and "Ethernet Traffic
+ Parameters" [RFC6003]. Additional service definitions are expected
+ in future documents to support the full range of DetNet services. In
+ all cases, the existing label-based marking mechanisms defined for TE
+ LSPs and even E-LSPs are used to support the identification of flows
+ requiring DetNet QoS.
+
+5. Management and Control Information Summary
+
+ The specific information needed for the processing of each DetNet
+ service depends on the DetNet node type and the functions being
+ provided on the node. This section summarizes this information based
+ on the DetNet sub-layer and if the DetNet traffic is being sent or
+ received. All DetNet node types are DetNet forwarding sub-layer
+ aware, while all but transit nodes are service sub-layer aware. This
+ is shown in Figure 2.
+
+ Much like other MPLS labels, there are a number of alternatives
+ available for DetNet S-Label and F-Label advertisement to an upstream
+ peer node. These include distributed signaling protocols (such as
+ RSVP-TE), centralized label distribution via a controller that
+ manages both the sender and the receiver using the Network
+ Configuration Protocol (NETCONF) and YANG, BGP, the Path Computation
+ Element Communication Protocol (PCEP), etc., and hybrid combinations
+ of the two. The details of the Controller Plane solution required
+ for the label distribution and the management of the label number
+ space are out of scope for this document. Particular DetNet
+ considerations and requirements are discussed in [RFC8938].
+ Conformance language is not used in the summary, since it applies to
+ future mechanisms, such as those that may be provided in signaling
+ and YANG models, e.g., [DetNet-YANG].
+
+5.1. Service Sub-Layer Information Summary
+
+ The following summarizes the information that is needed (on a per-
+ service basis) on nodes that are service sub-layer aware and transmit
+ DetNet MPLS traffic:
+
+ * App-flow identification information, e.g., IP information as
+ defined in [DetNet-IP-over-MPLS]. Note that this information is
+ not needed on DetNet relay nodes.
+
+ * The sequence number length to be used for the service. Valid
+ values include 0, 16, and 28 bits. 0 bits cannot be used when PEF
+ or POF is configured for the service.
+
+ * If PRF is to be provided for the service.
+
+ * The outgoing S-Label for each of the service's outgoing DetNet
+ (member) flows.
+
+ * The forwarding sub-layer information associated with the output of
+ the service sub-layer. Note that when PRF is provisioned, this
+ information is per DetNet member flow. Logically, the forwarding
+ sub-layer information is a pointer to further details of
+ transmission of DetNet flows at the forwarding sub-layer.
+
+ The following summarizes the information that is needed (on a per-
+ service basis) on nodes that are service sub-layer aware and receive
+ DetNet MPLS traffic:
+
+ * The forwarding sub-layer information associated with the input of
+ the service sub-layer. Note that when PEF is provisioned, this
+ information is per DetNet member flow. Logically, the forwarding
+ sub-layer information is a pointer to further details of the
+ reception of DetNet flows at the forwarding sub-layer or A-Label.
+
+ * The incoming S-Label for the service.
+
+ * If PEF or POF is to be provided for the service.
+
+ * The sequence number length to be used for the service. Valid
+ values included 0, 16, and 28 bits. 0 bits cannot be used when PEF
+ or POF are configured for the service.
+
+ * App-flow identification information, e.g., IP information as
+ defined in [DetNet-IP-over-MPLS]. Note that this information is
+ not needed on DetNet relay nodes.
+
+5.1.1. Service Aggregation Information Summary
+
+ Nodes performing aggregation using A-Labels, per Section 4.4.2,
+ require the additional information summarized in this section.
+
+ The following summarizes the additional information that is needed on
+ a node that sends aggregated flows using A-Labels:
+
+ * The S-Labels or F-Labels that are to be carried over each
+ aggregated service.
+
+ * The A-Label associated with each aggregated service.
+
+ * The other S-Label information summarized above.
+
+ On the receiving node, the A-Label provides the forwarding context of
+ an incoming interface or an F-Label and is used in subsequent service
+ or forwarding sub-layer receive processing, as appropriate. The
+ related additional configuration that may be provided is discussed
+ elsewhere in this section.
+
+5.2. Forwarding Sub-Layer Information Summary
+
+ The following summarizes the information that is needed (on a per-
+ forwarding-sub-layer-flow basis) on nodes that are forwarding sub-
+ layer aware and send DetNet MPLS traffic:
+
+ * The outgoing F-Label stack to be pushed. The stack may include
+ H-LSP labels.
+
+ * The traffic parameters associated with a specific label in the
+ stack. Note that there may be multiple sets of traffic parameters
+ associated with specific labels in the stack, e.g., when H-LSPs
+ are used.
+
+ * Outgoing interface and, for unicast traffic, the next-hop
+ information.
+
+ * Sub-network-specific parameters on a technology-specific basis.
+ For example, see [DetNet-MPLS-over-TSN].
+
+ The following summarizes the information that is needed (on a per-
+ forwarding-sub-layer-flow basis) on nodes that are forwarding sub-
+ layer aware and receive DetNet MPLS traffic:
+
+ * The incoming interface. For some implementations and deployment
+ scenarios, this information may not be needed.
+
+ * The incoming F-Label stack to be popped. The stack may include
+ H-LSP labels.
+
+ * How the incoming forwarding sub-layer flow is to be handled, i.e.,
+ forwarded as a transit node or provided to the service sub-layer.
+
+ It is the responsibility of the DetNet Controller Plane to properly
+ provision both flow identification information and the flow-specific
+ resources needed to provide the traffic treatment needed to meet each
+ flow's service requirements. This applies for aggregated and
+ individual flows.
+
+6. Security Considerations
+
+ Detailed security considerations for DetNet are cataloged in
+ [DetNet-Security], and more general security considerations are
+ described in [RFC8655]. This section exclusively considers security
+ considerations that are specific to the DetNet MPLS data plane. The
+ considerations raised related to MPLS networks in general in
+ [RFC5920] are equally applicable to the DetNet MPLS data plane.
+
+ Security aspects that are unique to DetNet are those whose aim is to
+ protect the support of specific QoS aspects of DetNet, which are
+ primarily to deliver data flows with extremely low packet loss rates
+ and bounded end-to-end delivery latency. Achieving such loss rates
+ and bounded latency may not be possible in the face of a highly
+ capable adversary, such as the one envisioned by the Internet Threat
+ Model of BCP 72 [RFC3552] that can arbitrarily drop or delay any or
+ all traffic. In order to present meaningful security considerations,
+ we consider a somewhat weaker attacker who does not control the
+ physical links of the DetNet domain but may have the ability to
+ control a network node within the boundary of the DetNet domain.
+
+ An additional consideration for the DetNet data plane is to maintain
+ integrity of data and delivery of the associated DetNet service
+ traversing the DetNet network. Application flows can be protected
+ through whatever means are provided by the underlying technology.
+ For example, encryption may be used, such as that provided by IPsec
+ [RFC4301] for IP flows and/or by an underlying sub-network using
+ MACsec [IEEE802.1AE-2018] for IP over Ethernet (Layer 2) flows. MPLS
+ doesn't provide any native security services to account for
+ confidentiality and integrity.
+
+ From a data plane perspective, this document does not add or modify
+ any application header information.
+
+ At the management and control level, DetNet flows are identified on a
+ per-flow basis, which may provide Controller Plane attackers with
+ additional information about the data flows (when compared to
+ Controller Planes that do not include per-flow identification). This
+ is an inherent property of DetNet that has security implications that
+ should be considered when determining if DetNet is a suitable
+ technology for any given use case.
+
+ To provide uninterrupted availability of the DetNet service,
+ provisions can be made against DoS attacks and delay attacks. To
+ protect against DoS attacks, excess traffic due to malicious or
+ malfunctioning devices is prevented or mitigated through the use of
+ existing mechanisms, for example, by policing and shaping incoming
+ traffic. To prevent DetNet packets from having their delay
+ manipulated by an external entity, precautions need to be taken to
+ ensure that all devices on an LSP are those intended to be there by
+ the network operator and that they are well behaved. In addition to
+ physical security, technical methods, such as authentication and
+ authorization of network equipment and the instrumentation and
+ monitoring of the LSP packet delay, may be used. If a delay attack
+ is suspected, traffic may be moved to an alternate path, for example,
+ through changing the LSP or management of the PREOF configuration.
+
+7. IANA Considerations
+
+ This document has no IANA actions.
+
+8. References
+
+8.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <https://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC2211] Wroclawski, J., "Specification of the Controlled-Load
+ Network Element Service", RFC 2211, DOI 10.17487/RFC2211,
+ September 1997, <https://www.rfc-editor.org/info/rfc2211>.
+
+ [RFC2212] Shenker, S., Partridge, C., and R. Guerin, "Specification
+ of Guaranteed Quality of Service", RFC 2212,
+ DOI 10.17487/RFC2212, September 1997,
+ <https://www.rfc-editor.org/info/rfc2212>.
+
+ [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
+ Label Switching Architecture", RFC 3031,
+ DOI 10.17487/RFC3031, January 2001,
+ <https://www.rfc-editor.org/info/rfc3031>.
+
+ [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
+ Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
+ Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001,
+ <https://www.rfc-editor.org/info/rfc3032>.
+
+ [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
+ and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
+ Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
+ <https://www.rfc-editor.org/info/rfc3209>.
+
+ [RFC3270] Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen,
+ P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi-
+ Protocol Label Switching (MPLS) Support of Differentiated
+ Services", RFC 3270, DOI 10.17487/RFC3270, May 2002,
+ <https://www.rfc-editor.org/info/rfc3270>.
+
+ [RFC3443] Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing
+ in Multi-Protocol Label Switching (MPLS) Networks",
+ RFC 3443, DOI 10.17487/RFC3443, January 2003,
+ <https://www.rfc-editor.org/info/rfc3443>.
+
+ [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label
+ Switching (GMPLS) Signaling Resource ReserVation Protocol-
+ Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
+ DOI 10.17487/RFC3473, January 2003,
+ <https://www.rfc-editor.org/info/rfc3473>.
+
+ [RFC4206] Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP)
+ Hierarchy with Generalized Multi-Protocol Label Switching
+ (GMPLS) Traffic Engineering (TE)", RFC 4206,
+ DOI 10.17487/RFC4206, October 2005,
+ <https://www.rfc-editor.org/info/rfc4206>.
+
+ [RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson,
+ "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for
+ Use over an MPLS PSN", RFC 4385, DOI 10.17487/RFC4385,
+ February 2006, <https://www.rfc-editor.org/info/rfc4385>.
+
+ [RFC5085] Nadeau, T., Ed. and C. Pignataro, Ed., "Pseudowire Virtual
+ Circuit Connectivity Verification (VCCV): A Control
+ Channel for Pseudowires", RFC 5085, DOI 10.17487/RFC5085,
+ December 2007, <https://www.rfc-editor.org/info/rfc5085>.
+
+ [RFC5129] Davie, B., Briscoe, B., and J. Tay, "Explicit Congestion
+ Marking in MPLS", RFC 5129, DOI 10.17487/RFC5129, January
+ 2008, <https://www.rfc-editor.org/info/rfc5129>.
+
+ [RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching
+ (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic
+ Class" Field", RFC 5462, DOI 10.17487/RFC5462, February
+ 2009, <https://www.rfc-editor.org/info/rfc5462>.
+
+ [RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed.,
+ "MPLS Generic Associated Channel", RFC 5586,
+ DOI 10.17487/RFC5586, June 2009,
+ <https://www.rfc-editor.org/info/rfc5586>.
+
+ [RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and
+ L. Yong, "The Use of Entropy Labels in MPLS Forwarding",
+ RFC 6790, DOI 10.17487/RFC6790, November 2012,
+ <https://www.rfc-editor.org/info/rfc6790>.
+
+ [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+ 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
+ May 2017, <https://www.rfc-editor.org/info/rfc8174>.
+
+ [RFC8655] Finn, N., Thubert, P., Varga, B., and J. Farkas,
+ "Deterministic Networking Architecture", RFC 8655,
+ DOI 10.17487/RFC8655, October 2019,
+ <https://www.rfc-editor.org/info/rfc8655>.
+
+ [RFC8938] Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S.
+ Bryant, "Deterministic Networking (DetNet) Data Plane
+ Framework", RFC 8938, DOI 10.17487/RFC8938, November 2020,
+ <https://www.rfc-editor.org/info/rfc8938>.
+
+8.2. Informative References
+
+ [DetNet-IP-over-MPLS]
+ Varga, B., Ed., Berger, L., Fedyk, D., Bryant, S., and J.
+ Korhonen, "DetNet Data Plane: IP over MPLS", Work in
+ Progress, Internet-Draft, draft-ietf-detnet-ip-over-mpls-
+ 09, 11 October 2020, <https://tools.ietf.org/html/draft-
+ ietf-detnet-ip-over-mpls-09>.
+
+ [DetNet-MPLS-OAM]
+ Mirsky, G. and M. Chen, "Operations, Administration and
+ Maintenance (OAM) for Deterministic Networks (DetNet) with
+ MPLS Data Plane", Work in Progress, Internet-Draft, draft-
+ ietf-detnet-mpls-oam-02, 15 January 2021,
+ <https://tools.ietf.org/html/draft-ietf-detnet-mpls-oam-
+ 02>.
+
+ [DetNet-MPLS-over-TSN]
+ Varga, B., Ed., Farkas, J., Malis, A., and S. Bryant,
+ "DetNet Data Plane: MPLS over IEEE 802.1 Time Sensitive
+ Networking (TSN)", Work in Progress, Internet-Draft,
+ draft-ietf-detnet-mpls-over-tsn-05, 13 December 2020,
+ <https://tools.ietf.org/html/draft-ietf-detnet-mpls-over-
+ tsn-05>.
+
+ [DetNet-Security]
+ Grossman, E., Ed., Mizrahi, T., and A. Hacker,
+ "Deterministic Networking (DetNet) Security
+ Considerations", Work in Progress, Internet-Draft, draft-
+ ietf-detnet-security-13, 11 December 2020,
+ <https://tools.ietf.org/html/draft-ietf-detnet-security-
+ 13>.
+
+ [DetNet-YANG]
+ Geng, X., Chen, M., Ryoo, Y., Fedyk, D., Rahman, R., and
+ Z. Li, "Deterministic Networking (DetNet) Configuration
+ YANG Model", Work in Progress, Internet-Draft, draft-ietf-
+ detnet-yang-09, 16 November 2020,
+ <https://tools.ietf.org/html/draft-ietf-detnet-yang-09>.
+
+ [IEEE802.1AE-2018]
+ IEEE, "IEEE Standard for Local and metropolitan area
+ networks-Media Access Control (MAC) Security", IEEE
+ 802.1AE-2018, DOI 10.1109/IEEESTD.2018.8585421, December
+ 2018, <https://ieeexplore.ieee.org/document/8585421>.
+
+ [IEEE802.1CB-2017]
+ IEEE, "IEEE Standard for Local and metropolitan area
+ networks-- Frame Replication and Elimination for
+ Reliability", IEEE 802.1CB-2017,
+ DOI 10.1109/IEEESTD.2017.8091139, October 2017,
+ <https://ieeexplore.ieee.org/document/8091139>.
+
+ [RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S.
+ Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
+ Functional Specification", RFC 2205, DOI 10.17487/RFC2205,
+ September 1997, <https://www.rfc-editor.org/info/rfc2205>.
+
+ [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
+ "Definition of the Differentiated Services Field (DS
+ Field) in the IPv4 and IPv6 Headers", RFC 2474,
+ DOI 10.17487/RFC2474, December 1998,
+ <https://www.rfc-editor.org/info/rfc2474>.
+
+ [RFC3272] Awduche, D., Chiu, A., Elwalid, A., Widjaja, I., and X.
+ Xiao, "Overview and Principles of Internet Traffic
+ Engineering", RFC 3272, DOI 10.17487/RFC3272, May 2002,
+ <https://www.rfc-editor.org/info/rfc3272>.
+
+ [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC
+ Text on Security Considerations", BCP 72, RFC 3552,
+ DOI 10.17487/RFC3552, July 2003,
+ <https://www.rfc-editor.org/info/rfc3552>.
+
+ [RFC3985] Bryant, S., Ed. and P. Pate, Ed., "Pseudo Wire Emulation
+ Edge-to-Edge (PWE3) Architecture", RFC 3985,
+ DOI 10.17487/RFC3985, March 2005,
+ <https://www.rfc-editor.org/info/rfc3985>.
+
+ [RFC4301] Kent, S. and K. Seo, "Security Architecture for the
+ Internet Protocol", RFC 4301, DOI 10.17487/RFC4301,
+ December 2005, <https://www.rfc-editor.org/info/rfc4301>.
+
+ [RFC4448] Martini, L., Ed., Rosen, E., El-Aawar, N., and G. Heron,
+ "Encapsulation Methods for Transport of Ethernet over MPLS
+ Networks", RFC 4448, DOI 10.17487/RFC4448, April 2006,
+ <https://www.rfc-editor.org/info/rfc4448>.
+
+ [RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S.
+ Yasukawa, Ed., "Extensions to Resource Reservation
+ Protocol - Traffic Engineering (RSVP-TE) for Point-to-
+ Multipoint TE Label Switched Paths (LSPs)", RFC 4875,
+ DOI 10.17487/RFC4875, May 2007,
+ <https://www.rfc-editor.org/info/rfc4875>.
+
+ [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
+ Element (PCE) Communication Protocol (PCEP)", RFC 5440,
+ DOI 10.17487/RFC5440, March 2009,
+ <https://www.rfc-editor.org/info/rfc5440>.
+
+ [RFC5920] Fang, L., Ed., "Security Framework for MPLS and GMPLS
+ Networks", RFC 5920, DOI 10.17487/RFC5920, July 2010,
+ <https://www.rfc-editor.org/info/rfc5920>.
+
+ [RFC5921] Bocci, M., Ed., Bryant, S., Ed., Frost, D., Ed., Levrau,
+ L., and L. Berger, "A Framework for MPLS in Transport
+ Networks", RFC 5921, DOI 10.17487/RFC5921, July 2010,
+ <https://www.rfc-editor.org/info/rfc5921>.
+
+ [RFC6003] Papadimitriou, D., "Ethernet Traffic Parameters",
+ RFC 6003, DOI 10.17487/RFC6003, October 2010,
+ <https://www.rfc-editor.org/info/rfc6003>.
+
+ [RFC6073] Martini, L., Metz, C., Nadeau, T., Bocci, M., and M.
+ Aissaoui, "Segmented Pseudowire", RFC 6073,
+ DOI 10.17487/RFC6073, January 2011,
+ <https://www.rfc-editor.org/info/rfc6073>.
+
+ [RFC8306] Zhao, Q., Dhody, D., Ed., Palleti, R., and D. King,
+ "Extensions to the Path Computation Element Communication
+ Protocol (PCEP) for Point-to-Multipoint Traffic
+ Engineering Label Switched Paths", RFC 8306,
+ DOI 10.17487/RFC8306, November 2017,
+ <https://www.rfc-editor.org/info/rfc8306>.
+
+ [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S.,
+ Decraene, B., Litkowski, S., and R. Shakir, "Segment
+ Routing with the MPLS Data Plane", RFC 8660,
+ DOI 10.17487/RFC8660, December 2019,
+ <https://www.rfc-editor.org/info/rfc8660>.
+
+ [RFC8939] Varga, B., Ed., Farkas, J., Berger, L., Fedyk, D., and S.
+ Bryant, "Deterministic Networking (DetNet) Data Plane:
+ IP", RFC 8939, DOI 10.17487/RFC8939, November 2020,
+ <https://www.rfc-editor.org/info/rfc8939>.
+
+Acknowledgements
+
+ The authors wish to thank Pat Thaler, Norman Finn, Loa Anderson,
+ David Black, Rodney Cummings, Ethan Grossman, Tal Mizrahi, David
+ Mozes, Craig Gunther, George Swallow, Yuanlong Jiang, Jeong-dong
+ Ryoo, and Carlos J. Bernardos for their various contributions to this
+ work.
+
+Contributors
+
+ The editor of this document wishes to thank and acknowledge the
+ following person who contributed substantially to the content of this
+ document and should be considered a coauthor:
+
+ Don Fedyk
+ LabN Consulting, L.L.C.
+
+ Email: dfedyk@labn.net
+
+
+Authors' Addresses
+
+ Balázs Varga (editor)
+ Ericsson
+ Budapest
+ Magyar Tudosok krt. 11.
+ 1117
+ Hungary
+
+ Email: balazs.a.varga@ericsson.com
+
+
+ János Farkas
+ Ericsson
+ Budapest
+ Magyar Tudosok krt. 11.
+ 1117
+ Hungary
+
+ Email: janos.farkas@ericsson.com
+
+
+ Lou Berger
+ LabN Consulting, L.L.C.
+
+ Email: lberger@labn.net
+
+
+ Andrew G. Malis
+ Malis Consulting
+
+ Email: agmalis@gmail.com
+
+
+ Stewart Bryant
+ Futurewei Technologies
+
+ Email: sb@stewartbryant.com
+
+
+ Jouni Korhonen
+
+ Email: jouni.nospam@gmail.com