Internet-Draft DetNet MNA July 2024
Mirsky & Varga Expires 23 January 2025 [Page]
Workgroup:
MPLS
Internet-Draft:
draft-varmir-mpls-detnet-mna-00
Published:
Intended Status:
Standards Track
Expires:
Authors:
G. Mirsky
Ericsson
B. Varga
Ericsson

Deterministic Networking specific MNA

Abstract

In IETF the Deterministic Networking (DetNet) Working Group focuses on deterministic data paths that can provide bounds on latency, loss, and packet delay variation (jitter), and high reliability. This document focuses on the MPLS Data Plane, namely, how to use MNA (MPLS Network Action) for DetNet flows, when forwarded over an MPLS technology-based network domain.

Status of This Memo

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 January 2025.

Table of Contents

1. Introduction

DetNet work group has defined Packet Replication Function (PRF) and Packet Elimination Function (PEF) to achieve extreme 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 was identified by 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 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 they may intend to use packet specific latency information during the forwarding. No solution was defined to add such latency specific information to the PW encapsulated DetNet packets.

2. Terminology

2.1. Terms Used in This Document

This document uses the terminology established in the DetNet architecture [RFC8655]. The reader is assumed to be familiar with that document and its terminology.

2.2. Abbreviations

The following abbreviations are used in this document:

DetNet
Deterministic Networking
Flow-ID
Flow Identifier
MNA
MPLS Network Action
NAI
Network Action Indicator
NAS
Network Action Sub-Stack
LSE
Label Stack Entry
PEF
Packet Elimination Function
POF
Packet Ordering Function
PREOF
Packet Replication, Elimination and Ordering Functions
PRF
Packet Replication Function
SeqNum
Sequence Number

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. DetNet-specific MNA

There are three information elements that may be required during the forwarding of DetNet packets:

  1. Flow identifier (Flow-ID)

  2. Sequence information (SeqNum)

  3. Latency information (LatencyInfo)

"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 usage of a DetNet-specific MNA solution allows using a single encapsulation format for all DetNet specific parameters (Flow-ID, SeqNum, LatencyInfo) as MNA data. DetNet-specific MNA allows more fine-tuned and scalable handling of the latency bound requirement together with service protection natively in MPLS. The MNA based DetNet solution does not require any post-stack-data, contrary to the mandatory d-CW used by PW technology.

4. DetNet information in NASes

4.1. DetNet-specific NASes

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:

  1. PREOF specific NAS (e.g., SeqNum)

  2. Latency specific NAS (e.g., LatencyClass)

  3. 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 follow:

  • 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, for selecting proper queuing hop-by-hop along the transmission path. They are used at DetNet Transit nodes implementing 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 precluded by the method described in this document, and not shown in the above example.

4.2. Characteristics of DetNet NASes

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.

    • All DetNet specific NAI use "Select" mode, so usage of these NAIs may be restricted for DetNet-aware nodes if the operator intends to do so.

    • Optional scope for the NAIs:

      • NAI: Flow-ID can have Hop-by-hop (HBH) scope.

      • NAI: Latency can have Hop-by-hop (HBH) scope.

      • NAI: SeqNum can have Ingress-to-Egress (I2E) 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 those perform 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) and perform the PREOF action. If this NAI is unrecognized the packet may be dropped.

  • Encoding of Post-Stack Data: N/A for these NASes.

Via 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 at ingress the whole forwarding graph across the MPLS network. Furthermore, "Select" mode allows that the payload is an MPLS packet using the same label stack (as used by the MNA).

