rfc8938v4.txt | rfc8938.txt | |||
---|---|---|---|---|
skipping to change at line 13 ¶ | skipping to change at line 13 ¶ | |||
Request for Comments: 8938 J. Farkas | Request for Comments: 8938 J. Farkas | |||
Category: Informational Ericsson | Category: Informational Ericsson | |||
ISSN: 2070-1721 L. Berger | ISSN: 2070-1721 L. Berger | |||
LabN Consulting, L.L.C. | LabN Consulting, L.L.C. | |||
A. Malis | A. Malis | |||
Malis Consulting | Malis Consulting | |||
S. Bryant | S. Bryant | |||
Futurewei Technologies | Futurewei Technologies | |||
November 2020 | November 2020 | |||
Deterministic Networking (DetNet) Data-Plane Framework | Deterministic Networking (DetNet) Data Plane Framework | |||
Abstract | Abstract | |||
This document provides an overall framework for the Deterministic | This document provides an overall framework for the Deterministic | |||
Networking (DetNet) data plane. It covers concepts and | Networking (DetNet) data plane. It covers concepts and | |||
considerations that are generally common to any DetNet data-plane | considerations that are generally common to any DetNet data plane | |||
specification. It describes related Controller-Plane considerations | specification. It describes related Controller Plane considerations | |||
as well. | as well. | |||
Status of This Memo | Status of This Memo | |||
This document is not an Internet Standards Track specification; it is | This document is not an Internet Standards Track specification; it is | |||
published for informational purposes. | published for informational purposes. | |||
This document is a product of the Internet Engineering Task Force | This document is a product of the Internet Engineering Task Force | |||
(IETF). It represents the consensus of the IETF community. It has | (IETF). It represents the consensus of the IETF community. It has | |||
received public review and has been approved for publication by the | received public review and has been approved for publication by the | |||
skipping to change at line 61 ¶ | skipping to change at line 61 ¶ | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction | 1. Introduction | |||
2. Terminology | 2. Terminology | |||
2.1. Terms Used in This Document | 2.1. Terms Used in This Document | |||
2.2. Abbreviations | 2.2. Abbreviations | |||
3. Overview of the DetNet Data Plane | 3. Overview of the DetNet Data Plane | |||
3.1. Data-Plane Characteristics | 3.1. Data Plane Characteristics | |||
3.1.1. Data-Plane Technology | 3.1.1. Data Plane Technology | |||
3.1.2. Encapsulation | 3.1.2. Encapsulation | |||
3.2. DetNet-Specific Metadata | 3.2. DetNet-Specific Metadata | |||
3.3. DetNet IP Data Plane | 3.3. DetNet IP Data Plane | |||
3.4. DetNet MPLS Data Plane | 3.4. DetNet MPLS Data Plane | |||
3.5. Further DetNet Data-Plane Considerations | 3.5. Further DetNet Data Plane Considerations | |||
3.5.1. Functions Provided on a Per-Flow Basis | 3.5.1. Functions Provided on a Per-Flow Basis | |||
3.5.2. Service Protection | 3.5.2. Service Protection | |||
3.5.3. Aggregation Considerations | 3.5.3. Aggregation Considerations | |||
3.5.4. End-System-Specific Considerations | 3.5.4. End-System-Specific Considerations | |||
3.5.5. Sub-network Considerations | 3.5.5. Sub-network Considerations | |||
4. Controller-Plane (Management and Control) Considerations | 4. Controller Plane (Management and Control) Considerations | |||
4.1. DetNet Controller-Plane Requirements | 4.1. DetNet Controller Plane Requirements | |||
4.2. Generic Controller-Plane Considerations | 4.2. Generic Controller Plane Considerations | |||
4.2.1. Flow Aggregation Control | 4.2.1. Flow Aggregation Control | |||
4.2.2. Explicit Routes | 4.2.2. Explicit Routes | |||
4.2.3. Contention Loss and Jitter Reduction | 4.2.3. Contention Loss and Jitter Reduction | |||
4.2.4. Bidirectional Traffic | 4.2.4. Bidirectional Traffic | |||
4.3. Packet Replication, Elimination, and Ordering Functions | 4.3. Packet Replication, Elimination, and Ordering Functions | |||
(PREOF) | (PREOF) | |||
5. Security Considerations | 5. Security Considerations | |||
6. IANA Considerations | 6. IANA Considerations | |||
7. References | 7. References | |||
7.1. Normative References | 7.1. Normative References | |||
skipping to change at line 99 ¶ | skipping to change at line 99 ¶ | |||
Authors' Addresses | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
DetNet (Deterministic Networking) provides the ability to carry | DetNet (Deterministic Networking) provides the ability to carry | |||
specified unicast or multicast data flows for real-time applications | specified unicast or multicast data flows for real-time applications | |||
with extremely low packet loss rates and assured maximum end-to-end | with extremely low packet loss rates and assured maximum end-to-end | |||
delivery latency. A description of the general background and | delivery latency. A description of the general background and | |||
concepts of DetNet can be found in [RFC8655]. | concepts of DetNet can be found in [RFC8655]. | |||
This document describes the concepts needed by any DetNet data-plane | This document describes the concepts needed by any DetNet data plane | |||
specification (i.e., the DetNet-specific use of packet header fields) | specification (i.e., the DetNet-specific use of packet header fields) | |||
and provides considerations for any corresponding implementation. It | and provides considerations for any corresponding implementation. It | |||
covers the building blocks that provide the DetNet service, the | covers the building blocks that provide the DetNet service, the | |||
DetNet service sub-layer, and the DetNet forwarding sub-layer | DetNet service sub-layer, and the DetNet forwarding sub-layer | |||
functions as described in the DetNet architecture [RFC8655]. | functions as described in the DetNet architecture [RFC8655]. | |||
The DetNet architecture models the DetNet-related data-plane | The DetNet architecture models the DetNet-related data plane | |||
functions as being decomposed into two sub-layers: a service | functions as being decomposed into two sub-layers: a service | |||
sub-layer and a forwarding sub-layer. The service sub-layer is used | sub-layer and a forwarding sub-layer. The service sub-layer is used | |||
to provide DetNet service protection and reordering. The forwarding | to provide DetNet service protection and reordering. The forwarding | |||
sub-layer leverages traffic engineering mechanisms and provides | sub-layer leverages traffic engineering mechanisms and provides | |||
congestion protection (low loss, assured latency, and limited out-of- | congestion protection (low loss, assured latency, and limited out-of- | |||
order delivery). A particular forwarding sub-layer may have | order delivery). A particular forwarding sub-layer may have | |||
capabilities that are not available on other forwarding sub-layers. | capabilities that are not available on other forwarding sub-layers. | |||
DetNet makes use of the existing forwarding sub-layers with their | DetNet makes use of the existing forwarding sub-layers with their | |||
respective capabilities and does not require 1:1 equivalence between | respective capabilities and does not require 1:1 equivalence between | |||
different forwarding sub-layer capabilities. | different forwarding sub-layer capabilities. | |||
As part of the service sub-layer functions, this document describes | As part of the service sub-layer functions, this document describes | |||
typical DetNet node data-plane operation. It describes the | typical DetNet node data plane operation. It describes the | |||
functionality and operation of the Packet Replication Function (PRF), | functionality and operation of the Packet Replication Function (PRF), | |||
the Packet Elimination Function (PEF), and the Packet Ordering | the Packet Elimination Function (PEF), and the Packet Ordering | |||
Function (POF) within the service sub-layer. Furthermore, it | Function (POF) within the service sub-layer. Furthermore, it | |||
describes the forwarding sub-layer. | describes the forwarding sub-layer. | |||
As defined in [RFC8655], DetNet flows may be carried over network | As defined in [RFC8655], DetNet flows may be carried over network | |||
technologies that can provide service characteristics required by | technologies that can provide service characteristics required by | |||
DetNet. For example, DetNet MPLS flows can be carried over IEEE | DetNet. For example, DetNet MPLS flows can be carried over IEEE | |||
802.1 Time-Sensitive Networking (TSN) sub-networks [IEEE802.1TSNTG]. | 802.1 Time-Sensitive Networking (TSN) sub-networks [IEEE802.1TSNTG]. | |||
However, IEEE 802.1 TSN support is not required in DetNet. TSN frame | However, IEEE 802.1 TSN support is not required in DetNet. TSN frame | |||
skipping to change at line 144 ¶ | skipping to change at line 144 ¶ | |||
capabilities, but for such networks and traffic mixes, delay and | capabilities, but for such networks and traffic mixes, delay and | |||
jitter performance may vary due to the forwarding sub-layer's | jitter performance may vary due to the forwarding sub-layer's | |||
intrinsic properties. | intrinsic properties. | |||
Different application flows, such as Ethernet or IP, can be mapped on | Different application flows, such as Ethernet or IP, can be mapped on | |||
top of DetNet. DetNet can optionally reuse header information | top of DetNet. DetNet can optionally reuse header information | |||
provided by, or shared with, applications. An example of shared | provided by, or shared with, applications. An example of shared | |||
header fields can be found in [RFC8939]. | header fields can be found in [RFC8939]. | |||
This document also covers basic concepts related to the Controller | This document also covers basic concepts related to the Controller | |||
Plane and Operations, Administration, and Maintenance (OAM). Data- | Plane and Operations, Administration, and Maintenance (OAM). Data | |||
plane OAM specifics are out of scope for this document. | plane OAM specifics are out of scope for this document. | |||
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 it is assumed that the reader is familiar | architecture [RFC8655], and it is assumed that the reader is familiar | |||
with that document and its terminology. | with that document and its terminology. | |||
skipping to change at line 209 ¶ | skipping to change at line 209 ¶ | |||
TDM Time-Division Multiplexing | TDM Time-Division Multiplexing | |||
TSN Time-Sensitive Networking | TSN Time-Sensitive Networking | |||
YANG Yet Another Next Generation | YANG Yet Another Next Generation | |||
3. Overview of the DetNet Data Plane | 3. Overview of the DetNet Data Plane | |||
This document describes how application flows, or App-flows | This document describes how application flows, or App-flows | |||
[RFC8655], are carried over DetNet networks. The DetNet architecture | [RFC8655], are carried over DetNet networks. The DetNet architecture | |||
[RFC8655] models the DetNet-related data-plane functions as | [RFC8655] models the DetNet-related data plane functions as | |||
decomposed into two sub-layers: a service sub-layer and a forwarding | decomposed into two sub-layers: a service sub-layer and a forwarding | |||
sub-layer. | sub-layer. | |||
Figure 1, reproduced from [RFC8655], shows a logical DetNet service | Figure 1, reproduced from [RFC8655], shows a logical DetNet service | |||
with the two sub-layers. | with the two sub-layers. | |||
| packets going | ^ packets coming ^ | | packets going | ^ packets coming ^ | |||
v down the stack v | up the stack | | v down the stack v | up the stack | | |||
+-----------------------+ +-----------------------+ | +-----------------------+ +-----------------------+ | |||
| Source | | Destination | | | Source | | Destination | | |||
skipping to change at line 235 ¶ | skipping to change at line 235 ¶ | |||
+-----------------------+ +-----------------------+ | +-----------------------+ +-----------------------+ | |||
| Forwarding sub-layer: | | Forwarding sub-layer: | | | Forwarding sub-layer: | | Forwarding sub-layer: | | |||
| Resource allocation | | Resource allocation | | | Resource allocation | | Resource allocation | | |||
| Explicit routes | | Explicit routes | | | Explicit routes | | Explicit routes | | |||
+-----------------------+ +-----------------------+ | +-----------------------+ +-----------------------+ | |||
| Lower layers | | Lower layers | | | Lower layers | | Lower layers | | |||
+-----------------------+ +-----------------------+ | +-----------------------+ +-----------------------+ | |||
v ^ | v ^ | |||
\_________________________/ | \_________________________/ | |||
Figure 1: DetNet Data-Plane Protocol Stack | Figure 1: DetNet Data Plane Protocol Stack | |||
The DetNet forwarding sub-layer may be directly provided by the | The DetNet forwarding sub-layer may be directly provided by the | |||
DetNet service sub-layer -- for example, by IP tunnels or MPLS. | DetNet service sub-layer -- for example, by IP tunnels or MPLS. | |||
Alternatively, an overlay approach may be used in which the packet is | Alternatively, an overlay approach may be used in which the packet is | |||
natively carried between key nodes within the DetNet network (say, | natively carried between key nodes within the DetNet network (say, | |||
between PREOF nodes), and a sub-layer is used to provide the | between PREOF nodes), and a sub-layer is used to provide the | |||
information needed to reach the next hop in the overlay. | information needed to reach the next hop in the overlay. | |||
The forwarding sub-layer provides the QoS-related functions needed by | The forwarding sub-layer provides the QoS-related functions needed by | |||
the DetNet flow. It may do this directly through the use of queuing | the DetNet flow. It may do this directly through the use of queuing | |||
skipping to change at line 263 ¶ | skipping to change at line 263 ¶ | |||
The service sub-layer provides additional support beyond the | The service sub-layer provides additional support beyond the | |||
connectivity function of the forwarding sub-layer. See Section 4.3 | connectivity function of the forwarding sub-layer. See Section 4.3 | |||
regarding PREOF. The POF uses sequence numbers added to packets, | regarding PREOF. The POF uses sequence numbers added to packets, | |||
enabling a range of packet order protection from simple ordering and | enabling a range of packet order protection from simple ordering and | |||
dropping out-of-order packets to more complex reordering of a fixed | dropping out-of-order packets to more complex reordering of a fixed | |||
number of out-of-order, minimally delayed packets. Reordering | number of out-of-order, minimally delayed packets. Reordering | |||
requires buffer resources and has an impact on the delay and jitter | requires buffer resources and has an impact on the delay and jitter | |||
of packets in the DetNet flow. | of packets in the DetNet flow. | |||
The method of instantiating each of the layers is specific to the | The method of instantiating each of the layers is specific to the | |||
particular DetNet data-plane method, and more than one approach may | particular DetNet data plane method, and more than one approach may | |||
be applicable to a given network type. | be applicable to a given network type. | |||
3.1. Data-Plane Characteristics | 3.1. Data Plane Characteristics | |||
The data plane has two major characteristics: the technology and the | The data plane has two major characteristics: the technology and the | |||
encapsulation, as discussed below. | encapsulation, as discussed below. | |||
3.1.1. Data-Plane Technology | 3.1.1. Data Plane Technology | |||
The DetNet data plane is provided by the DetNet service and | The DetNet data plane is provided by the DetNet service and | |||
forwarding sub-layers. The DetNet service sub-layer generally | forwarding sub-layers. The DetNet service sub-layer generally | |||
provides its functions for the DetNet application flows by using or | provides its functions for the DetNet application flows by using or | |||
applying existing standardized headers and/or encapsulations. The | applying existing standardized headers and/or encapsulations. The | |||
DetNet forwarding sub-layer may provide capabilities leveraging that | DetNet forwarding sub-layer may provide capabilities leveraging that | |||
same header or encapsulation technology (e.g., DN IP or DN MPLS), or | same header or encapsulation technology (e.g., DN IP or DN MPLS), or | |||
it may be achieved via other technologies, as shown in Figure 2 | it may be achieved via other technologies, as shown in Figure 2 | |||
below. DetNet is currently defined for operation over packet- | below. DetNet is currently defined for operation over packet- | |||
switched (IP) networks or label-switched (MPLS) networks. | switched (IP) networks or label-switched (MPLS) networks. | |||
3.1.2. Encapsulation | 3.1.2. Encapsulation | |||
DetNet encodes specific flow attributes (flow identity and sequence | DetNet encodes specific flow attributes (flow identity and sequence | |||
number) in packets. For example, in DetNet IP, zero encapsulation is | number) in packets. For example, in DetNet IP, zero encapsulation is | |||
used, and no sequence number is available; in DetNet MPLS, DetNet- | used, and no sequence number is available; in DetNet MPLS, DetNet- | |||
specific information may be added explicitly to the packets in the | specific information may be added explicitly to the packets in the | |||
form of an S-Label and a d-CW [DetNet-MPLS]. | form of an S-Label and a d-CW [DetNet-MPLS]. | |||
The encapsulation of a DetNet flow allows it to be sent over a data- | The encapsulation of a DetNet flow allows it to be sent over a data | |||
plane technology other than its native type. DetNet uses header | plane technology other than its native type. DetNet uses header | |||
information to perform traffic classification, i.e., identify DetNet | information to perform traffic classification, i.e., identify DetNet | |||
flows, and provide DetNet service and forwarding functions. As | flows, and provide DetNet service and forwarding functions. As | |||
mentioned above, DetNet may add headers, as is the case for DN MPLS, | mentioned above, DetNet may add headers, as is the case for DN MPLS, | |||
or may use headers that are already present, as is the case for DN | or may use headers that are already present, as is the case for DN | |||
IP. Figure 2 illustrates some relationships between the components. | IP. Figure 2 illustrates some relationships between the components. | |||
+-----+ | +-----+ | |||
| TSN | | | TSN | | |||
+-------+ +-+-----+-+ | +-------+ +-+-----+-+ | |||
skipping to change at line 328 ¶ | skipping to change at line 328 ¶ | |||
equipment with limited DetNet capability. | equipment with limited DetNet capability. | |||
3.2. DetNet-Specific Metadata | 3.2. DetNet-Specific Metadata | |||
The DetNet data plane can provide or carry the following metadata: | The DetNet data plane can provide or carry the following metadata: | |||
1. Flow-ID | 1. Flow-ID | |||
2. Sequence number | 2. Sequence number | |||
The DetNet data-plane framework supports a Flow-ID (for | The DetNet data plane framework supports a Flow-ID (for | |||
identification of the flow or aggregate flow) and/or a sequence | identification of the flow or aggregate flow) and/or a sequence | |||
number (for PREOF) for each DetNet flow. The Flow-ID is used by both | number (for PREOF) for each DetNet flow. The Flow-ID is used by both | |||
the service and forwarding sub-layers, but the sequence number is | the service and forwarding sub-layers, but the sequence number is | |||
only used by the service layer. Metadata can also be used for OAM | only used by the service layer. Metadata can also be used for OAM | |||
indications and instrumentation of DetNet data-plane operation. | indications and instrumentation of DetNet data plane operation. | |||
Metadata inclusion can be implicit or explicit. Explicit inclusions | Metadata inclusion can be implicit or explicit. Explicit inclusions | |||
involve a dedicated header field that is used to include metadata in | involve a dedicated header field that is used to include metadata in | |||
a DetNet packet. In the implicit method, part of an already-existing | a DetNet packet. In the implicit method, part of an already-existing | |||
header field is used to encode the metadata. | header field is used to encode the metadata. | |||
Explicit inclusion of metadata is possible through the use of IP | Explicit inclusion of metadata is possible through the use of IP | |||
options or IP extension headers. New IP options are almost | options or IP extension headers. New IP options are almost | |||
impossible to get standardized or to deploy in an operational network | impossible to get standardized or to deploy in an operational network | |||
and will not be discussed further in this text. IPv6 extension | and will not be discussed further in this text. IPv6 extension | |||
headers are finding popularity in current IPv6 development work, | headers are finding popularity in current IPv6 development work, | |||
particularly in connection with Segment Routing of IPv6 (SRv6) and IP | particularly in connection with Segment Routing of IPv6 (SRv6) and IP | |||
OAM. The design of a new IPv6 extension header or the modification | OAM. The design of a new IPv6 extension header or the modification | |||
of an existing one is a technique available in the toolbox of the | of an existing one is a technique available in the toolbox of the | |||
DetNet IP data-plane designer. | DetNet IP data plane designer. | |||
Explicit inclusion of metadata in an IP packet is also possible | Explicit inclusion of metadata in an IP packet is also possible | |||
through the inclusion of an MPLS label stack and the MPLS d-CW, using | through the inclusion of an MPLS label stack and the MPLS d-CW, using | |||
one of the methods for carrying MPLS over IP | one of the methods for carrying MPLS over IP | |||
[DetNet-MPLS-over-UDP-IP]. This is described in more detail in | [DetNet-MPLS-over-UDP-IP]. This is described in more detail in | |||
Section 3.5.5. | Section 3.5.5. | |||
Implicit metadata in IP can be included through the use of the | Implicit metadata in IP can be included through the use of the | |||
network programming paradigm [SRv6-Network-Prog], in which the suffix | network programming paradigm [SRv6-Network-Prog], in which the suffix | |||
of an IPv6 address is used to encode additional information for use | of an IPv6 address is used to encode additional information for use | |||
skipping to change at line 410 ¶ | skipping to change at line 410 ¶ | |||
packet to a service instance. | packet to a service instance. | |||
In cases where metadata is needed to process an MPLS-encapsulated | In cases where metadata is needed to process an MPLS-encapsulated | |||
packet at the service sub-layer, the d-CW [DetNet-MPLS] can be used. | packet at the service sub-layer, the d-CW [DetNet-MPLS] can be used. | |||
Although such d-CWs are frequently 32 bits long, there is no | Although such d-CWs are frequently 32 bits long, there is no | |||
architectural constraint on the size of this structure -- only the | architectural constraint on the size of this structure -- only the | |||
requirement that it be fully understood by all parties operating on | requirement that it be fully understood by all parties operating on | |||
it in the DetNet service sub-layer. The operation of this method is | it in the DetNet service sub-layer. The operation of this method is | |||
described in detail in [DetNet-MPLS]. | described in detail in [DetNet-MPLS]. | |||
3.5. Further DetNet Data-Plane Considerations | 3.5. Further DetNet Data Plane Considerations | |||
This section provides informative considerations related to providing | This section provides informative considerations related to providing | |||
DetNet service to flows that are identified based on their header | DetNet service to flows that are identified based on their header | |||
information. | information. | |||
3.5.1. Functions Provided on a Per-Flow Basis | 3.5.1. Functions Provided on a Per-Flow Basis | |||
At a high level, the following functions are provided on a per-flow | At a high level, the following functions are provided on a per-flow | |||
basis. | basis. | |||
skipping to change at line 639 ¶ | skipping to change at line 639 ¶ | |||
resource level and then tracking the services in the aggregated | resource level and then tracking the services in the aggregated | |||
service or adjusting the aggregated resources as the services are | service or adjusting the aggregated resources as the services are | |||
added is implementation and technology specific. | added is implementation and technology specific. | |||
DetNet flows at edges must be able to handle rejection to an | DetNet flows at edges must be able to handle rejection to an | |||
aggregation group due to lack of resources as well as conditions | aggregation group due to lack of resources as well as conditions | |||
where requirements are not satisfied. | where requirements are not satisfied. | |||
3.5.3.1. IP Aggregation | 3.5.3.1. IP Aggregation | |||
IP aggregation has both data-plane and Controller-Plane aspects. For | IP aggregation has both data plane and Controller Plane aspects. For | |||
the data plane, flows may be aggregated for treatment based on shared | the data plane, flows may be aggregated for treatment based on shared | |||
characteristics such as 6-tuple [RFC8939]. Alternatively, an IP | characteristics such as 6-tuple [RFC8939]. Alternatively, an IP | |||
encapsulation may be used to tunnel an aggregate number of DetNet | encapsulation may be used to tunnel an aggregate number of DetNet | |||
flows between relay nodes. | flows between relay nodes. | |||
3.5.3.2. MPLS Aggregation | 3.5.3.2. MPLS Aggregation | |||
MPLS aggregation also has data-plane and Controller-Plane aspects. | MPLS aggregation also has data plane and Controller Plane aspects. | |||
MPLS flows are often tunneled in a forwarding sub-layer, under the | MPLS flows are often tunneled in a forwarding sub-layer, under the | |||
reservation associated with that MPLS tunnel. | reservation associated with that MPLS tunnel. | |||
3.5.4. End-System-Specific Considerations | 3.5.4. End-System-Specific Considerations | |||
Data flows requiring DetNet service are generated and terminated on | Data flows requiring DetNet service are generated and terminated on | |||
end systems. Encapsulation depends on the application and its | end systems. Encapsulation depends on the application and its | |||
preferences. For example, in a DetNet MPLS domain, the sub-layer | preferences. For example, in a DetNet MPLS domain, the sub-layer | |||
functions use the d-CWs, S-Labels, and F-Labels [DetNet-MPLS] to | functions use the d-CWs, S-Labels, and F-Labels [DetNet-MPLS] to | |||
provide DetNet services. However, an application may exchange | provide DetNet services. However, an application may exchange | |||
skipping to change at line 726 ¶ | skipping to change at line 726 ¶ | |||
+-----+======+--+======+--+======+-----+ | +-----+======+--+======+--+======+-----+ | |||
Sub-network | L2 | | TSN | | UDP | | Sub-network | L2 | | TSN | | UDP | | |||
+------+ +------+ +------+ | +------+ +------+ +------+ | |||
| IP | | | IP | | |||
+------+ | +------+ | |||
| L2 | | | L2 | | |||
+------+ | +------+ | |||
Figure 5: Example DetNet MPLS Encapsulations in Sub-networks | Figure 5: Example DetNet MPLS Encapsulations in Sub-networks | |||
4. Controller-Plane (Management and Control) Considerations | 4. Controller Plane (Management and Control) Considerations | |||
4.1. DetNet Controller-Plane Requirements | 4.1. DetNet Controller Plane Requirements | |||
The Controller Plane corresponds to the aggregation of the Control | The Controller Plane corresponds to the aggregation of the Control | |||
and Management Planes discussed in [RFC7426] and [RFC8655]. While | and Management Planes discussed in [RFC7426] and [RFC8655]. While | |||
more details regarding any DetNet Controller Plane are out of scope | more details regarding any DetNet Controller Plane are out of scope | |||
for this document, there are particular considerations and | for this document, there are particular considerations and | |||
requirements for the Controller Plane that result from the unique | requirements for the Controller Plane that result from the unique | |||
characteristics of the DetNet architecture and data plane as defined | characteristics of the DetNet architecture and data plane as defined | |||
herein. | herein. | |||
The primary requirements of the DetNet Controller Plane are that it | The primary requirements of the DetNet Controller Plane are that it | |||
skipping to change at line 774 ¶ | skipping to change at line 774 ¶ | |||
location in the network and the DetNet functionality (e.g., | location in the network and the DetNet functionality (e.g., | |||
transit node vs. relay node). | transit node vs. relay node). | |||
These requirements, as stated earlier, could be satisfied using | These requirements, as stated earlier, could be satisfied using | |||
distributed control protocol signaling (such as RSVP-TE), centralized | distributed control protocol signaling (such as RSVP-TE), centralized | |||
network management provisioning mechanisms (BGP, PCEP, YANG, | network management provisioning mechanisms (BGP, PCEP, YANG, | |||
[DetNet-Flow-Info], etc.), or hybrid combinations of the two, and | [DetNet-Flow-Info], etc.), or hybrid combinations of the two, and | |||
could also make use of MPLS-based segment routing. | could also make use of MPLS-based segment routing. | |||
In the abstract, the results of either distributed signaling or | In the abstract, the results of either distributed signaling or | |||
centralized provisioning are equivalent from a DetNet data-plane | centralized provisioning are equivalent from a DetNet data plane | |||
perspective -- flows are instantiated, explicit routes are | perspective -- flows are instantiated, explicit routes are | |||
determined, resources are reserved, and packets are forwarded through | determined, resources are reserved, and packets are forwarded through | |||
the domain using the DetNet data plane. | the domain using the DetNet data plane. | |||
However, from a practical and implementation standpoint, Controller- | However, from a practical and implementation standpoint, Controller | |||
Plane alternatives are not equivalent at all. Some approaches are | Plane alternatives are not equivalent at all. Some approaches are | |||
more scalable than others in terms of signaling load on the network. | more scalable than others in terms of signaling load on the network. | |||
Some alternatives can take advantage of global tracking of resources | Some alternatives can take advantage of global tracking of resources | |||
in the DetNet domain for better overall network resource | in the DetNet domain for better overall network resource | |||
optimization. Some solutions are more resilient than others if link, | optimization. Some solutions are more resilient than others if link, | |||
node, or management equipment failures occur. While a detailed | node, or management equipment failures occur. While a detailed | |||
analysis of the control-plane alternatives is out of scope for this | analysis of the control plane alternatives is out of scope for this | |||
document, the requirements from this document can be used as the | document, the requirements from this document can be used as the | |||
basis of a future analysis of the alternatives. | basis of a future analysis of the alternatives. | |||
4.2. Generic Controller-Plane Considerations | 4.2. Generic Controller Plane Considerations | |||
This section covers control-plane considerations that are independent | This section covers control plane considerations that are independent | |||
of the data-plane technology used for DetNet service delivery. | of the data plane technology used for DetNet service delivery. | |||
While the management plane and the control plane are traditionally | While the management plane and the control plane are traditionally | |||
considered separately, from a data-plane perspective, there is no | considered separately, from a data plane perspective, there is no | |||
practical difference based on the origin of flow-provisioning | practical difference based on the origin of flow-provisioning | |||
information, and the DetNet architecture [RFC8655] refers to these | information, and the DetNet architecture [RFC8655] refers to these | |||
collectively as the "Controller Plane". This document therefore does | collectively as the "Controller Plane". This document therefore does | |||
not distinguish between information provided by distributed control- | not distinguish between information provided by distributed control | |||
plane protocols (e.g., RSVP-TE [RFC3209] [RFC3473]) or centralized | plane protocols (e.g., RSVP-TE [RFC3209] [RFC3473]) or centralized | |||
network management mechanisms (e.g., RESTCONF [RFC8040], YANG | network management mechanisms (e.g., RESTCONF [RFC8040], YANG | |||
[RFC7950], PCEP [PCECC]), or any combination thereof. Specific | [RFC7950], PCEP [PCECC]), or any combination thereof. Specific | |||
considerations and requirements for the DetNet Controller Plane are | considerations and requirements for the DetNet Controller Plane are | |||
discussed in Section 4.1. | discussed in Section 4.1. | |||
Each respective data-plane document also covers the control-plane | Each respective data plane document also covers the control plane | |||
considerations for that technology. For example, [RFC8939] also | considerations for that technology. For example, [RFC8939] also | |||
covers IP control-plane normative considerations, and [DetNet-MPLS] | covers IP control plane normative considerations, and [DetNet-MPLS] | |||
also covers MPLS control-plane normative considerations. | also covers MPLS control plane normative considerations. | |||
4.2.1. Flow Aggregation Control | 4.2.1. Flow Aggregation Control | |||
Flow aggregation means that multiple App-flows are served by a single | Flow aggregation means that multiple App-flows are served by a single | |||
new DetNet flow. There are many techniques to achieve aggregation. | new DetNet flow. There are many techniques to achieve aggregation. | |||
For example, in the case of IP, IP flows that share 6-tuple | For example, in the case of IP, IP flows that share 6-tuple | |||
attributes or flow identifiers at the DetNet sub-layer can be | attributes or flow identifiers at the DetNet sub-layer can be | |||
grouped. Another example includes aggregation accomplished through | grouped. Another example includes aggregation accomplished through | |||
the use of hierarchical LSPs in MPLS and tunnels. | the use of hierarchical LSPs in MPLS and tunnels. | |||
Control of aggregation involves a set of procedures listed here. | Control of aggregation involves a set of procedures listed here. | |||
Aggregation may use some or all of these capabilities, and the order | Aggregation may use some or all of these capabilities, and the order | |||
may vary: | may vary: | |||
Traffic engineering resource collection and distribution: | Traffic engineering resource collection and distribution: | |||
Available resources are tracked through control-plane or | Available resources are tracked through control plane or | |||
management-plane databases and distributed amongst controllers or | management plane databases and distributed amongst controllers or | |||
nodes that can manage resources. | nodes that can manage resources. | |||
Path computation and resource allocation: | Path computation and resource allocation: | |||
When DetNet services are provisioned or requested, one or more | When DetNet services are provisioned or requested, one or more | |||
paths meeting the requirements are selected and the resources | paths meeting the requirements are selected and the resources | |||
verified and recorded. | verified and recorded. | |||
Resource assignment and data-plane coordination: | Resource assignment and data plane coordination: | |||
The assignment of resources along the path depends on the | The assignment of resources along the path depends on the | |||
technology and includes assignment of specific links, coordination | technology and includes assignment of specific links, coordination | |||
of queuing, and other traffic management capabilities such as | of queuing, and other traffic management capabilities such as | |||
policing and shaping. | policing and shaping. | |||
Assigned resource recording and updating: | Assigned resource recording and updating: | |||
Depending on the specific technology, the assigned resources are | Depending on the specific technology, the assigned resources are | |||
updated and distributed in the databases, preventing | updated and distributed in the databases, preventing | |||
oversubscription. | oversubscription. | |||
skipping to change at line 929 ¶ | skipping to change at line 929 ¶ | |||
important property of co-routed bidirectional LSPs is that their | important property of co-routed bidirectional LSPs is that their | |||
unidirectional component LSPs share fate. In both types of | unidirectional component LSPs share fate. In both types of | |||
bidirectional LSPs, resource reservations may differ in each | bidirectional LSPs, resource reservations may differ in each | |||
direction. The concepts of associated bidirectional flows and | direction. The concepts of associated bidirectional flows and | |||
co-routed bidirectional flows can also be applied to DetNet IP flows. | co-routed bidirectional flows can also be applied to DetNet IP flows. | |||
While the DetNet IP data plane must support bidirectional DetNet | While the DetNet IP data plane must support bidirectional DetNet | |||
flows, there are no special bidirectional features with respect to | flows, there are no special bidirectional features with respect to | |||
the data plane other than the need for the two directions of a | the data plane other than the need for the two directions of a | |||
co-routed bidirectional flow to take the same path. That is to say, | co-routed bidirectional flow to take the same path. That is to say, | |||
bidirectional DetNet flows are solely represented at the management- | bidirectional DetNet flows are solely represented at the management | |||
plane and control-plane levels, without specific support or knowledge | plane and control plane levels, without specific support or knowledge | |||
within the DetNet data plane. Fate-sharing and associated or | within the DetNet data plane. Fate-sharing and associated or | |||
co-routed bidirectional flows can be managed at the control level. | co-routed bidirectional flows can be managed at the control level. | |||
DetNet's use of PREOF may increase the complexity of using co-routing | DetNet's use of PREOF may increase the complexity of using co-routing | |||
bidirectional flows, because if PREOF are used, the replication | bidirectional flows, because if PREOF are used, the replication | |||
points in one direction would have to match the elimination points in | points in one direction would have to match the elimination points in | |||
the other direction, and vice versa. In such cases, the optimal | the other direction, and vice versa. In such cases, the optimal | |||
points for these functions in one direction may not match the optimal | points for these functions in one direction may not match the optimal | |||
points in the other, due to network and traffic constraints. | points in the other, due to network and traffic constraints. | |||
Furthermore, due to the per-packet service protection nature, | Furthermore, due to the per-packet service protection nature, | |||
bidirectional forwarding may not be ensured. The first packet of | bidirectional forwarding may not be ensured. The first packet of | |||
received member flows is selected by the elimination function | received member flows is selected by the elimination function | |||
independently of which path it has taken through the network. | independently of which path it has taken through the network. | |||
Control and management mechanisms need to support bidirectional | Control and management mechanisms need to support bidirectional | |||
flows, but the specification of such mechanisms is out of scope for | flows, but the specification of such mechanisms is out of scope for | |||
this document. Example control-plane solutions for MPLS can be found | this document. Example control plane solutions for MPLS can be found | |||
in [RFC3473], [RFC6387], and [RFC7551]. These requirements are | in [RFC3473], [RFC6387], and [RFC7551]. These requirements are | |||
included in Section 4.1. | included in Section 4.1. | |||
4.3. Packet Replication, Elimination, and Ordering Functions (PREOF) | 4.3. Packet Replication, Elimination, and Ordering Functions (PREOF) | |||
The Controller-Plane protocol solution required for managing the | The Controller Plane protocol solution required for managing the | |||
processing of PREOF is outside the scope of this document. That | processing of PREOF is outside the scope of this document. That | |||
said, it should be noted that the ability to determine, for a | said, it should be noted that the ability to determine, for a | |||
particular flow, optimal packet replication and elimination points in | particular flow, optimal packet replication and elimination points in | |||
the DetNet domain requires explicit support. There may be existing | the DetNet domain requires explicit support. There may be existing | |||
capabilities that can be used or extended -- for example, GMPLS end- | capabilities that can be used or extended -- for example, GMPLS end- | |||
to-end recovery [RFC4872] and GMPLS segment recovery [RFC4873]. | to-end recovery [RFC4872] and GMPLS segment recovery [RFC4873]. | |||
5. Security Considerations | 5. Security Considerations | |||
Security considerations for DetNet are described in detail in | Security considerations for DetNet are described in detail in | |||
skipping to change at line 984 ¶ | skipping to change at line 984 ¶ | |||
As for all communications protocols, the primary consideration for | As for all communications protocols, the primary consideration for | |||
the data plane is to maintain integrity of data and delivery of the | the data plane is to maintain integrity of data and delivery of the | |||
associated DetNet service traversing the DetNet network. Application | associated DetNet service traversing the DetNet network. Application | |||
flows can be protected through whatever means is provided by the | flows can be protected through whatever means is provided by the | |||
underlying technology. For example, encryption may be used, such as | underlying technology. For example, encryption may be used, such as | |||
that provided by IPsec [RFC4301] for IP flows and/or by an underlying | that provided by IPsec [RFC4301] for IP flows and/or by an underlying | |||
sub-network using MACsec [IEEE802.1AE-2018] for Ethernet (Layer 2) | sub-network using MACsec [IEEE802.1AE-2018] for Ethernet (Layer 2) | |||
flows. | flows. | |||
At the management and control levels, DetNet flows are identified on | At the management and control levels, DetNet flows are identified on | |||
a per-flow basis, which may provide Controller-Plane attackers with | a per-flow basis, which may provide Controller Plane attackers with | |||
additional information about the data flows (when compared to | additional information about the data flows (when compared to | |||
Controller Planes that do not include per-flow identification). This | Controller Planes that do not include per-flow identification). This | |||
is an inherent property of DetNet that has security implications that | is an inherent property of DetNet that has security implications that | |||
should be considered when determining if DetNet is a suitable | should be considered when determining if DetNet is a suitable | |||
technology for any given use case. | technology for any given use case. | |||
To provide uninterrupted availability of the DetNet service, | To provide uninterrupted availability of the DetNet service, | |||
provisions can be made against DoS attacks and delay attacks. To | provisions can be made against DoS attacks and delay attacks. To | |||
protect against DoS attacks, excess traffic due to malicious or | protect against DoS attacks, excess traffic due to malicious or | |||
malfunctioning devices can be prevented or mitigated -- for example, | malfunctioning devices can be prevented or mitigated -- for example, | |||
skipping to change at line 1052 ¶ | skipping to change at line 1052 ¶ | |||
tsn-04>. | tsn-04>. | |||
[DetNet-MPLS-over-UDP-IP] | [DetNet-MPLS-over-UDP-IP] | |||
Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S. | Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S. | |||
Bryant, "DetNet Data Plane: MPLS over UDP/IP", Work in | Bryant, "DetNet Data Plane: MPLS over UDP/IP", Work in | |||
Progress, Internet-Draft, draft-ietf-detnet-mpls-over-udp- | Progress, Internet-Draft, draft-ietf-detnet-mpls-over-udp- | |||
ip-07, 11 October 2020, <https://tools.ietf.org/html/ | ip-07, 11 October 2020, <https://tools.ietf.org/html/ | |||
draft-ietf-detnet-mpls-over-udp-ip-07>. | draft-ietf-detnet-mpls-over-udp-ip-07>. | |||
[DetNet-Security] | [DetNet-Security] | |||
Mizrahi, T. and E. Grossman, Ed., "Deterministic | Grossman, E., Ed., Mizrahi, T., and A. Hacker, | |||
Networking (DetNet) Security Considerations", Work in | "Deterministic Networking (DetNet) Security | |||
Progress, Internet-Draft, draft-ietf-detnet-security-12, 2 | Considerations", Work in Progress, Internet-Draft, draft- | |||
October 2020, <https://tools.ietf.org/html/draft-ietf- | ietf-detnet-security-12, 2 October 2020, | |||
detnet-security-12>. | <https://tools.ietf.org/html/draft-ietf-detnet-security- | |||
12>. | ||||
[Flow-Spec-Rules] | [Flow-Spec-Rules] | |||
Loibl, C., Hares, S., Raszuk, R., McPherson, D., and M. | Loibl, C., Hares, S., Raszuk, R., McPherson, D., and M. | |||
Bacher, "Dissemination of Flow Specification Rules", Work | Bacher, "Dissemination of Flow Specification Rules", Work | |||
in Progress, Internet-Draft, draft-ietf-idr-rfc5575bis-27, | in Progress, Internet-Draft, draft-ietf-idr-rfc5575bis-27, | |||
15 October 2020, <https://tools.ietf.org/html/draft-ietf- | 15 October 2020, <https://tools.ietf.org/html/draft-ietf- | |||
idr-rfc5575bis-27>. | idr-rfc5575bis-27>. | |||
[IEEE802.1AE-2018] | [IEEE802.1AE-2018] | |||
IEEE, "IEEE Standard for Local and metropolitan area | IEEE, "IEEE Standard for Local and metropolitan area | |||
End of changes. 39 change blocks. | ||||
51 lines changed or deleted | 52 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |