DetNet J. Farkas Internet-Draft B. Varga Intended status: Standards Track Ericsson Expires: September 12, 2019 R. Cummings National Instruments Y. Jiang Huawei Technologies Co., Ltd. March 11, 2019 DetNet Flow Information Model draft-ietf-detnet-flow-information-model-03 Abstract This document describes flow and service information model for Deterministic Networking (DetNet). The DetNet service is provided either for a Layer 3 or a Layer 2 flow. This document provides DetNet flow and service information model both for Layer 3 and Layer 2 flows in an integrated fashion. Status of This Memo This Internet-Draft is submitted in full conformance with the 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 and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on September 12, 2019. Copyright Notice Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect Farkas, et al. Expires September 12, 2019 [Page 1] Internet-Draft DetNet Flow Information Model March 2019 to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. ToDo list . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Goals . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. Non Goals . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Conventions Used in This Document . . . . . . . . . . . . . . 5 4. Terminology and Definitions . . . . . . . . . . . . . . . . . 5 5. Naming Conventions . . . . . . . . . . . . . . . . . . . . . 6 6. Service model . . . . . . . . . . . . . . . . . . . . . . . . 6 6.1. Service overview . . . . . . . . . . . . . . . . . . . . 6 6.2. Service parameters . . . . . . . . . . . . . . . . . . . 6 6.3. Reference Points . . . . . . . . . . . . . . . . . . . . 8 6.4. Service scenarios . . . . . . . . . . . . . . . . . . . . 9 7. End System and DetNet domain . . . . . . . . . . . . . . . . 9 8. DetNet flows . . . . . . . . . . . . . . . . . . . . . . . . 11 8.1. Identification and Specification of Flows . . . . . . . . 11 8.1.1. IP flow Identification and Specification at UNI . . . 12 8.1.2. L2 Flow Identification and Specification at UNI . . . 12 8.1.3. DetNet Flow Identification and Specification . . . . 13 8.2. Traffic Specification . . . . . . . . . . . . . . . . . . 13 8.3. Flow Rank . . . . . . . . . . . . . . . . . . . . . . . . 15 9. Source . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 10. Destination . . . . . . . . . . . . . . . . . . . . . . . . . 16 11. Common Attributes of Source and Destination . . . . . . . . . 16 11.1. End System Interfaces . . . . . . . . . . . . . . . . . 16 11.2. Interface Capabilities . . . . . . . . . . . . . . . . . 16 11.3. User to Network Requirements . . . . . . . . . . . . . . 17 12. Ingress . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 13. Egress . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 14. DetNet Domain . . . . . . . . . . . . . . . . . . . . . . . . 18 14.1. DetNet Domain Capabilities . . . . . . . . . . . . . . . 19 15. Flow-status . . . . . . . . . . . . . . . . . . . . . . . . . 19 15.1. Status Info . . . . . . . . . . . . . . . . . . . . . . 20 15.2. Interface Configuration . . . . . . . . . . . . . . . . 21 15.3. Failed Interfaces . . . . . . . . . . . . . . . . . . . 21 16. Service Rank . . . . . . . . . . . . . . . . . . . . . . . . 22 17. Service-status . . . . . . . . . . . . . . . . . . . . . . . 22 18. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 19. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 20. Security Considerations . . . . . . . . . . . . . . . . . . . 22 21. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 21.1. Normative References . . . . . . . . . . . . . . . . . . 23 Farkas, et al. Expires September 12, 2019 [Page 2] Internet-Draft DetNet Flow Information Model March 2019 21.2. Informative References . . . . . . . . . . . . . . . . . 23 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 1. ToDo list These further actions are due on the draft: o Align with updated architecture and data plane documents (partly done). o App-flow parameters will not be defined in detail (add references only, e.g., 802.1Qcc). We focus on DetNet flows. o Clarification on relationship between DetNet flow model and DetNet service model. o Parameter set needs finalization, some re-org of the set may be needed. o Sort out which parameter belongs to DetNet flow model and which to DetNet service model. o Clarify relationship between App-flow and DetNet flow (N:1 vs 1:1). 2. Introduction A Deterministic Networking (DetNet) service provides a capability to carry a unicast or a multicast data flow for an application with constrained requirements on network performance, e.g., low packet loss rate and/or latency. The DetNet service is provided either for a Layer 3 (L3) flow or a Layer 2 (L2) flow by an IP/MPLS network, see, e.g., [I-D.ietf-detnet-dp-sol-mpls]. Similarly, Time-Sensitive Networking (TSN) [IEEE8021TSN]) can be used for L2 flows in a bridged network. DetNet and TSN have common architecture as expressed in [IETFDetNet] and [I-D.ietf-detnet-architecture]. DetNet service can be leveraged both by L3 and L2 flows, i.e., by DetNet L3 flows and DetNet L2 flows. Therefore, the DetNet flow and service information model provided by this document covers both DetNet L3 flows and DetNet L2 flows in an integrated fashion. In a given network scenario three information models can distinguished: o Flow models describe characteristics of data flows. These models describe in detail all relevant aspects of a flow that are needed to support the flow properly by the network between the source and the destination(s). Farkas, et al. Expires September 12, 2019 [Page 3] Internet-Draft DetNet Flow Information Model March 2019 o Service models describe characteristics of services being provided for data flows over a network. These models can be treated as a network operator independent information model. o Configuration models describe in detail the settings required on network nodes to serve a data flow properly. Service and flow information models are used between the user and the network operator. Configuration information models are used between the management/control plane entity of the network and the network nodes. They are shown in Figure 1. User Network Operator flow/service /\ info model +---+ / \ <---------------> | X | management/control ---- +-+-+ plane entity ^ | configuration | info model +------------+ v | | +-+ | v Network +-+ v +-+ nodes +-+ +-+ +-+ Figure 1: Usage of Information models (flow, service and configuration) DetNet flow and service information model is based on [I-D.ietf-detnet-architecture] and on the data model specified by [IEEE8021Qcc]. Furthermore, the DetNet flow information model relies on the flow identification possibilities described in [IEEE8021CB], which is used by [IEEE8021Qcc] as well. In addition to TSN data model, [IEEE8021Qcc] also specifies configuration of TSN features (e.g., traffic scheduling specified by [IEEE8021Qbv]). Due to the common architecture and flow model, configuration features can be leveraged in certain deployment scenarios, e.g., when the network that provides the DetNet service includes both L3 and L2 network segments. Based on the DetNet architecture [I-D.ietf-detnet-architecture] (see Section 4), this document (this revision) only considers the Centralized Network / Distributed User Model out of the models specified by [IEEE8021Qcc]. That is, there is a User-Network Interface (UNI) between an end system and a network. Furthermore, there is a central entity for the control of the network. For Farkas, et al. Expires September 12, 2019 [Page 4] Internet-Draft DetNet Flow Information Model March 2019 instance, the central entity implements a Path Computation Element (PCE) for the calculation and establishment of paths needed for packet replication and elimination, if any. 2.1. Goals As it is expressed in the Charter [IETFDetNet], the DetNet WG collaborates with IEEE 802.1 TSN in order to define a common architecture for both Layer 2 and Layer 3, which is beneficial for various reasons, e.g., in order to simplify implementations. The flow and service information models should be also common along those lines. As the TSN flow information/data model specified by [IEEE8021Qcc] is mature, the DetNet flow and service information models described in this document are based on [IEEE8021Qcc], which is an amendment to [IEEE8021Q]. This document intends to specify flow and service information models only. 2.2. Non Goals This document (this revision) does not intend to specify either flow data model or DetNet configuration. From these aspects, the goals of this document differ from the goals of [IEEE8021Qcc], which also specifies data model and configuration of certain TSN features. 3. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. The lowercase forms with an initial capital "Must", "Must Not", "Shall", "Shall Not", "Should", "Should Not", "May", and "Optional" in this document are to be interpreted in the sense defined in [RFC2119], but are used where the normative behavior is defined in documents published by SDOs other than the IETF. 4. Terminology and Definitions This document uses the terminology established in Section 2 of the DetNet architecture document [I-D.ietf-detnet-architecture]. The DetNet <=> TSN dictionary of [I-D.ietf-detnet-architecture] is used to perform translation from [IEEE8021Qcc] to this document. Application level flows (app-flow) can be L2 or L3 flows, what may impact what header fields are use in order to identify a flow. DetNet flows are created by proper DetNet encapsulation of app- flow(s) (e.g., with added MPLS labels, etc.). In some scenarios App- Farkas, et al. Expires September 12, 2019 [Page 5] Internet-Draft DetNet Flow Information Model March 2019 flow and DetNet flow looks similar on the wire (e.g., L3 App-flow over a DetNet IP network). 5. Naming Conventions The following naming conventions were used for naming information model components in this document. It is recommended that extensions of the model use the same conventions. o Names SHOULD be descriptive. o Names MUST start with uppercase letters. o Composed names MUST use capital letters for the first letter of each component. All other letters are lowercase, even for acronyms. Exceptions are made for acronyms containing a mixture of lowercase and capital letters, such as IPv6. Examples are SourceMacAddress and DestinationIPv6Address. 6. Service model 6.1. Service overview The DetNet service can be defined as a service that provides a capability to carry a unicast or a multicast data flow for an application with constrained requirements on network performance, e.g., low packet loss rate and/or latency. The simplest DetNet service is to provide bridging over the DN domain (i.e., tunneling for L2), where the connected hosts are in the same broadcast (BC) domain. Forwarding over the DetNet domain is based on L2 (MAC) addresses (i.e. dst-MAC). Somewhat more sophisticated is DetNet Routing service that provides routing, so available only for L3 hosts that are in different BC domains. Forwarding over the DetNet domain is based on L3 (IP) addresses (i.e. dst-IP). Figure 5. and Figure 8. in [I-D.ietf-detnet-architecture] show the DetNet service related reference points and main components. 6.2. Service parameters A DetNet network receives DetNet flows via a UNI as shown in Figure 5 in [I-D.ietf-detnet-architecture]. The DetNet network connects the UNIs via tunnels in order to provide DetNet service as shown in Figure 8 in [I-D.ietf-detnet-architecture]. The DetNet service attributes are the following: Farkas, et al. Expires September 12, 2019 [Page 6] Internet-Draft DetNet Flow Information Model March 2019 o Service type It is the flow type (L2 or L3) using the DetNet service. o Bandwidth It is the minimum bandwidth guaranteed for the DetNet service. o Delay parameters The are two delay parameters for a DetNet service: * Maximum latency, which is the maximum end-to-end one-way latency for the DetNet service. * Packet Delay Variation (PDV), which is the difference between the minimum and the maximum end-to-end one-way latency. The PDV parameter describes the maximum packet delay variation for the DetNet service. (Note that PDV is sometimes referred to as jitter.) o Loss parameters * The maximum Packet Loss Ratio (PLR) parameter describes the maximum packet loss ratio for the DetNet service between the edges of the DetNet network. * Some applications have special loss requirement. The maximum consecutive loss tolerance parameter describes the maximum number of consecutive packets whose loss can be tolerated. The maximum consecutive loss tolerance can be measured based on sequence number. o Maximum allowed misordering Maximum allowed misordering describes the tolerable maximum number of packets that can be received out of order. The maximum allowed misordering can be measured based on sequence number. The value zero for the maximum allowed misordering indicates that in order delivery is required, misordering cannot be tolerated. o Connectivity type Two connectivity types are distinguished: point-to-point (p2p) and point-to-multipoint (p2mp). Connectivity type p2mp is created by a transport layer function (e.g., p2mp LSP). (Note: mp2mp connectivity is a superposition of p2mp connections.) o Service rank Service rank provides the rank of a service instance relative to other services in the network. Rank is used by the network in case of network resource limitation scenarios. Farkas, et al. Expires September 12, 2019 [Page 7] Internet-Draft DetNet Flow Information Model March 2019 6.3. Reference Points From service model design perspective a fundamental question is the location of the service endpoints, i.e., where the service starts and ends. +--------+ | | | X X | | ____ | | / \ | | | |/\/\/\/\| To be ADDED 404 Not Found Figure 2: FIGURE Placeholder Reference Points Note: Further discussion is needed based on data plane encapsulation results what reference points should be defined. Only some possible examples listed here: o App-flow endpoint: End system's internal reference point for the native data flow. o DetNet-UNI: UNI interface ("U") on a DetNet edge node. o DetNet-NNI: NNI interface ("N") between DetNet domains. [[NOTE: Contributions are welcome whether we should define or distinguish internal reference point(s) for DetNet-aware end-systems as well. ]] DetNet-UNI and DetNet-NNI are assumed in this document to be packet- based reference points and provide connectivity over the packet network and between domains. A DetNet-UNI may add networking technology specific encapsulation to the data flow in order to transport it over the network. [[NOTE: Differences between the service over end-systems internal reference points and DetNet-UNI is for further discussions. For example, in-order delivery is expected in end system internal reference points, whereas it is considered optional over the DetNet- UNI. ]] Farkas, et al. Expires September 12, 2019 [Page 8] Internet-Draft DetNet Flow Information Model March 2019 6.4. Service scenarios Using the above defined reference points, two major service scenarios can be identified: o End-to-End-Service: the service reaches out to final source or destination nodes, so it is an e2e service between application hosting devices (end systems). o DetNet-Service: the service connects networking islands, so it is a service between the borders of network domain(s). [[NOTE: we may consider to define further scenarios based on the result of reference point related discussions. ]] 7. End System and DetNet domain Deterministic service is required by time/loss sensitive application(s) running on an end system during communication with its peer(s). Such a data exchange has various requirements on delay and/ or loss parameters. The DetNet architecture [I-D.ietf-detnet-architecture] distinguishes two kinds of end systems: Source and Destination. The same distinction is applied for the DetNet flow information model. In addition to the end systems interested in a flow, the status information of the flow is also important. Therefore, the DetNet flow information model relies on three high level groups: o Source: an end system capable of sourcing a DetNet flow. The Source information group includes elements that specify the Source for a single flow. This information group is applied from the user to the network. o Destination: an end system that is a destination of a DetNet flow. The Destination information group includes elements that specify the Destination for a single flow. This information group is applied from the user to the network. o Flow-Status: the status of a DetNet flow. The status information group includes elements that specify the status of the flow in the network. This information group is applied from the network to the user. This information group informs the user whether or not the flow is ready for use. From service perspective two kinds of edge nodes can be distinguished: Ingress and Egress. In addition the technology of the DetNet domain and the status of the service are also important. Farkas, et al. Expires September 12, 2019 [Page 9] Internet-Draft DetNet Flow Information Model March 2019 Therefore, the DetNet service information model relies on four high level groups: o Ingress: an edge system receiving a DetNet flow from a Source. The Ingress information group includes elements that specify the entry point for a single flow. This information group is applied from the network to the user. o Egress: an edge system sending traffic towards a Destination of a DetNet flow. The Egress information group includes elements that specify the egress point for a single flow. This information group is applied from the network to the user. o DetNet Domain: an administrative domain providing the DetNet service. The DetNet domain information group includes elements that specify the forwarding capabilities and methods for a single flow. This information group is applied within the network. o Service-Status: the status of a DetNet service. The status information group includes elements that specify the status of the service specific state of the network. This information group is applied from the network to the user. This information group informs the user whether or not the service is ready for use. There are three operations for each flow with respect to a Source or a Destination (and an Ingress or an Egress): o Join: Source/Destination request to join the flow. o Leave: Source/Destination request to leave the flow. o Modify: Source/Destination request to change the flow. Modify operation can be considered to address cases when a flow is slightly changed, e.g., only MaxPayloadSize (Section 8.2) has been changed. The advantage of having a Modify is that it allows to initiate a change of flow spec while leaving the current flow is operating until the change is accepted. If there is no linkage between the Join and the Leave, then in figuring out whether the new flow spec can be supported, the central entity has to assume that the resources committed to the current flow are in use. Via Modify the central entity knows that the resources supporting the current flow can be available for supporting the altered flow. Modify is considered to be an optional operation due to possible control-plane limitations. As the DetNet UNI can provide service for both L3 and L2 app-flows, end systems may not need to implement the L3 <=> L2 Transfer Function Farkas, et al. Expires September 12, 2019 [Page 10] Internet-Draft DetNet Flow Information Model March 2019 specified by [IEEE8021CB] (see, e.g., subclause 6.3; see also subclause 46.1 in [IEEE8021Qcc]). A DetNet edge node may implement a function similar to the Transfer Function, see, e.g., the Svc Proxy in Figure 3 in [I-D.ietf-detnet-architecture]. 8. DetNet flows The app-flows leveraging DetNet service can be unicast or multicast data flows of an application with constrained requirements on network performance, e.g., low packet loss rate and/or latency. Flows can require different connectivity types: point-to-point (p2p) or point- to-multipoint (p2mp). The p2mp connectivity is created by a transport layer function (e.g., p2mp LSP) [I-D.ietf-detnet-dp-sol-mpls]. (Note that mp2mp connectivity is a superposition of p2mp connections.) Many flows using DetNet service are periodic with fix packet size (i.e., Constant Bit Rate (CBR) flows), or periodic with variable packet size. Delay and loss parameters are correlated because the effect of late delivery can result data loss for an application. However, not all applications require hard limits on both parameters (delay and loss). For example, some real-time applications allow graceful degradation if loss happens (e.g., sample-based processing, media distribution). Some others may require high-bandwidth connections that make the usage of techniques like packet replication economically challenging or even impossible. Some applications may not tolerate loss, but are not delay sensitive (e.g., bufferless sensors). Time/loss sensitive applications may have somewhat special requirements especially for loss (e.g., no loss in two consecutive communication cycles; very low outage time, etc.). Flows have the following attributes: a. DataFlowSpecification (Section 8.1) b. TrafficSpecification (Section 8.2) c. FlowRank (Section 8.3) Flow attributes are described in the following sections. 8.1. Identification and Specification of Flows Identification options for DetNet flows at the UNI and within the DetNet domain are specified as follows; see Section 8.1.1 for DetNet Farkas, et al. Expires September 12, 2019 [Page 11] Internet-Draft DetNet Flow Information Model March 2019 L3 flows (at UNI), Section 8.1.2 for DetNet L2 flows (at UNI) and Section 8.1.3 for DetNetwork flows (within the network). 8.1.1. IP flow Identification and Specification at UNI L3 data flows can be identified and specified by the following attributes: a. SourceIpAddress b. DestinationIpAddress c. IPv6FlowLabel d. Dscp e. Protocol f. SourcePort g. DestinationPort 8.1.2. L2 Flow Identification and Specification at UNI L2 data flows can be identified and specified by the following attributes: a. DestinationMacAddress b. SourceMacAddress c. Pcp d. VlanId e. EtherType Note: The Multiple Stream Registration Protocol (MSRP) [IEEE8021Q] uses StreamID to match Talker registrations with their corresponding Listener registrations, i.e., to identify Streams (L2 TSN flows). The StreamID includes the following subcomponents: o A 48-bit MAC Address associated with the Talker sourcing the stream to the bridged network. o A 16-bit unsigned integer value, Unique ID, used to distinguish among multiple streams sourced by the same Talker. Farkas, et al. Expires September 12, 2019 [Page 12] Internet-Draft DetNet Flow Information Model March 2019 8.1.3. DetNet Flow Identification and Specification Identification of DetNet flows within the DetNet domain are used in the service information model. The attributes are specific to the forwarding paradigm within the DetNet domain. DetNetwork flows can be identified and specified by the following attributes: a. SourceIpAddress b. DestinationIpAddress c. IPv6FlowLabel d. DSCP e. Protocol f. SourcePort g. DestinationPort h. MplsLabel 8.2. Traffic Specification TrafficSpecification specifies how the Source transmits packets for the flow. This is effectively the promise/request of the Source to the network. The network uses this traffic specification to allocate resources and adjust queue parameters in network nodes. TrafficSpecification has the following attributes: a. Interval: the period of time in which the traffic specification cannot be exceeded. b. MaxPacketsPerInterval: the maximum number of packets that the Source will transmit in one Interval. c. MaxPayloadSize: the maximum payload size that the Source will transmit. [[NOTE (to be removed from a future revision): These attributes can be used to describe any type of traffic (e.g., CBR, VBR, etc.) and can be used during resource allocation to represent worst case scenarios. Further optional attributes can be considered to achieve more efficient resource allocation. Such optional attributes might be worth for flows with soft requirements (i.e., the flow is only loss sensitive or only delay sensitive, but not both delay-and-loss Farkas, et al. Expires September 12, 2019 [Page 13] Internet-Draft DetNet Flow Information Model March 2019 sensitive). Possible options how to extend TrafficSpecification attributes is for further discussion. Identified options are described in the following notes.]] [[NOTE1: Based on the already defined attributes the most similar additional attributes for VBR type flows can be defined as follows: o AveragePacketsPerInterval: the average number of packets that the Source will transmit in one Interval. o AveragePayloadSize: the average payload size that the Source will transmit. ]] [[NOTE2: another alternative to deal better with various traffic types can rely on [RFC6003], which describes the support of Metro Ethernet Forum (MEF) Ethernet traffic parameters for using for resource reservation purposes. Such a Bandwidth Profile can be also adapted to describe the set of traffic parameters for a Detnet flow. Committed Rate indicates the rate at which traffic commits to be sent by the source (described in terms of the CIR (Committed Information Rate) and CBS (Committed Burst Size) attributes.) Excess Rate indicates the extent by which the traffic sent by the source exceeds the committed rate. The Excess Rate is described in terms of the EIR (Excess Information Rate) and EBS (Excess Burst Size) attributes. ]] [[NOTE3: a third alternative is to define application based traffic models such as [GPP22885] defines periodic and event-driven traffic model, and 5G PPP work defines traffic model for MTC (Machine Type Communication) use cases [I-D.ietf-detnet-use-cases]. Periodic traffic type is usually for status update between devices or devices transmit status report to a central unit in regular basis. TrafficPeriod, defines the period of the status update message. DataSize, defines the data size of the massage which is constant. 3GPP also defines approximately-periodic transmission with variations on period and uncertainty in the time arrival of the packets. Event- triggered traffic type corresponds traffic being triggered by an MTC device event. MinIntervalBetweenEvent, defines the minimum interval between two events. Event-triggered transmission will not happen all the time, whenever an alert is sent, it waits until the issue being solved to be able to send another alert. MaxPacketPerEvent, defines the max number of packets within one message. ]] Farkas, et al. Expires September 12, 2019 [Page 14] Internet-Draft DetNet Flow Information Model March 2019 8.3. Flow Rank FlowRank provides the rank of this flow relative to other flows in the network. This rank is used to determine success/failure of flow establishment. Rank (boolean) is used by the network to decide which flows can and cannot exist when network resources reach their limit. Rank is used to help to determine which flows can be dropped (i.e., removed from node configuration) if a port of a node becomes oversubscribed (e.g., due to network reconfiguration). The true value is more important than the false value (i.e., flows with false are dropped first). 9. Source The Source object specifies: o The behavior of the Source for the flow (how/when the Source transmits). o The requirements of the Source from the network. o The capabilities of the interface(s) of the Source. The Source object includes the following attributes: a. DataFlowSpecification (Section 8.1) b. TrafficSpecification (Section 8.2) c. FlowRank (Section 8.3) d. EndSystemInterfaces (Section 11.1) e. InterfaceCapabilities (Section 11.2) f. UserToNetworkRequirements (Section 11.3) For the join operation, the DataFlowSpecification, FlowRank, EndSystemInterfaces, and TrafficSpecification SHALL be included within the Source. For the join operation, the UserToNetworkRequirements and InterfaceCapabilities groups MAY be included within the Source. For the leave operation, the DataFlowSpecification and EndSystemInterfaces SHALL be included within the Source. For the modify operation, the same object SHALL and MAY included as for the join operation. Farkas, et al. Expires September 12, 2019 [Page 15] Internet-Draft DetNet Flow Information Model March 2019 10. Destination The Destination object includes the following attributes: a. DataFlowSpecification (Section 8.1) b. EndSystemInterfaces (Section 11.1) c. InterfaceCapabilities (Section 11.2) d. UserToNetworkRequirements (Section 11.3) For the join operation, the DataFlowSpecification and EndSystemInterfaces SHALL be included within the Destination. For the join operation, the UserToNetworkRequirements and InterfaceCapabilities groups MAY be included within the Destination. For the leave operation, the DataFlowSpecification and EndSystemInterfaces SHALL be included within the Destination. For the modify operation, the same object SHALL and MAY included as for the join operation. [[NOTE (to be removed from a future revision): Adding a general EndpointRank? That would define the endpoint importance (source, destination). It is only partly covered by FlowRank ... For example, it could distinguish the importance of Destinations if the flow cannot be provided for all Destinations.]] 11. Common Attributes of Source and Destination Source and Destination end systems have the following common attributes in addition to DataFlowSpecification (Section 8.1). 11.1. End System Interfaces EndSystemInterfaces is a list of identifiers, one for each physical interface (port) in the end system acting as a Source or Destination. An interface is identified by an IP or a MAC address. EndSystemInterfaces can refer also to logical sub-Interfaces if supported by the end system, e.g., based on IfIndex parameter. 11.2. Interface Capabilities InterfaceCapabilities specifies the network capabilities of all interfaces (ports) contained in the EndSystemInterfaces object (Section 11.1). These capabilities may be configured via the Farkas, et al. Expires September 12, 2019 [Page 16] Internet-Draft DetNet Flow Information Model March 2019 InterfaceConfiguration object (Section 15.2) of the Status object (Section 15). Note that an end system may have multiple interfaces with different network capabilities. In this case, each interface should be specified in a distinct top-level Source or Destination object (i.e., one entry in EndSystemInterfaces (Section 11.1)). Use of multiple entries in EndSystemInterfaces is intended for network capabilities that span multiple interfaces (e.g., packet replication and elimination).";. InterfaceCapabilities attributes: a. SubInterfaceCapable (sub-interface capable) b. PREF-Capable (packet replication and elimination capable) c. POF-Capable (packet ordering capable) [[NOTE (to be removed from a future revision): InterfaceCapabilities attributes are to be defined. For information, [IEEE8021Qcc] specifies the following attributes: o VlanTagCapable (Customer VLAN Tag capable) o CB-Capable (frame replication and elimination capable) o CB-StreamIdenTypeList (a list of the optional Stream Identification types supported by the interface as specified in [IEEE8021CB].) o CB-SequenceTypeList (a list of the optional Sequence Encode/Decode types supported by the interface as specified in [IEEE8021CB].) ]] 11.3. User to Network Requirements UserToNetworkRequirements specifies user requirements for the flow, such as latency and reliability. The UserToNetworkRequirements object includes the following attributes: a. MaxLatency MaxLatency is the maximum latency from Source to Destination(s) for a single packet of the flow. MaxLatency is specified as an integer Farkas, et al. Expires September 12, 2019 [Page 17] Internet-Draft DetNet Flow Information Model March 2019 number of nanoseconds. When this requirement is specified by the Source, it must be satisfied for all Destinations. When this requirement is specified by a Destination, it must be satisfied for that particular Destination only. If the UserToNetworkRequirements group is not provided within the Source or Destination object, then value zero SHALL be used for this element. Value zero represents a special use for the maximum latency requirement. Value zero locks- down the initial latency that the network provides in the AccumulatedLatency parameter of the Status object (Section 15) after the successful configuration of the flow, such that any subsequent increase in the latency beyond that initial value causes the flow to fail. [[NOTE-1 (to be removed from a future revision): Should we add a parameter to specify the maximum packet loss rate that can be tolerated for the flow?]] [[NOTE-2 (to be removed from a future revision): TrafficSpecification (Section 8.2) specifies the Peak Information Rate (PIR) of the flow, which is a kind of user requirement to the network. Should we add Committed Information Rate (CIR), i.e., the minimum rate the user requests to be guaranteed for the flow by the network?]] 12. Ingress Placeholder ... 13. Egress Placeholder ... 14. DetNet Domain The DetNet Domain may change the encapsulation of a DetNet L2 or L3 flow at the UNI. That impacts not only how a flow can be recognised inside the DetNet domain but also the resource reservation calculations. The DetNet Domain object specifies: o The behavior of the flow (how/when it is transmited). o The requirements of the flow from the network. o The capabilities of the DetNet domain. The DetNet domain object includes the following attributes: Farkas, et al. Expires September 12, 2019 [Page 18] Internet-Draft DetNet Flow Information Model March 2019 a. DataFlowSpecification (Section 8.1) b. TrafficSpecification (Section 8.2) c. ServiceRank (Section 16) d. DetnetDomainCapabilities (Section 14.1) e. UserToNetworkRequirements (Section 11.3) 14.1. DetNet Domain Capabilities DetnetDomainCapabilities specifies the network capabilities, which can be used to provide DetNet service. DetNet Edge nodes may change the encapsulation of a flow according to the data plane used inside the DetNet domain. DetnetDomainCapabilities object includes the following attributes: a. EncapsulationFormat (data plane specific encapsulation) b. PREF-Capable (packet replication and elimination capable) 15. Flow-status The FlowStatus object is provided by the network each Source and Destination of the flow. The Status object provides the status of the flow with respect to the establishment of the flow by the network. The Status object is delivered via the corresponding UNI to each Source and Destination end system of the flow. The Status is distinct for each Source or Destination because the AccumulatedLatency and InterfaceConfiguration objects are distinct, see below. The Status object SHALL include the attributes a), b), c); and MAY include attributes d), e): a. DataFlowSpecification (Section 8.1) b. StatusInfo (Section 15.1) c. AccumulatedLatency (this section below) d. InterfaceConfiguration (Section 15.2) e. FailedInterfaces (Section 15.3) Farkas, et al. Expires September 12, 2019 [Page 19] Internet-Draft DetNet Flow Information Model March 2019 DataFlowSpecification identifies the flow for which status is provided. DataFlowSpecification is described in (Section 8.1) If the Status object is provided without a Source or Destination object in a protocol message via a UNI, then the DataFlowSpecification object SHALL be included within the Status object for both join and leave operations. If the Status object immediately follows a Source or Destination object in the protocol message, then the DataFlowSpecification object is obtained from the Source/Destination object, and therefore DataFlowSpecification is not required within the Status object. AccumulatedLatency provides the worst-case latency that a single packet of the flow can encounter along its current path(s) in the network. When provided to a Source, AccumulatedLatency is the worst- case latency for all Destinations (worst path). AccumulatedLatency is specified as an integer number of nanoseconds. Latency is measured using the time at which the data frame's message timestamp point passes the reference plane marking the boundary between the network media and PHY. The message timestamp point is specified by IEEE Std 802.1AS [IEEE8021AS] for various media. For a successful Status, the network returns a value less than or equal to the MaxLatency of the UserToNetworkRequirements (Section 11.3). If the NumReplicationTrees of the UserToNetworkRequirements (Section 11.3) is one, then the AccumlatedLatency SHALL provide the worst latency for the current path from the Source to each Destination. If the path is changed (e.g., due to rerouting), then the AccumulatedLatency changes accordingly. If the NumReplicationTrees of the UserToNetworkRequirements (Section 11.3) is greater than one, AccumlatedLatency SHALL provide the worst latency for all paths in use from the Source to each Destination. 15.1. Status Info StatusInfo provides information regarding the status of a flow's configuration in the network. The StatusInfo object MAY include the following attributes: a. SourceStatus is an enumeration for the status of the flow's Source: * None: no Source * Ready: Source is ready * Failed: Source failed Farkas, et al. Expires September 12, 2019 [Page 20] Internet-Draft DetNet Flow Information Model March 2019 b. DestinationStatus is an enumeration for the status of the flow's Destinations: * None: no Destination * Ready: all Destinations are ready * PartialFailed: One or more Destinations ready, and one or more Listeners failed. The flow can be used if the Source is Ready. * Failed: All Destinations failed. c. FailureCode: A non-zero code that specifies the problem if the flow encounters a failure (e.g., packet replication and elimination is requested but not possible, or SourceStatus is Failed, or DestinationStatus is Failed, or DestinationStatus is PartialFailed). [[NOTE (to be removed from a future revision): FailureCodes to be defined for DetNet. Table 46-1 of [IEEE8021Qcc] describes TSN failure codes.]] 15.2. Interface Configuration InterfaceConfiguration provides information about of interfaces in the Source/Destination. This configuration related information assists the network in meeting the requirements of the flow. The InterfaceConfiguration object is according to the capabilities of the interface. InterfaceConfiguration can be distinct for each Source or Destination of each flow. If the InterfaceConfiguration object is not provided within the Status object, then the network SHALL assume zero elements as the default (no interface configuration). The InterfaceConfiguration object MAY include one or more the following attributes: a. MAC or IP Address to identify the interface b. DataFlowSpecification (Section 8.1) 15.3. Failed Interfaces FailedInterfaces provides a list of one or more physical interfaces (ports) in the failed node when a failure occurs in the network. The FailedInterface object includes the following attributes: Farkas, et al. Expires September 12, 2019 [Page 21] Internet-Draft DetNet Flow Information Model March 2019 a. MAC or IP Address to identify the interface b. InterfaceName InterfaceName is the name of the interface (port) within the node. This interface name SHALL be persistent, and unique within the node. 16. Service Rank ServiceRank provides the rank of this service instance relative to other services in the network. This rank is used to determine success/failure of service instance establishment. Rank (boolean) is used by the network to decide which services can and cannot exist when network resources reach their limit. Rank is used to help to determine which services can be dropped (i.e., removed from node configuration) if a port of a node becomes oversubscribed (e.g., due to network reconfiguration). The true value is more important than the false value (i.e., services with false are dropped first). [[NOTE: relationship between ServiceRank and FlowRank needs further discussions. A 1:N relationship is assumed (a service instance can serv multiple flows). This sub-section is considered to move to the service related sections. ]] 17. Service-status Placeholder ... 18. Summary This document describes DetNet flow information model both for DetNet L3 flows and DetNet L2 flows based on the TSN data model specified by [IEEE8021Qcc]. This revision is extended with DetNet specific flow information model elements. 19. IANA Considerations N/A. 20. Security Considerations N/A. 21. References Farkas, et al. Expires September 12, 2019 [Page 22] Internet-Draft DetNet Flow Information Model March 2019 21.1. Normative References [I-D.ietf-detnet-architecture] Finn, N., Thubert, P., Varga, B., and J. Farkas, "Deterministic Networking Architecture", draft-ietf- detnet-architecture-11 (work in progress), February 2019. [I-D.ietf-detnet-dp-sol-mpls] Korhonen, J. and B. Varga, "DetNet MPLS Data Plane Encapsulation", draft-ietf-detnet-dp-sol-mpls-01 (work in progress), October 2018. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC6003] Papadimitriou, D., "Ethernet Traffic Parameters", RFC 6003, DOI 10.17487/RFC6003, October 2010, . 21.2. Informative References [GPP22885] 3GPP, "Study on LTE support for Vehicle-to-Everything (V2X) services", . [I-D.ietf-detnet-use-cases] Grossman, E., "Deterministic Networking Use Cases", draft- ietf-detnet-use-cases-20 (work in progress), December 2018. [IEEE8021AS] IEEE 802.1, "IEEE 802.1AS-2011: IEEE Standard for Local and metropolitan area networks - Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks", 2011, . [IEEE8021CB] IEEE 802.1, "IEEE P802.1CB: IEEE Draft Standard for Local and metropolitan area networks - Frame Replication and Elimination for Reliability", 2017, . Farkas, et al. Expires September 12, 2019 [Page 23] Internet-Draft DetNet Flow Information Model March 2019 [IEEE8021Q] IEEE 802.1, "IEEE 802.1Q-2014: IEEE Standard for Local and metropolitan area networks - Bridges and Bridged Networks", 2014, . [IEEE8021Qbv] IEEE 802.1, "IEEE 802.1Qbv-2015: IEEE Standard for Local and metropolitan area networks - Bridges and Bridged Networks -- Amendment 25: Enhancements for Scheduled Traffic", 2015, . [IEEE8021Qcc] IEEE 802.1, "IEEE P802.1Qcc-2015: IEEE Draft Standard for Local and metropolitan area networks - Bridges and Bridged Networks -- Amendment: Stream Reservation Protocol (SRP) Enhancements and Performance Improvements", 2017, . [IEEE8021TSN] IEEE 802.1, "IEEE 802.1 Time-Sensitive Networking (TSN) Task Group", . [IETFDetNet] IETF, "IETF Deterministic Networking (DetNet) Working Group", . Authors' Addresses Janos Farkas Ericsson Magyar tudosok korutja 11 Budapest 1117 Hungary Email: janos.farkas@ericsson.com Balazs Varga Ericsson Magyar tudosok korutja 11 Budapest 1117 Hungary Email: balazs.a.varga@ericsson.com Farkas, et al. Expires September 12, 2019 [Page 24] Internet-Draft DetNet Flow Information Model March 2019 Rodney Cummings National Instruments 11500 N. Mopac Expwy Bldg. C Austin, TX 78759-3504 USA Email: rodney.cummings@ni.com Yuanlong Jiang Huawei Technologies Co., Ltd. Bantian, Longgang district Shenzhen 518129 China Email: jiangyuanlong@huawei.com Farkas, et al. Expires September 12, 2019 [Page 25]