Network Working Group X. Geng
Internet-Draft M. Chen
Intended status: Standards Track Huawei
Expires: September 6, 2018 Z. Li
China Mobile
March 05, 2018
DetNet Configuration YANG Model
draft-geng-detnet-conf-yang-01
Abstract
This document defines a YANG data Model for Deterministic Networking
(DetNet), covering the device / link capabilities and resources. It
can be used in network capability advertising, device configuration
and status reporting.
Requirements Language
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 [RFC2119].
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 6, 2018.
Copyright Notice
Copyright (c) 2018 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
Geng, et al. Expires September 6, 2018 [Page 1]
Internet-Draft DetNet Model March 2018
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminologies . . . . . . . . . . . . . . . . . . . . . . . . 4
3. DetNet Configuration Attribute . . . . . . . . . . . . . . . 4
3.1. DetNet Topology Attribute . . . . . . . . . . . . . . . . 4
3.1.1. Node Type . . . . . . . . . . . . . . . . . . . . . . 5
3.1.2. Replication Capability . . . . . . . . . . . . . . . 6
3.1.3. Elimination Capability . . . . . . . . . . . . . . . 6
3.1.4. Queuing Management Algorithm . . . . . . . . . . . . 6
3.1.5. Resource Reservation Base . . . . . . . . . . . . . . 7
3.1.6. Bandwidth Metric . . . . . . . . . . . . . . . . . . 7
3.1.7. Delay Metric . . . . . . . . . . . . . . . . . . . . 8
3.1.8. Synchronization Accuracy . . . . . . . . . . . . . . 9
3.2. DetNet Path Configuration Attribute . . . . . . . . . . . 9
3.2.1. Path Constrains . . . . . . . . . . . . . . . . . . . 9
3.2.2. Explicit Routing . . . . . . . . . . . . . . . . . . 9
3.3. DetNet Flow Configuration Attribute . . . . . . . . . . . 9
3.3.1. Flow Identification . . . . . . . . . . . . . . . . . 9
3.3.2. Traffic Specification . . . . . . . . . . . . . . . . 10
3.3.3. Encapsulation . . . . . . . . . . . . . . . . . . . . 10
3.3.4. Flow Priority . . . . . . . . . . . . . . . . . . . . 10
3.3.5. Queuing Parameters . . . . . . . . . . . . . . . . . 11
3.3.6. Replication Function . . . . . . . . . . . . . . . . 11
3.3.7. Elimination Function . . . . . . . . . . . . . . . . 11
3.3.8. Routing . . . . . . . . . . . . . . . . . . . . . . . 11
3.4. DetNet Status Attribute . . . . . . . . . . . . . . . . . 12
3.4.1. Performance Status . . . . . . . . . . . . . . . . . 12
3.4.2. Replication/Elimination Status . . . . . . . . . . . 13
4. DetNet Configuration YANG Model . . . . . . . . . . . . . . . 13
4.1. DetNet Topology YANG Model . . . . . . . . . . . . . . . 13
4.2. DetNet Static Configuration YANG Model . . . . . . . . . 19
5. DetNet Configuration Model Classification . . . . . . . . . . 23
5.1. Fully Distributed Configuration Model . . . . . . . . . . 23
5.2. Fully Centralized Configuration Model . . . . . . . . . . 23
5.3. Hybrid Configuration Model . . . . . . . . . . . . . . . 24
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25
7. Security Considerations . . . . . . . . . . . . . . . . . . . 25
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 25
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 25
Geng, et al. Expires September 6, 2018 [Page 2]
Internet-Draft DetNet Model March 2018
9.1. Normative References . . . . . . . . . . . . . . . . . . 25
9.2. Informative References . . . . . . . . . . . . . . . . . 26
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28
1. Introduction
A lot of use cases in industry and other areas require the network to
provide service that can satisfy strict quality requirements, e.g.,
extremely low packet loss rate, bounded low latency and jitter,
together with other best effort flows [I-D.ietf-detnet-use-cases].
Deterministic Networking (DetNet) is able to provide high quality
deterministic service in layer 3 in an IP/MPLS network.
[I-D.ietf-detnet-architecture] defines the whole picture of DetNet;
[I-D.dt-detnet-dp-sol] defines DetNet flow encapsulation and
forwarding process;
As defined in the [I-D.ietf-detnet-flow-information-model] , DetNet
information model can be distinguished as:
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).
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 the Figure 1.
Geng, et al. Expires September 6, 2018 [Page 3]
Internet-Draft DetNet Model March 2018
User Network Operator
flow/service
/\ info model +---+
/ \ <---------------> | X | management/control
---- +-+-+ plane entity
^
| configuration
| info model
+------------+
v | |
+-+ | v Network
+-+ v +-+ nodes
+-+ +-+
+-+
Figure 1. Three Information Models
[I-D.ietf-detnet-flow-information-model] defines the user network
interface (UNI), including flow/service information model.
This document defines DetNet configuration information model and YANG
data Model, covering the device / link capabilities and resources.
It can be used in network capability advertising, device
configuration and status reporting. The YANG model is protocol
irrelevant, and serves as a base data model that other DetNet
specific models can augment.
2. Terminologies
This documents uses the terminologies defined in
[I-D.ietf-detnet-architecture].
3. DetNet Configuration Attribute
This section defines network attributes for DetNet, which are used
for capability advertising/collection (section 3.1 DetNet Topology
Attribute), flow configuration (section 3.2 DetNet Path Configuration
Attribute/ section 3.3 DetNet Device configuration Attribute) and
status reporting (section 3.4 DetNet Status Attribute).
3.1. DetNet Topology Attribute
DetNet Topology Attribute describes the network topology and
capability, which is the basis of path computation and flow
transmission.
Geng, et al. Expires September 6, 2018 [Page 4]
Internet-Draft DetNet Model March 2018
3.1.1. Node Type
Figure 2 shows a basic architecture of a DetNet Network. Three types
of DetNet nodes are showed in the picture, which play different roles
with different functions, as defined in
[I-D.ietf-detnet-architecture].
Transit Transit
|<-Tnl->| |<-Tnl->|
End V 1 V V 2 V End
System +--------+ +--------+ +--------+ System
+---+ | R1 |=======| R2 |=======| R3 | +---+
| X.| | | | | | | |.X |
| H1|========| | | | | |======| H2|
| | | | | | | | | |
+---+ | |=======| |=======| | +---+
^ +--------+ +--------+ +--------+ ^
| Edge Node Relay Node Edge Node |
| |
|<--------------- End to End DetNet Service -------------->|
Figure 2. DetNet Architecture
Edge node
Edge node is the boundary of a DetNet network, including ingress and
egress. The DetNet flow is started at an edge node, then the packet
of a DetNet flow is forwarded to the DetNet Network after being
encapsulated or recapsulated in the edge node. Once having passed
through the network, DetNet flow is ended at another edge node; the
packet is decapsulated or recapsulated, and forwarded to the end
system or another network. Ingress and Egress may also do
repliaction/elimination, flow aggregation/split and load balance
[I-D.thubert-tsvwg-detnet-transport]. Edge node can be proxy of the
network and connect to the controller through UNI
[I-D.ietf-detnet-flow-information-model].
Relay node
Relay node is designed to do replication and elimination in the
DetNet network to satisfy the reliability requirement. The packet of
a DetNet flow is replicated in one relay node and forwarded to
disjoint paths. These paths merge with each other in another relay
node, and after the redundant packets being eliminated, only one copy
of the flow is forwared to the next hop. Relay node can identify
DetNet flow and guide the packet to the next relay node or edge node,
so it can also be the tunnul initial/terminal which is very important
to guarantee DetNet explicit route.
Geng, et al. Expires September 6, 2018 [Page 5]
Internet-Draft DetNet Model March 2018
Transit node
The node between relay node/edge node is transit node, just like the
p node in MPLS. Packet is transmitted through transit node hop by
hop. If the DetNet service requires bounded latency, every node in
the network is supposed to do congestion protection, with some
queuing management algorithm to guanrantee per hop latency, including
the transit node.
NodeType attribute specifies which type of DetNet node one device
belongs to. It indicates DetNet node capability, which can be used
in path computation. These three nodes are explianed in capability
ascending order above, that is to say normally, the DetNet node
capability: Edge node>Relay node> Transit node; the more capable node
type can play a less capable node's role, for example, using a Relay
node as a transit node. However, this attribute doesn't implicate
specific functions of the node, which have their own corresponding
attributes stated in the following text.
3.1.2. Replication Capability
ReplicationCapability specifies whether a DetNet node has the
capability of packet replication. A DetNet Node with replication
capability can: 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.
3.1.3. Elimination Capability
EliminationCapability specifies whether a DetNet node has the
capability of packet elimination. DetNet Node with elimination
capability can: 1) record the packets that have been received from
different port; 2) Filter the redundant packets from the same flow
and eliminate the redundant packets; 3) encapsulate the first-
received packets and send them to the right next hop.
3.1.4. Queuing Management Algorithm
Queuing Management Algorithm is the most important method of
congestion protection, including scheduling, shaping and preemption.
IEEE defines some queuing management algorithms to guarantee TSN
service quality, most of them can be used in DetNet, for example:
o Credit-based shaper algorithm [IEEE802.1Q-2014]
o Frame Preemption[IEEE802.1Qbu]
o Scheduled Traffic [IEEE802.1Qbv]
Geng, et al. Expires September 6, 2018 [Page 6]
Internet-Draft DetNet Model March 2018
o Per-Stream Filtering and Policing [IEEE802.1Qci]
o Cyclic Queuing and Forwarding [IEEE802.1Qch]
This attribute specifies which type of Queuing Management
Algorithm(s) is(are) used in the output queue for DetNet (except for
IEEE802.1Qci, which is normally used in input queue).
Editor's Note: Every queuing management algorithm has its parameters,
which are to be defined in the next step work. However, one of the
concerns of this part of work is whether it is out of the charter's
scope.
3.1.5. Resource Reservation Base
There is a set of parameters that inflence reservation operation for
the entire device. Those parameters are contained in Reservation
Base attribute, including the following parameters:
o MaxFanInPorts: maximum number of fan-in ports in the device
o MaxPacketSize: maximum packet size that the node allows to
transmit
o MaxDetNetClasses: maximum number of traffic classes that can be
reserved for DetNet
3.1.6. Bandwidth Metric
[I-D.ietf-teas-yang-te-topo] defines the following parameters for
bandwidth reservation:
o Max-link-bandwidth: maximum link bandwidth
o Max-resv-link-bandwidth: maximum reservable link bandwidth
o Unreserved-bandwidth(N): unreserved bandwidth for priority N
Considering the features of DetNet, bandwidth reservation parameters
for DetNet are defined as follows to augment the te-topology:
o 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;
o DetNet Unreserved Bandwidth(N): is represented as a percentage of
maximum DetNet Reservable bandwidth that has not been reserved;
Geng, et al. Expires September 6, 2018 [Page 7]
Internet-Draft DetNet Model March 2018
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.
3.1.7. Delay Metric
Delay Metric is used to describe the delay of every hop, which
includes the following parameters:
o Link Delay
o Maximum Packet Processing Delay
o Minimum Packet Processing Delay
o Maximum Output Queuing Delay
o Minimum Output Queuing Delay
Link 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.
Operations causing Packet Processing Delay includes: Per-Stream
Filtering and Policing([IEEE802.1Qci]), 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.
Editor's Note: 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.
Geng, et al. Expires September 6, 2018 [Page 8]
Internet-Draft DetNet Model March 2018
3.1.8. Synchronization Accuracy
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[IEEE802.1Qch].
Editor's Note: The method used to achieve time synchronization is not
specified in this draft.
3.2. DetNet Path Configuration Attribute
Path Attribute is used for path configuration in DetNet Edge
Node(Ingress).
3.2.1. Path Constrains
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[I-D.ietf-detnet-flow-information-model]. There may be
other path constrains when the path is established, which can be
added in this attribute in the future version.
3.2.2. Explicit Routing
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 [RFC4875], 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.
3.3. DetNet Flow Configuration Attribute
DetNet Configuration Attribute is used for path configuration after
the path has been calculated, preparing for the DetNet Flow
Transportation.
3.3.1. Flow Identification
Flow Identification is data plane relevant, and it is defined in
[I-D.ietf-detnet-flow-information-model].
Geng, et al. Expires September 6, 2018 [Page 9]
Internet-Draft DetNet Model March 2018
3.3.2. Traffic Specification
Traffic Specification is defined
in[I-D.ietf-detnet-flow-information-model] .
3.3.3. Encapsulation
[I-D.dt-detnet-dp-sol] defines more than one data plane protocols for
DetNet service, and DetNet Encapsulation attribute specifies the type
of encapsulation used in the node, including:
o MPLS Pseudo Wire
o Native IPv6
o TSN
Notes: 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 [IEEE802.1Qcc] to DetNet flow
ID defined in [I-D.dt-detnet-dp-sol] should be defined in the
configuration of the edge node .
3.3.4. Flow Priority
Flow Priority attribute specifies the priority reserved for DetNet
flow in PSN header. The transit 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 transition from
TSN domain to DetNet domain is defined in
[I-D.varga-detnet-service-model] 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
Geng, et al. Expires September 6, 2018 [Page 10]
Internet-Draft DetNet Model March 2018
algorithm(section 3.1.4) into consideration when defining the DetNet
priority.
3.3.5. Queuing Parameters
Queuing Management Algorithm Type is described in section 3.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[IEEE802.1Qci] is deployed in one
node, the parameter of Stream filter instance table ([IEEE802.1Qci]
8.6.5.1.1), Stream gate instance table ([IEEE802.1Qci] 8.6.5.1.2),
Flow meter instance table ([IEEE802.1Qci] 8.6.5.1.3) should be
configured by CNC or other control plane protocol.
3.3.6. Replication Function
This attribute specifies whether the node will do replication to the
packet of this flow. Configuration of Replication in relay node is
defined in [IEEE802.1CB].
3.3.7. Elimination Function
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 [IEEE802.1CB].
3.3.8. Routing
Routing configuration is data plane relevant, but no matter what the
encapsulation is, the following attributes should be contained:
o 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;
o Operation: forwarding / replication / elimination /
elimination&replication;
o Next-hop;
Geng, et al. Expires September 6, 2018 [Page 11]
Internet-Draft DetNet Model March 2018
o Encapsulation: the packet should be re-encapsulated after
replication or elimination. Usually, encapsulation Information is
not needed in the Transit Node;
It is also relevent to the data plane identification. Take MPLS
solution defined in [I-D.dt-detnet-dp-sol]
as an example:
Transit Node: Operation at a transit (P) node is normal MPLS
forwarding. The outer label is either swapped or popped as required,
and the packet is forwarded along the LSP.
Relay Node: S-lable is used to identfiy the flow and indicate whether
the packet should be replicated or eliminated or both. In ono of the
relay nodes in the path, the parameter table can be as follows:
______________________________________________________________
| Incoming | | | | Outcoming |
| S-Label | Flow ID | Replication | Elimination | S-Label |
--------------------------------------------------------------
| Label-1 | Flow 1 | Yes | No | Label-5 |
--------------------------------------------------------------
| Label-2 | Flow 2 | No | Yes | Label-6 |
--------------------------------------------------------------
| Label-3 | Flow 3 | Yes | Yes | Label-7 |
--------------------------------------------------------------
In this table, Lable-1/ Lable-2/ Label-3 are distributed from the
current relay node to the previous relay node in the path; Lable-5/
Lable-6/ Label-7 are distributed from the next relay node to the
current relay node in the path;
3.4. DetNet Status Attribute
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.
3.4.1. Performance Status
Performance Status contains:
o Maximum Link Latency: which is measured by the packet's timestamp
o Packet Loss: which describes the packet loss of a particular flow
in this node
Geng, et al. Expires September 6, 2018 [Page 12]
Internet-Draft DetNet Model March 2018
o Flow Policing and Filtering Status: the illegal behavior of the
flow that is recorded by the node
3.4.2. Replication/Elimination Status
Detailed discussion of Replication/Elimination status is specified in
[IEEE802.1CB].
If the S-label indicates that the packet is supposed to be
eliminated, the relay node should read the sequence number of the
packet and see whether this packet has been received before. For
example, the parameters of one relay node can be:
_____________________________
| Flow ID | Sequence Number |
-----------------------------
| Flow 1 | 1001 |
-----------------------------
| Flow 1 | 1002 |
-----------------------------
| Flow 1 | 1003 |
-----------------------------
If a packet of flow 1 with the sequence number of 1001 is received,
it should be dropped in this relay node; If a packet of flow 1 with
the sequence number of 1005 is received, it should be forwarded in
this relay node, and the parameter talbe will be updated.
4. DetNet Configuration YANG Model
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.
4.1. DetNet Topology YANG Model
<CODE BEGINS> file "ietf-detnet-topology@2018-01-15.yang"
module ietf-te-detnet-topology {
namespace "urn:ietf:params:xml:ns:yang:ietf-detnet-topology";
prefix "detnet-to";
import ietf-te-types {
prefix "te-types";
}
import ietf-routing-types {
Geng, et al. Expires September 6, 2018 [Page 13]
Internet-Draft DetNet Model March 2018
prefix "rt-types";
}
import ietf-te-topology {
prefix "tet";
}
import ietf-network {
prefix "nw";
}
import ietf-network-topology {
prefix "nt";
}
organization
"IETF Deterministic Networking(detnet)Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/detnet/>
WG List: <mailto:detnet@ietf.org>
WG Chair: Lou Berger
<mailto:lberger@labn.net>
Editor: Xuesong Geng
<mailto:gengxuesong@huawei.com>
Editor: Mach Chen
<mailto:mach.chen@huawei.com>";
description
"This YAGN module augments the 'ietf-te-topology'
module with detnet capability data for detnet
configuration";
revision "2018-01-15" {
description "Initial revision";
reference "RFC XXXX: YANG Data Model for DetNet Topologies";
//RFC Ed.: replace XXXX with actual RFC number and remove
// this note
}
grouping detnet-link-info-attributes{
description
"DetNet capability attributes in a DetNet topology";
container detnet-performance-metric-attributes{
description
Geng, et al. Expires September 6, 2018 [Page 14]
Internet-Draft DetNet Model March 2018
"Link performance information in real time.";
uses detnet-performance-metric-attributes;
}
container detnet-queuing-management-algorithm{
description
"Detnet queuing management algorithm used in
output queue";
uses detnet-queuing-management-algorithm;
}
}
grouping detnet-performance-metric-attributes{
description
"Link performance information in real time.";
container maximum-detnet-reservable-bandwidth{
uses te-types:te-bandwidth;
description
"This container specifies the maximum bandwidth
that is reserved for DetNet on this link.";
}
container reserved-detnet-bandwidth{
uses te-types:te-bandwidth;
description
"This container specifies the bandwidth that has
been reserved for DetNet on this link.";
}
container available-detnet-bandwidth{
uses te-types:te-bandwidth;
description
"This container specifies the bandwidth that can
be used for new DetNet flows on this link.";
}
leaf minimum-detnet-device-delay{
type uint32;
description
"Minimum delay in the device for DetNet flows";
}
leaf maximum-detnet-device-delay{
type uint32;
description
"Maximum delay in the device for DetNet flows";
}
}
grouping detnet-queuing-management-algorithm{
description
"Detnet queuing management algorithm used in
output queue";
Geng, et al. Expires September 6, 2018 [Page 15]
Internet-Draft DetNet Model March 2018
leaf queuing-management-algorithm{
type enumeration{
enum credit-based-shaping{
reference
"IEEE P802.1 Qav";
}
enum time-aware-shaping{
reference
"IEEE P802.1 Qbv";
}
enum cyclic-queuing-and-forwarding{
reference
"IEEE P802.1 Qch";
}
enum asynchronous-traffic-shaping{
reference
"IEEE P802.1 Qcr";
}
}
description
"Detnet queuing management algorithm type";
}
}
grouping detnet-node-info-attributes{
description
"DetNet capability attributes in a DetNet node";
container detnet-node-type{
description
"Three types of DetNet nodes";
reference
"draft-ietf-detnet-architecture-03:
Deterministic Networking Architecture";
uses detnet-node-type;
}
container detnet-resource-reservation-attributes{
description
"Attributes about resource reservation for
DetNet flows";
uses detnet-resource-reservation-attributes;
}
leaf detnet-elimination-capability{
type boolean;
description
"This node is able to do DetNet packet
elimination";
}
Geng, et al. Expires September 6, 2018 [Page 16]
Internet-Draft DetNet Model March 2018
leaf detnet-replication-capability{
type boolean;
description
"This node is able to do DetNet packet
replication";
}
}
grouping detnet-node-type{
description
"This grouping defines three types of DetNet nodes";
reference
"draft-ietf-detnet-architecture-03:Deterministic
Networking Architecture";
leaf detnet-node-type{
type enumeration{
enum edge-node{
description
"An instance of a DetNet relay node that
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 terminate congestion protection at
the DetNet transport layer,analogous to a
Label Edge Router (LER).";
}
enum relay-node{
description
"A DetNet node including 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.";
}
enum transit-node{
description
"A node operating 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.";
Geng, et al. Expires September 6, 2018 [Page 17]
Internet-Draft DetNet Model March 2018
}
}
description
"The type this node belongs to, which also determines
the role the node can play in DetNet ";
}
}
grouping detnet-resource-reservation-attributes{
description
"This grouping describs reservation operation for
the entire device";
leaf MaxFanInPorts{
type uint32;
description
"maximum number of fan-in ports in the device";
}
leaf MaxPacketSize{
type uint32;
description
"maximum Packet size the device allows";
}
leaf MaxDetNetClasses{
type uint32;
description
"maximum number of traffic classes that can be
reserved for DetNet";
}
}
augment "/nw:networks/nw:network/nw:node" {
when "../nw:network-types/tet:te-topology"
{
description
"";
}
description
"Advertised DetNet link information attributes.";
uses detnet-link-info-attributes;
}
augment "/nw:networks/nw:network/nt:link" {
when "../nw:network-types/tet:te-topology"
{
description
"";
}
description
Geng, et al. Expires September 6, 2018 [Page 18]
Internet-Draft DetNet Model March 2018
"Advertised DetNet node information attributes.";
uses detnet-node-info-attributes;
}
}
<CODE ENDS>
4.2. DetNet Static Configuration YANG Model
<CODE BEGINS> file "ietf-detnet-static @2018-01-15.yang"
module ietf-detnet-static {
namespace "urn:ietf:params:xml:ns:yang:ietf-detnet-static";
prefix "detnet-static";
import ietf-routing {
prefix "rt";
}
import ietf-yang-types{
prefix "yang";
}
import ietf-inet-types{
prefix "inet";
}
import ietf-routing-types {
prefix "rt-types";
}
organization
"IETF Deterministic Networking(detnet)Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/detnet/>
WG List: <mailto: detnet@ietf.org>
WG Chair: Lou Berger
<mailto:lberger@labn.net>
Editor: Xuesong Geng
<mailto:gengxuesong@huawei.com>
Editor: Mach Chen
<mailto:mach.chen@huawei.com>";
description
"This YAGN module augments the 'ietf-routing'module
with detnet flow configuration attribute";
Geng, et al. Expires September 6, 2018 [Page 19]
Internet-Draft DetNet Model March 2018
revision "2018-01-15" {
description "Initial revision";
reference "RFC XXXX: YANG Data Model for DetNet Topologies";
//RFC Ed.: replace XXXX with actual RFC number and remove
// this note
}
grouping flow-identfication {
description
"DetNet flow identification";
reference
"draft-farkas-detnet-flow-information-model";
leaf source-ip-address {
type inet:ip-address;
description
"Source IP address";
}
leaf destination-ip-address {
type inet:ip-address;
description
"Destination IP address";
}
leaf source-mac-address {
type yang:mac-address;
description
"Source MAC address";
}
leaf destination-mac-address {
type yang:mac-address;
description
"Destination MAC address";
}
leaf ipv6-flow-label {
type uint32;
description
"ipv6 flow label";
}
leaf mpls-label {
type rt-types:mpls-label;
description
"MPLS Label";
}
}
grouping traffic-specification{
description
"traffic-specification specifies how the Source
transmits packets for the flow. This is the
Geng, et al. Expires September 6, 2018 [Page 20]
Internet-Draft DetNet Model March 2018
promise/request of the Source to the network.
The network uses this traffic specification
to allocate resources and adjust queue
parameters in network nodes.";
reference
"draft-farkas-detnet-flow-information-model";
leaf max-packets-per-interval{
type uint16;
description
"max-packets-per-interval specifies the maximum
number of packets that the application shall
transmit in one Interval.";
}
leaf max-packet-size{
type uint16;
description
"max-packet-size specifies maximum packet size
that the Source will transmit";
}
leaf queuing-algorithm-selection{
type uint8;
description
"";
}
}
grouping routing-configuration{
description
"configuration parameters direct data plane
operations";
container flow-identification{
description
"flow identification";
uses flow-identfication;
}
leaf operation{
type enumeration{
enum transmission{
description
"Operation: transmit ";
}
enum replication{
description
"Operation: packet replication";
}
enum elimination{
description
"Operation: packet elimination";
Geng, et al. Expires September 6, 2018 [Page 21]
Internet-Draft DetNet Model March 2018
}
enum elimination-and-replication{
description
"Operation: packet elimination and
replication";
}
}
description
"The operation will be done to the
packet";
}
}
grouping queuing-parameters{
description
"The paramters used to configure
queuing managment algorithm";
}
grouping replication-function{
description
"The paramters used to configure
packet replication";
}
grouping elimination-function{
description
"The paramters used to configure
packet elimination";
}
augment "/rt:routing"{
description
"DetNet node static configuration
attributes.";
uses flow-identfication;
uses traffic-specification;
uses routing-configuration;
uses queuing-parameters;
uses replication-function;
uses elimination-function;
}
}
<CODE ENDS>
Geng, et al. Expires September 6, 2018 [Page 22]
Internet-Draft DetNet Model March 2018
5. DetNet Configuration Model Classification
This section defines three classes of DetNet configuration model:
fully distributed configuration model, fully centralized
configuration model, hybrid configuration model, based on different
network architectures, showing how configuration information
exchanges between various entities in the network.
5.1. Fully Distributed Configuration Model
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([I-D.geng-detnet-info-distribution]);
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[RFC3209],
SRP[IEEE802.1Qcc], can only reserve bandwidth along the path, while
the configuration of a fine-grained schedule, e.g.,Time Aware
Shaping(TAS) defined in [IEEE802.1Qbv], 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.
5.2. Fully Centralized Configuration Model
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;
Geng, et al. Expires September 6, 2018 [Page 23]
Internet-Draft DetNet Model March 2018
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.
5.3. Hybrid Configuration Model
In the hybrid configuration model, controller and control plane
protocols work 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.
4) 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.
or
1) Controller 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 be included in the hybrid
model. This draft can not coverer all the control plane data needed
Geng, et al. Expires September 6, 2018 [Page 24]
Internet-Draft DetNet Model March 2018
in hybrid configuration models. Every solution has there own
mechanism and corresponding parameters to make it work.
Editor's Note:
1. There are a lot of optional DetNet configuration models, and
different scenario in different use case can choose one of them based
on its conditions. Maybe next step of the work is to pick up one or
more typical scenarios and give a practical solution.
2. [IEEE802.1Qcc] 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'. The hybrid
configuration model intends to contain more variations.
6. IANA Considerations
This document makes no request of IANA.
Note to RFC Editor: this section may be removed on publication as an
RFC.
7. Security Considerations
8. Acknowledgements
9. References
9.1. Normative References
[I-D.dt-detnet-dp-sol]
Korhonen, J., Andersson, L., Jiang, Y., Finn, N., Varga,
B., Farkas, J., Bernardos, C., Mizrahi, T., and L. Berger,
"DetNet Data Plane Encapsulation", draft-dt-detnet-dp-
sol-02 (work in progress), September 2017.
[I-D.ietf-detnet-architecture]
Finn, N., Thubert, P., Varga, B., and J. Farkas,
"Deterministic Networking Architecture", draft-ietf-
detnet-architecture-04 (work in progress), October 2017.
Geng, et al. Expires September 6, 2018 [Page 25]
Internet-Draft DetNet Model March 2018
[I-D.ietf-detnet-flow-information-model]
Farkas, J., Varga, B., rodney.cummings@ni.com, r., Jiang,
Y., and Y. Zha, "DetNet Flow Information Model", draft-
ietf-detnet-flow-information-model-00 (work in progress),
January 2018.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
9.2. Informative References
[I-D.geng-detnet-info-distribution]
Geng, X. and M. Chen, "IGP-TE Extensions for DetNet
Information Distribution", draft-geng-detnet-info-
distribution-01 (work in progress), September 2017.
[I-D.ietf-detnet-use-cases]
Grossman, E., "Deterministic Networking Use Cases", draft-
ietf-detnet-use-cases-14 (work in progress), February
2018.
[I-D.ietf-teas-yang-te]
Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and
I. Bryskin, "A YANG Data Model for Traffic Engineering
Tunnels and Interfaces", draft-ietf-teas-yang-te-12 (work
in progress), February 2018.
[I-D.ietf-teas-yang-te-topo]
Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
O. Dios, "YANG Data Model for Traffic Engineering (TE)
Topologies", draft-ietf-teas-yang-te-topo-15 (work in
progress), February 2018.
[I-D.thubert-tsvwg-detnet-transport]
Thubert, P., "A Transport Layer for Deterministic
Networks", draft-thubert-tsvwg-detnet-transport-01 (work
in progress), October 2017.
[I-D.varga-detnet-service-model]
Varga, B. and J. Farkas, "DetNet Service Model", draft-
varga-detnet-service-model-02 (work in progress), May
2017.
Geng, et al. Expires September 6, 2018 [Page 26]
Internet-Draft DetNet Model March 2018
[IEEE802.1CB]
"IEEE, "Frame Replication and Elimination for Reliability
(IEEE Draft P802.1CB)", 2017,
<http://www.ieee802.org/1/files/private/cb-drafts/>.",
2016.
[IEEE802.1Q-2014]
"IEEE, "IEEE Std 802.1Q Bridges and Bridged Networks",
2014, <http://ieeexplore.ieee.org/document/6991462/>.",
2014.
[IEEE802.1Qbu]
"IEEE, "IEEEE Std 802.1Qbu Bridges and Bridged Networks -
Amendment 26: Frame Preemption", 2016,
<http://ieeexplore.ieee.org/document/7553415/>.", 2016.
[IEEE802.1Qbv]
"IEEE, "IEEE Std 802.1Qbu Bridges and Bridged Networks -
Amendment 25: Enhancements for Scheduled Traffic", 2015,
<http://ieeexplore.ieee.org/document/7572858/>.", 2016.
[IEEE802.1Qcc]
"IEEE, "Stream Reservation Protocol (SRP) Enhancements and
Performance Improvements (IEEE Draft P802.1Qcc)", 2017,
<http://www.ieee802.org/1/files/private/cc-drafts/>.".
[IEEE802.1Qch]
"IEEE, "Cyclic Queuing and Forwarding (IEEE Draft
P802.1Qch)", 2017,
<http://www.ieee802.org/1/files/private/ch-drafts/>.",
2016.
[IEEE802.1Qci]
"IEEE, "Per-Stream Filtering and Policing (IEEE Draft
P802.1Qci)", 2016,
<http://www.ieee802.org/1/files/private/ci-drafts/>.",
2016.
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
<https://www.rfc-editor.org/info/rfc3209>.
Geng, et al. Expires September 6, 2018 [Page 27]
Internet-Draft DetNet Model March 2018
[RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S.
Yasukawa, Ed., "Extensions to Resource Reservation
Protocol - Traffic Engineering (RSVP-TE) for Point-to-
Multipoint TE Label Switched Paths (LSPs)", RFC 4875,
DOI 10.17487/RFC4875, May 2007,
<https://www.rfc-editor.org/info/rfc4875>.
Authors' Addresses
Xuesong Geng
Huawei
Email: gengxuesong@huawei.com
Mach(Guoyi) Chen
Huawei
Email: mach.chen@huawei.com
Zhenqiang
China Mobile
Email: lizhenqiang@chinamobile.com
Geng, et al. Expires September 6, 2018 [Page 28]