rfc-8964

Deterministic Networking (DetNet) Data Plane: MPLS

B. Varga (Editor), J. Farkas, L. Berger, A. Malis, S. Bryant, J. Korhonen
date2021-01 streamIETF areartg wgdetnet statusPROPOSED STANDARD pages27 canonicalhttps://www.rfc-editor.org/rfc/rfc8964 doi10.17487/RFC8964
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.

Extracted elements (28)

design-rationale §3.1

S-Label values are driven by the receiver rather than the sender, consistent with pseudowire encapsulation conventions. Labels may be taken from the platform label space (making them unique regardless of input interface) or from a per-interface space requiring F-Labels for disambiguation; the choice is a local implementation decision.

mpls

design-rationale §4.2.1

The d-CW was designed so that zero (0) is a valid sequence number, which simplifies implementation. This explicitly differs from RFC 4448, where a sequence number of zero is used to indicate that the sequence number check algorithm is not used.

mpls

design-rationale §3.1

The DetNet MPLS service sub-layer is modeled on existing pseudowire (PW) encapsulations and MPLS-TE mechanisms to maximize reuse and interoperability. The S-Label is analogous to a PW label and the d-CW conforms to the Generic PW MPLS Control Word, allowing existing MPLS infrastructure to forward DetNet traffic without modification at the forwarding sub-layer.

mpls

design-rationale §4.1

Two sequence number sizes are supported (16-bit and 28-bit) because the 16-bit size is needed for legacy client compatibility, while the 28-bit size prevents sequence number space wrap-around in high-speed networks where packets may be in flight for extended periods.

mpls

interoperability-note §4.2.2 SHOULD NOT

ECMP treatment of DetNet flows is NOT RECOMMENDED. An Entropy Label Indicator (ELI) and Entropy Label (EL) MAY be carried below the S-Label to prevent ECMP treatment; when used, the same EL value SHOULD be used for all packets sent using a specific S-Label to force the flow onto a single path.

mpls, routing

interoperability-note §4.3

OAM follows RFC 5085 procedures with the restriction that only VCCV type 1 is supported. When the first nibble of the d-CW is 0x0, the payload is normal user data; when 0x1, the payload is OAM with the type indicated by the d-CW Channel Type field.

mpls

interoperability-note §4.1

Penultimate Hop Popping (PHP) means the S-Label may be the only label present at the terminating DetNet service, with no F-Label in the protocol stack on the final hop. Implementations must handle this case, optionally using the incoming interface together with the S-Label for service identification.

mpls

normative-requirement §4.2.1 MUST

A d-CW MUST be present in all DetNet packets containing App-flow data. The first four bits MUST be set to zero per RFC 4385.

mpls

normative-requirement §4.5 MUST

Changes to an LSP supporting DetNet MUST be loop-free. A transient forwarding loop would cause replicated packets to amplify the loop, and while TTL in the S-Label would eventually terminate packets, the latency impact on DetNet applications would be severe.

mpls, routing

normative-requirement §4.2.3.2 MUST

DetNet network nodes MUST defend DetNet QoS by discarding or remarking packets not associated with a completed resource allocation, MUST NOT use a DetNet-allocated resource for non-matching packets, MUST ensure a QoS flow does not exceed its allocated resources, and MUST ensure a CoS flow does not impact other flows.

mpls, qos

normative-requirement §4.5.2 MUST

During relay node elimination and replication processing, the sequence number of an incoming DetNet packet MUST be preserved and carried in the corresponding outgoing DetNet packet.

mpls

normative-requirement §4.2.2.1 MUST

For Packet Replication Function (PRF), an S-Label value MUST be configured per outgoing member flow, and the same d-CW field value MUST be used on all outgoing member flows for each replicated MPLS packet.

mpls

normative-requirement §4.2.2 MUST

MPLS-aware DetNet end systems and edge nodes MUST add (push) and remove (pop) a DetNet service-specific d-CW and S-Label. S-Label values MUST be provisioned per DetNet service via configuration through the Controller Plane.

mpls

normative-requirement §4.2.2 MUST

S-Labels MUST be allocated by the entity that controls the service sub-layer receiving a node's label space. When one or more F-Labels or the incoming interface is needed together with an S-Label to uniquely identify a service, the provisioned information MUST be used for that identification.

