DetNet Configuration YANG ModelHuaweigengxuesong@huawei.comHuaweimach.chen@huawei.comThis document describes configuration model for Deterministic
Networking(DetNet). It defines DetNet configuration attribute and the
corresponding YANG model, which is used for DetNet capabilities
configuration/discovery, DetNet flow configuration and DetNet flow
status collection in the network.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 RFC 2119.A Deterministic Networking (DetNet) provides a capability to carry a
unicast or a multicast data flow for an application with strict service
quality requirements, e.g., extremely low packet loss rate and bounded
latency. The DetNet service is provided either for a Layer 3 (L3) flow
or a Layer 2 (L2) flow by an IP/MPLS network.This document describes configuration model for Deterministic
Networking(DetNet). It defines DetNet configuration attribute and the
corresponding YANG model, which is used for DetNet capabilities
configuration/discovery, DetNet flow configuration and DetNet flow
status collection in the network.This draft includes three parts: DetNet configuration model defined
in section 3, DetNet configuration attribute defined in section 4 and
DetNet configuration YANG model defined in section 5.This documents uses the terminologies defined in.This section introduces three kinds of DetNet configuration models.
The models can cover different network architectures, showing how
configuration information exchanges between various entities in the
network. Example with candidate control plane protocol is attached to
each configuration model to show how DetNet may work in current Layer 3
network. To make the configuration model complete, user/network
interface(UNI) information is also included in this section. UNI
Information is out of scope of this draft, and more discussions about
DetNet UNI information can be found in .In a fully distributed configuration model, UNI information is
transmitted over DetNet UNI protocol from the user side to the network
side; then UNI information and network configuration information
propagate in the network over distributed control plane protocol. For
example:1) IGP collects topology information and DetNet capabilities of
network();2) Control Plane of the Edge Node(Ingress) receives a flow
establishment request from UNI and calculates a/some valid
path(s);3) Using RSVP-TE, Edge Node(Ingress) sends a PATH message with
explicit route. After receiving the PATH message, the other Edge
Node(Egress) sends a Resv message with distributed label and resource
reservation request.Current distributed control plane protocol,e.g., RSVP-TE, SRP, can only reserve
bandwidth along the path, while the configuration of a fine-grained
schedule, e.g.,Time Aware Shaping(TAS) defined in , is not supported.The fully distributed configuration model is not covered by this
draft. It should be discussed in the future DetNet control plane
work.In the fully centralized configuration model, UNI information is
transmitted from Centralized User Configuration (CUC) to Centralized
Network Configuration(CNC). Configurations of routers for DetNet flows
are performed by CNC with network management protocol.For example:1) CNC collects topology information and DetNet capability of
network through Netconf;2) CNC receives a flow establishment request from UNI and
calculates a/some valid path(s);3) CNC configures the devices along the path for flow
transmission.In the hybrid configuration model, controller and control plane
protocols are used together to offer DetNet service, and there are a
lot of possible combinations. For example:1) CNC collects topology information and DetNet capability of
network through IGP/BGP-LS;2) CNC receives a flow establishment request from UNI and
calculates a/some valid path(s);3) Based on the calculation result, CNC distributes flow path
information to Edge Node(Ingress) and other information(e.g.
replication/elimination) to the relevant nodes.or1) IGP collects topology information and DetNet capability of
network through IGP/BGP-LS;2) Control Plane of Edge Node(Ingress) receives a flow
establishment request from UNI;3) Edge Node(Ingress) sends the path establishment request to CNC
through PCEP;4) After Calculation, CNC sends back the path information of the
flow to the Edge Node(Ingress) through PCEP;5) Using RSVP-TE, Edge Node(Ingress) sends a PATH message with
explicit route. After receiving the PATH message, the other Edge
Node(Egress) sends a Resv message with distributed label and resource
reservation request.There are also other variations that can included in the hybrid
model. The hybrid configuration model is not covered by this draft. It
should be discussed in the future DetNet control plane work.Note: also defines three TSN
configuration models: fully-centralized model, fully-distributed
model, centralized Network / distributed User Model. This section
defines the configuration model roughly the same, to keep the design
of L2 and L3 in the same structure. Hybrid configuration model is
slightly different from the 'centralized Network / distributed User
Model' , which intends to contain more variations.According to section 3, different configuration model with different
control plane protocol or yang model use different configuration
attribute. This section tries to cover the possible attributes that is
used in fully centralized configuration model. Some of the attributes
can also be used as reference of the definition of other two
configuration models in the future work.Note: When the working group get the control plane into
consideration, other yang models that cooperate with or configure the
control plane protocols should also be included in this draftDetNet Topology Attribute is the basis of path computation,
describing the DetNet relative topology and capability of the
network.There are three kinds of DetNet nodes defined in : Edge Node, Relay Node and
Transit Node.Edge node includes either a DetNet service layer proxy function
for DetNet service protection (e.g. the addition or removal of
packet sequencing information) for one or more end systems, or
starts or terminates congestion protection at the DetNet transport
layer. Boundary of a DetNet Domain SHALL be an edge note.Relay node includes a service layer function that interconnects
different DetNet transport layer paths to provide service
protection. A DetNet relay node can be a bridge, a router, a
firewall, or any other system that participates in the DetNet
service layer. It typically incorporates DetNet transport layer
functions as well, in which case it is collocated with a transit
node.Transit node operates at the DetNet transport layer, that
utilizes link layer and/or network layer switching across multiple
links and/or sub-networks to provide paths for DetNet service layer
functions. Optionally provides congestion protection over those
paths. An MPLS LSR is an example of a DetNet transit node.NodeType specifies which type a DetNet node belongs to, which
also indicates its role in the DetNet service.ReplicationCapability specifies whether a DetNet node has the
capability of packet replication. Replication Capability
requirements include: 1) identify the packets that need to be
replicated; 2) do packet replication; 3) encapsulate the replicated
packets and send them to different next hop.EliminationCapability specifies whether a DetNet node has the
capability of packet elimination. Elimination Capability
requirements include: 1) record the packets that have been received
from different port; 2) eliminate the redundant packets; 3)
encapsulate the first-received packets and send them to the next
hop.IEEE defines some queuing management algorithms to guarantee TSN
service quality, most of them can be used in DetNet, for
example:Credit-based shaper algorithm Frame PreemptionScheduled Traffic Per-Stream Filtering and Policing Cyclic Queuing and Forwarding This attribute specifies what kind of Queuing Management
Algorithm(s) is(are) used in the output queue for DetNet (except for
IEEE802.1Qci, which is always used in input queue) .There is a set of parameters that describe reservation operation
for the entire device. Those parameters are contained in Reservation
Base attribute, including the following parameters:MaxFanInPorts: maximum number of fan-in ports in the
deviceMaxPacketSize: maximum packet size that the node allows to
transmitMaxDetNetClasses: maximum number of traffic classes that can
be reserved for DetNet defines the following
parameters for bandwidth reservation:Max-link-bandwidth: maximum link bandwidthMax-resv-link-bandwidth: maximum reservable link
bandwidthUnreserved-bandwidth(N): unreserved bandwidth for priority
NConsidering the features of DetNet, bandwidth reservation
parameters for DetNet are defined as follows to augment the
te-topology:Maximum DetNet Reservable Bandwidth(N): is represented as a
percentage of port transmit rate, that can be used by DetNet of
traffic class N and it is also available for other DetNet
traffic classes that have lower latency requirements;DetNet Unreserved Bandwidth(N): is represented as a
percentage of maximum DetNet Reservable bandwidth that has not
been reserved;For example, there are three classes of DetNet service A, B, and
C, with A the lowest latency and C the highest. 'Maximum DetNet
Reservable Bandwidth(N)' can be presented as 'MaxBw(N)'; DetNet
Unreserved Bandwidth(N) can be presented as 'UnBw(N)'. MaxBw(A) can
be used by A; MaxBw(B) can by used by A&B, and MaxBw(C) can be
used by A&B&C. So, if MaxBw(A)=10, MaxBw(B)=25, MaxBw(C)=40,
and we allocate 15 to A, 30 to B and 10 to C, then UnBw(A)=0,
UnBw(B)= 0, UnBw(C)=20.Delay Metric is used to describe the delay of every hop, which
includes the following parameters:Link DelayMaximum Packet Processing DelayMinimum Packet Processing DelayMaximum Output Queuing DelayMinimum Output Queuing DelayLink Delay specifies the delay along the network media for a
packet transmitted from the specified Port of this station to the
neighboring Port on a different station.Packet Processing Delay includes: Per-Stream Filtering and
Policing(), Flow Classification,
Looking up in Forwarding Information Base, and etc. It covers the
process from the packet being received by the node to the packet
being sent to the output queue. It is packet length dependent.Queuing Delay specifies the delay for a packet in the output
queue. It is determined by the Queuing Management Algorithm and Port
Transmission Rate.The delay of every hop is the sum of link delay, packet
processing delay and output queuing delay.Notes: The delay metric is also discussed in IEEE with other
considerations, which can be found:
<http://www.ieee802.org/1/files/public/docs2017/cr-finn-timing-model-0617-v00.pdf>
and
<http://www.ieee802.org/1/files/public/docs2017/cr-specht-bridge-timing-0917-v01.pdf>.
More discussions are needed here.Most of the DetNet service requires clock synchronization.
Synchronization Accuracy is necessary for queuing algorithm
configuration and delay prediction. For example, Synchronization
Accuracy is an important parameter when calculating the guard band
for CQF.Note: The method used to achieve time synchronization is not
specified in this draft.Path Attribute is used for path configuration in DetNet Edge
Node(Ingress).DetNet path constrains are mainly based on the application
requirement, including maximum latency/number of replication trees,
and traffic specification, which can be used to calculate bandwidth
requirement. There may be
other path constrains when the path is established, which can be
added in this attribute in the future version.Explicit routing attribute describes an end-to-end path for
DetNet flow, by listing nodes along the path in order and specifying
their types. The DetNet node type has been specified in section
4.1.1. If service protection is needed, DetNet flow is replicated in
relay node, going through different paths, and eliminated in another
relay node. It makes the DetNet route a point-to-multipoint-to-point
(P-MP-P) path. In , explicit routing of a
P-MP LSP is represented by a P-MP tree. Similarly, a P-MP-P tree is
needed in DetNet, and the rules of building the tree is to be
defined.DetNet Configuration Attribute is used for path configuration after
the path has been calculated, preparing for the DetNet Flow
Transportation.Flow Identification is data plane relevant, and it is defined in
.Traffic Specification is defined in . defines more than one data
plane protocols for DetNet service, and DetNet Encapsulation
attribute specifies the type of encapsulation used in the node,
including:MPLS Pseudo WireNative IPv6TSNNotes: In one DetNet domain, the encapsulation should be the
same; When a flow goes across different domains, the encapsulation
needs to be changed. For example, when an DetNet Edge Node connects
two TSN domains, at the entry or exit boundary of the DetNet domain,
the encapsulation needs to be changed accordingly. Parameters in the
encapsulation also needs to do the mapping. for example, the
translation from flow Unique ID defined to DetNet flow ID defined in should be defined in the
configuration of the edge node .Flow Priority attribute specifies the priority reserved for
DetNet flow in PSN header. The intermediate node can distinguish
DetNet flow from non-DetNet flow by DetNet priority. And, if more
than one DetNet priority is defined, it can also be used to describe
DetNet flows with different quality requirements, e.g. , low latency
DetNet flows and high latency DetNet flows.Notes: In one DetNet domain, the priority reserved for DetNet
should be the same. When crossing DetNet domains, the priority
should be translated accordingly. For example, the priority
translation from TSN domain to DetNet domain is defined in Annex 2 "Integrating Layer
3 and Layer 2 QoS".This attribute is also data plane relevant. If there is no
priority reserved for DetNet, other attribute should be specified to
distinguish DetNet flows. The mapping from flow priority to output
queue also makes it necessary to take queuing management
algorithm(section 4.1.4) into consideration when defining the DetNet
priority.Queuing Management Algorithm Type is described in section 4.1.4.
Different algorithm use different parameters to manage queue. In a
fully-centralized configuration model, the parameters can be
distributed by CNC; in a distributed configuration model, the device
can configure itself based on the application requirement and flow
traffic specification information.The queuing management configuration parameters and the
corresponding YANG model are being defined in IEEE. For example,
when stream policing and filtering defined in is deployed in one node, the parameter of
Stream filter instance table (IEEE P802.1Qci 8.6.5.1.1), Stream gate
instance table (IEEE P802.1Qci 8.6.5.1.2), Flow meter instance table
(IEEE P802.1Qci 8.6.5.1.3) should be configured by CNC or other
control plane protocol.This attribute specifies whether the node will do replication to
the packet of this flow. Configuration of Replication in relay node
is defined in .This attribute specifies whether the node will do elimination to
the packet of a flow. For a multicast flow, elimination can be
performed on some ports, but not on others in one node.
Configuration of Elimination in relay node is defined in .Routing configuration is data plane relevant, but no matter what
the encapsulation is, the following attributes should be
contained:Flow Identification: in the current data plane design, flow
ID, PW label or other relevant information can be used in flow
identification. Flow Identification Information may be not
needed in Transit Node;Operation: transmission / replication / elimination /
elimination&replication;Next-hop;Encapsulation: the packet should be re-encapsulated after
replication or elimination. Usually, encapsulation Information
is not needed in the Transit Node;The DetNet status attributes are provided by the device for each
DetNet flow. The Status Attributes describe the status of the flow
when it is transmitted in the network.Performance Status contains:Maximum Link Latency: which is measured by the packet's
timestampPacket Loss: which describes the packet loss of a particular
flow in this nodeFlow Policing and Filtering Status: the illegal behavior of
the flow that is recorded by the nodeDetailed discussion of Replication/Elimination status is
specified in .This section specifies the network management information that is
used for the fully centralized DetNet configuration model. YANG model
for other configuration model is to be defined in the future version of
the draft.This document makes no request of IANA.Note to RFC Editor: this section may be removed on publication as an
RFC.IEEE, "Stream Reservation Protocol (SRP) Enhancements and
Performance Improvements (IEEE Draft P802.1Qcc)", 2017,
<http://www.ieee802.org/1/files/private/cc-drafts/>.IEEE, "IEEE Std 802.1Qbu Bridges and Bridged Networks -
Amendment 25: Enhancements for Scheduled Traffic", 2015,
<http://ieeexplore.ieee.org/document/7572858/>.IEEE, "IEEE Std 802.1Q Bridges and Bridged Networks", 2014,
<http://ieeexplore.ieee.org/document/6991462/>.IEEE, "Cyclic Queuing and Forwarding (IEEE Draft P802.1Qch)",
2017,
<http://www.ieee802.org/1/files/private/ch-drafts/>.IEEE, "Per-Stream Filtering and Policing (IEEE Draft
P802.1Qci)", 2016,
<http://www.ieee802.org/1/files/private/ci-drafts/>.IEEE, "IEEEE Std 802.1Qbu Bridges and Bridged Networks -
Amendment 26: Frame Preemption", 2016,
<http://ieeexplore.ieee.org/document/7553415/>.IEEE, "Frame Replication and Elimination for Reliability
(IEEE Draft P802.1CB)", 2017,
<http://www.ieee802.org/1/files/private/cb-drafts/>.