The data model specified by [
IEEE8021Qcc] describes data flows using TSN service as periodic flows with fixed packet size (i.e., Constant Bitrate (CBR) flows) or with variable packet size. The same concept is applied for flows using DetNet service.
Latency and loss parameters are correlated because the effect of late delivery can result in data loss for an application. However, not all applications require hard limits on both latency and loss. For example, some real-time applications allow graceful degradation if loss happens (e.g., sample-based data processing and media distribution). Some other applications may require high-bandwidth connections that make use of packet replication techniques that are economically challenging or even impossible. Some applications may not tolerate loss but are not delay sensitive (e.g., bufferless sensors). Time- or loss-sensitive applications may have somewhat special requirements, especially for loss (e.g., no loss over two consecutive communication cycles, very low outage time, etc.).
DetNet flows have the following attributes:
-
DnFlowID (Section 5.1)
-
DnPayloadType (Section 5.2)
-
DnFlowFormat (Section 5.3)
-
DnFlowSpecification (Section 5.4)
-
DnTrafficSpecification (Section 5.5)
-
DnFlowEndpoints (Section 5.6)
-
DnFlowRank (Section 5.7)
-
DnFlowStatus (Section 5.8)
DetNet flows have the following requirement attributes:
-
DnFlowRequirements (Section 5.9)
-
DnFlowBiDir (Section 5.10)
Flow attributes are described in the following sections.
A unique (management) identifier is needed for each DetNet flow within the DetNet domain. It is specified by DnFlowID. It can be used to define the N:1 mapping of DetNet flows to a DetNet service.
The DnPayloadType attribute is set according to the encapsulated App-flow format. The attribute can be Ethernet, MPLS, or IP.
The DnFlowFormat attribute is set according to the DetNet PSN technology. The attribute can be MPLS or IP.
Identification options for DetNet flows at the Ingress/Egress and within the DetNet domain are specified as follows; see
Section 5.4.1 for DetNet MPLS flows and
Section 5.4.2 for DetNet IP flows.
The identification of DetNet MPLS flows within the DetNet domain is based on the MPLS context in the service information model. The attributes are specific to the MPLS forwarding paradigm within the DetNet domain [
RFC 8964]. DetNet MPLS flows can be identified and specified by the following attributes:
-
SLabel
-
FLabelStack
DetNet IP flows can be identified and specified by the following attributes [
RFC 8939]:
-
SourceIpAddress
-
DestinationIpAddress
-
IPv6FlowLabel
-
Dscp
-
Protocol
-
SourcePort
-
DestinationPort
-
IPSecSpi
The IP 6-tuple that is used for DetNet IP flow identification consists of items a, b, d, e, f, and g. Items c and h are additional attributes that can be used for DetNet flow identification in addition to the 6-tuple. The 6-tuple and use of wild cards for these attributes are specified in [
RFC 8939].
The DnTrafficSpecification attributes specify how the DN Ingress transmits packets for the DetNet flow. This is effectively the promise/request of the DN Ingress to the network. The network uses this traffic specification to allocate resources and adjust queue parameters in network nodes.
TrafficSpecification has the following attributes:
-
Interval: the period of time in which the traffic specification is specified
-
MaxPacketsPerInterval: the maximum number of packets that the Ingress will transmit in one Interval
-
MaxPayloadSize: the maximum payload size that the Ingress will transmit
-
MinPayloadSize: the minimum payload size that the Ingress will transmit
-
MinPacketsPerInterval: the minimum number of packets that the Ingress will transmit in one Interval
These attributes can be used to describe any type of traffic (e.g., CBR, Variable Bitrate (VBR), etc.) and can be used during resource allocation to represent worst-case scenarios. Intervals are specified as an integer number of nanoseconds. PayloadSizes are specified in octets.
Flows exceeding the traffic specification (i.e., having more traffic than defined by the maximum attributes) may receive a different network behavior than the DetNet network has been engineered for. Excess traffic due to malicious or malfunctioning devices can be prevented or mitigated (e.g., through the use of existing mechanisms, such as policing and shaping).
When MinPayloadSize and MinPacketsPerInterval parameters are used, all packets less than the MinPayloadSize will be counted as being of the size MinPayloadSize during packet processing when packet size matters, e.g., when policing; all flows having less than MinPacketsPerInterval will be counted as having MinPacketsPerInterval when the number of packets per interval matters, e.g., during resource reservation. However, flows having less than MinPacketsPerInterval may result in a different network behavior than the DetNet network has been engineered for. MinPayloadSize and MinPacketsPerInterval parameters, for example, may be used when engineering the latency bounds of a DetNet flow when Packet Ordering Function (POF) is applied to the given DetNet flow.
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 sensitive). Possible options about how to extend DnTrafficSpecification attributes is for further discussion.
The DnFlowEndpoints attribute defines the start and end reference points of the DetNet flow by pointing to the ingress interface/node and egress interface(s)/node(s). Depending on the network scenario, it defines an interface or a node. Interface can be defined, for example, if the App-flow is a TSN Stream, and it is received over a well-defined User-to-Network Interface (UNI). For example, for App-flows with MPLS encapsulation, defining an ingress node is more common when a per-platform label space is used.
The DnFlowRank attribute provides the rank of this flow relative to other flows in the DetNet domain. Rank (range: 0-255) is used by the DetNet domain 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 bumped (i.e., removed from node configuration thereby releasing its resources) if, for example, a port of a node becomes oversubscribed (e.g., due to network reconfiguration). DnFlowRank value 0 is the highest priority.
The DnFlowStatus attribute provides the status of the DetNet flow with respect to the establishment of the flow by the DetNet domain.
DnFlowStatus includes the following attributes:
DnIngressStatus is an enumeration for the status of the flow's Ingress reference point:
-
None:
-
No Ingress.
-
Ready:
-
Ingress is ready.
-
Failed:
-
Ingress failed.
-
OutOfService:
-
Administratively blocked.
-
DnEgressStatus is an enumeration for the status of the flow's Egress reference points:
-
None:
-
No Egress.
-
Ready:
-
All Egresses are ready.
-
PartialFailed:
-
One or more Egress is ready, and one or more Egress failed. The DetNet flow can be used if the Ingress is Ready.
-
Failed:
-
All Egresses failed.
-
OutOfService:
-
All Egresses are administratively blocked.
-
FailureCode is a nonzero code that specifies the error if the DetNet flow encounters a failure (e.g., packet replication and elimination is requested but not possible or DnIngressStatus is Failed, DnEgressStatus is Failed, or DnEgressStatus is PartialFailed).
Defining FailureCodes for DetNet is out of scope for this document. Table 46-1 of [
IEEE8021Qcc] describes TSN failure codes.
MinBandwidth is the minimum bandwidth that has to be guaranteed for the DetNet flow. MinBandwidth is specified in octets per second.
MaxLatency is the maximum latency from Ingress to Egress(es) for a single packet of the DetNet flow. MaxLatency is specified as an integer number of nanoseconds.
MaxLatencyVariation is the difference between the minimum and the maximum end-to-end, one-way latency. MaxLatencyVariation is specified as an integer number of nanoseconds.
MaxLoss defines the maximum Packet Loss Rate (PLR) requirement for the DetNet flow between the Ingress and Egress(es) and the loss measurement interval.
Some applications have special loss requirements, such as MaxConsecutiveLossTolerance. 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, for example, based on sequence number.
MaxMisordering describes the tolerable maximum number of packets that can be received out of order. The value zero for the maximum allowed misordering indicates that in-order delivery is required; misordering cannot be tolerated.
The maximum allowed misordering can be measured, for example, based on sequence numbers. When a packet arrives at the egress after a packet with a higher sequence number, the difference between the sequence number values cannot be bigger than "MaxMisordering + 1".
The DnFlowBiDir attribute defines the requirement that the flow and the corresponding reverse direction flow must share the same path (links and nodes) through the routed or switch network in the DetNet domain, e.g., to provide congruent paths in the two directions that share fate and path characteristics.