mpls

normative-requirement §4.2.3.2 MUST

The topmost (outgoing) F-Label MUST be associated with a provisioned outgoing interface and, for non-point-to-point interfaces, a next-hop LSR. Implementations MUST ensure traffic carried over each LSP represented by F-Labels receives the provisioned traffic treatment.

mpls, routing

normative-requirement §4.2.1 MUST

Three Sequence Number field lengths MUST be supported: 0 bits (no sequencing), 16 bits, and 28 bits. The length MUST be provisioned on a per-DetNet-service basis via the Controller Plane. When length is zero, the Sequence Number field MUST be set to zero on all packets.

mpls

normative-requirement §4.2.2.2 MUST

When Packet Elimination Function (PEF) is configured for a DetNet service, duplicate (replicated) instances of a particular sequence number MUST be discarded. PEF MUST NOT be used with DetNet flows configured with a d-CW Sequence Number field length of 0 bits.

mpls

normative-requirement §4.2.2.3 MUST

When Packet Ordering Function (POF) is configured for a DetNet service, packets MUST be processed in the order indicated in the received d-CW Sequence Number field, which may differ from the order in which packets are received.

mpls

normative-requirement §4.2.1 MUST

When the Sequence Number field length is 16 or 28 bits, the sequence number MUST be incremented by one for each new App-flow packet sent. When 16 bits, d-CW bits 4–15 MUST be set to zero. A separate sequence number space MUST be maintained per DetNet App-flow.

mpls

protocol-element §4.4.2

An A-Label (aggregation label) is a special case of S-Label used to aggregate multiple DetNet flows into a single new DetNet flow. Both the A-Label and the inner S-Label have their MPLS S-bit set, and what follows the A-Label is always a d-CW followed by an MPLS label stack.

mpls

protocol-element §4.2.3

An F-Label (forwarding label) supports the DetNet forwarding sub-layer by providing LSP-based connectivity between DetNet service sub-layer processing nodes. Zero or more F-Labels are pushed above the S-Label; they may be absent on the final hop when PHP is in use.

mpls, routing

protocol-element §4.2.2

An S-Label (service label) identifies a DetNet flow at the receiving DetNet service sub-layer processing node. S-Label values are driven by the receiver, not the sender, and may be taken from the platform label space to provide unique flow identification regardless of input interface.

mpls

protocol-element §3.1

The DetNet MPLS data plane uses two sub-layers: a service sub-layer (d-CW plus S-Label) at the bottom of the stack and a forwarding sub-layer (zero or more F-Labels) above it, with data-link and physical layers below. This decomposition maps directly onto the DetNet architecture defined in RFC 8655.

mpls, routing

security-consideration §6

DetNet per-flow identification in the Controller Plane provides attackers with additional information about data flows compared to non-per-flow Controller Planes. This is an inherent property of DetNet with security implications that must be assessed when determining the suitability of DetNet for a given use case.

mpls, security

security-consideration §6

MPLS does not provide any native security services for confidentiality or integrity. Application flows must rely on external mechanisms such as IPsec (RFC 4301) for IP flows or MACsec (IEEE 802.1AE) for Layer 2 flows to protect data in transit.

mpls, security

security-consideration §6

To counter DoS attacks, excess traffic from malicious or malfunctioning devices must be prevented or mitigated via policing and shaping. To counter delay attacks, all devices on an LSP must be authenticated and authorized, LSP packet delay must be monitored, and traffic may be moved to an alternate path or PREOF configuration adjusted if an attack is suspected.

mpls, security, qos

state-machine §4.2.2

PREOF processing defines three functions: PRF (Packet Replication Function) copies App-flow data to multiple outgoing member flows; PEF (Packet Elimination Function) discards duplicate sequence numbers on receipt; POF (Packet Ordering Function) reorders packets per d-CW sequence number. A relay node may chain PEF then PRF, and the sequence number is preserved across the compound operation.

mpls

wire-format §4.2.1

The DetNet Control Word (d-CW) is a 32-bit field: bits 0–3 MUST be set to zero (per RFC 4385), and bits 4–31 carry an unsigned circular Sequence Number. The d-CW conforms to the Generic PW MPLS Control Word (PWMCW) defined in RFC 4385.

mpls