Internet-Draft | DetNet MNA | October 2025 |
Song, et al. | Expires 23 April 2026 | [Page] |
This document specifies formats and mechanisms for using MPLS Network Actions (MNA) to support Deterministic Networking (DetNet) services, including bounded latency, low loss and in-order delivery. It defines MPLS In-Stack and Post-Stack MNA for carrying DetNet-specific information, such as flow identification, sequence number, and latency information, which are forwarded over an MPLS technology-based network domain.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 23 April 2026.¶
Copyright (c) 2025 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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The DetNet work group has defined the Packet Replication Function (PRF) and Packet Elimination Function (PEF) to achieve extremely low packet loss. In general, usage of these per-packet replication and elimination functions may result in out-of-order delivery of frames/packets [RFC8655]. This characteristic of PRF/PEF has been identified by the IETF, and a Packet Ordering Function (POF) was defined [RFC9550]. The POF function is a DetNet service sub-layer function similar to PRF and PEF. All the DetNet service sub-layer functions are usually referred to as Packet Replication, Elimination, and Ordering Functions (PREOF).¶
These DetNet service sub-layer-related functions require ordering information (e.g., sequence number). IETF DetNet WG has defined how sequencing information (i.e., sequence number) travels with DetNet packets using the d-CW [RFC8964] when PW (PseudoWire) technology is used with an MPLS Data Plane.¶
The DetNet forwarding sub-layer-related functions focus on ensuring the bounded latency requirements and may use packet-specific latency information during forwarding. No solution was defined for adding such latency-specific information to the PW encapsulated DetNet packets.¶
This document presents MPLS MNA solutions for DetNet functions support. It follows the MPLS MNA requirements specified at [RFC9613] and MPLS MNA In-Stack header specifid at [I-D.ietf-mpls-mna-hdr] and MNA Post-Stack header specified at [I-D.ietf-mpls-mna-ps-hdr] to support basic DetNet service and DetNet service with enhanced DetNet data plane requirements specified at [I-D.ietf-detnet-scaling-requirements] .¶
This document uses the terminology established in the DetNet architecture [RFC8655]. The reader is assumed to be familiar with that document and its terminology.¶
The following abbreviations are used in this document:¶
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.¶
Three information elements may be required during the forwarding of DetNet packets:¶
"1" and "2" are used by the DetNet service sub-layer (i.e., by PREOF). "1" and "3" are used by the DetNet forwarding sub-layer to ensure the bounded latency for a DetNet packet.¶
The use of a DetNet-specific MNA solution allows using a single encapsulation format for all DetNet-specific parameters (Flow-ID, SeqNum, LatencyInfo) as MNA data, meaning that the Network Action Sub-stack (NAS) is carried as part of the MPLS label stack (i.e., In-Stack MNA solution). DetNet-specific MNA enables more fine-tuned, scalable handling of latency-bound requirements, with service protection natively in MPLS.¶
This document introduces two options for DetNet-specific MNA: In-Stack MPLS Network Action [see [I-D.ietf-mpls-mna-hdr]] and Post-Stack MPLS Network Action [see [I-D.ietf-mpls-mna-ps-hdr]].¶
The MPLS MNA encapsulation is used between DetNet Relay nodes.¶
DetNet-specific parameters used during forwarding are: (1) Flow-ID, (2) SeqNum and (3) LatencyInfo. For each of them, a specific NAS can be defined to carry the related variable in an MPLS MNA network:¶
PREOF-specific NAS (e.g., SeqNum)¶
Latency-specific NAS (e.g., LatencyClass)¶
Flow-specific NAS (i.e., Flow-ID)¶
Note: DetNet aggregate flows can be described with the same set of parameters.¶
DetNet functions use these NASes as follows:¶
DetNet PREOF requires Flow-ID+SeqNum parameters. They are used only at DetNet Relay nodes implementing the service sub-layer.¶
DetNet latency-bound related functions use Flow-ID+LatencyInfo, to select proper queuing hop-by-hop along the transmission path. They are used at DetNet Transit nodes to implement the forwarding sub-layer.¶
Using these NASes in DetNet scenarios results in the following MPLS encapsulation format example that ensures placing all DetNet parameters in the NASes:¶
LSP(s) = F-Label(s): used for describing the forwarding path.¶
MNA Sub-Stack Indicator.¶
NAS-3: (NAI: Flow-ID, Ancillary Data (AD): i.e., Flow-ID).¶
NAS-2: (NAI: Latency, Ancillary Data (AD): e.g., LatencyClass).¶
NAS-1: (NAI: SeqNum, Ancillary Data (AD): i.e., SeqNum (16/28 bits)).¶
Payload.¶
Note that using PW (S-Label) in the label stack is optional, it is not prevented by the method described in this document and is not shown in the above example.¶
Characteristics of the DetNet-specific NASes are as follows:¶
Encoding a Network Action: Different Operation Codes are used for the above DetNet-specific NASes.¶
Scope is encoded implicitly, all DetNet NAIs (Network Action Indicator) have a predefined scope.¶
Recognition action:¶
NAI: Flow-ID is used for flow identification, and this NAI MUST be ignored if unrecognized.¶
NAI: Latency is used by every node along the path that performs a latency-related action (e.g., queuing). This NAI MUST be ignored if unrecognized.¶
NAI: SegNum is used only by the last node on the path defined by the F-Label(s) that performs the PREOF action. This NAI MUST be ignored if unrecognized.¶
Encoding of Post-Stack Data: N/A for these NASes.¶
By using the "Select" mode for the DetNet-specific NASes, the network operation can emulate the MS-PW (Multi-Segment PW) pop-push characteristics on the S-Label. There is no need to define the whole forwarding graph across the MPLS network at the ingress. Furthermore, the "Select" mode allows the payload is an MPLS packet using the same label stack (as used by the MNA).¶
The figures show some possible DetNet-specific NAS formats and their usage.¶
DetNet Latency NAS: Format-B provides enough bits to encode, e.g., several LatencyClass-es. For longer latency-related parameters (e.g., timestamps) Format C/C+D can be used.¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label (MNA bSPL) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA1 | Data (Latency Info) |R|IHS|S| Res |U| NASL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
DetNet SeqNum NAS: Depending on the location of the SeqNum parameter within the MNA part of the MPLS stack, a Format B+C/C/C+D is necessary (which contains 28/16 bits of the SeqNum). In these formats, there are unused "Data bits" to carry additional FLAGs related to the SeqNum¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label (MNA bSPL) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA2 | Data (SeqNum) |R|IHS|S| Res |U| NASL=1| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA2 | Data (cont.) |S| Data | NAL=0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
DetNet Flow-ID NAS: Depending on the location of the Flow-ID, a Format C/B+C is necessary (which contains 20 bits of the ID).¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label (MNA bSPL) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA3 | Data (Flow-ID) |R|IHS|S| Res |U| NASL=1| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA3 | Data (cont.) |S| Data | NAL=0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4 below shows an MNA that contains all the DetNet-specific NASes. MNA-6 contains the DetNet Latency parameter being encoded in Format-B. MNA-7 contains the DetNet Flow-ID, and a 20-bit Flow-ID is encoded in Format C. MNA-8 contains the DetNet SeqNum in Format C with a 16-bit sequence number.¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label (MNA bSPL) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA1 | Data (Latency Info) |R|IHS|S| Res |U| NASL=2| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA3 | Data (Flow-ID) |S| (FID) | NAL=0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA2 | Data (SeqNum) |S| 0 | NAL=0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5 shows an aggregation example where multiple DetNet flows are aggregated in a single aggregate. NAS-A part contains the aggregate specific DetNet NASes, and NAS-F contains the flow-specific NASes of the data packet.¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label (MNA bSPL) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA1 | Data (Aggr-Latency-Info)|R|IHS|S| Res |U| NASL=2| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA3 | Data (Aggr-Flow-ID) |S| (FID) | NAL=0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA2 | Data (Aggr-SeqNum) |S| 0 | NAL=0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label (MNA bSPL) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA1 | Data (Latency Info) |R|IHS|S| Res |U| NASL=2| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA3 | Data (Flow-ID) |S| (FID) | NAL=0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA2 | Data (SeqNum) |S| 0 | NAL=0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Note1: Opcodes are to be allocated by IANA during the standardization.¶
Note2: Aggregation re-uses the same Options code points for the aggregated and specific flows. The interpretation is based on the order of NASes. During the de-aggregation of flows, the MNA containing the aggregate parameters is removed from the label stack (popped).¶
When the latency guarantee of a DetNet network is of the end-to-end (E2E) forwarding type, for the hop-by-hop (hbh) forwarding type that carries longer latency information, the carrying of latency information changes with the number of hops. In such cases, it is recommended to use PSD encapsulation. The opcode of DetNet used in MPLS In-Stack is reused for indication of PSD presence.¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label (MNA bSPL) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA1 | Data |1|IHS|S| Res |U| NASL=0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Opcode: In-Stack Opcode for DetNet action, requires allocation by IANA. The PSD flag bit with P=1 is represented by the PSD encoding. The scope field specifies the operation processing method of IHS.¶
Figure 7 shows an example of a PSD in which DetNet flow information is encoded in the MPLS Post-Stack NAS. The latency information may be variable in case of Hop-by-Hop processing in DetNet networks. In this example, it's assumed to have two NSIs to carry latency information (i.e., timestamps). The Flow-ID field length is 20 bits, and the length of SeqNum is 28 bits carried in two NAIs.¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label (MNA bSPL) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA1 | Data |1|IHS|S| Res |U| NASL=0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label |1| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |firstNi|Version| PS-HDR-LEN | TYPE = MNA-POST-STACK-HDR = 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA1 |R|R| PS-NAL=4 | Data (Latency Info) |NAL=1| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data (Cont.) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA3 |R|R| Data (Flow-ID) |NAL=0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA2 |R|R| Data (SeqNum) |NAL=1| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data (Cont.) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The first NAS in the Post-Stack is used to encapsulate the PSD header, indicating the total length, version, and type of the PSD header, and complies with [I-D.ietf-mpls-mna-ps-hdr].¶
Opcode: The R bit is reserved, and PS-NAL is used to indicate the size of the NAS corresponding to DetNet network operations.¶
The Flow-ID Opcode identifies a DetNet flow at the receiving DetNet service sub-layer processing node. The SeqNum Opcode identifies the sequence number per DetNet-App flow, i.e., DetNet service. The Sequence Number field lengths MUST be supported 0 bits, 16 bits and 28 bits. The Latency Opcode identifies the service type of DetNet flows or the latency information carried in MPLS networks. The detailed information for latency format is for further study.¶
Security considerations for DetNet are covered in the DetNet Architecture [RFC8655], DetNet Data Plane Framework [RFC8938] and DetNet Security Considerations [RFC9055]. MPLS security considerations are covered in [RFC8964], [RFC3031], [RFC3032]. These security considerations also apply to this document. The MNA security considerations speicified at [I-D.ietf-mpls-mna-hdr], [I-D.ietf-mpls-mna-ps-hdr] and [RFC9789] are also applicable to the procedures defined in this document.¶
This document requests new IANA-managed code-points for DetNet encoded in MPLS In-Stack adn Post-Stack. IANA maintains the "Network Action Opcodes" registry when created from IANA request in [I-D.ietf-mpls-mna-hdr]. IANA is requested to allocate new values for MPLS Network Action Opcode for DetNet Action from this registry:¶
Opcode Value | Description | In-Stack and Post-Stack, In-Stack only, Post-Stack only | Reference |
---|---|---|---|
TBA1 | Latency Information | In-Stack and Post-Stack | This document |
TBA2 | Sequence Number | In-Stack and Post-Stack | This document |
TBA3 | Flow Identifier | In-Stack and Post-Stack | This document |
Authors extend their appreciation to Adrian Farrel, Lou Berger, Joel Halpern, Janos Farkas, Ferenc Fejes, Tony Li, Tarek Saad, Jie Dong, Shaofu Peng and Loa Andersson for their insightful comments and contributions.¶