4.3. Examples of DetNet NASes

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., time stamp) 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    |   Data (Latency Info)   |R|IHS|S| Res |U|  NASL |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 1: An Example of the DetNet Latency Information Encoding Using LSE Format B

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 needed (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    |   Data (SeqNum)         |R|IHS|S| Res |U| NASL=1|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Opcode    |   Data (cont.)                |S| Data  | NAL=0 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: An Example of the DetNet Sequence Number Encoding Using LSE Formats B and C

DetNet Flow-ID NAS: Depending on the location of the Flow-ID a Format C/B+C is needed (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    |   Data (Flow-ID)        |R|IHS|S| Res |U| NASL=1|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Opcode    |   Data (cont.)                |S|  Data | NAL=0 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: An Example of the DetNet LFlow Identifier Encoding Using LSE Formats B and C

Figure 4 below shows an MNA which 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, a 20 bits Flow-ID is encoded in Format C. MNA-8 contains the DetNet SeqNum in Format C with a 16 bits 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 (6)|   Data (Latency Info)   |R|IHS|S| Res |U| NASL=2|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Opcode (7)|   Data (Flow-ID)              |S| (FID) | NAL=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Opcode (8)|   Data (SeqNum)               |S|  0    | NAL=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: An Example of the Combined DetNet Parameters Encoding Using MNA

4.4. Aggregation Example

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 (x)| Data (Aggr-Latency-Info)|R|IHS|S| Res |U| NASL=2|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Opcode (y)| Data (Aggr-Flow-ID)           |S| (FID) | NAL=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Opcode (z)| Data (Aggr-SeqNum)            |S|   0   | NAL=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Label (MNA bSPL)         | TC  |S|      TTL      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Opcode (x)|   Data (Latency Info)   |R|IHS|S| Res |U| NASL=2|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Opcode (y)|   Data (Flow-ID)              |S| (FID) | NAL=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Opcode (z)|   Data (SeqNum)               |S|  0    | NAL=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: An Example of the DetNet Aggregate Flow Parameters Encoding Using MNA

Note1: Opcodes are to be allocated by IANA during the standardization.

Note2: NAS-x denotes the NAS containing the DetNet parameter. "x" just a number on the figure to denote that they contain different information.

Note3: Aggregation re-uses the same Options code points for the aggregated and specific flows. The interpretation is based on the order of NASes. During de-aggregation of flows the MNA containing the aggregate parameters are removed from the label stack (poped).

5. Security Considerations

This specification desribes the realization of DetNet over MPLS data plane using MNA approach. As a result, it inherits security considerations of [RFC8964] and [I-D.ietf-mpls-mna-hdr].

6. IANA Considerations

IANA is requested to assign a new Opcode values from the Network Action Opcodes Registry as follows:

Table 1: DetNet Parameters in MNA
Value Description Reference
TBA1 Flow Identifier This document
TBA2 Sequence Number This document
TBA3 Latency Information This document

7. Acknowledgements

Authors extend their appreciation to Joel Halpern, Janos Farkas, and Ferenc Fejes for their insightful comments and contributions.

8. Normative References

[I-D.ietf-mpls-mna-hdr]
Rajamanickam, J., Gandhi, R., Zigler, R., Song, H., and K. Kompella, "MPLS Network Action (MNA) Sub-Stack Solution", Work in Progress, Internet-Draft, draft-ietf-mpls-mna-hdr-07, , <https://datatracker.ietf.org/doc/html/draft-ietf-mpls-mna-hdr-07>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <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, , <https://www.rfc-editor.org/info/rfc8655>.
[RFC8964]
Varga, B., Ed., Farkas, J., Berger, L., Malis, A., Bryant, S., and J. Korhonen, "Deterministic Networking (DetNet) Data Plane: MPLS", RFC 8964, DOI 10.17487/RFC8964, , <https://www.rfc-editor.org/info/rfc8964>.
[RFC9550]
Varga, B., Ed., Farkas, J., Kehrer, S., and T. Heer, "Deterministic Networking (DetNet): Packet Ordering Function", RFC 9550, DOI 10.17487/RFC9550, , <https://www.rfc-editor.org/info/rfc9550>.

Authors' Addresses

Greg Mirsky
Ericsson
Balazs Varga
Ericsson