draft-ietf-detnet-ip-07.txt | rfc8939.txt | |||
---|---|---|---|---|
DetNet B. Varga, Ed. | Internet Engineering Task Force (IETF) B. Varga, Ed. | |||
Internet-Draft J. Farkas | Request for Comments: 8939 J. Farkas | |||
Intended status: Standards Track Ericsson | Category: Standards Track Ericsson | |||
Expires: January 4, 2021 L. Berger | ISSN: 2070-1721 L. Berger | |||
D. Fedyk | D. Fedyk | |||
LabN Consulting, L.L.C. | LabN Consulting, L.L.C. | |||
S. Bryant | S. Bryant | |||
Futurewei Technologies | Futurewei Technologies | |||
July 3, 2020 | November 2020 | |||
DetNet Data Plane: IP | Deterministic Networking (DetNet) Data Plane: IP | |||
draft-ietf-detnet-ip-07 | ||||
Abstract | Abstract | |||
This document specifies the DetNet data plane operation for IP hosts | This document specifies the Deterministic Networking (DetNet) data | |||
and routers that provide DetNet service to IP encapsulated data. No | plane operation for IP hosts and routers that provide DetNet service | |||
DetNet-specific encapsulation is defined to support IP flows; instead | to IP-encapsulated data. No DetNet-specific encapsulation is defined | |||
the existing IP and higher layer protocol header information is used | to support IP flows; instead, the existing IP-layer and higher-layer | |||
to support flow identification and DetNet service delivery. This | protocol header information is used to support flow identification | |||
document builds on the DetNet Architecture and Data Plane Framework. | and DetNet service delivery. This document builds on the DetNet | |||
architecture (RFC 8655) and data plane framework (RFC 8938). | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on January 4, 2021. | 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/rfc8939. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
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 . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology | |||
2.1. Terms Used In This Document . . . . . . . . . . . . . . . 3 | 2.1. Terms Used in This Document | |||
2.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 3 | 2.2. Abbreviations | |||
2.3. Requirements Language . . . . . . . . . . . . . . . . . . 4 | 2.3. Requirements Language | |||
3. DetNet IP Data Plane Overview . . . . . . . . . . . . . . . . 4 | 3. Overview of the DetNet IP Data Plane | |||
4. DetNet IP Data Plane Considerations . . . . . . . . . . . . . 7 | 4. DetNet IP Data Plane Considerations | |||
4.1. End System Specific Considerations . . . . . . . . . . . 8 | 4.1. End-System-Specific Considerations | |||
4.2. DetNet Domain-Specific Considerations . . . . . . . . . . 8 | 4.2. DetNet Domain-Specific Considerations | |||
4.3. Forwarding Sub-Layer Considerations . . . . . . . . . . . 11 | 4.3. Forwarding Sub-Layer Considerations | |||
4.3.1. Class of Service . . . . . . . . . . . . . . . . . . 11 | 4.3.1. Class of Service | |||
4.3.2. Quality of Service . . . . . . . . . . . . . . . . . 11 | 4.3.2. Quality of Service | |||
4.3.3. Path Selection . . . . . . . . . . . . . . . . . . . 12 | 4.3.3. Path Selection | |||
4.4. DetNet Flow Aggregation . . . . . . . . . . . . . . . . . 12 | 4.4. DetNet Flow Aggregation | |||
4.5. Bidirectional Traffic . . . . . . . . . . . . . . . . . . 13 | 4.5. Bidirectional Traffic | |||
5. DetNet IP Data Plane Procedures . . . . . . . . . . . . . . . 13 | 5. DetNet IP Data Plane Procedures | |||
5.1. DetNet IP Flow Identification Procedures . . . . . . . . 14 | 5.1. DetNet IP Flow Identification Procedures | |||
5.1.1. IP Header Information . . . . . . . . . . . . . . . . 14 | 5.1.1. IP Header Information | |||
5.1.2. Other Protocol Header Information . . . . . . . . . . 15 | 5.1.2. Other Protocol Header Information | |||
5.2. Forwarding Procedures . . . . . . . . . . . . . . . . . . 17 | 5.2. Forwarding Procedures | |||
5.3. DetNet IP Traffic Treatment Procedures . . . . . . . . . 17 | 5.3. DetNet IP Traffic Treatment Procedures | |||
6. Management and Control Information Summary . . . . . . . . . 17 | 6. Management and Control Information Summary | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | 7. Security Considerations | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | 8. IANA Considerations | |||
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 | 9. References | |||
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 20 | 9.1. Normative References | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | 9.2. Informative References | |||
11.1. Normative references . . . . . . . . . . . . . . . . . . 20 | Acknowledgements | |||
11.2. Informative references . . . . . . . . . . . . . . . . . 22 | Contributors | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
Deterministic Networking (DetNet) is a service that can be offered by | Deterministic Networking (DetNet) is a service that can be offered by | |||
a network to DetNet flows. DetNet provides these flows with | a network to DetNet flows. DetNet provides these flows with | |||
extremely low packet loss rates and assured maximum end-to-end | extremely low packet loss rates and assured maximum end-to-end | |||
delivery latency. General background and concepts of DetNet can be | delivery latency. General background and concepts of DetNet can be | |||
found in the DetNet Architecture [RFC8655]. | found in the DetNet architecture [RFC8655]. | |||
This document specifies the DetNet data plane operation for IP hosts | This document specifies the DetNet data plane operation for IP hosts | |||
and routers that provide DetNet service to IP encapsulated data. No | and routers that provide DetNet service to IP-encapsulated data. No | |||
DetNet-specific encapsulation is defined to support IP flows; instead | DetNet-specific encapsulation is defined to support IP flows; | |||
the existing IP and higher layer protocol header information is used | instead, the existing IP-layer and higher-layer protocol header | |||
to support flow identification and DetNet service delivery. Common | information is used to support flow identification and DetNet service | |||
data plane procedures and control information for all DetNet data | delivery. Common data plane procedures and control information for | |||
planes can be found in [I-D.ietf-detnet-data-plane-framework]. | all DetNet data planes can be found in [RFC8938]. | |||
The DetNet Architecture models the DetNet related data plane | The DetNet architecture models the DetNet-related data plane | |||
functions as two sub-layers: a service sub-layer and a forwarding | functions as two sub-layers: a service sub-layer and a forwarding | |||
sub-layer. The service sub-layer is used to provide DetNet service | sub-layer. The service sub-layer is used to provide DetNet service | |||
protection (e.g., by packet replication and packet elimination | protection (e.g., by the Packet Replication Function (PRF) and Packet | |||
functions) and reordering. The forwarding sub-layer is used to | Elimination Function (PEF)) and reordering. The forwarding sub-layer | |||
provide congestion protection (low loss, assured latency, and limited | is used to provide congestion protection (low loss, assured latency, | |||
out-of-order delivery). The service sub-layer generally requires | and limited out-of-order delivery). The service sub-layer generally | |||
additional header fields to provide its service; for example see | requires additional header fields to provide its service; for | |||
[I-D.ietf-detnet-mpls]. Since no DetNet-specific fields are added to | example, see [DetNet-MPLS]. Since no DetNet-specific fields are | |||
support DetNet IP flows, only the forwarding sub-layer functions are | added to support DetNet IP flows, only the forwarding sub-layer | |||
supported using the DetNet IP defined by this document. Service | functions are supported using the DetNet IP defined by this document. | |||
protection can be provided on a per sub-net basis using technologies | Service protection can be provided on a per-sub-network basis using | |||
such as MPLS [I-D.ietf-detnet-dp-sol-mpls] and Ethernet as specified | technologies such as MPLS [DetNet-MPLS] and Ethernet, as specified by | |||
in the IEEE 802.1 TSN (Time-Sensitive Networking) task group | the IEEE 802.1 TSN (Time-Sensitive Networking) task group (referred | |||
(referred to in this document simply as IEEE802.1 TSN). | to in this document simply as "IEEE 802.1 TSN"). See | |||
[IEEE802.1TSNTG]. | ||||
This document provides an overview of the DetNet IP data plane in | This document provides an overview of the DetNet IP data plane in | |||
Section 3, and considerations that apply to providing DetNet services | Section 3 and considerations that apply to providing DetNet services | |||
via the DetNet IP data plane in Section 4. Section 5 provides the | via the DetNet IP data plane in Section 4. Section 5 provides the | |||
procedures for hosts and routers that support IP-based DetNet | procedures for hosts and routers that support IP-based DetNet | |||
services. Section 6 summarizes the set of information that is needed | services. Section 6 summarizes the set of information that is needed | |||
to identify an individual DetNet flow. | to identify an individual DetNet flow. | |||
2. Terminology | 2. Terminology | |||
2.1. Terms Used In This Document | 2.1. Terms Used in This Document | |||
This document uses the terminology and concepts established in the | This document uses the terminology and concepts established in the | |||
DetNet architecture [RFC8655], and the reader is assumed to be | DetNet architecture [RFC8655], and it is assumed that the reader is | |||
familiar with that document and its terminology. | familiar with that document and its terminology. | |||
2.2. Abbreviations | 2.2. Abbreviations | |||
The following abbreviations used in this document: | The following abbreviations are used in this document: | |||
CoS Class of Service | CoS Class of Service | |||
DetNet Deterministic Networking | DetNet Deterministic Networking | |||
DN DetNet | DN DetNet | |||
DiffServ Differentiated Services | ||||
Diffserv Differentiated Services | ||||
DSCP Differentiated Services Code Point | DSCP Differentiated Services Code Point | |||
L2 Layer-2 | L2 Layer 2 | |||
L3 Layer-3 | L3 Layer 3 | |||
LSP Label-switched path | LSP Label Switched Path | |||
MPLS Multiprotocol Label Switching | MPLS Multiprotocol Label Switching | |||
PREOF Packet Replication, Elimination and Ordering Function | PEF Packet Elimination Function | |||
PREOF Packet Replication, Elimination, and Ordering Functions | ||||
PRF Packet Replication Function | ||||
QoS Quality of Service | QoS Quality of Service | |||
TSN Time-Sensitive Networking, TSN is a Task Group of the | TSN Time-Sensitive Networking. TSN is a task group of the | |||
IEEE 802.1 Working Group. | IEEE 802.1 Working Group. | |||
2.3. Requirements Language | 2.3. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
3. DetNet IP Data Plane Overview | 3. Overview of the DetNet IP Data Plane | |||
This document describes how IP is used by DetNet nodes, i.e., hosts | This document describes how IP is used by DetNet nodes, i.e., hosts | |||
and routers, to identify DetNet flows and provide a DetNet service | and routers, to identify DetNet flows and provide a DetNet service | |||
using an IP data plane. From a data plane perspective, an end-to-end | using an IP data plane. From a data plane perspective, an end-to-end | |||
IP model is followed. As mentioned above, existing IP and higher | IP model is followed. As mentioned above, existing IP-layer and | |||
layer protocol header information is used to support flow | higher-layer protocol header information is used to support flow | |||
identification and DetNet service delivery. Common data plane | identification and DetNet service delivery. Common data plane | |||
procedures and control information for all DetNet data planes can be | procedures and control information for all DetNet data planes can be | |||
found in [I-D.ietf-detnet-data-plane-framework]. | found in [RFC8938]. | |||
The DetNet IP data plane primarily uses 6-tuple based flow | The DetNet IP data plane primarily uses 6-tuple-based flow | |||
identification, where "6-tuple" refers to information carried in IP | identification, where "6-tuple" refers to information carried in IP- | |||
and higher layer protocol headers. The 6-tuple referred to in this | layer and higher-layer protocol headers. The 6-tuple referred to in | |||
document is the same as that defined in [RFC3290]. Specifically | this document is the same as that defined in [RFC3290]. | |||
6-tuple is destination address, source address, IP protocol, source | Specifically, the 6-tuple is destination address, source address, IP | |||
port, destination port, and differentiated services (DiffServ) code | protocol, source port, destination port, and DSCP. General | |||
point (DSCP). General background on the use of IP headers, and | background on the use of IP headers and 5-tuples to identify flows | |||
5-tuples, to identify flows and support Quality of Service (QoS) can | and support Quality of Service (QoS) can be found in [RFC3670]. | |||
be found in [RFC3670]. [RFC7657] also provides useful background on | [RFC7657] also provides useful background on the delivery of Diffserv | |||
the delivery of DiffServ and "tuple" based flow identification. Note | and tuple-based flow identification. Note that a 6-tuple is composed | |||
that a 6-tuple is composed of a 5-tuple plus the addition of a DSCP | of a 5-tuple plus the addition of a DSCP component. | |||
component. | ||||
For some of the protocols 5-tuples and 6-tuples cannot be used | For some of the protocols, 5-tuples and 6-tuples cannot be used, | |||
because the port information is not available (e.g., ICMP, IPSec | because the port information is not available (e.g., ICMP, IPsec, and | |||
ESP). This is also the case for flow aggregates. In such cases, | Encapsulating Security Payload (ESP)). This is also the case for | |||
using fewer fields is appropriate, e.g., a 3-tuple (2 IP addresses, | flow aggregates. In such cases, using fewer fields is appropriate, | |||
IP protocol) or even a 2-tuple (all IP traffic between two IP | such as a 3-tuple (2 IP addresses, IP protocol) or even a 2-tuple | |||
addresses). | (all IP traffic between two IP addresses). | |||
The DetNet IP data plane also allows for optional matching on the | The DetNet IP data plane also allows for optional matching on the | |||
IPv6 flow label field, as defined in [RFC8200]. | IPv6 Flow Label field, as defined in [RFC8200]. | |||
Non-DetNet and DetNet IP packets have the same protocol header format | Non-DetNet and DetNet IP packets have the same protocol header format | |||
on the wire. Generally the fields used in flow identification are | on the wire. Generally, the fields used in flow identification are | |||
forwarded unmodified. However, standard modification of the DSCP | forwarded unmodified. However, standard modification of the DSCP | |||
field [RFC2474] is not precluded. | field [RFC2474] is not precluded. | |||
DetNet flow aggregation may be enabled via the use of wildcards, | DetNet flow aggregation may be enabled via the use of wildcards, | |||
masks, lists, prefixes and ranges. IP tunnels may also be used to | masks, lists, prefixes, and ranges. IP tunnels may also be used to | |||
support flow aggregation. In these cases, it is expected that | support flow aggregation. In these cases, it is expected that | |||
DetNet-aware intermediate nodes will provide DetNet service on the | DetNet-aware intermediate nodes will provide DetNet service on the | |||
aggregate through resource allocation and congestion control | aggregate through resource allocation and congestion control | |||
mechanisms. | mechanisms. | |||
The specific procedures that are required to be implemented by a | The specific procedures that are required to be implemented by a | |||
DetNet node supporting this document can be found in Section 5. The | DetNet node supporting this document can be found in Section 5. The | |||
DetNet controller plane, as defined in [RFC8655], is responsible for | DetNet Controller Plane, as defined in [RFC8655], is responsible for | |||
providing each node with the information needed to identify and | providing each node with the information needed to identify and | |||
handle each DetNet flow. | handle each DetNet flow. | |||
DetNet IP Relay Relay DetNet IP | DetNet IP Relay Relay DetNet IP | |||
End System Node Node End System | End System Node Node End System | |||
+----------+ +----------+ | +----------+ +----------+ | |||
| Appl. |<------------ End to End Service ----------->| Appl. | | | Appl. |<------------ End-to-End Service ----------->| Appl. | | |||
+----------+ ............ ........... +----------+ | +----------+ ............ ........... +----------+ | |||
| Service |<-: Service :-- DetNet flow --: Service :->| Service | | | Service |<-: Service :-- DetNet flow --: Service :->| Service | | |||
+----------+ +----------+ +----------+ +----------+ | +----------+ +----------+ +----------+ +----------+ | |||
|Forwarding| |Forwarding| |Forwarding| |Forwarding| | |Forwarding| |Forwarding| |Forwarding| |Forwarding| | |||
+--------.-+ +-.------.-+ +-.---.----+ +-------.--+ | +--------.-+ +-.------.-+ +-.---.----+ +-------.--+ | |||
: Link : \ ,-----. / \ ,-----. / | : Link : \ ,-----. / \ ,-----. / | |||
+......+ +----[ Sub ]----+ +-[ Sub ]-+ | +......+ +----[ Sub- ]----+ +-[ Sub- ]-+ | |||
[Network] [Network] | [Network] [Network] | |||
`-----' `-----' | `-----' `-----' | |||
|<--------------------- DetNet IP --------------------->| | |<--------------------- DetNet IP --------------------->| | |||
Figure 1: A Simple DetNet (DN) Enabled IP Network | Figure 1: A Simple DetNet-Enabled IP Network | |||
Figure 1 illustrates a DetNet enabled IP network. The DetNet enabled | Figure 1 illustrates a DetNet-enabled IP network. The DetNet-enabled | |||
end systems originate IP encapsulated traffic that is identified | end systems originate IP-encapsulated traffic that is identified | |||
within the DetNet domain as DetNet flows based on IP header | within the DetNet domain as DetNet flows based on IP header | |||
information. Relay nodes understand the forwarding requirements of | information. Relay nodes understand the forwarding requirements of | |||
the DetNet flow and ensure that node, interface and sub-network | the DetNet flow and ensure that node, interface, and sub-network | |||
resources are allocated to ensure DetNet service requirements. The | resources are allocated to ensure DetNet service requirements. The | |||
dotted line around the Service component of the Relay Nodes indicates | dotted line around the Service component of the Relay Nodes indicates | |||
that the transit routers are DetNet service aware but do not perform | that the transit routers are DetNet service aware but do not perform | |||
any DetNet service sub-layer function, e.g., PREOF (Packet | any DetNet service sub-layer function, e.g., PREOF. | |||
Replication, Elimination and Ordering Function). | ||||
Note: The sub-network can represent a TSN, MPLS network or other | | Note: The sub-network can represent a TSN, MPLS network, or | |||
network technology that can carry DetNet IP traffic. | | other network technology that can carry DetNet IP traffic. | |||
IP Edge Edge IP | IP Edge Edge IP | |||
End System Node Node End System | End System Node Node End System | |||
+----------+ +.........+ +.........+ +----------+ | +----------+ +.........+ +.........+ +----------+ | |||
| Appl. |<--:Svc Proxy:-- E2E Service---:Svc Proxy:-->| Appl. | | | Appl. |<--:Svc Proxy:-- E2E Service---:Svc Proxy:-->| Appl. | | |||
+----------+ +.........+ +.........+ +----------+ | +----------+ +.........+ +.........+ +----------+ | |||
| IP |<--:IP : :Svc:---- IP flow ----:Svc: :IP :-->| IP | | | IP |<--:IP : :Svc:---- IP flow ----:Svc: :IP :-->| IP | | |||
+----------+ +---+ +---+ +---+ +---+ +----------+ | +----------+ +---+ +---+ +---+ +---+ +----------+ | |||
|Forwarding| |Fwd| |Fwd| |Fwd| |Fwd| |Forwarding| | |Forwarding| |Fwd| |Fwd| |Fwd| |Fwd| |Forwarding| | |||
+--------.-+ +-.-+ +-.-+ +-.-+ +-.-+ +---.------+ | +--------.-+ +-.-+ +-.-+ +-.-+ +-.-+ +---.------+ | |||
: Link : \ ,-----. / / ,-----. \ | : Link : \ ,-----. / / ,-----. \ | |||
+.......+ +----[ Sub ]----+ +--[ Sub ]--+ | +.......+ +----[ Sub- ]----+ +--[ Sub- ]--+ | |||
[Network] [Network] | [network] [network] | |||
`-----' `-----' | `-----' `-----' | |||
|<--- IP --->| |<------ DetNet IP ------>| |<--- IP --->| | |<--- IP --->| |<------ DetNet IP ------>| |<--- IP --->| | |||
Figure 2: Non-DetNet-aware IP end systems with DetNet IP Domain | Figure 2: Non-DetNet-Aware IP End Systems with DetNet IP Domain | |||
Figure 2 illustrates a variant of Figure 1 where the end systems are | Figure 2 illustrates a variant of Figure 1 where the end systems are | |||
not DetNet aware. In this case, edge nodes sit at the boundary of | not DetNet aware. In this case, edge nodes sit at the boundary of | |||
the DetNet domain and provide DetNet service proxies for the end | the DetNet domain and provide DetNet service proxies for the end | |||
applications by initiating and terminating DetNet service for the | applications by initiating and terminating DetNet service for the | |||
application's IP flows. The existing header information or an | application's IP flows. The existing header information or an | |||
approach such as described in Section 4.4 can be used to support | approach such as described in Section 4.4 can be used to support | |||
DetNet flow identification. | DetNet flow identification. | |||
Note that Figure 1 and Figure 2 can be collapsed, so IP DetNet End | Note that Figures 1 and 2 can be collapsed, so IP DetNet end systems | |||
Systems can communicate over a DetNet IP network with IP End Systems. | can communicate over a DetNet IP network with IP end systems. | |||
As non-DetNet and DetNet IP packets have the same protocol header | As non-DetNet and DetNet IP packets have the same protocol header | |||
format on the wire, from a data plane perspective, the only | format on the wire, from a data plane perspective, the only | |||
difference is that there is flow-associated DetNet information on | difference is that there is flow-associated DetNet information on | |||
each DetNet node that defines the flow related characteristics and | each DetNet node that defines the flow-related characteristics and | |||
required forwarding behavior. As shown above, edge nodes provide a | required forwarding behavior. As shown above, edge nodes provide a | |||
Service Proxy function that "associates" one or more IP flows with | Service Proxy function that "associates" one or more IP flows with | |||
the appropriate DetNet flow-specific information and ensures that the | the appropriate DetNet flow-specific information and ensures that the | |||
flow receives the proper traffic treatment within the domain. | flow receives the proper traffic treatment within the domain. | |||
Note: The operation of IEEE802.1 TSN end systems over DetNet enabled | | Note: The operation of IEEE 802.1 TSN end systems over DetNet- | |||
IP networks is not described in this document. TSN over MPLS is | | enabled IP networks is not described in this document. TSN | |||
described in [I-D.ietf-detnet-tsn-vpn-over-mpls]. | | over MPLS is described in [DetNet-TSN-over-MPLS]. | |||
4. DetNet IP Data Plane Considerations | 4. DetNet IP Data Plane Considerations | |||
This section provides considerations related to providing DetNet | This section provides considerations related to providing DetNet | |||
service to flows which are identified based on their header | service to flows that are identified based on their header | |||
information. | information. | |||
4.1. End System Specific Considerations | 4.1. 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. This document deals only with IP end systems. The | end systems. This document deals only with IP end systems. The | |||
protocols used by an IP end system are specific to an application, | protocols used by an IP end system are specific to an application, | |||
and end systems peer with other end systems. DetNet's use of 6-tuple | and end systems peer with other end systems. DetNet's use of 6-tuple | |||
IP flow identification means that DetNet must be aware of not only | IP flow identification means that DetNet must be aware of not only | |||
the format of the IP header, but also of the next protocol value | the format of the IP header, but also of the next protocol value | |||
carried within an IP packet (see Section 5.1.1.3). | carried within an IP packet (see Section 5.1.1.3). | |||
For DetNet unaware IP end systems service-level proxy functions are | For DetNet-unaware IP end systems, service-level proxy functions are | |||
needed inside the DetNet domain. | needed inside the DetNet domain. | |||
When IP end systems are DetNet-aware, no application-level or | When IP end systems are DetNet aware, no application-level or | |||
service-level proxy functions are needed inside the DetNet domain. | service-level proxy functions are needed inside the DetNet domain. | |||
End systems need to ensure that DetNet service requirements are met | End systems need to ensure that DetNet service requirements are met | |||
when processing packets associated to a DetNet flow. When sending | when processing packets associated to a DetNet flow. When sending | |||
packets, this means that packets are appropriately shaped on | packets, this means that packets are appropriately shaped on | |||
transmission and receive appropriate traffic treatment on the | transmission and receive appropriate traffic treatment on the | |||
connected sub-network; see Section 4.3.2 and Section 4.2 for more | connected sub-network; see Sections 4.3.2 and 4.2 for more details. | |||
details. When receiving packets, this means that there are | When receiving packets, this means that there are appropriate local | |||
appropriate local node resources, e.g., buffers, to receive and | node resources, e.g., buffers, to receive and process the packets of | |||
process the packets of that DetNet flow. | that DetNet flow. | |||
An important additional consideration for DetNet-aware end systems is | An important additional consideration for DetNet-aware end systems is | |||
avoiding IP fragmentation. Full 6-tuple flow identification is not | avoiding IP fragmentation. Full 6-tuple flow identification is not | |||
possible on IP fragments as fragments don't include the transport | possible on IP fragments, as fragments don't include the transport | |||
headers or their port information. As such, it is important that | headers or their port information. As such, it is important that | |||
applications and/or end-systems use an IP packet size that will avoid | applications and/or end systems use an IP packet size that will avoid | |||
fragmentation within the network when sending DetNet flows. The | fragmentation within the network when sending DetNet flows. The | |||
maximum size can be learned via path MTU discovery, [RFC1192] and | maximum size can be learned via Path MTU Discovery [RFC1191] | |||
[RFC8201], or via the controller plane. Note that path MTU discovery | [RFC8201] or via the Controller Plane. Note that Path MTU Discovery | |||
relies on ICMP, which may not follow the same path as an individual | relies on ICMP, which may not follow the same path as an individual | |||
DetNet flow. | DetNet flow. | |||
In order to maximize reuse of existing mechanisms, DetNet-aware | In order to maximize reuse of existing mechanisms, DetNet-aware | |||
applications and end systems SHOULD NOT mix DetNet and non-DetNet | applications and end systems SHOULD NOT mix DetNet and non-DetNet | |||
traffic within a single 5-tuple. | traffic within a single 5-tuple. | |||
4.2. DetNet Domain-Specific Considerations | 4.2. DetNet Domain-Specific Considerations | |||
As a general rule, DetNet IP domains need to be able to forward any | As a general rule, DetNet IP domains need to be able to forward any | |||
DetNet flow identified by the IP 6-tuple. Doing otherwise would | DetNet flow identified by the IP 6-tuple. Doing otherwise would | |||
limit the number of 6-tuple flow ID combinations that could be used | limit the number of 6-tuple flow ID combinations that could be used | |||
by the end systems. From a practical standpoint this means that all | by the end systems. From a practical standpoint, this means that all | |||
nodes along the end-to-end path of DetNet flows need to agree on what | nodes along the end-to-end path of DetNet flows need to agree on what | |||
fields are used for flow identification. Possible consequences of | fields are used for flow identification. Possible consequences of | |||
not having such an agreement include some flows interfering with | not having such an agreement include some flows interfering with | |||
other flows, and the traffic treatment expected for a service not | other flows, and the traffic treatment expected for a service not | |||
being provided. | being provided. | |||
From a connection type perspective two scenarios are identified: | From a connection-type perspective, two scenarios are identified: | |||
1. DN attached: the end system is directly connected to an edge | 1. DN attached: the end system is directly connected to an edge node | |||
node, or the end system is behind a sub-network (See ES1 and ES2 | or the end system is behind a sub-network. (See ES1 and ES2 in | |||
in figure below) | Figure 3.) | |||
2. DN integrated: the end system is part of the DetNet domain. (See | 2. DN integrated: the end system is part of the DetNet domain. (See | |||
ES3 in figure below) | ES3 in Figure 3.) | |||
L3 (IP) end systems may use any of these connection types. A DetNet | L3 (IP) end systems may use any of these connection types. A DetNet | |||
domain allows communication between any end systems using the same | domain allows communication between any end systems using the same | |||
encapsulation format, independent of their connection type and DetNet | encapsulation format, independent of their connection type and DetNet | |||
capability. DN attached end systems have no knowledge about the | capability. DN-attached end systems have no knowledge about the | |||
DetNet domain and its encapsulation format. See Figure 3 for L3 end | DetNet domain and its encapsulation format. See Figure 3 for L3 end | |||
system connection examples. | system connection examples. | |||
____+----+ | ____+----+ | |||
+----+ _____ / | ES3| | +----+ _____ / | ES3| | |||
| ES1|____ / \__/ +----+___ | | ES1|____ / \__/ +----+___ | |||
+----+ \ / \ | +----+ \ / \ | |||
+ | | + | | |||
____ \ _/ | ____ \ _/ | |||
+----+ __/ \ +__ DetNet IP domain / | +----+ __/ \ +__ DetNet IP domain / | |||
| ES2|____/ L2/L3 |___/ \ __ __/ | | ES2|____/ L2/L3 |___/ \ __ __/ | |||
+----+ \_______/ \_______/ \___/ | +----+ \_______/ \_______/ \___/ | |||
Figure 3: Connection types of L3 end systems | Figure 3: Connection Types of L3 End Systems | |||
Within a DetNet domain, the DetNet-enabled IP Routers are | Within a DetNet domain, the DetNet-enabled IP routers are | |||
interconnected by links and sub-networks to support end-to-end | interconnected by links and sub-networks to support end-to-end | |||
delivery of DetNet flows. From a DetNet architecture perspective, | delivery of DetNet flows. From a DetNet architecture perspective, | |||
these routers are DetNet relays, as they must be DetNet service | these routers are DetNet relays, as they must be DetNet service | |||
aware. Such routers identify DetNet flows based on the IP 6-tuple, | aware. Such routers identify DetNet flows based on the IP 6-tuple | |||
and ensure that the DetNet service required traffic treatment is | and ensure that the traffic treatment required by the DetNet service | |||
provided both on the node and on any attached sub-network. | is provided on both the node and any attached sub-network. | |||
This solution provides DetNet functions end-to-end, but does so on a | This solution provides DetNet functions end to end, but it does so on | |||
per link and sub-network basis. Congestion protection and latency | a per-link and per-sub-network basis. Congestion protection, latency | |||
control and the resource allocation (queuing, policing, shaping) are | control, and resource allocation (queuing, policing, shaping) are | |||
supported using the underlying link/sub-network specific mechanisms. | supported using the underlying link/sub-network-specific mechanisms. | |||
However, service protection (packet replication and packet | However, service protection (PRF and PEF) is not provided end to end | |||
elimination functions) is not provided at the DetNet layer end-to- | at the DetNet layer. Instead, service protection can be provided on | |||
end. Instead service protection can be provided on a per underlying | a per-link (underlying L2 link) and per-sub-network basis. | |||
L2 link and sub-network basis. | ||||
The DetNet Service Flow is mapped to the link/sub-network specific | The DetNet service flow is mapped to the link/sub-network-specific | |||
resources using an underlying system-specific means. This implies | resources using an underlying system-specific means. This implies | |||
each DetNet-aware node on path looks into the forwarded DetNet | that each DetNet-aware node on the path looks into the forwarded | |||
Service Flow packet and utilize e.g., a 6-tuple to find out the | DetNet service flow packet and utilizes, for example, a 6-tuple to | |||
required mapping within a node. | find out the required mapping within a node. | |||
As noted earlier, service protection must be implemented within each | As noted earlier, service protection must be implemented within each | |||
link/sub-network independently, using the domain specific mechanisms. | link/sub-network independently, using the domain-specific mechanisms. | |||
This is due to the lack of unified end-to-end sequencing information | This is due to the lack of unified end-to-end sequencing information | |||
that could be used by the intermediate nodes. Therefore, service | that could be used by the intermediate nodes. Therefore, service | |||
protection (if enabled) cannot be provided end-to-end, only within | protection (if enabled) cannot be provided end to end, only within | |||
sub-networks. This is shown for a three sub-network scenario in | sub-networks. This is shown for a scenario with three sub-networks | |||
Figure 4, where each sub-network can provide service protection | in Figure 4, where each sub-network can provide service protection | |||
between its borders. "R" and "E" denote replication and elimination | between its borders. "R" and "E" denote replication and elimination | |||
points within the sub-network. | points within the sub-network. | |||
<-------------------- DenNet IP ------------------------> | <-------------------- DetNet IP ------------------------> | |||
______ | ______ | |||
____ / \__ | ____ / \__ | |||
____ / \__/ \___ ______ | ____ / \__/ \___ ______ | |||
+----+ __/ +====+ +==+ \ +----+ | +----+ __/ +====+ +==+ \ +----+ | |||
|src |__/ SubN1 ) | | \ SubN3 \____| dst| | |src |__/ Sub-N1 ) | | \ Sub-N3\____| dst| | |||
+----+ \_______/ \ Sub-Network2 | \______/ +----+ | +----+ \_______/ \ Sub-network 2 | \______/ +----+ | |||
\_ _/ | \_ _/ | |||
\ __ __/ | \ __ __/ | |||
\_______/ \___/ | \_______/ \___/ | |||
+---+ +---------E--------+ +-----+ | +---+ +---------E--------+ +-----+ | |||
+----+ | | | | | | | +----+ | +----+ | | | | | | | +----+ | |||
|src |----R E--------R +---+ E------R E------+ dst| | |src |----R E--------R +---+ E------R E------+ dst| | |||
+----+ | | | | | | | +----+ | +----+ | | | | | | | +----+ | |||
+---+ +-----R------------+ +-----+ | +---+ +-----R------------+ +-----+ | |||
Figure 4: Replication and elimination in sub-networks for DetNet IP | Figure 4: Replication and Elimination in Sub-networks for DetNet | |||
networks | IP Networks | |||
If end-to-end service protection is desired, it can be implemented, | If end-to-end service protection is desired, it can be implemented -- | |||
for example, by the DetNet end systems using Layer-4 (L4) transport | for example, by the DetNet end systems using Layer 4 (L4) transport | |||
protocols or application protocols. However, these protocols are out | protocols or application protocols. However, these protocols are out | |||
of scope of this document. | of the scope of this document. | |||
Note that not mixing DetNet and non-DetNet traffic within a single | Note that not mixing DetNet and non-DetNet traffic within a single | |||
5-tuple, as described above, enables simpler 5-tuple filters to be | 5-tuple, as described above, enables simpler 5-tuple filters to be | |||
used (or re-used) at the edges of a DetNet network to prevent non- | used (or reused) at the edges of a DetNet network to prevent non- | |||
congestion-responsive DetNet traffic from escaping the DetNet domain. | congestion-responsive DetNet traffic from escaping the DetNet domain. | |||
4.3. Forwarding Sub-Layer Considerations | 4.3. Forwarding Sub-Layer Considerations | |||
4.3.1. Class of Service | 4.3.1. Class of Service | |||
Class of Service (CoS) for DetNet flows carried in IPv4 and IPv6 is | Class of Service (CoS) for DetNet flows carried in IPv4 and IPv6 is | |||
provided using the standard differentiated services (DSCP) field | provided using the standard DSCP field [RFC2474] and related | |||
[RFC2474] and related mechanisms. | mechanisms. | |||
One additional consideration for DetNet nodes which support CoS | One additional consideration for DetNet nodes that support CoS | |||
services is that they must ensure that the CoS service classes do not | services is that they must ensure that the CoS service classes do not | |||
impact the congestion protection and latency control mechanisms used | impact the congestion protection and latency control mechanisms used | |||
to provide DetNet QoS. This requirement is similar to the | to provide DetNet QoS. This requirement is similar to the | |||
requirement for MPLS LSRs that CoS LSPs cannot impact the resources | requirement for MPLS Label Switching Routers (LSRs) that CoS LSPs | |||
allocated to TE LSPs [RFC3473]. | cannot impact the resources allocated to TE LSPs [RFC3473]. | |||
4.3.2. Quality of Service | 4.3.2. Quality of Service | |||
Quality of Service (QoS) for DetNet service flows carried in IP must | Quality of Service (QoS) for DetNet service flows carried in IP must | |||
be provided locally by the DetNet-aware hosts and routers supporting | be provided locally by the DetNet-aware hosts and routers supporting | |||
DetNet flows. Such support leverages the underlying network layer | DetNet flows. Such support leverages the underlying network layer | |||
such as 802.1 TSN. The node-internal traffic control mechanisms used | such as 802.1 TSN. The node-internal traffic control mechanisms used | |||
to deliver QoS for IP encapsulated DetNet flows are outside the scope | to deliver QoS for IP-encapsulated DetNet flows are outside the scope | |||
of this document. From an encapsulation perspective, the combination | of this document. From an encapsulation perspective, the combination | |||
of the 6-tuple (the typical 5-tuple enhanced with the DSCP) and | of the 6-tuple (the typical 5-tuple enhanced with the DSCP) and | |||
optionally the flow label uniquely identifies a DetNet IP flow. | optionally the flow label uniquely identifies a DetNet IP flow. | |||
Packets that are identified as part of a DetNet IP flow but that have | Packets that are identified as part of a DetNet IP flow but that have | |||
not been the subject of a completed reservation can disrupt the QoS | not been the subject of a completed reservation can disrupt the QoS | |||
offered to properly reserved DetNet flows by using resources | offered to properly reserved DetNet flows by using resources | |||
allocated to the reserved flows. Therefore, the network nodes of a | allocated to the reserved flows. Therefore, the network nodes of a | |||
DetNet network MUST ensure that no DetNet allocated resources, e.g., | DetNet network MUST ensure that no DetNet-allocated resource, e.g., | |||
queue or shaper, is used by such flows. There are multiple methods | queue or shaper, is used by such flows. There are multiple methods | |||
that may be used by an implementation to defend service delivery to | that may be used by an implementation to defend service delivery to | |||
reserved DetNet flows, including but not limited to: | reserved DetNet flows, including but not limited to: | |||
o Treating packets associated with an incomplete reservation as non- | * Treating packets associated with an incomplete reservation as non- | |||
DetNet traffic. | DetNet traffic. | |||
o Discarding packets associated with an incomplete reservation. | * Discarding packets associated with an incomplete reservation. | |||
o Re-marking packets associated with an incomplete reservation. Re- | * Re-marking packets associated with an incomplete reservation. Re- | |||
marking can be accomplished by changing the value of the DSCP | marking can be accomplished by changing the value of the DSCP | |||
field to a value that results in the packet no longer matching any | field to a value that results in the packet no longer matching any | |||
other reserved DetNet IP flow. | other reserved DetNet IP flow. | |||
4.3.3. Path Selection | 4.3.3. Path Selection | |||
While path selection algorithms and mechanisms are out of scope of | While path selection algorithms and mechanisms are out of the scope | |||
the DetNet data plane definition, it is important to highlight the | of the DetNet data plane definition, it is important to highlight the | |||
implications of DetNet IP flow identification on path selection and | implications of DetNet IP flow identification on path selection and | |||
next hops. As mentioned above, the DetNet IP data plane identifies | next hops. As mentioned above, the DetNet IP data plane identifies | |||
flows using "6-tuple" header information as well as the optional | flows using 6-tuple header information as well as the optional (flow | |||
(flow label) header field. DetNet generally allows for both flow- | label) header field. DetNet generally allows for both flow-specific | |||
specific traffic treatment and flow-specific next-hops. | traffic treatment and flow-specific next hops. | |||
In non-DetNet IP forwarding, it is generally assumed that the same | In non-DetNet IP forwarding, it is generally assumed that the same | |||
series of next hops, i.e., the same path, will be used for a | series of next hops, i.e., the same path, will be used for a | |||
particular 5-tuple or, in some cases, e.g., [RFC5120], for a | particular 5-tuple or, in some cases (e.g., [RFC5120]), for a | |||
particular 6-tuple. Using different next hops for different 5-tuples | particular 6-tuple. Using different next hops for different 5-tuples | |||
does not take any special consideration for DetNet-aware | does not take any special consideration for DetNet-aware | |||
applications. | applications. | |||
Care should be taken when using different next hops for the same | Care should be taken when using different next hops for the same | |||
5-tuple. As discussed in [RFC7657], unexpected behavior can occur | 5-tuple. As discussed in [RFC7657], unexpected behavior can occur | |||
when a single 5-tuple application flow experiences reordering due to | when a single 5-tuple application flow experiences reordering due to | |||
being split across multiple next hops. Understanding of the | being split across multiple next hops. Understanding of the | |||
application and transport protocol impact of using different next | application and transport protocol impact of using different next | |||
hops for the same 5-tuple is required. Again, this impacts path | hops for the same 5-tuple is required. Again, this only indirectly | |||
selection for DetNet flows and this document only indirectly. | impacts path selection for DetNet flows and this document. | |||
4.4. DetNet Flow Aggregation | 4.4. DetNet Flow Aggregation | |||
As described in [I-D.ietf-detnet-data-plane-framework], the ability | As described in [RFC8938], the ability to aggregate individual flows | |||
to aggregate individual flows, and their associated resource control, | and their associated resource control into a larger aggregate is an | |||
into a larger aggregate is an important technique for improving | important technique for improving scaling by reducing the state per | |||
scaling by reducing the state per hop. DetNet IP data plane | hop. DetNet IP data plane aggregation can take place within a single | |||
aggregation can take place within a single node, when that node | node, when that node maintains state about both the aggregated and | |||
maintains state about both the aggregated and individual flows. It | individual flows. It can also take place between nodes, when one | |||
can also take place between nodes, where one node maintains state | node maintains state about only flow aggregates while the other node | |||
about only flow aggregates while the other node maintains state on | maintains state on all or a portion of the component flows. In | |||
all or a portion of the component flows. In either case, the | either case, the management or control function that provisions the | |||
management or control function that provisions the aggregate flows | aggregate flows must ensure that adequate resources are allocated and | |||
must ensure that adequate resources are allocated and configured to | configured to provide the combined service requirements of the | |||
provide combined service requirements of the individual flows. As | individual flows. As DetNet is concerned about latency and jitter, | |||
DetNet is concerned about latency and jitter, more than just | more than just bandwidth needs to be considered. | |||
bandwidth needs to be considered. | ||||
From a single node perspective, the aggregation of IP flows impacts | From a single node perspective, the aggregation of IP flows impacts | |||
DetNet IP data plane flow identification and resource allocation. As | DetNet IP data plane flow identification and resource allocation. As | |||
discussed above, IP flow identification uses the IP "6-tuple" for | discussed above, IP flow identification uses the IP 6-tuple for flow | |||
flow identification. DetNet IP flows can be aggregated using any of | identification. DetNet IP flows can be aggregated using any of the | |||
the 6-tuple fields and optionally also by the flow label. The use of | 6-tuple fields and optionally also by the flow label. The use of | |||
prefixes, wildcards, lists, and value ranges allows a DetNet node to | prefixes, wildcards, lists, and value ranges allows a DetNet node to | |||
identify aggregate DetNet flows. From a resource allocation | identify aggregate DetNet flows. From a resource allocation | |||
perspective, DetNet nodes ought to provide service to an aggregate | perspective, DetNet nodes ought to provide service to an aggregate | |||
rather than on a component flow basis. | rather than on a component flow basis. | |||
It is the responsibility of the DetNet controller plane to properly | It is the responsibility of the DetNet Controller Plane to properly | |||
provision the use of these aggregation mechanisms. This includes | provision the use of these aggregation mechanisms. This includes | |||
ensuring that aggregated flows have compatible (e.g., the same or | ensuring that aggregated flows have compatible (e.g., the same or | |||
very similar) QoS and/or CoS characteristics, see Section 4.3.2. It | very similar) QoS and/or CoS characteristics; see Section 4.3.2. It | |||
also includes ensuring that per component-flow service requirements | also includes ensuring that per-component-flow service requirements | |||
are satisfied by the aggregate, see Section 5.3. | are satisfied by the aggregate; see Section 5.3. | |||
The DetNet controller plane MUST ensure that non-congestion- | The DetNet Controller Plane MUST ensure that non-congestion- | |||
responsive DetNet traffic is not forwarded outside a DetNet domain. | responsive DetNet traffic is not forwarded outside a DetNet domain. | |||
4.5. Bidirectional Traffic | 4.5. Bidirectional Traffic | |||
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 within the data | flows, there are no special bidirectional features within the data | |||
plane. The special case of co-routed bidirectional DetNet flows are | plane. The special case of co-routed bidirectional DetNet flows is | |||
solely represented at the management and control plane levels, | solely represented at the management and control plane levels, | |||
without specific support or knowledge within the DetNet data plane. | without specific support or knowledge within the DetNet data plane. | |||
Fate sharing and associated or co-routed bidirectional flows can be | Fate sharing and associated or co-routed bidirectional flows can be | |||
managed at the control level. | managed at the control level. | |||
Control and management mechanisms need to support bidirectional | Control and management mechanisms need to support bidirectional | |||
flows, but the specification of such mechanisms are out of scope of | flows, but the specification of such mechanisms is out of the scope | |||
this document. An example control plane solution for MPLS can be | of this document. An example control plane solution for MPLS can be | |||
found in [RFC7551]. | found in [RFC7551]. | |||
5. DetNet IP Data Plane Procedures | 5. DetNet IP Data Plane Procedures | |||
This section provides DetNet IP data plane procedures. These | This section provides DetNet IP data plane procedures. These | |||
procedures have been divided into the following areas: flow | procedures have been divided into the following areas: flow | |||
identification, forwarding and traffic treatment. Flow | identification, forwarding, and traffic treatment. Flow | |||
identification includes those procedures related to matching IP and | identification includes those procedures related to matching IP-layer | |||
higher layer protocol header information to DetNet flow (state) | and higher-layer protocol header information to DetNet flow (state) | |||
information and service requirements. Flow identification is also | information and service requirements. Flow identification is also | |||
sometimes called Traffic classification; for example see [RFC5777]. | sometimes called "traffic classification"; for example, see | |||
Forwarding includes those procedures related to next hop selection | [RFC5777]. Forwarding includes those procedures related to next-hop | |||
and delivery. Traffic treatment includes those procedures related to | selection and delivery. Traffic treatment includes those procedures | |||
providing an identified flow with the required DetNet service. | related to providing an identified flow with the required DetNet | |||
service. | ||||
DetNet IP data plane establishment and operational procedures also | DetNet IP data plane establishment and operational procedures also | |||
have requirements on the control and management systems for DetNet | have requirements on the control and management systems for DetNet | |||
flows and these are referred to in this section. Specifically this | flows, and these are referred to in this section. Specifically, this | |||
section identifies a number of information elements that require | section identifies a number of information elements that require | |||
support via the management and control interfaces supported by a | support via the management and control interfaces supported by a | |||
DetNet node. The specific mechanism used for such support is out of | DetNet node. The specific mechanism used for such support is out of | |||
the scope of this document. A summary of the requirements for | the scope of this document. A summary of the requirements for | |||
management and control related information is included. Conformance | management- and control-related information is included. Conformance | |||
language is not used in the summary since it applies to future | language is not used in the summary, since it applies to future | |||
mechanisms such as those that may be provided in YANG models | mechanisms such as those that may be provided in YANG models | |||
[I-D.ietf-detnet-yang]. | [DetNet-YANG]. | |||
5.1. DetNet IP Flow Identification Procedures | 5.1. DetNet IP Flow Identification Procedures | |||
IP and higher layer protocol header information is used to identify | IP-layer and higher-layer protocol header information is used to | |||
DetNet flows. All DetNet implementations that support this document | identify DetNet flows. All DetNet implementations that support this | |||
MUST identify individual DetNet flows based on the set of information | document MUST identify individual DetNet flows based on the set of | |||
identified in this section. Note that additional flow identification | information identified in this section. Note that additional | |||
requirements, e.g., to support other higher layer protocols, may be | requirements for flow identification, e.g., to support other higher- | |||
defined in the future. | layer protocols, may be defined in the future. | |||
The configuration and control information used to identify an | The configuration and control information used to identify an | |||
individual DetNet flow MUST be ordered by an implementation. | individual DetNet flow MUST be ordered by an implementation. | |||
Implementations MUST support a fixed order when identifying flows, | Implementations MUST support a fixed order when identifying flows and | |||
and MUST identify a DetNet flow by the first set of matching flow | MUST identify a DetNet flow by the first set of matching flow | |||
information. | information. | |||
Implementations of this document MUST support DetNet flow | Implementations of this document MUST support DetNet flow | |||
identification when the implementation is acting as a DetNet end | identification when the implementation is acting as a DetNet end | |||
systems, a relay node, or as an edge node. | system, a relay node, or an edge node. | |||
5.1.1. IP Header Information | 5.1.1. IP Header Information | |||
Implementations of this document MUST support DetNet flow | Implementations of this document MUST support DetNet flow | |||
identification based on IP header information. The IPv4 header is | identification based on IP header information. The IPv4 header is | |||
defined in [RFC0791] and the IPv6 is defined in [RFC8200]. | defined in [RFC0791], and the IPv6 is defined in [RFC8200]. | |||
5.1.1.1. Source Address Field | 5.1.1.1. Source Address Field | |||
Implementations of this document MUST support DetNet flow | Implementations of this document MUST support DetNet flow | |||
identification based on the Source Address field of an IP packet. | identification based on the Source Address field of an IP packet. | |||
Implementations SHOULD support longest prefix matching for this field | Implementations SHOULD support longest prefix matching for this field | |||
(see [RFC1812] and [RFC7608].) Note that a prefix length of zero (0) | (see [RFC1812] and [RFC7608]). Note that a prefix length of zero (0) | |||
effectively means that the field is ignored. | effectively means that the field is ignored. | |||
5.1.1.2. Destination Address Field | 5.1.1.2. Destination Address Field | |||
Implementations of this document MUST support DetNet flow | Implementations of this document MUST support DetNet flow | |||
identification based on the Destination Address field of an IP | identification based on the Destination Address field of an IP | |||
packet. Implementations SHOULD support longest prefix matching for | packet. Implementations SHOULD support longest prefix matching for | |||
this field (see [RFC1812] and [RFC7608].) Note that a prefix length | this field (see [RFC1812] and [RFC7608]). Note that a prefix length | |||
of zero (0) effectively means that the field is ignored. | of zero (0) effectively means that the field is ignored. | |||
Note: Any IP address value is allowed, including an IP multicast | | Note: Any IP address value is allowed, including an IP | |||
destination address. | | multicast destination address. | |||
5.1.1.3. IPv4 Protocol and IPv6 Next Header Fields | 5.1.1.3. IPv4 Protocol and IPv6 Next Header Fields | |||
Implementations of this document MUST support DetNet flow | Implementations of this document MUST support DetNet flow | |||
identification based on the IPv4 Protocol field when processing IPv4 | identification based on the IPv4 Protocol field when processing IPv4 | |||
packets, and the IPv6 Next Header Field when processing IPv6 packets. | packets and the IPv6 Next Header field when processing IPv6 packets. | |||
This includes the next protocol values defined in Section 5.1.2 and | This includes the next protocol values defined in Section 5.1.2 and | |||
any other value, including zero. Implementations SHOULD allow for | any other value, including zero. Implementations SHOULD allow for | |||
these fields to be ignored for a specific DetNet flow. | these fields to be ignored for a specific DetNet flow. | |||
5.1.1.4. IPv4 Type of Service and IPv6 Traffic Class Fields | 5.1.1.4. IPv4 Type of Service and IPv6 Traffic Class Fields | |||
These fields are used to support Differentiated Services [RFC2474] | These fields are used to support differentiated services [RFC2474] | |||
[RFC2475]. Implementations of this document MUST support DetNet flow | [RFC2475]. Implementations of this document MUST support DetNet flow | |||
identification based on the DSCP field in the IPv4 Type of Service | identification based on the DSCP field in the IPv4 Type of Service | |||
field when processing IPv4 packets, and the DSCP field in the IPv6 | field when processing IPv4 packets and the DSCP field in the IPv6 | |||
Traffic Class Field when processing IPv6 packets. Implementations | Traffic Class field when processing IPv6 packets. Implementations | |||
MUST support list-based matching of DSCP values, where the list is | MUST support list-based matching of DSCP values, where the list is | |||
composed of possible field values that are to be considered when | composed of possible field values that are to be considered when | |||
identifying a specific DetNet flow. Implementations SHOULD allow for | identifying a specific DetNet flow. Implementations SHOULD allow for | |||
this field to be ignored for a specific DetNet flow. | this field to be ignored for a specific DetNet flow. | |||
5.1.1.5. IPv6 Flow Label Field | 5.1.1.5. IPv6 Flow Label Field | |||
Implementations of this document SHOULD support identification of | Implementations of this document SHOULD support identification of | |||
DetNet flows based on the IPv6 Flow Label field. Implementations | DetNet flows based on the IPv6 Flow Label field. Implementations | |||
that support matching based on this field MUST allow for it to be | that support matching based on this field MUST allow for it to be | |||
ignored for a specific DetNet flow. When this field is used to | ignored for a specific DetNet flow. When this field is used to | |||
identify a specific DetNet flow, implementations MAY exclude the IPv6 | identify a specific DetNet flow, implementations MAY exclude the IPv6 | |||
Next Header field and next header information as part of DetNet flow | Next Header field and next header information as part of DetNet flow | |||
identification. | identification. | |||
5.1.2. Other Protocol Header Information | 5.1.2. Other Protocol Header Information | |||
Implementations of this document MUST support DetNet flow | Implementations of this document MUST support DetNet flow | |||
identification based on header information identified in this | identification based on header information identified in this | |||
section. Support for TCP, UDP, ICMP and IPsec flows is defined. | section. Support for TCP, UDP, ICMP, and IPsec flows is defined. | |||
Future documents are expected to define support for other protocols. | Future documents are expected to define support for other protocols. | |||
5.1.2.1. TCP and UDP | 5.1.2.1. TCP and UDP | |||
DetNet flow identification for TCP [RFC0793] and UDP [RFC0768] is | DetNet flow identification for TCP [RFC0793] and UDP [RFC0768] is | |||
achieved based on the Source and Destination Port fields carried in | achieved based on the Source and Destination Port fields carried in | |||
each protocol's header. These fields share a common format and | each protocol's header. These fields share a common format and | |||
common DetNet flow identification procedures. | common DetNet flow identification procedures. | |||
The rules defined in this section only apply when the IPv4 Protocol | The rules defined in this section only apply when the IPv4 Protocol | |||
or IPv6 Next Header Field contains the IANA defined value for UDP or | or IPv6 Next Header field contains the IANA-defined value for UDP or | |||
TCP. | TCP. | |||
5.1.2.1.1. Source Port Field | 5.1.2.1.1. Source Port Field | |||
Implementations of this document MUST support DetNet flow | Implementations of this document MUST support DetNet flow | |||
identification based on the Source Port field of a TCP or UDP packet. | identification based on the Source Port field of a TCP or UDP packet. | |||
Implementations MUST support flow identification based on a | Implementations MUST support flow identification based on a | |||
particular value carried in the field, i.e., an exact value. | particular value carried in the field, i.e., an exact value. | |||
Implementations SHOULD support range-based port matching. | Implementations SHOULD support range-based port matching. | |||
Implementation MUST also allow for the field to be ignored for a | Implementation MUST also allow for the field to be ignored for a | |||
skipping to change at page 16, line 48 ¶ | skipping to change at line 720 ¶ | |||
DetNet flow identification for ICMP [RFC0792] is achieved based on | DetNet flow identification for ICMP [RFC0792] is achieved based on | |||
the protocol number in the IP header. Note that ICMP type is not | the protocol number in the IP header. Note that ICMP type is not | |||
included in the flow definition. | included in the flow definition. | |||
5.1.2.3. IPsec AH and ESP | 5.1.2.3. IPsec AH and ESP | |||
IPsec Authentication Header (AH) [RFC4302] and Encapsulating Security | IPsec Authentication Header (AH) [RFC4302] and Encapsulating Security | |||
Payload (ESP) [RFC4303] share a common format for the Security | Payload (ESP) [RFC4303] share a common format for the Security | |||
Parameters Index (SPI) field. Implementations MUST support flow | Parameters Index (SPI) field. Implementations MUST support flow | |||
identification based on a particular value carried in the field, | identification based on a particular value carried in the field, | |||
i.e., an exact value. Implementation SHOULD also allow for the field | i.e., an exact value. Implementations SHOULD also allow for the | |||
to be ignored for a specific DetNet flow. | field to be ignored for a specific DetNet flow. | |||
The rules defined in this section only apply when the IPv4 Protocol | The rules defined in this section only apply when the IPv4 Protocol | |||
or IPv6 Next Header Field contains the IANA defined value for AH or | or IPv6 Next Header field contains the IANA-defined value for AH or | |||
ESP. | ESP. | |||
5.2. Forwarding Procedures | 5.2. Forwarding Procedures | |||
General requirements for IP nodes are defined in [RFC1122], [RFC1812] | General requirements for IP nodes are defined in [RFC1122], | |||
and [RFC8504], and are not modified by this document. The typical | [RFC1812], and [RFC8504] and are not modified by this document. The | |||
next-hop selection process is impacted by DetNet. Specifically, | typical next-hop selection process is impacted by DetNet. | |||
implementations of this document SHALL use management and control | Specifically, implementations of this document SHALL use management | |||
information to select the one or more outgoing interfaces and next | and control information to select the one or more outgoing interfaces | |||
hops to be used for a packet associated with a DetNet flow. Specific | and next hops to be used for a packet associated with a DetNet flow. | |||
management and control information will be defined in future | Specific management and control information will be defined in future | |||
documents, e.g., [I-D.ietf-detnet-yang]. | documents, e.g., [DetNet-YANG]. | |||
The use of multiple paths or links, e.g., ECMP, to support a single | The use of multiple paths or links, e.g., ECMP, to support a single | |||
DetNet flow is NOT RECOMMENDED. ECMP MAY be used for non-DetNet | DetNet flow is NOT RECOMMENDED. ECMP MAY be used for non-DetNet | |||
flows within a DetNet domain. | flows within a DetNet domain. | |||
The above implies that management and control functions will be | The above implies that management and control functions will be | |||
defined to support this requirement, e.g., see | defined to support this requirement, e.g., see [DetNet-YANG]. | |||
[I-D.ietf-detnet-yang]. | ||||
5.3. DetNet IP Traffic Treatment Procedures | 5.3. DetNet IP Traffic Treatment Procedures | |||
Implementations of this document must ensure that a DetNet flow | Implementations of this document must ensure that a DetNet flow | |||
receives the traffic treatment that is provisioned for it via | receives the traffic treatment that is provisioned for it via | |||
configuration or the controller plane, e.g., via | configuration or the Controller Plane, e.g., via [DetNet-YANG]. | |||
[I-D.ietf-detnet-yang]. General information on DetNet service can be | General information on DetNet service can be found in | |||
found in [I-D.ietf-detnet-flow-information-model]. Typical | [DetNet-Flow-Info]. Typical mechanisms used to provide different | |||
mechanisms used to provide different treatment to different flows | treatment to different flows include the allocation of system | |||
includes the allocation of system resources (such as queues and | resources (such as queues and buffers) and provisioning of related | |||
buffers) and provisioning of related parameters (such as shaping, and | parameters (such as shaping and policing). Support can also be | |||
policing). Support can also be provided via an underlying network | provided via an underlying network technology such as MPLS | |||
technology such as MPLS [I-D.ietf-detnet-ip-over-mpls] or IEEE802.1 | [DetNet-IP-over-MPLS] or IEEE 802.1 TSN [DetNet-IP-over-TSN]. Other | |||
TSN [I-D.ietf-detnet-ip-over-tsn]. Other mechanisms than the ones | mechanisms than the ones used in the TSN case are outside the scope | |||
used in the TSN case are outside the scope of this document. | of this document. | |||
6. Management and Control Information Summary | 6. Management and Control Information Summary | |||
The following summarizes the set of information that is needed to | The following summarizes the set of information that is needed to | |||
identify individual and aggregated DetNet flows: | identify individual and aggregated DetNet flows: | |||
o IPv4 and IPv6 source address field. | * IPv4 and IPv6 Source Address field. | |||
o IPv4 and IPv6 source address prefix length, where a zero (0) value | * IPv4 and IPv6 source address prefix length, where a zero (0) value | |||
effectively means that the address field is ignored. | effectively means that the Source Address field is ignored. | |||
o IPv4 and IPv6 destination address field. | * IPv4 and IPv6 Destination Address field. | |||
o IPv4 and IPv6 destination address prefix length, where a zero (0) | * IPv4 and IPv6 destination address prefix length, where a zero (0) | |||
effectively means that the address field is ignored. | value effectively means that the Destination Address field is | |||
ignored. | ||||
o IPv4 protocol field. A limited set of values is allowed, and the | * IPv4 Protocol field. A limited set of values is allowed, and the | |||
ability to ignore this field is desirable. | ability to ignore this field is desirable. | |||
o IPv6 next header field. A limited set of values is allowed, and | * IPv6 Next Header field. A limited set of values is allowed, and | |||
the ability to ignore this field is desirable. | the ability to ignore this field is desirable. | |||
o For the IPv4 Type of Service and IPv6 Traffic Class Fields: | * For the IPv4 Type of Service and IPv6 Traffic Class fields: | |||
* Whether or not the DSCP field is used in flow identification. | - Whether or not the DSCP field is used in flow identification. | |||
Use of the DSCP field for flow identification is optional. | Use of the DSCP field for flow identification is optional. | |||
* If the DSCP field is used to identify a flow, then the flow | - If the DSCP field is used to identify a flow, then the flow | |||
identification information (for that flow) includes a list of | identification information (for that flow) includes a list of | |||
DSCPs used by that flow. | DSCPs used by that flow. | |||
o IPv6 flow label field. This field can be optionally used for | * IPv6 Flow Label field. This field can be optionally used for | |||
matching. When used, this field can be used instead of matching | matching. When used, this field can be used instead of matching | |||
against the Next Header field. | against the Next Header field. | |||
o TCP and UDP Source Port. Support for both exact and wildcard | * TCP and UDP Source Port. Support for both exact and wildcard | |||
matching is required. Port ranges can optionally be used. | matching is required. Port ranges can optionally be used. | |||
o TCP and UDP Destination Port. Support for both exact and wildcard | * TCP and UDP Destination Port. Support for both exact and wildcard | |||
matching is required. Port ranges can optionally be used. | matching is required. Port ranges can optionally be used. | |||
o IPsec Header SPI field. Exact matching is required. Support for | * IPsec Header SPI field. Exact matching is required. Support for | |||
wildcard matching is recommended. | wildcard matching is recommended. | |||
o For end systems, an optional maximum IP packet size that should be | * For end systems, an optional maximum IP packet size that should be | |||
used for that outgoing DetNet IP flow. | used for that outgoing DetNet IP flow. | |||
This information MUST be provisioned per DetNet flow via | This information MUST be provisioned per DetNet flow via | |||
configuration, e.g., via the controller or management plane. | configuration, e.g., via the Controller Plane or the management | |||
plane. | ||||
An implementation MUST support ordering of the set of information | An implementation MUST support ordering of the set of information | |||
information used to identify an individual DetNet flow. This can, | used to identify an individual DetNet flow. This can, for example, | |||
for example, be used to provide a DetNet service for a specific UDP | be used to provide a DetNet service for a specific UDP flow, with | |||
flow, with unique Source and Destination Port field values, while | unique Source and Destination Port field values, while providing a | |||
providing a different service for the aggregate of all other flows | different service for the aggregate of all other flows with that same | |||
with that same UDP Destination Port value. | UDP Destination Port value. | |||
It is the responsibility of the DetNet controller plane to properly | It is the responsibility of the DetNet Controller Plane to properly | |||
provision both flow identification information and the flow specific | provision both flow identification information and the flow-specific | |||
resources needed to provided the traffic treatment needed to meet | resources needed to provide the traffic treatment needed to meet each | |||
each flow's service requirements. This applies for aggregated and | flow's service requirements. This applies for aggregated and | |||
individual flows. | individual flows. | |||
7. Security Considerations | 7. Security Considerations | |||
Detailed security considerations for DetNet are cataloged in | Detailed security considerations for DetNet are cataloged in | |||
[I-D.ietf-detnet-security], and more general security considerations | [DetNet-Security], and more general security considerations are | |||
are described in [RFC8655]. This section considers exclusively | described in [RFC8655]. This section exclusively considers security | |||
security considerations which are specific to the DetNet IP data | considerations that are specific to the DetNet IP data plane. | |||
plane. | ||||
Security aspects which are unique to DetNet are those whose aim is to | Security aspects that are unique to DetNet are those whose aim is to | |||
provide the specific quality of service aspects of DetNet, which are | provide the specific QoS aspects of DetNet, which are primarily to | |||
primarily to deliver data flows with extremely low packet loss rates | deliver data flows with extremely low packet loss rates and bounded | |||
and bounded end-to-end delivery latency. Achieving such loss rates | end-to-end delivery latency. Achieving such loss rates and bounded | |||
and bounded latency may not be possible in the face of a highly | latency may not be possible in the face of a highly capable | |||
capable adversary, such as the one envisioned by the Internet Threat | adversary, such as the one envisioned by the Internet Threat Model of | |||
Model of BCP 72 that can arbitrarily drop or delay any or all | BCP 72 [RFC3552] that can arbitrarily drop or delay any or all | |||
traffic. In order to present meaningful security considerations, we | traffic. In order to present meaningful security considerations, we | |||
consider a somewhat weaker attacker who does not control the physical | consider a somewhat weaker attacker who does not control the physical | |||
links of the DetNet domain, but may have the ability to control a | links of the DetNet domain but may have the ability to control a | |||
network node within the boundary of the DetNet domain. | network node within the boundary of the DetNet domain. | |||
The primary consideration for the DetNet data plane is to maintain | The primary consideration for the DetNet data plane is to maintain | |||
integrity of data and delivery of the associated DetNet service | integrity of data and delivery of the associated DetNet service | |||
traversing the DetNet network. Since no DetNet-specific fields are | traversing the DetNet network. Since no DetNet-specific fields are | |||
available in the DetNet IP data plane, the integrity and | available in the DetNet IP data plane, the integrity and | |||
confidentiality of application flows can be protected through | confidentiality of application flows can be protected through | |||
whatever means are provided by the underlying technology. For | whatever means are provided by the underlying technology. For | |||
example, encryption may be used, such as that provided by IPSec | example, encryption may be used, such as that provided by IPsec | |||
[RFC4301] for IP flows and/or by an underlying sub-net using MACSec | [RFC4301] for IP flows and/or by an underlying sub-network using | |||
[IEEE802.1AE-2018] for IP over Ethernet (Layer-2) flows. | MACsec [IEEE802.1AE-2018] for IP over Ethernet (Layer 2) flows. | |||
From a data plane perspective this document does not add or modify | From a data plane perspective, this document does not add or modify | |||
any header information. | any header information. | |||
At the management and control level DetNet flows are identified on a | At the management and control level, DetNet flows are identified on a | |||
per-flow basis, which may provide controller plane attackers with | 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 which has security implications | is an inherent property of DetNet that has security implications that | |||
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, | |||
through the use of existing mechanism such as policing and shaping | through the use of existing mechanisms such as policing and shaping | |||
applied at the input of a DetNet domain or within an edge IEEE802.1 | applied at the input of a DetNet domain or within an edge IEEE 802.1 | |||
TSN domain. To prevent DetNet packets from being delayed by an | TSN domain. To prevent DetNet packets from being delayed by an | |||
entity external to a DetNet domain, DetNet technology definition can | entity external to a DetNet domain, DetNet technology definitions can | |||
allow for the mitigation of Man-In-The-Middle attacks, for example | allow for the mitigation of man-in-the-middle attacks -- for example, | |||
through use of authentication and authorization of devices within the | through the use of authentication and authorization of devices within | |||
DetNet domain. | the DetNet domain. | |||
8. IANA Considerations | 8. IANA Considerations | |||
This document does not require an action from IANA. | This document has no IANA actions. | |||
9. Acknowledgements | ||||
The authors wish to thank Pat Thaler, Norman Finn, Loa Anderson, | ||||
David Black, Rodney Cummings, Ethan Grossman, Tal Mizrahi, David | ||||
Mozes, Craig Gunther, George Swallow, Yuanlong Jiang and Carlos J. | ||||
Bernardos for their various contributions to this work. David Black | ||||
served as technical advisor to the DetNet working group during the | ||||
development of this document and provided many valuable comments. | ||||
IESG comments were provided by Murray Kucherawy, Roman Danyliw, | ||||
Alvaro Retana, Benjamin Kaduk, Rob Wilton, and Erik Vyncke. | ||||
10. Contributors | ||||
RFC7322 limits the number of authors listed on the front page of a | ||||
draft to a maximum of 5. The editor wishes to thank and acknowledge | ||||
the follow authors for contributing text to this draft. | ||||
Jouni Korhonen | ||||
Email: jouni.nospam@gmail.com | ||||
Andrew G. Malis | ||||
Malis Consulting | ||||
Email: agmalis@gmail.com | ||||
11. References | ||||
11.1. Normative references | 9. References | |||
[I-D.ietf-detnet-data-plane-framework] | 9.1. Normative References | |||
Varga, B., Farkas, J., Berger, L., Malis, A., and S. | ||||
Bryant, "DetNet Data Plane Framework", draft-ietf-detnet- | ||||
data-plane-framework-06 (work in progress), May 2020. | ||||
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, | [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, | |||
DOI 10.17487/RFC0768, August 1980, | DOI 10.17487/RFC0768, August 1980, | |||
<https://www.rfc-editor.org/info/rfc768>. | <https://www.rfc-editor.org/info/rfc768>. | |||
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, | [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, | |||
DOI 10.17487/RFC0791, September 1981, | DOI 10.17487/RFC0791, September 1981, | |||
<https://www.rfc-editor.org/info/rfc791>. | <https://www.rfc-editor.org/info/rfc791>. | |||
[RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, | [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, | |||
skipping to change at page 22, line 19 ¶ | skipping to change at line 946 ¶ | |||
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | |||
(IPv6) Specification", STD 86, RFC 8200, | (IPv6) Specification", STD 86, RFC 8200, | |||
DOI 10.17487/RFC8200, July 2017, | DOI 10.17487/RFC8200, July 2017, | |||
<https://www.rfc-editor.org/info/rfc8200>. | <https://www.rfc-editor.org/info/rfc8200>. | |||
[RFC8655] Finn, N., Thubert, P., Varga, B., and J. Farkas, | [RFC8655] Finn, N., Thubert, P., Varga, B., and J. Farkas, | |||
"Deterministic Networking Architecture", RFC 8655, | "Deterministic Networking Architecture", RFC 8655, | |||
DOI 10.17487/RFC8655, October 2019, | DOI 10.17487/RFC8655, October 2019, | |||
<https://www.rfc-editor.org/info/rfc8655>. | <https://www.rfc-editor.org/info/rfc8655>. | |||
11.2. Informative references | [RFC8938] Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S. | |||
Bryant, "Deterministic Networking (DetNet) Data Plane | ||||
Framework", RFC 8938, DOI 10.17487/RFC8938, November 2020, | ||||
<https://www.rfc-editor.org/rfc/rfc8938>. | ||||
[I-D.ietf-detnet-dp-sol-mpls] | 9.2. Informative References | |||
Korhonen, J. and B. Varga, "DetNet MPLS Data Plane | ||||
Encapsulation", draft-ietf-detnet-dp-sol-mpls-02 (work in | ||||
progress), March 2019. | ||||
[I-D.ietf-detnet-flow-information-model] | [DetNet-Flow-Info] | |||
Varga, B., Farkas, J., Cummings, R., Jiang, Y., and D. | Varga, B., Farkas, J., Cummings, R., Jiang, Y., and D. | |||
Fedyk, "DetNet Flow Information Model", draft-ietf-detnet- | Fedyk, "DetNet Flow Information Model", Work in Progress, | |||
flow-information-model-10 (work in progress), May 2020. | Internet-Draft, draft-ietf-detnet-flow-information-model- | |||
11, 21 October 2020, <https://tools.ietf.org/html/draft- | ||||
ietf-detnet-flow-information-model-11>. | ||||
[I-D.ietf-detnet-ip-over-mpls] | [DetNet-IP-over-MPLS] | |||
Varga, B., Berger, L., Fedyk, D., Bryant, S., and J. | Varga, B., Ed., Berger, L., Fedyk, D., Bryant, S., and J. | |||
Korhonen, "DetNet Data Plane: IP over MPLS", draft-ietf- | Korhonen, "DetNet Data Plane: IP over MPLS", Work in | |||
detnet-ip-over-mpls-06 (work in progress), May 2020. | Progress, Internet-Draft, draft-ietf-detnet-ip-over-mpls- | |||
09, 11 October 2020, <https://tools.ietf.org/html/draft- | ||||
ietf-detnet-ip-over-mpls-09>. | ||||
[I-D.ietf-detnet-ip-over-tsn] | [DetNet-IP-over-TSN] | |||
Varga, B., Farkas, J., Malis, A., and S. Bryant, "DetNet | Varga, B., Ed., Farkas, J., Malis, A., and S. Bryant, | |||
Data Plane: IP over IEEE 802.1 Time Sensitive Networking | "DetNet Data Plane: IP over IEEE 802.1 Time Sensitive | |||
(TSN)", draft-ietf-detnet-ip-over-tsn-03 (work in | Networking (TSN)", Work in Progress, Internet-Draft, | |||
progress), June 2020. | draft-ietf-detnet-ip-over-tsn-04, 2 November 2020, | |||
<https://tools.ietf.org/html/draft-ietf-detnet-ip-over- | ||||
tsn-04>. | ||||
[I-D.ietf-detnet-mpls] | [DetNet-MPLS] | |||
Varga, B., Farkas, J., Berger, L., Malis, A., Bryant, S., | Varga, B., Ed., Farkas, J., Berger, L., Malis, A., Bryant, | |||
and J. Korhonen, "DetNet Data Plane: MPLS", draft-ietf- | S., and J. Korhonen, "DetNet Data Plane: MPLS", Work in | |||
detnet-mpls-07 (work in progress), June 2020. | Progress, Internet-Draft, draft-ietf-detnet-mpls-13, 11 | |||
October 2020, | ||||
<https://tools.ietf.org/html/draft-ietf-detnet-mpls-13>. | ||||
[I-D.ietf-detnet-security] | [DetNet-Security] | |||
Mizrahi, T. and E. Grossman, "Deterministic Networking | Grossman, E., Ed., Mizrahi, T., and A. Hacker, | |||
(DetNet) Security Considerations", draft-ietf-detnet- | "Deterministic Networking (DetNet) Security | |||
security-10 (work in progress), May 2020. | Considerations", Work in Progress, Internet-Draft, draft- | |||
ietf-detnet-security-12, 2 October 2020, | ||||
<https://tools.ietf.org/html/draft-ietf-detnet-security- | ||||
12>. | ||||
[I-D.ietf-detnet-tsn-vpn-over-mpls] | [DetNet-TSN-over-MPLS] | |||
Varga, B., Farkas, J., Malis, A., Bryant, S., and D. | Varga, B., Ed., Farkas, J., Malis, A., Bryant, S., and D. | |||
Fedyk, "DetNet Data Plane: IEEE 802.1 Time Sensitive | Fedyk, "DetNet Data Plane: IEEE 802.1 Time Sensitive | |||
Networking over MPLS", draft-ietf-detnet-tsn-vpn-over- | Networking over MPLS", Work in Progress, Internet-Draft, | |||
mpls-03 (work in progress), June 2020. | draft-ietf-detnet-tsn-vpn-over-mpls-04, 2 November 2020, | |||
<https://tools.ietf.org/html/draft-ietf-detnet-tsn-vpn- | ||||
over-mpls-04>. | ||||
[I-D.ietf-detnet-yang] | [DetNet-YANG] | |||
Geng, X., Chen, M., Ryoo, Y., Li, Z., Rahman, R., and D. | Geng, X., Chen, M., Ryoo, Y., Fedyk, D., Rahman, R., and | |||
Fedyk, "Deterministic Networking (DetNet) Configuration | Z. Li, "Deterministic Networking (DetNet) Configuration | |||
YANG Model", draft-ietf-detnet-yang-06 (work in progress), | YANG Model", Work in Progress, Internet-Draft, draft-ietf- | |||
June 2020. | detnet-yang-09, 16 November 2020, | |||
<https://tools.ietf.org/html/draft-ietf-detnet-yang-09>. | ||||
[IEEE802.1AE-2018] | [IEEE802.1AE-2018] | |||
IEEE Standards Association, "IEEE Std 802.1AE-2018 MAC | IEEE, "IEEE Standard for Local and metropolitan area | |||
Security (MACsec)", 2018, | networks-Media Access Control (MAC) Security", IEEE | |||
<https://ieeexplore.ieee.org/document/8585421>. | 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/>. | ||||
[RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - | [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - | |||
Communication Layers", STD 3, RFC 1122, | Communication Layers", STD 3, RFC 1122, | |||
DOI 10.17487/RFC1122, October 1989, | DOI 10.17487/RFC1122, October 1989, | |||
<https://www.rfc-editor.org/info/rfc1122>. | <https://www.rfc-editor.org/info/rfc1122>. | |||
[RFC1192] Kahin, B., "Commercialization of the Internet summary | [RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191, | |||
report", RFC 1192, DOI 10.17487/RFC1192, November 1990, | DOI 10.17487/RFC1191, November 1990, | |||
<https://www.rfc-editor.org/info/rfc1192>. | <https://www.rfc-editor.org/info/rfc1191>. | |||
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., | [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., | |||
and W. Weiss, "An Architecture for Differentiated | and W. Weiss, "An Architecture for Differentiated | |||
Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, | Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, | |||
<https://www.rfc-editor.org/info/rfc2475>. | <https://www.rfc-editor.org/info/rfc2475>. | |||
[RFC3290] Bernet, Y., Blake, S., Grossman, D., and A. Smith, "An | [RFC3290] Bernet, Y., Blake, S., Grossman, D., and A. Smith, "An | |||
Informal Management Model for Diffserv Routers", RFC 3290, | Informal Management Model for Diffserv Routers", RFC 3290, | |||
DOI 10.17487/RFC3290, May 2002, | DOI 10.17487/RFC3290, May 2002, | |||
<https://www.rfc-editor.org/info/rfc3290>. | <https://www.rfc-editor.org/info/rfc3290>. | |||
[RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label | [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label | |||
Switching (GMPLS) Signaling Resource ReserVation Protocol- | Switching (GMPLS) Signaling Resource ReserVation Protocol- | |||
Traffic Engineering (RSVP-TE) Extensions", RFC 3473, | Traffic Engineering (RSVP-TE) Extensions", RFC 3473, | |||
DOI 10.17487/RFC3473, January 2003, | DOI 10.17487/RFC3473, January 2003, | |||
<https://www.rfc-editor.org/info/rfc3473>. | <https://www.rfc-editor.org/info/rfc3473>. | |||
[RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC | ||||
Text on Security Considerations", BCP 72, RFC 3552, | ||||
DOI 10.17487/RFC3552, July 2003, | ||||
<https://www.rfc-editor.org/info/rfc3552>. | ||||
[RFC3670] Moore, B., Durham, D., Strassner, J., Westerinen, A., and | [RFC3670] Moore, B., Durham, D., Strassner, J., Westerinen, A., and | |||
W. Weiss, "Information Model for Describing Network Device | W. Weiss, "Information Model for Describing Network Device | |||
QoS Datapath Mechanisms", RFC 3670, DOI 10.17487/RFC3670, | QoS Datapath Mechanisms", RFC 3670, DOI 10.17487/RFC3670, | |||
January 2004, <https://www.rfc-editor.org/info/rfc3670>. | January 2004, <https://www.rfc-editor.org/info/rfc3670>. | |||
[RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi | |||
Topology (MT) Routing in Intermediate System to | Topology (MT) Routing in Intermediate System to | |||
Intermediate Systems (IS-ISs)", RFC 5120, | Intermediate Systems (IS-ISs)", RFC 5120, | |||
DOI 10.17487/RFC5120, February 2008, | DOI 10.17487/RFC5120, February 2008, | |||
<https://www.rfc-editor.org/info/rfc5120>. | <https://www.rfc-editor.org/info/rfc5120>. | |||
skipping to change at page 24, line 36 ¶ | skipping to change at line 1081 ¶ | |||
[RFC8201] McCann, J., Deering, S., Mogul, J., and R. Hinden, Ed., | [RFC8201] McCann, J., Deering, S., Mogul, J., and R. Hinden, Ed., | |||
"Path MTU Discovery for IP version 6", STD 87, RFC 8201, | "Path MTU Discovery for IP version 6", STD 87, RFC 8201, | |||
DOI 10.17487/RFC8201, July 2017, | DOI 10.17487/RFC8201, July 2017, | |||
<https://www.rfc-editor.org/info/rfc8201>. | <https://www.rfc-editor.org/info/rfc8201>. | |||
[RFC8504] Chown, T., Loughney, J., and T. Winters, "IPv6 Node | [RFC8504] Chown, T., Loughney, J., and T. Winters, "IPv6 Node | |||
Requirements", BCP 220, RFC 8504, DOI 10.17487/RFC8504, | Requirements", BCP 220, RFC 8504, DOI 10.17487/RFC8504, | |||
January 2019, <https://www.rfc-editor.org/info/rfc8504>. | January 2019, <https://www.rfc-editor.org/info/rfc8504>. | |||
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. David | ||||
Black served as technical advisor to the DetNet working group during | ||||
the development of this document and provided many valuable comments. | ||||
IESG comments were provided by Murray Kucherawy, Roman Danyliw, | ||||
Alvaro Retana, Benjamin Kaduk, Rob Wilton, and Érik Vyncke. | ||||
Contributors | ||||
The editor of this document wishes to thank and acknowledge the | ||||
following people who contributed substantially to the content of this | ||||
document and should be considered coauthors: | ||||
Jouni Korhonen | ||||
Email: jouni.nospam@gmail.com | ||||
Andrew G. Malis | ||||
Malis Consulting | ||||
Email: agmalis@gmail.com | ||||
Authors' Addresses | Authors' Addresses | |||
Balazs Varga (editor) | Balázs Varga (editor) | |||
Ericsson | Ericsson | |||
Budapest | ||||
Magyar Tudosok krt. 11. | Magyar Tudosok krt. 11. | |||
Budapest 1117 | 1117 | |||
Hungary | Hungary | |||
Email: balazs.a.varga@ericsson.com | Email: balazs.a.varga@ericsson.com | |||
Janos Farkas | ||||
János Farkas | ||||
Ericsson | Ericsson | |||
Budapest | ||||
Magyar Tudosok krt. 11. | Magyar Tudosok krt. 11. | |||
Budapest 1117 | 1117 | |||
Hungary | Hungary | |||
Email: janos.farkas@ericsson.com | Email: janos.farkas@ericsson.com | |||
Lou Berger | Lou Berger | |||
LabN Consulting, L.L.C. | LabN Consulting, L.L.C. | |||
Email: lberger@labn.net | Email: lberger@labn.net | |||
Don Fedyk | Don Fedyk | |||
LabN Consulting, L.L.C. | LabN Consulting, L.L.C. | |||
Email: dfedyk@labn.net | Email: dfedyk@labn.net | |||
Stewart Bryant | Stewart Bryant | |||
Futurewei Technologies | Futurewei Technologies | |||
Email: stewart.bryant@gmail.com | Email: sb@stewartbryant.com | |||
End of changes. 164 change blocks. | ||||
411 lines changed or deleted | 435 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/ |