rfc9566.original | rfc9566.txt | |||
---|---|---|---|---|
DetNet B. Varga | Internet Engineering Task Force (IETF) B. Varga | |||
Internet-Draft J. Farkas | Request for Comments: 9566 J. Farkas | |||
Intended status: Informational Ericsson | Category: Informational Ericsson | |||
Expires: 25 August 2024 A. Malis | ISSN: 2070-1721 A. Malis | |||
Malis Consulting | Malis Consulting | |||
22 February 2024 | April 2024 | |||
Deterministic Networking (DetNet): DetNet PREOF via MPLS over UDP/IP | Deterministic Networking (DetNet) Packet Replication, Elimination, and | |||
draft-ietf-detnet-mpls-over-ip-preof-11 | Ordering Functions (PREOF) via MPLS over UDP/IP | |||
Abstract | Abstract | |||
This document describes how DetNet IP data plane can support the | This document describes how the DetNet IP data plane can support the | |||
Packet Replication, Elimination, and Ordering Functions (PREOF) built | Packet Replication, Elimination, and Ordering Functions (PREOF) built | |||
on the existing MPLS PREOF solution defined for DetNet MPLS Data | on the existing MPLS PREOF solution defined for the DetNet MPLS data | |||
Plane and the mechanisms defined by MPLS-over-UDP technology. | plane and the mechanisms defined by MPLS-over-UDP technology. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
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 | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Not all documents | |||
approved by the IESG are candidates for any level of Internet | ||||
Standard; see Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 25 August 2024. | 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/rfc9566. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2024 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology | |||
2.1. Terms Used in This Document . . . . . . . . . . . . . . . 3 | 2.1. Terms Used in This Document | |||
2.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 3 | 2.2. Abbreviations | |||
3. Requirements for adding PREOF to DetNet IP . . . . . . . . . 4 | 3. Requirements for Adding PREOF to DetNet IP | |||
4. Adding PREOF to DetNet IP . . . . . . . . . . . . . . . . . . 4 | 4. Adding PREOF to DetNet IP | |||
4.1. Solution Basics . . . . . . . . . . . . . . . . . . . . . 4 | 4.1. Solution Basics | |||
4.2. Encapsulation . . . . . . . . . . . . . . . . . . . . . . 5 | 4.2. Encapsulation | |||
4.3. Packet Processing . . . . . . . . . . . . . . . . . . . . 5 | 4.3. Packet Processing | |||
4.4. Flow Aggregation . . . . . . . . . . . . . . . . . . . . 6 | 4.4. Flow Aggregation | |||
4.5. PREOF Processing . . . . . . . . . . . . . . . . . . . . 7 | 4.5. PREOF Processing | |||
4.6. PREOF capable DetNet IP domain . . . . . . . . . . . . . 8 | 4.6. PREOF-Capable DetNet IP Domain | |||
5. Control and Management Plane Parameters . . . . . . . . . . . 8 | 5. Control and Management Plane Parameters | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | 6. Security Considerations | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | 7. IANA Considerations | |||
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 | 8. References | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 8.1. Normative References | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 10 | 8.2. Informative References | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 11 | Acknowledgements | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
The DetNet Working Group has defined Packet Replication (PRF), Packet | The DetNet Working Group has defined Packet Replication (PRF), Packet | |||
Elimination (PEF) and Packet Ordering (POF) functions (represented as | Elimination (PEF), and Packet Ordering (POF) Functions (represented | |||
PREOF) to provide service protection by the DetNet service sub-layer | as PREOF) to provide service protection by the DetNet service sub- | |||
[RFC8655]. The PREOF service protection method relies on copies of | layer [RFC8655]. The PREOF service protection method relies on | |||
the same packet sent over multiple maximally disjoint paths and uses | copies of the same packet sent over multiple maximally disjoint paths | |||
sequencing information to eliminate duplicates. A possible | and uses sequencing information to eliminate duplicates. A possible | |||
implementation of the PRF and PEF functions is described in | implementation of PRF and PEF is described in [IEEE8021CB], and the | |||
[IEEE8021CB] and the related YANG data model is defined in | related YANG data model is defined in [IEEE8021CBcv]. A possible | |||
[IEEEP8021CBcv]. A possible implementation of the POF function is | implementation of POF is described in [RFC9550]. Figure 1 shows a | |||
described in [I-D.ietf-detnet-pof]. Figure 1 shows a DetNet flow on | DetNet flow on which PREOF are applied during forwarding from the | |||
which PREOF functions are applied during forwarding from the source | source to the destination. | |||
to the destination. | ||||
+------------+ | +------------+ | |||
+---------------E1---+ | | | +---------------E1---+ | | | |||
+---+ | | +---R3---+ | +---+ | +---+ | | +---R3---+ | +---+ | |||
|src|------R1 +---+ | E3----O----+dst| | |src|------R1 +---+ | E3----O----+dst| | |||
+---+ | | E2-------+ +---+ | +---+ | | E2-------+ +---+ | |||
+----------R2 | | +----------R2 | | |||
+-----------------+ | +-----------------+ | |||
R: replication function (PRF) | R: Replication Function (PRF) | |||
E: elimination function (PEF) | E: Elimination Function (PEF) | |||
O: ordering function (POF) | O: Ordering Function (POF) | |||
Figure 1: PREOF scenario in a DetNet network | Figure 1: PREOF Scenario in a DetNet Network | |||
In general, the use of PREOF functions require sequencing information | In general, the use of PREOF require sequencing information to be | |||
to be included in the packets of a DetNet compound flow. This can be | included in the packets of a DetNet compound flow. This can be done | |||
done by adding a sequence number or time stamp as part of DetNet | by adding a sequence number or timestamp as part of DetNet | |||
encapsulation. Sequencing information is typically added once, at or | encapsulation. Sequencing information is typically added once, at or | |||
close to the source. | close to the source. | |||
The DetNet MPLS data plane [RFC8964] specifies how sequencing | The DetNet MPLS data plane [RFC8964] specifies how sequencing | |||
information is encoded in the MPLS header. However, the DetNet IP | information is encoded in the MPLS header. However, the DetNet IP | |||
data plane described in [RFC8939] does not specify how sequencing | data plane described in [RFC8939] does not specify how sequencing | |||
information can be encoded in the IP packet. This document provides | information can be encoded in the IP packet. This document provides | |||
sequencing information to DetNet IP nodes, so it results in an | sequencing information to DetNet IP nodes, so it results in an | |||
improved version of the DetNet IP data plane. As suggested by | improved version of the DetNet IP data plane. As suggested by | |||
[RFC8938], the solution uses existing standardized headers and | [RFC8938], the solution uses existing standardized headers and | |||
encapsulations. The improvement is achieved by re-using the DetNet | encapsulations. The improvement is achieved by reusing the DetNet | |||
MPLS over UDP/IP data plane [RFC9025] with the restriction of using | MPLS-over-UDP/IP data plane [RFC9025] with the restriction of using | |||
zero F-labels. | zero F-Labels. | |||
2. Terminology | 2. Terminology | |||
2.1. Terms Used in This Document | 2.1. Terms Used in This Document | |||
This document uses the terminology established in the DetNet | This document uses the terminology established in the DetNet | |||
architecture [RFC8655], and the reader is assumed to be familiar with | architecture [RFC8655], and it is assumed that the reader is familiar | |||
that document and its terminology. | with that document and its terminology. | |||
2.2. Abbreviations | 2.2. Abbreviations | |||
The following abbreviations are used in this document: | The following abbreviations are used in this document: | |||
DetNet Deterministic Networking. | DetNet Deterministic Networking | |||
PEF Packet Elimination Function. | PEF Packet Elimination Function | |||
POF Packet Ordering Function. | POF Packet Ordering Function | |||
PREOF Packet Replication, Elimination and Ordering Functions. | PREOF Packet Replication, Elimination, and Ordering Functions | |||
PRF Packet Replication Function. | PRF Packet Replication Function | |||
3. Requirements for adding PREOF to DetNet IP | 3. Requirements for Adding PREOF to DetNet IP | |||
The requirements for adding PREOF to DetNet IP are: | The requirements for adding PREOF to DetNet IP are: | |||
* to reuse existing DetNet data plane solutions (e.g., [RFC8964], | * to reuse existing DetNet data plane solutions (e.g., [RFC8964], | |||
[RFC9025]). | [RFC9025]), and | |||
* to allow the DetNet service sub-layer for IP packet switched | * to allow the DetNet service sub-layer for IP packet-switched | |||
networks with minimal implementation effort. | networks with minimal implementation effort. | |||
The described solution practically gains from MPLS header fields | The described solution leverages MPLS header fields without requiring | |||
without requiring the support of the MPLS forwarding plane. | the support of the MPLS forwarding plane. | |||
4. Adding PREOF to DetNet IP | 4. Adding PREOF to DetNet IP | |||
4.1. Solution Basics | 4.1. Solution Basics | |||
The DetNet IP encapsulation supporting DetNet Service sub-layer is | The DetNet IP encapsulation supporting the DetNet service sub-layer | |||
based on the "UDP tunneling" concept. The solution creates a set of | is based on the "UDP tunneling" concept. The solution creates a set | |||
underlay UDP/IP tunnels between an overlay set of DetNet relay nodes. | of underlay UDP/IP tunnels between an overlay set of DetNet relay | |||
nodes. | ||||
At the edge of a PREOF capable DetNet IP domain the DetNet flow is | At the edge of a PREOF-capable DetNet IP domain, the DetNet flow is | |||
encapsulated in an UDP packet containing the sequence number used by | encapsulated in a UDP packet containing the sequence number used by | |||
PREOF functions within the domain. This solution maintains the 6- | PREOF within the domain. This solution maintains the 6-tuple-based | |||
tuple-based DetNet flow identification in DetNet transit nodes, which | DetNet flow identification in DetNet transit nodes, which operate at | |||
operate at the DetNet forwarding sub-layer between the DetNet service | the DetNet forwarding sub-layer between the DetNet service sub-layer | |||
sub-layer nodes; therefore, it is compatible with [RFC8939]. | nodes; therefore, it is compatible with [RFC8939]. Figure 2 shows | |||
Figure 2 shows how the PREOF capable DetNet IP data plane fits into | how the PREOF-capable DetNet IP data plane fits into the DetNet sub- | |||
the DetNet sub-layers. | layers. | |||
DetNet IP | DetNet IP | |||
. | . | |||
. | . | |||
+------------+ | +------------+ | |||
| Service | d-CW, Service-ID (S-label) | | Service | d-CW, Service-ID (S-Label) | |||
+------------+ | +------------+ | |||
| Forwarding | UDP/IP Header | | Forwarding | UDP/IP Header | |||
+------------+ | +------------+ | |||
*d-CW: DetNet Control Word | *d-CW: DetNet Control Word | |||
Figure 2: PREOF capable DetNet IP data plane | Figure 2: PREOF-Capable DetNet IP Data Plane | |||
4.2. Encapsulation | 4.2. Encapsulation | |||
The PREOF capable DetNet IP encapsulation builds on encapsulating | The PREOF-capable DetNet IP encapsulation builds on encapsulating | |||
DetNet PseudoWire (PW) directly over UDP. That is, it combines | DetNet pseudowire (PW) directly over UDP. That is, it combines | |||
DetNet MPLS [RFC8964] with DetNet MPLS-in-UDP [RFC9025], without | DetNet MPLS [RFC8964] with DetNet MPLS-in-UDP [RFC9025], without | |||
using any F-Labels as shown in Figure 3. DetNet flows are identified | using any F-Labels, as shown in Figure 3. DetNet flows are | |||
at the receiving DetNet service sub-layer processing node via the | identified at the receiving DetNet service sub-layer processing node | |||
S-Label and/or the UDP/IP header information. Sequencing information | via the S-Label and/or the UDP/IP header information. Sequencing | |||
for PREOF is provided by the DetNet Control Word (d-CW) as per | information for PREOF is provided by the DetNet Control Word (d-CW) | |||
[RFC8964]. The S-label is used to identify both the DetNet flow and | per [RFC8964]. The S-Label is used to identify both the DetNet flow | |||
the DetNet App-flow type. The UDP tunnel is used to direct the | and the DetNet App-flow type. The UDP tunnel is used to direct the | |||
packet across the DetNet domain to the next DetNet service sub-layer | packet across the DetNet domain to the next DetNet service sub-layer | |||
processing node. | processing node. | |||
+---------------------------------+ | +---------------------------------+ | |||
| | | | | | |||
| DetNet App-Flow | | | DetNet App-Flow | | |||
| (original IP) Packet | | | (Original IP) Packet | | |||
| | | | | | |||
+---------------------------------+ <--\ | +---------------------------------+ <--\ | |||
| DetNet Control Word | | | | DetNet Control Word | | | |||
+---------------------------------+ +--> PREOF capable | +---------------------------------+ +--> PREOF-capable | |||
| Service-ID (S-Label) | | DetNet IP data | | Service-ID (S-Label) | | DetNet IP data | |||
+---------------------------------+ | plane encapsulation | +---------------------------------+ | plane encapsulation | |||
| UDP Header | | | | UDP Header | | | |||
+---------------------------------+ | | +---------------------------------+ | | |||
| IP Header | | | | IP Header | | | |||
+---------------------------------+ <--/ | +---------------------------------+ <--/ | |||
| Data-Link | | | Data-Link | | |||
+---------------------------------+ | +---------------------------------+ | |||
| Physical | | | Physical | | |||
+---------------------------------+ | +---------------------------------+ | |||
Figure 3: PREOF capable DetNet IP encapsulation | Figure 3: PREOF-Capable DetNet IP Encapsulation | |||
4.3. Packet Processing | 4.3. Packet Processing | |||
IP ingress and egress nodes of the PREOF capable DetNet IP domain add | IP ingress and egress nodes of the PREOF-capable DetNet IP domain add | |||
and remove a DetNet service-specific d-CW and Service-ID (i.e., | and remove a DetNet service-specific d-CW and Service-ID (i.e., | |||
S-Label). Relay nodes can change Service-ID values when processing a | S-Label). Relay nodes can change Service-ID values when processing a | |||
DetNet flow, i.e., incoming and outgoing Service-IDs of a DetNet flow | DetNet flow, i.e., incoming and outgoing Service-IDs of a DetNet flow | |||
can be different. Service-ID values are provisioned per DetNet | can be different. Service-ID values are provisioned per DetNet | |||
service via configuration, e.g., via the Controller Plane described | service via configuration, e.g., via the Controller Plane described | |||
in [RFC8938]. In some PREOF topologies, the node performing | in [RFC8938]. In some PREOF topologies, the node performing | |||
replication sends the packets to multiple nodes performing e.g., PEF | replication sends the packets to multiple nodes performing, e.g., PEF | |||
or POF and the replication node can use different Service-ID values | or POF, and the replication node can use different Service-ID values | |||
for the different member flows for the same DetNet service. | for the different member flows for the same DetNet service. | |||
Note, that Service-IDs is a local ID on the receiver side providing | Note that the Service-ID is a local ID on the receiver side that | |||
identification of the DetNet flow at the downstream DetNet service | identifies the DetNet flow at the downstream DetNet service sub-layer | |||
sub-layer receiver. | receiver. | |||
4.4. Flow Aggregation | 4.4. Flow Aggregation | |||
Two methods can be used for flow aggregation: | Two methods can be used for flow aggregation: | |||
* aggregation using same UDP tunnel, | * aggregation using same UDP tunnel, and | |||
* aggregating DetNet flows as a new DetNet flow. | * aggregation of DetNet flows as a new DetNet flow. | |||
In the first case, the different DetNet PseudoWires use the same UDP | In the first method, the different DetNet pseudowires use the same | |||
tunnel, so they are treated as a single (aggregated) flow at the | UDP tunnel, so they are treated as a single (aggregated) flow at the | |||
forwarding sub-layer. At the service sub-layer, each flow uses a | forwarding sub-layer. At the service sub-layer, each flow uses a | |||
different Service ID (see Figure 3 ). | different Service-ID (see Figure 3). | |||
For the second option, an additional hierarchy is created thanks to | For the second method, an additional hierarchy is created by adding | |||
an additional Service-ID and d-CW tuple added to the encapsulation. | an additional Service-ID and d-CW tuple to the encapsulation. The | |||
The Aggregate-ID is a special case of a Service-ID, whose properties | Aggregate-ID is a special case of a Service-ID, whose properties are | |||
are known only at the aggregation and de-aggregation end points. It | known only at the aggregation and deaggregation end points. It is a | |||
is a property of the Aggregate-ID that it is followed by a d-CW | property of the Aggregate-ID that it is followed by a d-CW followed | |||
followed by a Service-ID/d-CW tuple. Figure 4 shows the | by a Service-ID/d-CW tuple. Figure 4 shows the encapsulation in the | |||
encapsulation in case of aggregation. | case of aggregation. | |||
+---------------------------------+ | +---------------------------------+ | |||
| | | | | | |||
| DetNet App-Flow | | | DetNet App-Flow | | |||
| Payload Packet | | | Payload Packet | | |||
| | | | | | |||
+---------------------------------+ <--\ | +---------------------------------+ <--\ | |||
| DetNet Control Word | | | | DetNet Control Word | | | |||
+---------------------------------+ +--> PREOF capable | +---------------------------------+ +--> PREOF-capable | |||
| Service-ID (S-Label) | | DetNet IP data | | Service-ID (S-Label) | | DetNet IP data | |||
+---------------------------------+ | plane encapsulation | +---------------------------------+ | plane encapsulation | |||
| DetNet Control Word | | | | DetNet Control Word | | | |||
+---------------------------------+ | | +---------------------------------+ | | |||
| Aggregate-ID (A-Label) | | | | Aggregate-ID (A-Label) | | | |||
+---------------------------------+ | | +---------------------------------+ | | |||
| UDP Header | | | | UDP Header | | | |||
+---------------------------------+ | | +---------------------------------+ | | |||
| IP Header | | | | IP Header | | | |||
+---------------------------------+ <--/ | +---------------------------------+ <--/ | |||
| Data-Link | | | Data-Link | | |||
+---------------------------------+ | +---------------------------------+ | |||
| Physical | | | Physical | | |||
+---------------------------------+ | +---------------------------------+ | |||
Figure 4: Aggregating DetNet flows as a new DetNet flow | Figure 4: Aggregating DetNet Flows as a New DetNet Flow | |||
The option used for aggregation is known by configuration of the | The aggregation method is configured in the aggregation/deaggregation | |||
aggregation/de-aggregation nodes. | nodes. | |||
If several Detnet flows are aggregated in a single UDP tunnel, they | If several DetNet flows are aggregated in a single UDP tunnel, they | |||
all need to follow the same path in the network. | all need to follow the same path in the network. | |||
4.5. PREOF Processing | 4.5. PREOF Processing | |||
A node operating on a received DetNet flow at the DetNet service sub- | A node operating on a received DetNet flow at the DetNet service sub- | |||
layer uses the local context associated with a received Service-ID to | layer uses the local context associated with a received Service-ID to | |||
determine which local DetNet operation(s) are applied to received | determine which local DetNet operation(s) are applied to the received | |||
packet. A Service-ID can be allocated to be unique and enabling | packet. A unique Service-ID can be allocated and can be used to | |||
DetNet flow identification regardless of which input interface or UDP | identify a DetNet flow regardless of which input interface or UDP | |||
tunnel the packet is received. It is important to note that Service- | tunnel receives the packet. It is important to note that Service-ID | |||
ID values are driven by the receiver, not the sender. | values are driven by the receiver, not the sender. | |||
The DetNet forwarding sub-layer is supported by the UDP tunnel and is | The DetNet forwarding sub-layer is supported by the UDP tunnel and is | |||
responsible for providing resource allocation and explicit routes. | responsible for providing resource allocation and explicit routes. | |||
The outgoing PREOF encapsulation and processing can be implemented | The outgoing PREOF encapsulation and processing can be implemented | |||
via the provisioning of UDP and IP header information. Note, when | via the provisioning of UDP and IP header information. Note, when | |||
PRF is performed at the DetNet service sub-layer, there are multiple | PRF is performed at the DetNet service sub-layer, there are multiple | |||
member flows, and each member flow requires their own Service-ID, UDP | member flows, and each member flow requires its own Service-ID, UDP | |||
and IP header information. The headers for each outgoing packet are | header information, and IP header information. The headers for each | |||
formatted according to the configuration information, and the UDP | outgoing packet are formatted according to the configuration | |||
Source Port value is set to uniquely identify the DetNet flow. The | information, and the UDP Source Port value is set to uniquely | |||
packet is then handled as a PREOF capable DetNet IP packet. | identify the DetNet flow. The packet is then handled as a PREOF- | |||
capable DetNet IP packet. | ||||
The incoming PREOF processing can be implemented via the provisioning | The incoming PREOF processing can be implemented by assigning a | |||
of received Service-ID, UDP and IP header information. The | Service-ID to the received DetNet flow and processing the information | |||
provisioned information is used to identify incoming app-flows based | in the UDP and IP headers. The provisioned information is used to | |||
on the combination of Service-ID and/or incoming encapsulation header | identify incoming App-flows based on the combination of Service-ID | |||
information. | and/or incoming encapsulation header information. | |||
4.6. PREOF capable DetNet IP domain | 4.6. PREOF-Capable DetNet IP Domain | |||
Figure 5 shows using PREOF in a PREOF capable DetNet IP network, | Figure 5 shows using PREOF in a PREOF-capable DetNet IP network, | |||
where service protection is provided end to end, an not only within | where service protection is provided end to end, and not only within | |||
sub-networks like depicted in Figure 4 of [RFC8939]. | sub-networks, as is depicted in Figure 4 <https://www.rfc- | |||
editor.org/rfc/rfc8939#figure-4> of [RFC8939]. | ||||
<---------- PREOF capable DetNet IP ---------------> | <---------- PREOF-capable DetNet IP ---------------> | |||
______ | ______ | |||
____ / \__ | ____ / \__ | |||
____ / \__/ \____________ | ____ / \__/ \____________ | |||
+----+ __/ \____/ \ +----+ | +----+ __/ \____/ \ +----+ | |||
|src |_____/ \___| dst| | |src |_____/ \___| dst| | |||
+----+ \_______ DetNet network __________/ +----+ | +----+ \_______ DetNet network __________/ +----+ | |||
\_______ _/ | \_______ _/ | |||
\ __ __/ | \ __ __/ | |||
\_______/ \___/ | \_______/ \___/ | |||
+------------+ | +------------+ | |||
+---------------E1---+ | | | +---------------E1---+ | | | |||
+----+ | | +---R3---+ | +----+ | +----+ | | +---R3---+ | +----+ | |||
|src |------R1 +---+ | E3----O----+ dst| | |src |------R1 +---+ | E3----O----+ dst| | |||
+----+ | | E2-------+ +----+ | +----+ | | E2-------+ +----+ | |||
+----------R2 | | +----------R2 | | |||
+-----------------+ | +-----------------+ | |||
Figure 5: PREOF capable DetNet IP domain | Figure 5: PREOF-Capable DetNet IP Domain | |||
5. Control and Management Plane Parameters | 5. Control and Management Plane Parameters | |||
The information needed to identify individual and aggregated DetNet | The information needed to identify individual and aggregated DetNet | |||
flows is summarized as follows: | flows is summarized as follows: | |||
* Service-ID information to be mapped to UDP/IP flows. Note that, | * Service-ID information to be mapped to UDP/IP flows. Note that, | |||
for example, a single Service-ID can map to multiple sets of UDP/ | for example, a single Service-ID can map to multiple sets of UDP/ | |||
IP information when PREOF is used. | IP information when PREOF is used. | |||
* IPv4 or IPv6 source address field. | * IPv4 or IPv6 Source Address field. | |||
* IPv4 or IPv6 source address prefix length, where a zero (0) value | * IPv4 or IPv6 source address prefix length, where a zero (0) value | |||
effectively means that the address field is ignored. | effectively means that the address field is ignored. | |||
* IPv4 or IPv6 destination address field. | * IPv4 or IPv6 Destination Address field. | |||
* IPv4 or IPv6 destination address prefix length, where a zero (0) | * IPv4 or IPv6 destination address prefix length, where a zero (0) | |||
effectively means that the address field is ignored. | effectively means that the address field is ignored. | |||
* IPv6 flow label field. | * IPv6 Flow Label field. | |||
* IPv4 protocol field being equal to "UDP". | * IPv4 Protocol field being equal to "UDP". | |||
* IPv6 (last) next header field being equal to "UDP". | * IPv6 (last) Next Header field being equal to "UDP". | |||
* For the IPv4 Type of Service and IPv6 Traffic Class Fields: | * For the IPv4 Type of Service and IPv6 Traffic Class fields: | |||
- Whether or not the DSCP field is used in flow identification as | - Whether or not the Differentiated Services Code Point (DSCP) | |||
the use of the DSCP field for flow identification is optional. | field is used in flow identification, as the use of the DSCP | |||
field for flow identification is optional. | ||||
- If the DSCP field is used to identify a flow, then the flow | - If the DSCP field is used to identify a flow, then the flow | |||
identification information (for that flow) includes a list of | identification information (for that flow) includes a list of | |||
DSCPs used by the given DetNet flow. | DSCPs used by the given DetNet flow. | |||
* UDP Source Port. Support for both exact and wildcard matching is | * UDP Source Port. Support for both exact and wildcard matching is | |||
required. Port ranges can optionally be used. | required. Port ranges can optionally be used. | |||
* UDP Destination Port. Support for both exact and wildcard | * UDP Destination Port. Support for both exact and wildcard | |||
matching is required. Port ranges can optionally be used. | matching is required. Port ranges can optionally be used. | |||
* For end systems, an optional maximum IP packet size that should be | * For end systems, an optional maximum IP packet size that should be | |||
used for that outgoing DetNet IP flow. | used for that outgoing DetNet IP flow. | |||
This information is provisioned per DetNet flow via configuration, | This information is provisioned per DetNet flow via configuration, | |||
e.g., via the controller plane. | e.g., via the Controller Plane. | |||
Ordering of the set of information used to identify an individual | Ordering of the set of information used to identify an individual | |||
DetNet flow can, for example, be used to provide a DetNet service for | DetNet flow can, for example, be used to provide a DetNet service for | |||
a specific UDP flow, with unique Source and Destination Port field | a specific UDP flow, with unique Source and Destination Port field | |||
values, while providing a different service for the aggregate of all | values, while providing a different service for the aggregate of all | |||
other flows with that same UDP Destination Port value. | other flows with that same UDP Destination Port value. | |||
The minimum set of information for the configuration of the DetNet | The minimum set of information for the configuration of the DetNet | |||
service sub-layer is summarized as follows: | service sub-layer is summarized as follows: | |||
* App-flow identification information. | * App-flow identification information | |||
* Sequence number length. | * Sequence number length | |||
* PREOF + related Service-ID(s). | * Type of PREOF to be executed on the DetNet flow | |||
* Associated forwarding sub-layer information. | * Service-ID(s) used by the member flows | |||
* Service aggregation information. | * Associated forwarding sub-layer information | |||
* Service aggregation information | ||||
The minimum set of information for the configuration of the DetNet | The minimum set of information for the configuration of the DetNet | |||
forwarding sub-layer is summarized as follows: | forwarding sub-layer is summarized as follows: | |||
* UDP tunnel specific information. | * UDP tunnel-specific information | |||
* Traffic parameters. | * Traffic parameters | |||
These parameters are defined in the DetNet Flow and Service | These parameters are defined in the DetNet flow and service | |||
information model [RFC9016] and the DetNet YANG model. | information model [RFC9016] and the DetNet YANG model. | |||
Note: this document focuses on the use of MPLS over UDP/IP | Note: this document focuses on the use of MPLS-over-UDP/IP | |||
encapsulation throughout an entire DetNet IP network, making MPLS- | encapsulation throughout an entire DetNet IP network, making MPLS- | |||
based DetNet OAM techniques applicable [I-D.ietf-detnet-mpls-oam]. | based DetNet Operations, Administration, and Maintenance (OAM) | |||
Using the described encapsulation only for a portion of a DetNet IP | techniques applicable [RFC9546]. Using the described encapsulation | |||
network that handles the PREOF functionality would complicate OAM. | only for a portion of a DetNet IP network that handles PREOF would | |||
complicate OAM. | ||||
6. Security Considerations | 6. Security Considerations | |||
There are no new DetNet related security considerations introduced by | There are no new DetNet-related security considerations introduced by | |||
this solution. Security considerations of DetNet MPLS [RFC8964] and | this solution. Security considerations of DetNet MPLS [RFC8964] and | |||
DetNet MPLS over UDP/IP [RFC9025] apply. | DetNet MPLS over UDP/IP [RFC9025] apply. | |||
7. IANA Considerations | 7. IANA Considerations | |||
This document makes no IANA requests. | This document has no IANA actions. | |||
8. Acknowledgements | ||||
Authors extend their appreciation to Stewart Bryant, Pascal Thubert, | ||||
David Black, Shirley Yangfan and Greg Mirsky for their insightful | ||||
comments and productive discussion that helped to improve the | ||||
document. | ||||
9. References | ||||
9.1. Normative References | 8. References | |||
[I-D.ietf-detnet-mpls-oam] | 8.1. Normative References | |||
Mirsky, G., Chen, M., and B. Varga, "Operations, | ||||
Administration and Maintenance (OAM) for Deterministic | ||||
Networks (DetNet) with MPLS Data Plane", Work in Progress, | ||||
Internet-Draft, draft-ietf-detnet-mpls-oam-15, 12 January | ||||
2024, <https://datatracker.ietf.org/doc/html/draft-ietf- | ||||
detnet-mpls-oam-15>. | ||||
[RFC8655] Finn, N., Thubert, P., Varga, B., and J. Farkas, | [RFC8655] Finn, N., Thubert, P., Varga, B., and J. Farkas, | |||
"Deterministic Networking Architecture", RFC 8655, | "Deterministic Networking Architecture", RFC 8655, | |||
DOI 10.17487/RFC8655, October 2019, | DOI 10.17487/RFC8655, October 2019, | |||
<https://www.rfc-editor.org/info/rfc8655>. | <https://www.rfc-editor.org/info/rfc8655>. | |||
[RFC8938] Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S. | [RFC8938] Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S. | |||
Bryant, "Deterministic Networking (DetNet) Data Plane | Bryant, "Deterministic Networking (DetNet) Data Plane | |||
Framework", RFC 8938, DOI 10.17487/RFC8938, November 2020, | Framework", RFC 8938, DOI 10.17487/RFC8938, November 2020, | |||
<https://www.rfc-editor.org/info/rfc8938>. | <https://www.rfc-editor.org/info/rfc8938>. | |||
skipping to change at page 11, line 40 ¶ | skipping to change at line 475 ¶ | |||
Fedyk, "Flow and Service Information Model for | Fedyk, "Flow and Service Information Model for | |||
Deterministic Networking (DetNet)", RFC 9016, | Deterministic Networking (DetNet)", RFC 9016, | |||
DOI 10.17487/RFC9016, March 2021, | DOI 10.17487/RFC9016, March 2021, | |||
<https://www.rfc-editor.org/info/rfc9016>. | <https://www.rfc-editor.org/info/rfc9016>. | |||
[RFC9025] Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S. | [RFC9025] Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S. | |||
Bryant, "Deterministic Networking (DetNet) Data Plane: | Bryant, "Deterministic Networking (DetNet) Data Plane: | |||
MPLS over UDP/IP", RFC 9025, DOI 10.17487/RFC9025, April | MPLS over UDP/IP", RFC 9025, DOI 10.17487/RFC9025, April | |||
2021, <https://www.rfc-editor.org/info/rfc9025>. | 2021, <https://www.rfc-editor.org/info/rfc9025>. | |||
9.2. Informative References | [RFC9546] Mirsky, G., Chen, M., and B. Varga, "Operations, | |||
Administration, and Maintenance (OAM) for Deterministic | ||||
Networking (DetNet) with the MPLS Data Plane", RFC 9546, | ||||
DOI 10.17487/RFC9546, February 2024, | ||||
<https://www.rfc-editor.org/info/rfc9546>. | ||||
[I-D.ietf-detnet-pof] | 8.2. Informative References | |||
Varga, B., Farkas, J., Kehrer, S., and T. Heer, | ||||
"Deterministic Networking (DetNet): Packet Ordering | ||||
Function", Work in Progress, Internet-Draft, draft-ietf- | ||||
detnet-pof-11, 15 January 2024, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-detnet- | ||||
pof-11>. | ||||
[IEEE8021CB] | [IEEE8021CB] | |||
IEEE, "IEEE Standard for Local and metropolitan area | IEEE, "IEEE Standard for Local and metropolitan area | |||
networks -- Frame Replication and Elimination for | networks -- Frame Replication and Elimination for | |||
Reliability", DOI 10.1109/IEEESTD.2017.8091139, October | Reliability", IEEE Std 802.1CB-2017, | |||
2017, | DOI 10.1109/IEEESTD.2017.8091139, October 2017, | |||
<https://standards.ieee.org/standard/802_1CB-2017.html>. | <https://doi.org/10.1109/IEEESTD.2017.8091139>. | |||
[IEEEP8021CBcv] | [IEEE8021CBcv] | |||
Kehrer, S., "FRER YANG Data Model and Management | IEEE, "IEEE Standard for Local and metropolitan area | |||
Information Base Module", IEEE P802.1CBcv | networks -- Frame Replication and Elimination for | |||
/D1.2 P802.1CBcv, March 2021, | Reliability - Amendment 1: Information Model, YANG Data | |||
<https://www.ieee802.org/1/files/private/cv-drafts/d1/802- | Model, and Management Information Base Module", Amendment | |||
1CBcv-d1-2.pdf>. | to IEEE Std 802.1CB-2017, IEEE Std 802.1CBcv-2021, | |||
DOI 10.1109/IEEESTD.2022.9715061, February 2022, | ||||
<https://doi.org/10.1109/IEEESTD.2022.9715061>. | ||||
[RFC9550] Varga, B., Ed., Farkas, J., Kehrer, S., and T. Heer, | ||||
"Deterministic Networking (DetNet): Packet Ordering | ||||
Function", RFC 9550, DOI 10.17487/RFC9550, March 2024, | ||||
<https://www.rfc-editor.org/info/rfc9550>. | ||||
Acknowledgements | ||||
Authors extend their appreciation to Stewart Bryant, Pascal Thubert, | ||||
David Black, Shirley Yangfan, and Greg Mirsky for their insightful | ||||
comments and productive discussion that helped to improve the | ||||
document. | ||||
Authors' Addresses | Authors' Addresses | |||
Balazs Varga | Balazs Varga | |||
Ericsson | Ericsson | |||
Budapest | Budapest | |||
Magyar Tudosok krt. 11. | Magyar Tudosok krt. 11. | |||
1117 | 1117 | |||
Hungary | Hungary | |||
Email: balazs.a.varga@ericsson.com | Email: balazs.a.varga@ericsson.com | |||
End of changes. 79 change blocks. | ||||
207 lines changed or deleted | 210 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |