DetNet MPLS over UDP: Deterministic Networking (DetNet) Data Plane: MPLS over UDP/IP
How DetNet's MPLS packets ride inside ordinary UDP/IP packets across an IP network.
Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S. Bryant, "Deterministic Networking (DetNet) Data Plane: MPLS over UDP/IP", RFC 9025, DOI 10.17487/RFC9025, April 2021, <https://www.rfc-editor.org/info/rfc9025>.
@misc{rfc9025,
series = {Request for Comments},
number = 9025,
howpublished = {RFC 9025},
publisher = {RFC Editor},
doi = {10.17487/RFC9025},
url = {https://www.rfc-editor.org/info/rfc9025},
author = {B. Varga and J. Farkas and L. Berger and A. Malis and S. Bryant},
title = {{Deterministic Networking (DetNet) Data Plane: MPLS over UDP/IP}},
pagetotal = 8,
year = 2021,
month = apr,
} RFC text
Contents
Internet Engineering Task Force (IETF) B. Varga, Ed.
Request for Comments: 9025 J. Farkas
Category: Standards Track Ericsson
ISSN: 2070-1721 L. Berger
LabN Consulting, L.L.C.
A. Malis
Malis Consulting
S. Bryant
Futurewei Technologies
April 2021
Deterministic Networking (DetNet) Data Plane: MPLS over UDP/IP
Abstract
This document specifies the MPLS Deterministic Networking (DetNet)
data plane operation and encapsulation over an IP network. The
approach is based on the operation of MPLS-over-UDP technology.
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/rfc9025.
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. DetNet MPLS Operation over DetNet IP PSNs
4. DetNet Data Plane Procedures
5. Management and Control 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 these flows extremely low
packet loss rates and assured maximum end-to-end delivery latency.
General background and concepts of DetNet can be found in [RFC8655].
To carry DetNet MPLS flows with full functionality at the DetNet
layer over an IP network, the following components are required
(these are a subset of the requirements for MPLS encapsulation listed
in [RFC8964]):
1. A method for identifying DetNet flows to the processing element.
2. A method for carrying the DetNet sequence number.
3. A method for distinguishing DetNet Operations, Administration,
and Maintenance (OAM) packets from DetNet data packets.
4. A method for carrying queuing and forwarding indication.
These requirements are satisfied by the DetNet over MPLS
Encapsulation described in [RFC8964] and they are partly satisfied
(i.e., IP flows can be identified; however, no DetNet sequence number
is carried) by the DetNet IP data plane defined in [RFC8939].
This document specifies use of the MPLS DetNet encapsulation over an
IP network. The approach is modeled on the operation of MPLS over an
IP Packet Switched Network (PSN) using UDP encapsulation [RFC7510].
It maps the MPLS data plane encapsulation described in [RFC8964] to
the DetNet IP data plane defined in [RFC8939].
[RFC7510] specifies that "MPLS-in-UDP MUST NOT be used over the
general Internet, or over non-cooperating network operators, to carry
traffic that is not congestion controlled." This constraint does
apply to the use of RFC 7510 in a DetNet network because DetNet is
constrained to operate within a single administrative control or
within a closed group of administrative control.
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:
d-CW A DetNet Control Word (d-CW) is used for sequencing and
identifying duplicate packets of a DetNet flow at the
DetNet service sub-layer.
DetNet Deterministic Networking
DSCP Differentiated Services Code Point
A-Label A special case of an S-Label, whose properties are
known only at the aggregation and deaggregation
endpoints.
F-Label A DetNet "forwarding" label that identifies the LSP
used to forward a DetNet flow across an MPLS PSN, e.g.,
a hop-by-hop label used between label-switching
routers.
MPLS Multiprotocol Label Switching
OAM Operations, Administration, and Maintenance
PEF Packet Elimination Function
POF Packet Ordering Function
PREOF Packet Replication, Elimination, and Ordering Functions
PRF Packet Replication Function
PSN Packet Switched Network
S-Label A DetNet "service" label that is used between DetNet
nodes that also implement the DetNet service sub-layer
functions. An S-Label is also used to identify a
DetNet flow at the DetNet service sub-layer.
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 MPLS Operation over DetNet IP PSNs
This document builds on the specification of MPLS over UDP defined in
[RFC7510]. It may partly or entirely replace the F-Label(s) used in
[RFC8964] with UDP and IP headers. The UDP and IP header information
is used to identify DetNet flows, including member flows, per
[RFC8939]. The resulting encapsulation is shown in Figure 1. There
may be zero or more F-Labels between the S-Label and the UDP header.
Note that this encapsulation works equally well with IPv4, IPv6, and
IPv6-based Segment Routing [RFC8754].
+---------------------------------+
| |
| DetNet App-Flow |
| Payload Packet |
| |
+---------------------------------+ <--\
| DetNet Control Word | |
+---------------------------------+ +--> DetNet data plane
| S-Label | | MPLS encapsulation
+---------------------------------+ |
| [ F-Label(s) ] | |
+---------------------------------+ <--+
| UDP Header | |
+---------------------------------+ +--> DetNet data plane
| IP Header | | IP encapsulation
+---------------------------------+ <--/
| Data-Link |
+---------------------------------+
| Physical |
+---------------------------------+
Figure 1: UDP/IP Encapsulation of DetNet MPLS
S-Labels, A-Labels (when present), d-CW, and zero or more F-Labels
are used as defined in [RFC8964] and are not modified by this
document.
4. DetNet Data Plane Procedures
To support outgoing DetNet MPLS over UDP encapsulation, an
implementation MUST support the provisioning of UDP and IP header
information in addition to or in place of F-Label(s). Note, when the
PRF is performed at the MPLS service sub-layer, there will be
multiple member flows, and each member flow will require the
provisioning of their own UDP and IP header information. The headers
for each outgoing packet MUST be formatted according to the
configuration information and as defined in [RFC7510], and the UDP
Source Port value MUST be set to uniquely identify the DetNet flow.
The packet MUST then be handled as a DetNet IP packet, per [RFC8939].
This includes QoS-related traffic treatment.
To support the receive processing defined in this document, an
implementation MUST also support the provisioning of received UDP and
IP header information. The provisioned information MUST be used to
identify incoming app flows based on the combination of S-Label and
incoming encapsulation header information. Normal receive processing
as defined in [RFC8964], including PEF and POF, can then take place.
5. Management and Control Information Summary
The following summarizes the minimum set of information that is
needed to configure DetNet MPLS over UDP/IP:
* Label information (A-Labels, S-Labels, and F-Labels) to be mapped
to UDP/IP flows. Note that, for example, a single S-Label can map
to multiple sets of UDP/IP information when PREOF is used.
* IPv4 or IPv6 source address field
* IPv4 or IPv6 destination address field
* DSCP Field in either IPv4 Type of Service or IPv6 Traffic Class
Fields
* UDP Source Port
* UDP Destination Port
* Use/non-use of UDP checksum
This information MUST be provisioned per DetNet flow via
configuration, e.g., via the controller [RFC8655] or management
plane. Not using the UDP checksum has to be evaluated on a case-by-
case basis for a given network scenario based on the exception
criteria defined in [RFC7510], particularly when IPv6 is used.
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 both aggregated and
individual flows.
| Note: In the presence of network (and port) address translation
| devices/functions, it would be up to the Controller Plane to
| determine the appropriate information to ensure proper mapping
| at the sender/receiver.
6. Security Considerations
The solution defined in this document reuses mechanisms specified in
other documents, and the security considerations in those documents
apply equally to this document. Of particular note is [RFC7510], as
this document is primarily an application of MPLS-over-UDP.
Additionally, the security considerations of DetNet in general are
discussed in [RFC8655] and [DETNET-SECURITY]. Finally, MPLS- and IP-
specific security considerations are described in [RFC8964] and
[RFC8939]. This document does not have additional security
considerations.
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>.
[RFC7510] Xu, X., Sheth, N., Yong, L., Callon, R., and D. Black,
"Encapsulating MPLS in UDP", RFC 7510,
DOI 10.17487/RFC7510, April 2015,
<https://www.rfc-editor.org/info/rfc7510>.
[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>.
[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>.
[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, January
2021, <https://www.rfc-editor.org/info/rfc8964>.
8.2. Informative References
[DETNET-SECURITY]
Grossman, E., Ed., Mizrahi, T., and A. J. Hacker,
"Deterministic Networking (DetNet) Security
Considerations", Work in Progress, Internet-Draft, draft-
ietf-detnet-security-16, 22 February 2021,
<https://tools.ietf.org/html/draft-ietf-detnet-security-
16>.
[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>.
[RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
(SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
<https://www.rfc-editor.org/info/rfc8754>.
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, and Carlos
J. Bernardos for their various contributions to this work.
Contributors
This document is derived from an earlier draft that was edited by
Jouni Korhonen (jouni.nospam@gmail.com), and as such, he contributed
to and authored text in this document.
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
AI ELI5
On this page
§1Why MPLS DetNet Over IP
Deterministic Networking (DetNet) offers flows extremely low packet loss and an assured maximum end-to-end delivery latency. Background is in RFC 8655.
To carry DetNet MPLS flows with full functionality over an IP network, four things are required: a way to identify DetNet flows, a way to carry the DetNet sequence number, a way to tell DetNet OAM packets from data packets, and a way to carry queuing and forwarding indication. The MPLS encapsulation of RFC 8964 provides all of them. The DetNet IP data plane of RFC 8939 only partly does, because it carries no DetNet sequence number.
This document therefore maps the MPLS encapsulation onto the DetNet IP data plane, modeled on MPLS over UDP from RFC 7510.
The special packages need tracking labels that plain mail does not carry. So the labels are kept, and the whole package goes inside a normal envelope.
§1.1Where It May Be Used
RFC 7510 says that MPLS-in-UDP MUST NOT be used over the general Internet, or over non-cooperating network operators, to carry traffic that is not congestion controlled.
The RFC states that this constraint does apply to DetNet, because DetNet is constrained to operate within a single administrative control or within a closed group of administrative control.
These special packages only travel on roads owned by one company or a small club of friendly companies, not on the whole public highway.
§3The UDP/IP Encapsulation
The design may partly or entirely replace the F-Labels of RFC 8964 with UDP and IP headers. The UDP and IP header information is used to identify DetNet flows, including member flows. There may be zero or more F-Labels between the S-Label and the UDP header.
From the top, a packet carries the DetNet app-flow payload, the DetNet control word, the S-Label, optional F-Labels, the UDP header and the IP header. The first group is the DetNet data plane MPLS encapsulation, and the UDP and IP headers are the DetNet data plane IP encapsulation.
S-Labels, A-Labels (when present), the d-CW and any F-Labels are used as defined in RFC 8964 and are not modified. The encapsulation works equally well with IPv4, IPv6 and IPv6-based Segment Routing (RFC 8754).
The package keeps its own labels inside. The outer envelope has an address that the normal mail system understands.
- DetNet App-Flow PayloadThe packet being carried
- DetNet Control WordSequencing and duplicate identification
- S-LabelIdentifies the flow at the service sub-layer
- F-Label(s)Zero or more, optional
- UDP HeaderIdentifies the DetNet flow
- IP HeaderIPv4 or IPv6
- Data-LinkLink layer
- PhysicalPhysical layer
§4Sending and Receiving Procedures
To send, an implementation MUST support provisioning of UDP and IP header information in addition to or in place of F-Labels. When packet replication is done at the MPLS service sub-layer there are several member flows, and each one needs its own UDP and IP header information.
The headers MUST be formatted according to the configuration and as defined in RFC 7510, and the UDP Source Port value MUST be set to uniquely identify the DetNet flow. The packet MUST then be handled as a DetNet IP packet per RFC 8939, including QoS-related traffic treatment.
To receive, an implementation MUST support provisioning of received UDP and IP header information. That information MUST be used to identify incoming app flows from the combination of S-Label and incoming encapsulation header information. Normal receive processing from RFC 8964, including the Packet Elimination Function (PEF) and Packet Ordering Function (POF), can then take place.
The sender writes a different return address on the envelope for each flow. The receiver looks at the envelope and the inner label together to know which flow a package belongs to.
§5What Must Be Configured
The minimum configuration for DetNet MPLS over UDP/IP is: label information (A-Labels, S-Labels and F-Labels) mapped to UDP/IP flows, the IPv4 or IPv6 source and destination addresses, the DSCP field (in the IPv4 Type of Service or IPv6 Traffic Class), the UDP source port, the UDP destination port, and whether the UDP checksum is used. A single S-Label can map to several sets of UDP/IP information when packet replication, elimination and ordering (PREOF) is used.
This information MUST be provisioned per DetNet flow, for example by the controller or the management plane. Not using the UDP checksum has to be evaluated case by case, using the exception criteria in RFC 7510, particularly with IPv6.
The DetNet Controller Plane is responsible for provisioning both flow identification information and the resources that give each flow the treatment it needs. With network or port address translation in the path, the Controller Plane decides what information is needed for correct mapping at sender and receiver.
Someone in charge has to write down, for every flow, which addresses and numbers go on the envelope, and make sure the roads have room for it.
§6Security and IANA
The solution reuses mechanisms from other documents, so their security considerations apply equally. The RFC singles out RFC 7510, since this is mainly an application of MPLS-over-UDP, and also points to DetNet security in general, RFC 8655, and the MPLS and IP considerations in RFC 8964 and RFC 8939. It adds no security considerations of its own.
It has no IANA actions.
It adds no new safety rules. The rules of the pieces it reuses still apply.