diff options
Diffstat (limited to 'doc/rfc/rfc8938.txt')
-rw-r--r-- | doc/rfc/rfc8938.txt | 1241 |
1 files changed, 1241 insertions, 0 deletions
diff --git a/doc/rfc/rfc8938.txt b/doc/rfc/rfc8938.txt new file mode 100644 index 0000000..1355f93 --- /dev/null +++ b/doc/rfc/rfc8938.txt @@ -0,0 +1,1241 @@ + + + + +Internet Engineering Task Force (IETF) B. Varga, Ed. +Request for Comments: 8938 J. Farkas +Category: Informational Ericsson +ISSN: 2070-1721 L. Berger + LabN Consulting, L.L.C. + A. Malis + Malis Consulting + S. Bryant + Futurewei Technologies + November 2020 + + + Deterministic Networking (DetNet) Data Plane Framework + +Abstract + + This document provides an overall framework for the Deterministic + Networking (DetNet) data plane. It covers concepts and + considerations that are generally common to any DetNet data plane + specification. It describes related Controller Plane considerations + as well. + +Status of This Memo + + This document is not an Internet Standards Track specification; it is + published for informational purposes. + + 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). Not all documents + approved by the IESG are candidates for any level of Internet + Standard; see 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/rfc8938. + +Copyright Notice + + Copyright (c) 2020 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 + 3. Overview of the DetNet Data Plane + 3.1. Data Plane Characteristics + 3.1.1. Data Plane Technology + 3.1.2. Encapsulation + 3.2. DetNet-Specific Metadata + 3.3. DetNet IP Data Plane + 3.4. DetNet MPLS Data Plane + 3.5. Further DetNet Data Plane Considerations + 3.5.1. Functions Provided on a Per-Flow Basis + 3.5.2. Service Protection + 3.5.3. Aggregation Considerations + 3.5.4. End-System-Specific Considerations + 3.5.5. Sub-network Considerations + 4. Controller Plane (Management and Control) Considerations + 4.1. DetNet Controller Plane Requirements + 4.2. Generic Controller Plane Considerations + 4.2.1. Flow Aggregation Control + 4.2.2. Explicit Routes + 4.2.3. Contention Loss and Jitter Reduction + 4.2.4. Bidirectional Traffic + 4.3. Packet Replication, Elimination, and Ordering Functions + (PREOF) + 5. Security Considerations + 6. IANA Considerations + 7. References + 7.1. Normative References + 7.2. Informative References + Acknowledgements + Contributors + Authors' Addresses + +1. Introduction + + DetNet (Deterministic Networking) provides the ability to carry + specified unicast or multicast data flows for real-time applications + with extremely low packet loss rates and assured maximum end-to-end + delivery latency. A description of the general background and + concepts of DetNet can be found in [RFC8655]. + + This document describes the concepts needed by any DetNet data plane + specification (i.e., the DetNet-specific use of packet header fields) + and provides considerations for any corresponding implementation. It + covers the building blocks that provide the DetNet service, the + DetNet service sub-layer, and the DetNet forwarding sub-layer + functions as described in the DetNet architecture [RFC8655]. + + The DetNet architecture models the DetNet-related data plane + functions as being decomposed into two sub-layers: a service + sub-layer and a forwarding sub-layer. The service sub-layer is used + to provide DetNet service protection and reordering. The forwarding + sub-layer leverages traffic engineering mechanisms and provides + congestion protection (low loss, assured latency, and limited out-of- + order delivery). A particular forwarding sub-layer may have + capabilities that are not available on other forwarding sub-layers. + DetNet makes use of the existing forwarding sub-layers with their + respective capabilities and does not require 1:1 equivalence between + different forwarding sub-layer capabilities. + + As part of the service sub-layer functions, this document describes + typical DetNet node data plane operation. It describes the + functionality and operation of the Packet Replication Function (PRF), + the Packet Elimination Function (PEF), and the Packet Ordering + Function (POF) within the service sub-layer. Furthermore, it + describes the forwarding sub-layer. + + As defined in [RFC8655], DetNet flows may be carried over network + technologies that can provide service characteristics required by + DetNet. For example, DetNet MPLS flows can be carried over IEEE + 802.1 Time-Sensitive Networking (TSN) sub-networks [IEEE802.1TSNTG]. + However, IEEE 802.1 TSN support is not required in DetNet. TSN frame + preemption is an example of a forwarding layer capability that is + typically not replicated in other forwarding technologies. Most of + DetNet's benefits can be gained by running over a data-link layer + that has not been specifically enhanced to support all TSN + capabilities, but for such networks and traffic mixes, delay and + jitter performance may vary due to the forwarding sub-layer's + intrinsic properties. + + Different application flows, such as Ethernet or IP, can be mapped on + top of DetNet. DetNet can optionally reuse header information + provided by, or shared with, applications. An example of shared + header fields can be found in [RFC8939]. + + This document also covers basic concepts related to the Controller + Plane and Operations, Administration, and Maintenance (OAM). Data + plane OAM specifics are out of scope for this document. + +2. Terminology + +2.1. Terms Used in This Document + + This document uses the terminology established in the DetNet + architecture [RFC8655], and it is assumed that the reader is familiar + with that document and its terminology. + +2.2. Abbreviations + + The following abbreviations are used in this document: + + BGP Border Gateway Protocol + + CoS Class of Service + + d-CW DetNet Control Word + + DetNet Deterministic Networking + + DN DetNet + + GMPLS Generalized Multiprotocol Label Switching + + GRE Generic Routing Encapsulation + + IPsec IP Security + + L2 Layer 2 + + LSP Label Switched Path + + MPLS Multiprotocol Label Switching + + OAM Operations, Administration, and Maintenance + + PCEP Path Computation Element Communication Protocol + + PEF Packet Elimination Function + + POF Packet Ordering Function + + PREOF Packet Replication, Elimination, and Ordering Functions + + PRF Packet Replication Function + + PSN Packet Switched Network + + QoS Quality of Service + + S-Label DetNet "service" label + + TDM Time-Division Multiplexing + + TSN Time-Sensitive Networking + + YANG Yet Another Next Generation + +3. Overview of the DetNet Data Plane + + This document describes how application flows, or App-flows + [RFC8655], are carried over DetNet networks. The DetNet architecture + [RFC8655] models the DetNet-related data plane functions as + decomposed into two sub-layers: a service sub-layer and a forwarding + sub-layer. + + Figure 1, reproduced from [RFC8655], shows a logical DetNet service + with the two sub-layers. + + | packets going | ^ packets coming ^ + v down the stack v | up the stack | + +-----------------------+ +-----------------------+ + | Source | | Destination | + +-----------------------+ +-----------------------+ + | Service sub-layer: | | Service sub-layer: | + | Packet sequencing | | Duplicate elimination | + | Flow replication | | Flow merging | + | Packet encoding | | Packet decoding | + +-----------------------+ +-----------------------+ + | Forwarding sub-layer: | | Forwarding sub-layer: | + | Resource allocation | | Resource allocation | + | Explicit routes | | Explicit routes | + +-----------------------+ +-----------------------+ + | Lower layers | | Lower layers | + +-----------------------+ +-----------------------+ + v ^ + \_________________________/ + + Figure 1: DetNet Data Plane Protocol Stack + + The DetNet forwarding sub-layer may be directly provided by the + DetNet service sub-layer -- for example, by IP tunnels or MPLS. + Alternatively, an overlay approach may be used in which the packet is + natively carried between key nodes within the DetNet network (say, + between PREOF nodes), and a sub-layer is used to provide the + information needed to reach the next hop in the overlay. + + The forwarding sub-layer provides the QoS-related functions needed by + the DetNet flow. It may do this directly through the use of queuing + techniques and traffic engineering methods, or it may do this through + the assistance of its underlying connectivity. For example, it may + call upon Ethernet TSN capabilities defined in IEEE 802.1 TSN + [IEEE802.1TSNTG]. The forwarding sub-layer uses buffer resources for + packet queuing, as well as reservation and allocation of bandwidth + capacity resources. + + The service sub-layer provides additional support beyond the + connectivity function of the forwarding sub-layer. See Section 4.3 + regarding PREOF. The POF uses sequence numbers added to packets, + enabling a range of packet order protection from simple ordering and + dropping out-of-order packets to more complex reordering of a fixed + number of out-of-order, minimally delayed packets. Reordering + requires buffer resources and has an impact on the delay and jitter + of packets in the DetNet flow. + + The method of instantiating each of the layers is specific to the + particular DetNet data plane method, and more than one approach may + be applicable to a given network type. + +3.1. Data Plane Characteristics + + The data plane has two major characteristics: the technology and the + encapsulation, as discussed below. + +3.1.1. Data Plane Technology + + The DetNet data plane is provided by the DetNet service and + forwarding sub-layers. The DetNet service sub-layer generally + provides its functions for the DetNet application flows by using or + applying existing standardized headers and/or encapsulations. The + DetNet forwarding sub-layer may provide capabilities leveraging that + 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 + below. DetNet is currently defined for operation over packet- + switched (IP) networks or label-switched (MPLS) networks. + +3.1.2. Encapsulation + + DetNet encodes specific flow attributes (flow identity and sequence + number) in packets. For example, in DetNet IP, zero encapsulation is + used, and no sequence number is available; in DetNet MPLS, DetNet- + specific information may be added explicitly to the packets in the + 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 + plane technology other than its native type. DetNet uses header + information to perform traffic classification, i.e., identify DetNet + flows, and provide DetNet service and forwarding functions. As + 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 + IP. Figure 2 illustrates some relationships between the components. + + +-----+ + | TSN | + +-------+ +-+-----+-+ + | DN IP | | DN MPLS | + +--+--+----+----+ +-+---+-----+-+ + | TSN | DN MPLS | | TSN | DN IP | + +-----+---------+ +-----+-------+ + + Figure 2: DetNet Service Examples + + The use of encapsulation is also required if additional information + (metadata) is needed by the DetNet data plane and either (1) there is + no ability to include it in the client data packet or (2) the + specification of the client data plane does not permit the + modification of the packet to include additional data. An example of + such metadata is the inclusion of a sequence number required by + PREOF. + + Encapsulation may also be used to carry or aggregate flows for + equipment with limited DetNet capability. + +3.2. DetNet-Specific Metadata + + The DetNet data plane can provide or carry the following metadata: + + 1. Flow-ID + + 2. Sequence number + + The DetNet data plane framework supports a Flow-ID (for + 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 + the service and forwarding sub-layers, but the sequence number is + only used by the service layer. Metadata can also be used for OAM + indications and instrumentation of DetNet data plane operation. + + Metadata inclusion can be implicit or explicit. Explicit inclusions + involve a dedicated header field that is used to include metadata in + a DetNet packet. In the implicit method, part of an already-existing + header field is used to encode the metadata. + + Explicit inclusion of metadata is possible through the use of IP + options or IP extension headers. New IP options are almost + impossible to get standardized or to deploy in an operational network + and will not be discussed further in this text. IPv6 extension + headers are finding popularity in current IPv6 development work, + particularly in connection with Segment Routing of IPv6 (SRv6) and IP + 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 + DetNet IP data plane designer. + + 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 + one of the methods for carrying MPLS over IP + [DetNet-MPLS-over-UDP-IP]. This is described in more detail in + Section 3.5.5. + + Implicit metadata in IP can be included through the use of the + network programming paradigm [SRv6-Network-Prog], in which the suffix + of an IPv6 address is used to encode additional information for use + by the network of the receiving host. + + An MPLS example of explicit metadata is the sequence number used by + PREOF, or even the case where all the essential information is + included in the DetNet-over-MPLS label stack (the d-CW and the DetNet + S-Label). + +3.3. DetNet IP Data Plane + + An IP data plane may operate natively or through the use of an + encapsulation. Many types of IP encapsulation can satisfy DetNet + requirements, and it is anticipated that more than one encapsulation + may be deployed -- for example, GRE, IPsec. + + One method of operating an IP DetNet data plane without encapsulation + is to use 6-tuple-based flow identification, where "6-tuple" refers + to information carried in IP-layer and higher-layer protocol headers. + General background on the use of IP headers and 6-tuples to identify + flows and support QoS can be found in [RFC3670]. The extra field in + the 6-tuple is the DSCP field in the packet. [RFC7657] provides + useful background on differentiated services (Diffserv) and tuple- + based flow identification. DetNet flow aggregation may be enabled + via the use of wildcards, masks, prefixes, and ranges. The operation + of this method is described in detail in [RFC8939]. + + The DetNet forwarding plane may use explicit route capabilities and + traffic engineering capabilities to provide a forwarding sub-layer + that is responsible for providing resource allocation and explicit + routes. It is possible to include such information in a native IP + packet either explicitly or implicitly. + +3.4. DetNet MPLS Data Plane + + MPLS provides a forwarding sub-layer for traffic over implicit and + explicit paths to the point in the network where the next DetNet + service sub-layer action needs to take place. It does this through + the use of a stack of one or more labels with various forwarding + semantics. + + MPLS also provides the ability to identify a service instance that is + used to process the packet through the use of a label that maps the + packet to a service instance. + + 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. + Although such d-CWs are frequently 32 bits long, there is no + architectural constraint on the size of this structure -- only the + requirement that it be fully understood by all parties operating on + it in the DetNet service sub-layer. The operation of this method is + described in detail in [DetNet-MPLS]. + +3.5. Further DetNet Data Plane Considerations + + This section provides informative considerations related to providing + DetNet service to flows that are identified based on their header + information. + +3.5.1. Functions Provided on a Per-Flow Basis + + At a high level, the following functions are provided on a per-flow + basis. + +3.5.1.1. Reservation and Allocation of Resources + + Resources might be reserved in order to make them available for + allocation to specific DetNet flows. This can eliminate packet + contention and packet loss for DetNet traffic. This also can reduce + jitter for DetNet traffic. Resources allocated to a DetNet flow + protect it from other traffic flows. On the other hand, it is + assumed that DetNet flows behave in accordance with the reserved + traffic profile. It must be possible to detect misbehaving DetNet + flows and to ensure that they do not compromise QoS of other flows. + Queuing, policing, and shaping policies can be used to ensure that + the allocation of resources reserved for DetNet is met. + +3.5.1.2. Explicit Routes + + A flow can be routed over a specific, precomputed path. This allows + control of network delay by steering the packet with the ability to + influence the physical path. Explicit routes complement reservation + by ensuring that a consistent path can be associated with its + resources for the duration of that path. Coupled with the traffic + mechanism, this limits misordering and bounds latency. Explicit + route computation can encompass a wide set of constraints and can + optimize the path for a certain characteristic, e.g., highest + bandwidth or lowest jitter. In these cases, the "best" path for any + set of characteristics may not be a shortest path. The selection of + the path can take into account multiple network metrics. Some of + these metrics are measured and distributed by the routing system as + traffic engineering metrics. + +3.5.1.3. Service Protection + + Service protection involves the use of multiple packet streams using + multiple paths -- for example, 1+1 or 1:1 linear protection. For + DetNet, this primarily relates to packet replication and elimination + capabilities. MPLS offers a number of protection schemes. MPLS + hitless protection can be used to switch traffic to an already- + established path in order to restore delivery rapidly after a + failure. Path changes, even in the case of failure recovery, can + lead to the out-of-order delivery of data requiring POFs either + within the DetNet service or at a high layer in the application + traffic. Establishment of new paths after a failure is out of scope + for DetNet services. + +3.5.1.4. Network Coding + + Network Coding [nwcrg], not to be confused with network programming, + comprises several techniques where multiple data flows are encoded. + These resulting flows can then be sent on different paths. The + encoding operation can combine flows and error recovery information. + When the encoded flows are decoded and recombined, the original flows + can be recovered. Note that Network Coding uses an alternative to + packet-by-packet PREOF. Therefore, for certain network topologies + and traffic loads, Network Coding can be used to improve a network's + throughput, efficiency, latency, and scalability, as well as + resilience to partition, attacks, and eavesdropping, as compared to + traditional methods. DetNet could use Network Coding as an + alternative to other means of protection. Network Coding is often + applied in wireless networks and is being explored for other network + types. + +3.5.1.5. Load-Sharing + + The use of packet-by-packet load-sharing of the same DetNet flow over + multiple paths is not recommended, except for the cases listed above + where PREOF are utilized to improve protection of traffic and + maintain order. Packet-by-packet load-sharing, e.g., via Equal-Cost + Multipath (ECMP) or Unequal-Cost Multipath (UCMP), impacts ordering + and, possibly, jitter. + +3.5.1.6. Troubleshooting + + DetNet leverages many different forwarding sub-layers, each of which + supports various tools to troubleshoot connectivity -- for example, + identification of misbehaving flows. The DetNet service layer can + leverage existing mechanisms to troubleshoot or monitor flows, such + as those in use by IP and MPLS networks. At the Application layer, a + client of a DetNet service can use existing techniques to detect and + monitor delay and loss. + +3.5.1.7. Flow Recognition for Analytics + + Network analytics can be inherited from the technologies of the + service and forwarding sub-layers. At the DetNet service edge, + packet and bit counters (e.g., sent, received, dropped, out of + sequence) can be maintained. + +3.5.1.8. Correlation of Events with Flows + + The provider of a DetNet service may provide other capabilities to + monitor flows, such as more detailed loss statistics and timestamping + of events. Details regarding these capabilities are out of scope for + this document. + +3.5.2. Service Protection + + Service protection allows DetNet services to increase reliability and + maintain a desired level of service assurance in the case of network + congestion or network failure. DetNet relies on the underlying + technology capabilities for various protection schemes. Protection + schemes enable partial or complete coverage of the network paths and + active protection with combinations of the PRF, PEF, and POF. + +3.5.2.1. Linear Service Protection + + An example DetNet MPLS network fragment and its packet flow are + illustrated in Figure 3. + + 1 1.1 1.1 1.2.1 1.2.1 1.2.2 + CE1----EN1--------R1-------R2-------R3--------EN2-----CE2 + \ 1.2.1 / / + \1.2 /------+ / + +------R4------------------------+ + 1.2.2 + + Figure 3: Example of Packet Flow Protected by DetNet + + In Figure 3, the numbers are used to identify the instance of a + packet. Packet 1 is the original packet. Packets 1.1 and 1.2 are + two first-generation copies of packet 1, packet 1.2.1 is a second- + generation copy of packet 1.2, and so on. Note that these numbers + never appear in the packet and are not to be confused with sequence + numbers, labels, or any other identifiers that appear in the packet. + They simply indicate the generation number of the original packet so + that its passage through the network fragment can be identified for + the reader. + + Customer Equipment device CE1 sends a packet into the DetNet-enabled + network. This is packet 1. Edge Node EN1 encapsulates the packet as + a DetNet packet and sends it to Relay Node R1 (packet 1.1). EN1 + makes a copy of the packet (1.2), encapsulates it, and sends this + copy to Relay Node R4. + + Note that R1 may be directly attached to EN1, or there may be one or + more nodes on the path that, for clarity, are not shown in Figure 3. + The same holds true for any other path between two DetNet entities as + shown in the figure. + + Relay Node R4 has been configured to send one copy of the packet to + Relay Node R2 (packet 1.2.1) and one copy to Edge Node EN2 (packet + 1.2.2). + + R2 receives packet copy 1.2.1 before packet copy 1.1 arrives and, + having been configured to perform packet elimination on this DetNet + flow, forwards packet 1.2.1 to Relay Node R3. Packet copy 1.1 is of + no further use and so is discarded by R2. + + Edge Node EN2 receives packet copy 1.2.2 from R4 before it receives + packet copy 1.2.1 from R2 via Relay Node R3. EN2 therefore strips + any DetNet encapsulation from packet copy 1.2.2 and forwards the + packet to CE2. When EN2 receives packet copy 1.2.1 later on, the + copy is discarded. + + The above is of course illustrative of many network scenarios that + can be configured. + + This example also illustrates a 1:1 protection scheme, meaning there + is traffic over each segment of the end-to-end path. Local DetNet + relay nodes determine which packets are eliminated and which packets + are forwarded. A 1+1 scheme where only one path is used for traffic + at a time could use the same topology. In this case, there is no + PRF, and traffic is switched upon detection of failure. An OAM + scheme that monitors the paths to detect the loss of a path or + traffic is required to initiate the switch. A POF may still be used + in this case to prevent misordering of packets. In both cases, the + protection paths are established and maintained for the duration of + the DetNet service. + +3.5.2.2. Path Differential Delay + + In the preceding example, proper operation of duplicate elimination + and the reordering of packets are dependent on the number of out-of- + order packets that can be buffered and the difference in delay of the + arriving packets. DetNet uses flow-specific requirements (e.g., + maximum number of out-of-order packets, maximum latency of the flow) + for configuration of POF-related buffers. If the differential delay + between paths is excessively large or there is excessive misordering + of the packets, then packets may be dropped instead of being + reordered. Likewise, the PEF uses the sequence number to identify + duplicate packets, and large differential delays combined with high + numbers of packets may exceed the PEF's ability to work properly. + +3.5.2.3. Ring Service Protection + + Ring protection may also be supported if the underlying technology + supports it. Many of the same concepts apply; however, rings are + normally 1+1 protection for data efficiency reasons. [RFC8227] + provides an example of an MPLS Transport Profile (MPLS-TP) data plane + that supports ring protection. + +3.5.3. Aggregation Considerations + + The DetNet data plane also allows for the aggregation of DetNet + flows, which can improve scalability by reducing the per-hop state. + How this is accomplished is data plane or control plane dependent. + When DetNet flows are aggregated, transit nodes provide service to + the aggregate and not on a per-DetNet-flow basis. When aggregating + DetNet flows, the flows should be compatible, i.e., the same or very + similar QoS and CoS characteristics. In this case, nodes performing + aggregation will ensure that per-flow service requirements are + achieved. + + If bandwidth reservations are used, the reservation should be the sum + of all the individual reservations; in other words, the reservations + should not add up to an oversubscription of bandwidth reservation. + If maximum delay bounds are used, the system should ensure that the + aggregate does not exceed the delay bounds of the individual flows. + + When an encapsulation is used, the choice of reserving a maximum + resource level and then tracking the services in the aggregated + service or adjusting the aggregated resources as the services are + added is implementation and technology specific. + + DetNet flows at edges must be able to handle rejection to an + aggregation group due to lack of resources as well as conditions + where requirements are not satisfied. + +3.5.3.1. IP Aggregation + + IP aggregation has both data plane and Controller Plane aspects. For + the data plane, flows may be aggregated for treatment based on shared + characteristics such as 6-tuple [RFC8939]. Alternatively, an IP + encapsulation may be used to tunnel an aggregate number of DetNet + flows between relay nodes. + +3.5.3.2. MPLS Aggregation + + MPLS aggregation also has data plane and Controller Plane aspects. + MPLS flows are often tunneled in a forwarding sub-layer, under the + reservation associated with that MPLS tunnel. + +3.5.4. End-System-Specific Considerations + + Data flows requiring DetNet service are generated and terminated on + end systems. Encapsulation depends on the application and its + preferences. For example, in a DetNet MPLS domain, the sub-layer + functions use the d-CWs, S-Labels, and F-Labels [DetNet-MPLS] to + provide DetNet services. However, an application may exchange + further flow-related parameters (e.g., timestamps) that are not + provided by DetNet functions. + + As a general rule, DetNet domains are capable of forwarding any + DetNet flows, and the DetNet domain does not mandate the + encapsulation format for end systems or edge nodes. Unless some form + of proxy is present, end systems peer with similar end systems using + the same application encapsulation format. For example, as shown in + Figure 4, IP applications peer with IP applications, and Ethernet + applications peer with Ethernet applications. + + +-----+ + | X | +-----+ + +-----+ | X | + | Eth | ________ +-----+ + +-----+ _____ / \ | Eth | + \ / \__/ \___ +-----+ + \ / \ / + 0======== tunnel-1 ========0_ + | \ + \ | + 0========= tunnel-2 =========0 + / \ __/ \ + +-----+ \__ DetNet MPLS domain / \ + | X | \ __ / +-----+ + +-----+ \_______/ \_____/ | X | + | IP | +-----+ + +-----+ | IP | + +-----+ + + Figure 4: End Systems and the DetNet MPLS Domain + +3.5.5. Sub-network Considerations + + Any of the DetNet service types may be transported by another DetNet + service. MPLS nodes may be interconnected by different sub-network + technologies, which may include point-to-point links. Each of these + sub-network technologies needs to provide appropriate service to + DetNet flows. In some cases, e.g., on dedicated point-to-point links + or TDM technologies, all that is required is for a DetNet node to + appropriately queue its output traffic. In other cases, DetNet nodes + will need to map DetNet flows to the flow semantics (i.e., + identifiers) and mechanisms used by an underlying sub-network + technology. Figure 5 shows several examples of sub-network + encapsulations that can be used to carry DetNet MPLS flows over + different sub-network technologies. L2 represents a generic Layer 2 + encapsulation that might be used on a point-to-point link. TSN + represents the encapsulation used on an IEEE 802.1 TSN network, as + described in [DetNet-MPLS-over-TSN]. UDP/IP represents the + encapsulation used on a DetNet IP PSN, as described in + [DetNet-MPLS-over-UDP-IP]. + + +------+ +------+ +------+ + App-flow | X | | X | | X | + +-----+======+--+======+--+======+-----+ + DetNet-MPLS | d-CW | | d-CW | | d-CW | + +------+ +------+ +------+ + |Labels| |Labels| |Labels| + +-----+======+--+======+--+======+-----+ + Sub-network | L2 | | TSN | | UDP | + +------+ +------+ +------+ + | IP | + +------+ + | L2 | + +------+ + + Figure 5: Example DetNet MPLS Encapsulations in Sub-networks + +4. Controller Plane (Management and Control) Considerations + +4.1. DetNet Controller Plane Requirements + + The Controller Plane corresponds to the aggregation of the Control + and Management Planes discussed in [RFC7426] and [RFC8655]. While + more details regarding any DetNet Controller Plane are out of scope + for this document, there are particular considerations and + requirements for the Controller Plane that result from the unique + characteristics of the DetNet architecture and data plane as defined + herein. + + The primary requirements of the DetNet Controller Plane are that it + must be able to: + + * Instantiate DetNet flows in a DetNet domain (which may, for + example, include some or all of the following: explicit path + determination, link bandwidth reservations, restricting flows to + IEEE 802.1 TSN links, node buffer and other resource reservations, + specification of required queuing disciplines along the path, + ability to manage bidirectional flows, etc.) as needed for a flow. + + * In the case of MPLS, manage DetNet S-Label and F-Label allocation + and distribution. In cases where the DetNet MPLS encapsulation is + being used, see [DetNet-MPLS]. + + * Support DetNet flow aggregation. + + * Advertise static and dynamic node and link resources such as + capabilities and adjacencies to other network nodes (for dynamic + signaling approaches) or to network controllers (for centralized + approaches). + + * Scale to handle the number of DetNet flows expected in a domain + (which may require per-flow signaling or provisioning). + + * Provision flow identification information at each of the nodes + along the path. Flow identification may differ, depending on the + location in the network and the DetNet functionality (e.g., + transit node vs. relay node). + + These requirements, as stated earlier, could be satisfied using + distributed control protocol signaling (such as RSVP-TE), centralized + network management provisioning mechanisms (BGP, PCEP, YANG, + [DetNet-Flow-Info], etc.), or hybrid combinations of the two, and + could also make use of MPLS-based segment routing. + + In the abstract, the results of either distributed signaling or + centralized provisioning are equivalent from a DetNet data plane + perspective -- flows are instantiated, explicit routes are + determined, resources are reserved, and packets are forwarded through + the domain using the DetNet data plane. + + However, from a practical and implementation standpoint, Controller + Plane alternatives are not equivalent at all. Some approaches are + more scalable than others in terms of signaling load on the network. + Some alternatives can take advantage of global tracking of resources + in the DetNet domain for better overall network resource + optimization. Some solutions are more resilient than others if link, + node, or management equipment failures occur. While a detailed + analysis of the control plane alternatives is out of scope for this + document, the requirements from this document can be used as the + basis of a future analysis of the alternatives. + +4.2. Generic Controller Plane Considerations + + This section covers control plane considerations that are independent + of the data plane technology used for DetNet service delivery. + + While the management plane and the control plane are traditionally + considered separately, from a data plane perspective, there is no + practical difference based on the origin of flow-provisioning + information, and the DetNet architecture [RFC8655] refers to these + collectively as the "Controller Plane". This document therefore does + not distinguish between information provided by distributed control + plane protocols (e.g., RSVP-TE [RFC3209] [RFC3473]) or centralized + network management mechanisms (e.g., RESTCONF [RFC8040], YANG + [RFC7950], PCEP [PCECC]), or any combination thereof. Specific + considerations and requirements for the DetNet Controller Plane are + discussed in Section 4.1. + + Each respective data plane document also covers the control plane + considerations for that technology. For example, [RFC8939] also + covers IP control plane normative considerations, and [DetNet-MPLS] + also covers MPLS control plane normative considerations. + +4.2.1. Flow Aggregation Control + + Flow aggregation means that multiple App-flows are served by a single + new DetNet flow. There are many techniques to achieve aggregation. + For example, in the case of IP, IP flows that share 6-tuple + attributes or flow identifiers at the DetNet sub-layer can be + grouped. Another example includes aggregation accomplished through + the use of hierarchical LSPs in MPLS and tunnels. + + Control of aggregation involves a set of procedures listed here. + Aggregation may use some or all of these capabilities, and the order + may vary: + + Traffic engineering resource collection and distribution: + Available resources are tracked through control plane or + management plane databases and distributed amongst controllers or + nodes that can manage resources. + + Path computation and resource allocation: + When DetNet services are provisioned or requested, one or more + paths meeting the requirements are selected and the resources + verified and recorded. + + Resource assignment and data plane coordination: + The assignment of resources along the path depends on the + technology and includes assignment of specific links, coordination + of queuing, and other traffic management capabilities such as + policing and shaping. + + Assigned resource recording and updating: + Depending on the specific technology, the assigned resources are + updated and distributed in the databases, preventing + oversubscription. + +4.2.2. Explicit Routes + + Explicit routes are used to ensure that packets are routed through + the resources that have been reserved for them and hence provide the + DetNet application with the required service. A requirement for the + DetNet Controller Plane will be the ability to assign a particular + identified DetNet IP flow to a path through the DetNet domain that + has been assigned the required per-node resources. This provides the + appropriate traffic treatment for the flow and also includes + particular links as a part of the path that are able to support the + DetNet flow. For example, by using IEEE 802.1 TSN links (as + discussed in [DetNet-MPLS-over-TSN]), DetNet parameters can be + maintained. Further considerations and requirements for the DetNet + Controller Plane are discussed in Section 4.1. + + Whether configuring, calculating, and instantiating these routes is a + single-stage or multi-stage process, or is performed in a centralized + or distributed manner, is out of scope for this document. + + There are several approaches that could be used to provide explicit + routes and resource allocation in the DetNet forwarding sub-layer. + For example: + + * The path could be explicitly set up by a controller that + calculates the path and explicitly configures each node along that + path with the appropriate forwarding and resource allocation + information. + + * The path could use a distributed control plane such as RSVP + [RFC2205] or RSVP-TE [RFC3473] extended to support DetNet IP + flows. + + * The path could be implemented using IPv6-based segment routing + when extended to support resource allocation. + + See Section 4.1 for further discussion of these alternatives. In + addition, [RFC2386] contains useful background information on QoS- + based routing, and [RFC5575] (which will be updated by + [Flow-Spec-Rules]) discusses a specific mechanism used by BGP for + traffic flow specification and policy-based routing. + +4.2.3. Contention Loss and Jitter Reduction + + This document does not specify the mechanisms needed to eliminate + packet contention or packet loss or to reduce jitter for DetNet flows + at the DetNet forwarding sub-layer. The ability to manage node and + link resources to be able to provide these functions is a necessary + part of the DetNet Controller Plane. It is also necessary to be able + to control the required queuing mechanisms used to provide these + functions along a flow's path through the network. See [RFC8939] and + Section 4.1 for further discussion of these requirements. Some forms + of protection may minimize packet loss or change jitter + characteristics in the cases where packets are reordered when out-of- + order packets are received at the service sub-layer. + +4.2.4. Bidirectional Traffic + + In many cases, DetNet flows can be considered unidirectional and + independent. However, there are cases where the DetNet service + requires bidirectional traffic from a DetNet application service + perspective. IP and MPLS typically treat each direction separately + and do not force interdependence of each direction. The IETF MPLS + Working Group has studied bidirectional traffic requirements. The + definitions provided in [RFC5654] are useful to illustrate terms such + as associated bidirectional flows and co-routed bidirectional flows. + MPLS defines a point-to-point associated bidirectional LSP as + consisting of two unidirectional point-to-point LSPs, one from A to B + and the other from B to A, which are regarded as providing a single + logical bidirectional forwarding path. This is analogous to standard + IP routing. MPLS defines a point-to-point co-routed bidirectional + LSP as an associated bidirectional LSP that satisfies the additional + constraint that its two unidirectional component LSPs follow the same + path (in terms of both nodes and links) in both directions. An + important property of co-routed bidirectional LSPs is that their + unidirectional component LSPs share fate. In both types of + bidirectional LSPs, resource reservations may differ in each + direction. The concepts of associated bidirectional flows and + co-routed bidirectional flows can also be applied to DetNet IP flows. + + While the DetNet IP data plane must support bidirectional DetNet + flows, there are no special bidirectional features with respect to + 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, + bidirectional DetNet flows are solely represented at the management + plane and control plane levels, without specific support or knowledge + within the DetNet data plane. Fate-sharing and associated or + co-routed bidirectional flows can be managed at the control level. + + DetNet's use of PREOF may increase the complexity of using co-routing + bidirectional flows, because if PREOF are used, the replication + points in one direction would have to match the elimination points in + the other direction, and vice versa. In such cases, the optimal + points for these functions in one direction may not match the optimal + points in the other, due to network and traffic constraints. + Furthermore, due to the per-packet service protection nature, + bidirectional forwarding may not be ensured. The first packet of + received member flows is selected by the elimination function + independently of which path it has taken through the network. + + Control and management mechanisms need to support bidirectional + flows, but the specification of such mechanisms is out of scope for + this document. Example control plane solutions for MPLS can be found + in [RFC3473], [RFC6387], and [RFC7551]. These requirements are + included in Section 4.1. + +4.3. Packet Replication, Elimination, and Ordering Functions (PREOF) + + The Controller Plane protocol solution required for managing the + processing of PREOF is outside the scope of this document. That + said, it should be noted that the ability to determine, for a + particular flow, optimal packet replication and elimination points in + the DetNet domain requires explicit support. There may be existing + capabilities that can be used or extended -- for example, GMPLS end- + to-end recovery [RFC4872] and GMPLS segment recovery [RFC4873]. + +5. Security Considerations + + Security considerations for DetNet are described in detail in + [DetNet-Security]. General security considerations for the DetNet + architecture are described in [RFC8655]. This section considers + architecture-level DetNet security considerations applicable to all + data planes. + + Part of what makes DetNet unique is its ability to provide specific + and reliable QoS (delivering data flows with extremely low packet + loss rates and bounded end-to-end delivery latency), and the + security-related aspects of protecting that QoS are similarly unique. + + As for all communications protocols, the primary consideration for + the data plane is to maintain integrity of data and delivery of the + associated DetNet service traversing the DetNet network. Application + flows can be protected through whatever means is provided by the + underlying technology. For example, encryption may be used, such as + that provided by IPsec [RFC4301] for IP flows and/or by an underlying + sub-network using MACsec [IEEE802.1AE-2018] for Ethernet (Layer 2) + flows. + + At the management and control levels, DetNet flows are identified on + a per-flow basis, which may provide Controller Plane attackers with + additional information about the data flows (when compared to + Controller Planes that do not include per-flow identification). This + is an inherent property of DetNet that has security implications that + should be considered when determining if DetNet is a suitable + technology for any given use case. + + To provide uninterrupted availability of the DetNet service, + provisions can be made against DoS attacks and delay attacks. To + protect against DoS attacks, excess traffic due to malicious or + malfunctioning devices can be prevented or mitigated -- for example, + through the use of existing mechanisms such as policing and shaping + applied at the input of a DetNet domain. To prevent DetNet packets + from being delayed by an entity external to a DetNet domain, DetNet + technology definitions can allow for the mitigation of man-in-the- + middle attacks -- for example, through the use of authentication and + authorization of devices within the DetNet domain. + + In order to prevent or mitigate DetNet attacks on other networks via + flow escape, edge devices can, for example, use existing mechanisms + such as policing and shaping applied at the output of a DetNet + domain. + +6. IANA Considerations + + This document has no IANA actions. + +7. References + +7.1. Normative References + + [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>. + +7.2. Informative References + + [DetNet-Flow-Info] + Varga, B., Farkas, J., Cummings, R., Jiang, Y., and D. + Fedyk, "DetNet Flow Information Model", Work in Progress, + Internet-Draft, draft-ietf-detnet-flow-information-model- + 11, 21 October 2020, <https://tools.ietf.org/html/draft- + ietf-detnet-flow-information-model-11>. + + [DetNet-MPLS] + Varga, B., Ed., Farkas, J., Berger, L., Malis, A., Bryant, + S., and J. Korhonen, "DetNet Data Plane: MPLS", Work in + Progress, Internet-Draft, draft-ietf-detnet-mpls-13, 11 + October 2020, + <https://tools.ietf.org/html/draft-ietf-detnet-mpls-13>. + + [DetNet-MPLS-over-TSN] + Varga, B., Ed., Farkas, J., Malis, A., and S. Bryant, + "DetNet Data Plane: MPLS over IEEE 802.1 Time Sensitive + Networking (TSN)", Work in Progress, Internet-Draft, + draft-ietf-detnet-mpls-over-tsn-04, 2 November 2020, + <https://tools.ietf.org/html/draft-ietf-detnet-mpls-over- + tsn-04>. + + [DetNet-MPLS-over-UDP-IP] + Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S. + Bryant, "DetNet Data Plane: MPLS over UDP/IP", Work in + Progress, Internet-Draft, draft-ietf-detnet-mpls-over-udp- + ip-07, 11 October 2020, <https://tools.ietf.org/html/ + draft-ietf-detnet-mpls-over-udp-ip-07>. + + [DetNet-Security] + Grossman, E., Ed., Mizrahi, T., and A. Hacker, + "Deterministic Networking (DetNet) Security + Considerations", Work in Progress, Internet-Draft, draft- + ietf-detnet-security-12, 2 October 2020, + <https://tools.ietf.org/html/draft-ietf-detnet-security- + 12>. + + [Flow-Spec-Rules] + Loibl, C., Hares, S., Raszuk, R., McPherson, D., and M. + Bacher, "Dissemination of Flow Specification Rules", Work + in Progress, Internet-Draft, draft-ietf-idr-rfc5575bis-27, + 15 October 2020, <https://tools.ietf.org/html/draft-ietf- + idr-rfc5575bis-27>. + + [IEEE802.1AE-2018] + IEEE, "IEEE Standard for Local and metropolitan area + networks-Media Access Control (MAC) Security", IEEE Std + 802.1AE-2018, DOI 10.1109/IEEESTD.2018.8585421, December + 2018, <https://ieeexplore.ieee.org/document/8585421>. + + [IEEE802.1TSNTG] + IEEE, "Time-Sensitive Networking (TSN) Task Group", + <https://1.ieee802.org/tsn/>. + + [nwcrg] IRTF, "Coding for efficient NetWork Communications + Research Group (nwcrg)", + <https://datatracker.ietf.org/rg/nwcrg/about>. + + [PCECC] Li, Z., Peng, S., Negi, M. S., Zhao, Q., and C. Zhou, + "PCEP Procedures and Protocol Extensions for Using PCE as + a Central Controller (PCECC) of LSPs", Work in Progress, + Internet-Draft, draft-ietf-pce-pcep-extension-for-pce- + controller-08, 1 November 2020, + <https://tools.ietf.org/html/draft-ietf-pce-pcep- + extension-for-pce-controller-08>. + + [RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S. + Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 + Functional Specification", RFC 2205, DOI 10.17487/RFC2205, + September 1997, <https://www.rfc-editor.org/info/rfc2205>. + + [RFC2386] Crawley, E., Nair, R., Rajagopalan, B., and H. Sandick, "A + Framework for QoS-based Routing in the Internet", + RFC 2386, DOI 10.17487/RFC2386, August 1998, + <https://www.rfc-editor.org/info/rfc2386>. + + [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., + and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP + Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, + <https://www.rfc-editor.org/info/rfc3209>. + + [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label + Switching (GMPLS) Signaling Resource ReserVation Protocol- + Traffic Engineering (RSVP-TE) Extensions", RFC 3473, + DOI 10.17487/RFC3473, January 2003, + <https://www.rfc-editor.org/info/rfc3473>. + + [RFC3670] Moore, B., Durham, D., Strassner, J., Westerinen, A., and + W. Weiss, "Information Model for Describing Network Device + QoS Datapath Mechanisms", RFC 3670, DOI 10.17487/RFC3670, + January 2004, <https://www.rfc-editor.org/info/rfc3670>. + + [RFC4301] Kent, S. and K. Seo, "Security Architecture for the + Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, + December 2005, <https://www.rfc-editor.org/info/rfc4301>. + + [RFC4872] Lang, J.P., Ed., Rekhter, Y., Ed., and D. Papadimitriou, + Ed., "RSVP-TE Extensions in Support of End-to-End + Generalized Multi-Protocol Label Switching (GMPLS) + Recovery", RFC 4872, DOI 10.17487/RFC4872, May 2007, + <https://www.rfc-editor.org/info/rfc4872>. + + [RFC4873] Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel, + "GMPLS Segment Recovery", RFC 4873, DOI 10.17487/RFC4873, + May 2007, <https://www.rfc-editor.org/info/rfc4873>. + + [RFC5575] Marques, P., Sheth, N., Raszuk, R., Greene, B., Mauch, J., + and D. McPherson, "Dissemination of Flow Specification + Rules", RFC 5575, DOI 10.17487/RFC5575, August 2009, + <https://www.rfc-editor.org/info/rfc5575>. + + [RFC5654] Niven-Jenkins, B., Ed., Brungard, D., Ed., Betts, M., Ed., + Sprecher, N., and S. Ueno, "Requirements of an MPLS + Transport Profile", RFC 5654, DOI 10.17487/RFC5654, + September 2009, <https://www.rfc-editor.org/info/rfc5654>. + + [RFC6387] Takacs, A., Berger, L., Caviglia, D., Fedyk, D., and J. + Meuric, "GMPLS Asymmetric Bandwidth Bidirectional Label + Switched Paths (LSPs)", RFC 6387, DOI 10.17487/RFC6387, + September 2011, <https://www.rfc-editor.org/info/rfc6387>. + + [RFC7426] Haleplidis, E., Ed., Pentikousis, K., Ed., Denazis, S., + Hadi Salim, J., Meyer, D., and O. Koufopavlou, "Software- + Defined Networking (SDN): Layers and Architecture + Terminology", RFC 7426, DOI 10.17487/RFC7426, January + 2015, <https://www.rfc-editor.org/info/rfc7426>. + + [RFC7551] Zhang, F., Ed., Jing, R., and R. Gandhi, Ed., "RSVP-TE + Extensions for Associated Bidirectional Label Switched + Paths (LSPs)", RFC 7551, DOI 10.17487/RFC7551, May 2015, + <https://www.rfc-editor.org/info/rfc7551>. + + [RFC7657] Black, D., Ed. and P. Jones, "Differentiated Services + (Diffserv) and Real-Time Communication", RFC 7657, + DOI 10.17487/RFC7657, November 2015, + <https://www.rfc-editor.org/info/rfc7657>. + + [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", + RFC 7950, DOI 10.17487/RFC7950, August 2016, + <https://www.rfc-editor.org/info/rfc7950>. + + [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF + Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, + <https://www.rfc-editor.org/info/rfc8040>. + + [RFC8227] Cheng, W., Wang, L., Li, H., van Helvoort, H., and J. + Dong, "MPLS-TP Shared-Ring Protection (MSRP) Mechanism for + Ring Topology", RFC 8227, DOI 10.17487/RFC8227, August + 2017, <https://www.rfc-editor.org/info/rfc8227>. + + [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>. + + [SRv6-Network-Prog] + Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, + D., Matsushima, S., and Z. Li, "SRv6 Network Programming", + Work in Progress, Internet-Draft, draft-ietf-spring-srv6- + network-programming-26, 26 November 2020, + <https://tools.ietf.org/html/draft-ietf-spring-srv6- + network-programming-26>. + +Acknowledgements + + The authors wish to thank Pat Thaler, Norman Finn, Loa Andersson, + 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 + + The following people contributed substantially to the content of this + document: + + Don Fedyk + Jouni Korhonen + +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 |