summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8964.txt
blob: 69cff6ce6cd0f5fe52ba6a3a8a461e2c0c43d2be (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
Internet Engineering Task Force (IETF)                     B. Varga, Ed.
Request for Comments: 8964                                     J. Farkas
Category: Standards Track                                       Ericsson
ISSN: 2070-1721                                                L. Berger
                                                 LabN Consulting, L.L.C.
                                                                A. Malis
                                                        Malis Consulting
                                                               S. Bryant
                                                  Futurewei Technologies
                                                             J. Korhonen
                                                            January 2021


           Deterministic Networking (DetNet) Data Plane: MPLS

Abstract

   This document specifies the Deterministic Networking (DetNet) data
   plane when operating over an MPLS Packet Switched Network.  It
   leverages existing pseudowire (PW) encapsulations and MPLS Traffic
   Engineering (MPLS-TE) encapsulations and mechanisms.  This document
   builds on the DetNet architecture and data plane framework.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8964.

Copyright Notice

   Copyright (c) 2021 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
   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
   2.  Terminology
     2.1.  Terms Used in This Document
     2.2.  Abbreviations
     2.3.  Requirements Language
   3.  Overview of the DetNet MPLS Data Plane
     3.1.  Layers of DetNet Data Plane
     3.2.  DetNet MPLS Data Plane Scenarios
   4.  MPLS-Based DetNet Data Plane Solution
     4.1.  DetNet over MPLS Encapsulation Components
     4.2.  MPLS Data Plane Encapsulation
       4.2.1.  DetNet Control Word and DetNet Sequence Number
       4.2.2.  S-Labels
       4.2.3.  F-Labels
     4.3.  OAM Indication
     4.4.  Flow Aggregation
       4.4.1.  Aggregation via LSP Hierarchy
       4.4.2.  Aggregating DetNet Flows as a New DetNet Flow
     4.5.  Service Sub-Layer Considerations
       4.5.1.  Edge Node Processing
       4.5.2.  Relay Node Processing
     4.6.  Forwarding Sub-Layer Considerations
       4.6.1.  Class of Service
       4.6.2.  Quality of Service
   5.  Management and Control Information Summary
     5.1.  Service Sub-Layer Information Summary
       5.1.1.  Service Aggregation Information Summary
     5.2.  Forwarding Sub-Layer Information Summary
   6.  Security Considerations
   7.  IANA Considerations
   8.  References
     8.1.  Normative References
     8.2.  Informative References
   Acknowledgements
   Contributors
   Authors' Addresses

1.  Introduction

   Deterministic Networking (DetNet) is a service that can be offered by
   a network to DetNet flows.  DetNet provides a capability for the
   delivery of data flows with extremely low packet loss rates and
   bounded end-to-end delivery latency.  General background and concepts
   of DetNet can be found in the DetNet architecture [RFC8655].

   The purpose of this document is to describe the use of the MPLS data
   plane to establish and support DetNet flows.  The DetNet architecture
   models the DetNet-related data plane functions as being decomposed
   into two sub-layers: a service sub-layer and a forwarding sub-layer.
   The service sub-layer is used to provide DetNet service functions,
   such as protection and reordering.  At the DetNet data plane, a new
   set of functions (Packet Replication, Elimination and Ordering
   Functions (PREOF)) provide the tasks specific to the service sub-
   layer.  The forwarding sub-layer is used to provide forwarding
   assurance (low loss, assured latency, and limited out-of-order
   delivery).  The use of the functionalities of the DetNet service sub-
   layer and the DetNet forwarding sub-layer require careful design and
   control by the Controller Plane in addition to the DetNet-specific
   use of MPLS encapsulation as specified by this document.

   This document specifies the DetNet data plane operation and the on-
   wire encapsulation of DetNet flows over an MPLS-based Packet Switched
   Network (PSN) using the service reference model.  MPLS encapsulation
   already provides a solid foundation of building blocks to enable the
   DetNet service and forwarding sub-layer functions.  MPLS-encapsulated
   DetNet can be carried over a variety of different network
   technologies that can provide the level of service required for
   DetNet.  However, the specific details of how DetNet MPLS is carried
   over different network technologies are out of scope for this
   document.

   MPLS-encapsulated DetNet flows can carry different types of traffic.
   The details of the types of traffic that are carried in DetNet are
   also out of scope for this document.  An example of IP using DetNet
   MPLS sub-networks can be found in [RFC8939].  DetNet MPLS may use an
   associated controller and Operations, Administration, and Maintenance
   (OAM) functions that are defined outside of this document.

   Background information common to all data planes for DetNet can be
   found in the DetNet data plane framework [RFC8938].

2.  Terminology

2.1.  Terms Used in This Document

   This document uses the terminology established in the DetNet
   architecture [RFC8655] and the DetNet data plane framework [RFC8938].
   The reader is assumed to be familiar with these documents, any
   terminology defined therein, and basic MPLS-related terminologies in
   [RFC3031].

   The following terminology is introduced in this document:

   F-Label       A DetNet "forwarding" label that identifies the Label
                 Switched Path (LSP) used to forward a DetNet flow
                 across an MPLS PSN, i.e., a hop-by-hop label used
                 between Label Switching Routers (LSRs).

   S-Label       A DetNet "service" label that is used between DetNet
                 nodes that implement the DetNet service sub-layer
                 functions.  An S-Label is used to identify a DetNet
                 flow at the DetNet service sub-layer at a receiving
                 DetNet node.

   A-Label       A special case of an S-Label, whose aggregation
                 properties are known only at the aggregation and
                 deaggregation end points.

   d-CW          A DetNet Control Word (d-CW) that is used for
                 sequencing information of a DetNet flow at the DetNet
                 service sub-layer.

2.2.  Abbreviations

   The following abbreviations are used in this document:

   CoS           Class of Service

   CW            Control Word

   DetNet        Deterministic Networking

   LSR           Label Switching Router

   MPLS          Multiprotocol Label Switching

   MPLS-TE       Multiprotocol Label Switching Traffic Engineering

   MPLS-TP       Multiprotocol Label Switching Transport Profile

   OAM           Operations, Administration, and Maintenance

   PE            Provider Edge

   PEF           Packet Elimination Function

   PRF           Packet Replication Function

   PREOF         Packet Replication, Elimination and Ordering Functions

   POF           Packet Ordering Function

   PSN           Packet Switched Network

   PW            Pseudowire

   QoS           Quality of Service

   S-PE          Switching Provider Edge

   T-PE          Terminating Provider Edge

   TSN           Time-Sensitive Networking

2.3.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

3.  Overview of the DetNet MPLS Data Plane

3.1.  Layers of DetNet Data Plane

   MPLS provides a wide range of capabilities that can be utilized by
   DetNet.  A straight-forward approach utilizing MPLS for a DetNet
   service sub-layer is based on the existing pseudowire (PW)
   encapsulations and utilizes existing MPLS-TE encapsulations and
   mechanisms.  Background on PWs can be found in [RFC3985], [RFC3032],
   and [RFC3031].  Background on MPLS-TE can be found in [RFC3272] and
   [RFC3209].

                             DetNet        MPLS
                               .
          Bottom of Stack      .
          (inner label)    +------------+
                           |  Service   | d-CW, S-Label (A-Label)
                           +------------+
                           | Forwarding | F-Label(s)
                           +------------+
          Top of Stack         .
          (outer label)        .

               Figure 1: DetNet Adaptation to MPLS Data Plane

   The DetNet MPLS data plane representation is illustrated in Figure 1.
   The service sub-layer includes a DetNet Control Word (d-CW) and an
   identifying service label (S-Label).  The DetNet Control Word (d-CW)
   conforms to the Generic PW MPLS Control Word (PWMCW) defined in
   [RFC4385].  An aggregation label (A-Label) is a special case of
   S-Label used for aggregation.

   A node operating on a received DetNet flow at the DetNet service sub-
   layer uses the local context associated with a received S-Label,
   i.e., a received F-Label, to determine which local DetNet
   operation(s) are applied to that packet.  An S-Label may be taken
   from the platform label space [RFC3031], making it unique and
   enabling DetNet flow identification regardless of which input
   interface or LSP the packet arrives on.  It is important to note that
   S-Label values are driven by the receiver, not the sender.

   The DetNet forwarding sub-layer is supported by zero or more
   forwarding labels (F-Labels).  MPLS-TE encapsulations and mechanisms
   can be utilized to provide a forwarding sub-layer that is responsible
   for providing resource allocation and explicit routes.

3.2.  DetNet MPLS Data Plane Scenarios

   DetNet MPLS       Relay       Transit         Relay       DetNet MPLS
   End System        Node         Node           Node        End System
      (T-PE)        (S-PE)       (LSR)          (S-PE)         (T-PE)
   +----------+                                             +----------+
   |   Appl.  |<------------ End-to-End Service ----------->|   Appl.  |
   +----------+   +---------+                 +---------+   +----------+
   | Service  |<--| Service |-- DetNet flow --| Service |-->| Service  |
   +----------+   +---------+  +----------+   +---------+   +----------+
   |Forwarding|   |Fwd| |Fwd|  |Forwarding|   |Fwd| |Fwd|   |Forwarding|
   +-------.--+   +-.-+ +-.-+  +----.---.-+   +-.-+ +-.-+   +---.------+
           :  Link  :    /  ,-----.  \   : Link :    /  ,-----.  \
           +........+    +-[ Sub-  ]-+   +......+    +-[ Sub-  ]-+
                           [Network]                   [Network]
                            `-----'                     `-----'
           |<- LSP -->| |<-------- LSP -----------| |<--- LSP -->|

           |<----------------- DetNet MPLS --------------------->|

                      Figure 2: A DetNet MPLS Network

   Figure 2 illustrates a hypothetical DetNet MPLS-only network composed
   of DetNet-aware MPLS-enabled end systems operating over a DetNet-
   aware MPLS network.  In this figure, the relay nodes are PE devices
   that define the MPLS LSP boundaries, and the transit nodes are LSRs.

   DetNet end systems and relay nodes understand the particular needs of
   DetNet flows and provide both DetNet service and forwarding sub-layer
   functions.  In the case of MPLS, DetNet service-aware nodes add,
   remove, and process d-CWs, S-Labels, and F-Labels as needed.  DetNet
   MPLS nodes provide functionality analogous to T-PEs when they sit at
   the edge of an MPLS domain and S-PEs when they are in the middle of
   an MPLS domain; see [RFC6073].

   In a DetNet MPLS network, transit nodes may be DetNet-service-aware
   or DetNet-unaware MPLS Label Switching Routers (LSRs).  In this
   latter case, such LSRs would be unaware of the special requirements
   of the DetNet service sub-layer but would still provide traffic
   engineering functions and the QoS capabilities needed to ensure that
   the (TE) LSPs meet the service requirements of the carried DetNet
   flows.

   The application of DetNet using MPLS supports a number of control and
   management plane types.  These types support certain MPLS data plane
   deployments.  For example, RSVP-TE, MPLS-TP, or MPLS Segment Routing
   (when extended to support resource allocation) are all valid MPLS
   deployment cases.

   Figure 3 illustrates how an end-to-end MPLS-based DetNet service is
   provided in more detail.  In this figure, the Customer Edge (CE1 and
   CE2) are able to send and receive MPLS-encapsulated DetNet flows, and
   R1, R2, and R3 are relay nodes in the middle of a DetNet network.
   The 'X' in the end systems and relay nodes represents potential
   DetNet compound flow packet replication and elimination points.  In
   this example, service protection is supported utilizing at least two
   DetNet member flows and TE LSPs.  For a unidirectional flow, R1
   supports PRF, and R3 supports PEF and POF.  Note that the relay nodes
   may change the underlying forwarding sub-layer, for example,
   tunneling MPLS over IEEE 802.1 TSN [DetNet-MPLS-over-TSN] or simply
   over interconnected network links.

           DetNet                                        DetNet
   DetNet  Service        Transit          Transit       Service  DetNet
   MPLS    |             |<-Tnl->|        |<-Tnl->|            |  MPLS
   End     |             V   1   V        V   2   V            |  End
   System  |    +--------+       +--------+       +--------+   |  System
   +---+   |    |   R1   |=======|   R2   |=======|   R3   |   |  +---+
   |  X...DFa...|._X_....|..DF1..|.__ ___.|..DF3..|...._X_.|.DFa..|.X |
   |CE1|========|    \   |       |   X    |       |   /    |======|CE2|
   |   |   |    |     \_.|..DF2..|._/ \__.|..DF4..|._/     |   |  |   |
   +---+        |        |=======|        |=======|        |      +---+
       ^        +--------+       +--------+       +--------+      ^
       |        Relay Node       Relay Node       Relay Node      |
       |          (S-PE)           (S-PE)           (S-PE)        |
       |                                                          |
       |<---------------------- DetNet MPLS --------------------->|
       |                                                          |
       |<--------------- End-to-End DetNet Service -------------->|

       -------------------------- Data Flow ------------------------->

                     Figure 3: MPLS-Based Native DetNet

   X     - Optional service protection (none, PRF, PREOF, PEF/POF)

   DFx   - DetNet member flow x over a TE LSP

4.  MPLS-Based DetNet Data Plane Solution

4.1.  DetNet over MPLS Encapsulation Components

   To carry DetNet over MPLS, the following is required:

   1.  A method of identifying the MPLS payload type.

   2.  A method of identifying the DetNet flow(s) to the processing
       element.

   3.  A method of distinguishing DetNet OAM packets from DetNet data
       packets.

   4.  A method of carrying the DetNet sequence number.

   5.  A suitable LSP to deliver the packet to the egress PE.

   6.  A method of carrying queuing and forwarding indication.

   In this design, an MPLS service label (the S-Label) is similar to a
   pseudowire (PW) label [RFC3985] and is used to identify both the
   DetNet flow identity and the MPLS payload type satisfying (1) and (2)
   in the list above.  OAM traffic discrimination happens through the
   use of the Associated Channel method described in [RFC4385].  The
   DetNet sequence number is carried in the DetNet Control Word, which
   also carries the Data/OAM discriminator.  To simplify implementation
   and to maximize interoperability, two sequence number sizes are
   supported: a 16-bit sequence number and a 28-bit sequence number.
   The 16-bit sequence number is needed to support some types of legacy
   clients.  The 28-bit sequence number is used in situations where it
   is necessary to ensure that, in high-speed networks, the sequence
   number space does not wrap whilst packets are in flight.

   The LSP used to forward the DetNet packet is not restricted regarding
   any method used for establishing that LSP (for example, MPLS-LDP,
   MPLS-TE, MPLS-TP [RFC5921], MPLS Segment Routing [RFC8660], etc.).
   The F-Label(s) and the S-Label may be used alone or together to
   indicate the required queue processing as well as the forwarding
   parameters.  Note that the possible use of Penultimate Hop Popping
   (PHP) means that the S-Label may be the only label received at the
   terminating DetNet service.

4.2.  MPLS Data Plane Encapsulation

   Figure 4 illustrates a DetNet data plane MPLS encapsulation.  The
   MPLS-based encapsulation of the DetNet flows is well suited for the
   scenarios described in [RFC8938].  Furthermore, an end-to-end DetNet
   service, i.e., native DetNet deployment (see Section 3.2), is also
   possible if DetNet end systems are capable of initiating and
   terminating MPLS-encapsulated packets.

   The MPLS-based DetNet data plane encapsulation consists of:

   *  A DetNet Control Word (d-CW) containing sequencing information for
      packet replication and duplicate elimination purposes, and the OAM
      indicator.

   *  A DetNet service label (S-Label) that identifies a DetNet flow at
      the receiving DetNet service sub-layer processing node.

   *  Zero or more DetNet MPLS forwarding label(s) (F-Label) used to
      direct the packet along the Label Switched Path (LSP) to the next
      DetNet service sub-layer processing node along the path.  When PHP
      is in use, there may be no F-Label in the protocol stack on the
      final hop.

   *  The necessary data-link encapsulation is then applied prior to
      transmission over the physical media.

        DetNet MPLS-based encapsulation

      +---------------------------------+
      |                                 |
      |         DetNet App-Flow         |
      |         Payload  Packet         |
      |                                 |
      +---------------------------------+ <--\
      |       DetNet Control Word       |    |
      +---------------------------------+    +--> DetNet data plane
      |           S-Label               |    |    MPLS encapsulation
      +---------------------------------+    |
      |         [ F-Label(s) ]          |    |
      +---------------------------------+ <--/
      |           Data-Link             |
      +---------------------------------+
      |           Physical              |
      +---------------------------------+

        Figure 4: Encapsulation of a DetNet App-Flow in an MPLS PSN

4.2.1.  DetNet Control Word and DetNet Sequence Number

   A DetNet Control Word (d-CW) conforms to the Generic PW MPLS Control
   Word (PWMCW) defined in [RFC4385].  The d-CW formatted as shown in
   Figure 5 MUST be present in all DetNet packets containing App-flow
   data.  This format of the d-CW was created in order to (1) allow
   larger sequence number space to avoid sequence number rollover
   frequency in some applications and (2) allow sequence numbering
   systems that include the value zero as a valid sequence number, which
   simplifies implementation.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0 0 0 0|                Sequence Number                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Figure 5: DetNet Control Word

   (bits 0 to 3)
      Per [RFC4385], MUST be set to zero (0).

   Sequence Number (bits 4 to 31)
      An unsigned value implementing the DetNet sequence number.  The
      sequence number space is a circular one with no restriction on the
      initial value.

   A separate sequence number space MUST be maintained by the node that
   adds the d-CW for each DetNet App-flow, i.e., DetNet service.  The
   following Sequence Number field lengths MUST be supported:

   *  0 bits

   *  16 bits

   *  28 bits

   The sequence number length MUST be provisioned on a per-DetNet-
   service basis via configuration, i.e., via the Controller Plane
   described in [RFC8938].

   A 0-bit Sequence Number field length indicates that there is no
   DetNet sequence number used for the flow.  When the length is zero,
   the Sequence Number field MUST be set to zero (0) on all packets sent
   for the flow.

   When the Sequence Number field length is 16 or 28 bits for a flow,
   the sequence number MUST be incremented by one for each new App-flow
   packet sent.  When the field length is 16 bits, d-CW bits 4 to 15
   MUST be set to zero (0).  The values carried in this field can wrap,
   and it is important to note that zero (0) is a valid field value.
   For example, where the sequence number size is 16 bits, the sequence
   will contain: 65535, 0, 1, where zero (0) is an ordinary sequence
   number.

   It is important to note that this document differs from [RFC4448],
   where a sequence number of zero (0) is used to indicate that the
   sequence number check algorithm is not used.

   The sequence number is optionally used during receive processing, as
   described below in Sections 4.2.2.2 and 4.2.2.3.

4.2.2.  S-Labels

   A DetNet flow at the DetNet service sub-layer is identified by an
   S-Label.  MPLS-aware DetNet end systems and edge nodes, which are by
   definition MPLS ingress and egress nodes, MUST add (push) and remove
   (pop) a DetNet service-specific d-CW and S-Label.  Relay nodes MAY
   swap S-Label values when processing a DetNet flow, i.e., incoming and
   outgoing S-Labels of a DetNet flow can be different.

   S-Label values MUST be provisioned per DetNet service via
   configuration, i.e., via the Controller Plane described in [RFC8938].
   Note that S-Labels provide identification at the downstream DetNet
   service sub-layer receiver, not the sender.  As such, S-Labels MUST
   be allocated by the entity that controls the service sub-layer
   receiving a node's label space and MAY be allocated from the platform
   label space [RFC3031].  Because S-Labels are local to each node,
   rather than being a global identifier within a domain, they must be
   advertised to their upstream DetNet service-aware peer nodes (i.e., a
   DetNet MPLS end system or a DetNet relay or edge node) and
   interpreted in the context of their received F-Label(s).  In some
   PREOF topologies, the node performing replication will be sending to
   multiple nodes performing PEF or POF and may need to send different
   S-Label values for the different member flows for the same DetNet
   service.

   An S-Label will normally be at the bottom of the label stack once the
   last F-Label is removed, immediately preceding the d-CW.  To support
   OAM at the service sub-layer level, an OAM Associated Channel Header
   (ACH) [RFC4385] together with a Generic Associated Channel Label
   (GAL) [RFC5586] MAY be used in place of a d-CW.

   Similarly, an Entropy Label Indicator (ELI) and Entropy Label (EL)
   [RFC6790] MAY be carried below the S-Label in the label stack in
   networks where DetNet flows would otherwise receive ECMP treatment.
   When ELs are used, the same EL value SHOULD be used for all of the
   packets sent using a specific S-Label to force the flow to follow the
   same path.  However, as outlined in [RFC8938], the use of ECMP for
   DetNet flows is NOT RECOMMENDED.  ECMP MAY be used for non-DetNet
   flows within a DetNet domain.

   When receiving a DetNet MPLS packet, an implementation MUST identify
   the DetNet service associated with the incoming packet based on the
   S-Label.  When a node is using platform labels for S-Labels, no
   additional information is needed, as the S-Label uniquely identifies
   the DetNet service.  In the case where platform labels are not used,
   zero or more F-Labels proceeding the S-Label MUST be used together
   with the S-Label to uniquely identify the DetNet service associated
   with a received packet.  The incoming interface MAY also be used
   together with any present F-Label(s) and the S-Label to uniquely
   identify an incoming DetNet service, for example, in the case where
   PHP is used.  Note that the choice to use the platform label space
   for an S-Label or an S-Label plus one or more F-Labels to identify
   DetNet services is a local implementation choice, with one caveat.
   When one or more F-Labels, or the incoming interface, is needed
   together with an S-Label to uniquely identify a service, the
   Controller Plane must ensure that incoming DetNet MPLS packets arrive
   with the needed information (F-Label(s) and/or the incoming
   interface) and provision the needed information.  The provisioned
   information MUST then be used to identify incoming DetNet service
   based on the combination of S-Label and F-Label(s) or the incoming
   interface.

   The use of platform labels for S-Labels matches other pseudowire
   encapsulations for consistency, but there is no hard requirement in
   this regard.

   Implementation details of PREOF are out of scope for this document.
   [IEEE802.1CB-2017] defines equivalent replication and elimination-
   specific aspects, which can be applied to PRF and PEF.

4.2.2.1.  Packet Replication Function Processing

   The Packet Replication Function (PRF) MAY be supported by an
   implementation for outgoing DetNet flows.  The use of the PRF for a
   particular DetNet service MUST be provisioned via configuration,
   i.e., via the Controller Plane described in [RFC8938].  When
   replication is configured, the same App-flow data will be sent over
   multiple outgoing DetNet member flows using forwarding sub-layer
   LSPs.  An S-Label value MUST be configured per outgoing member flow.
   The same d-CW field value MUST be used on all outgoing member flows
   for each replicated MPLS packet.

4.2.2.2.  Packet Elimination Function Processing

   Implementations MAY support the Packet Elimination Function (PEF) for
   received DetNet MPLS flows.  When supported, use of the PEF for a
   particular DetNet service MUST be provisioned via configuration,
   i.e., via the Controller Plane described in [RFC8938].

   After a DetNet service is identified for a received DetNet MPLS
   packet, as described above, if PEF is configured for that DetNet
   service, duplicate (replicated) instances of a particular sequence
   number MUST be discarded.  The specific mechanisms used for an
   implementation to identify which received packets are duplicates and
   which are new is an implementation choice.  Note that, per
   Section 4.2.1, the Sequence Number field length may be 16 or 28 bits,
   and the field value can wrap.  PEF MUST NOT be used with DetNet flows
   configured with a d-CW Sequence Number field length of 0 bits.

   An implementation MAY constrain the maximum number of sequence
   numbers that are tracked on either a platform-wide or per-flow basis.
   Some implementations MAY support the provisioning of the maximum
   number of sequence numbers that are tracked on either a platform-wide
   or per-flow basis.

4.2.2.3.  Packet Ordering Function Processing

   A function that is related to in-order delivery is the Packet
   Ordering Function (POF).  Implementations MAY support POF.  When
   supported, use of the POF for a particular DetNet service MUST be
   provisioned via configuration, i.e., via the Controller Plane
   described by [RFC8938].  Implementations MAY require that PEF and POF
   be used in combination.  There is no requirement related to the order
   of execution of the PEF and POF in an implementation.

   After a DetNet service is identified for a received DetNet MPLS
   packet, as described above, if POF is configured for that DetNet
   service, packets MUST be processed in the order indicated in the
   received d-CW Sequence Number field, which may not be in the order
   the packets are received.  As defined in Section 4.2.1, the Sequence
   Number field length may be 16 or 28 bits, the sequence number is
   incremented by one (1) for each new MPLS packet sent for a particular
   DetNet service, and the field value can wrap.  The specific
   mechanisms used for an implementation to identify the order of
   received packets is an implementation choice.

   An implementation MAY constrain the maximum number of out-of-order
   packets that can be processed on either a platform-wide or per-flow
   basis.  The number of out-of-order packets that can be processed also
   impacts the latency of a flow.

   The latency impact on the system resources needed to support a
   specific DetNet flow will need to be evaluated by the Controller
   Plane based on that flow's traffic specification.  An example traffic
   specification that can be used with MPLS-TE can be found in
   [RFC2212].

   DetNet implementations can use flow-specific requirements (e.g.,
   maximum number of out-of-order packets and maximum latency of the
   flow) for configuration of POF-related buffers.  POF implementation
   details are out of scope for this document, and POF configuration
   parameters are implementation specific.  The Controller Plane
   identifies and sets the POF configuration parameters.

4.2.3.  F-Labels

   F-Labels support the DetNet forwarding sub-layer.  F-Labels are used
   to provide LSP-based connectivity between DetNet service sub-layer
   processing nodes.

4.2.3.1.  Service Sub-Layer-Related Processing

   DetNet MPLS end systems, edge nodes, and relay nodes may operate at
   the DetNet service sub-layer with understanding of DetNet services
   and their requirements.  As mentioned earlier, when operating at this
   layer, such nodes can push, pop, or swap (pop then push) S-Labels.
   In all cases, the F-Label(s) used for a DetNet service are always
   replaced, and the following procedures apply.

   When sending a DetNet flow, zero or more F-Labels MAY be pushed on
   top of an S-Label by the node pushing an S-Label.  The F-Label(s) to
   be pushed when sending a particular DetNet service MUST be
   provisioned per outgoing S-Label via configuration, i.e., via the
   Controller Plane discussed in [RFC8938].  F-Label(s) can also provide
   context for an S-Label.  To allow for the omission of F-Label(s), an
   implementation SHOULD also allow an outgoing interface to be
   configured per S-Label.

   Note that when PRF is supported, the same App-flow data will be sent
   over multiple outgoing DetNet member flows using forwarding sub-layer
   LSPs.  This means that an implementation may be sending different
   sets of F-Labels per DetNet member flow, each with a different
   S-Label.

   When a single set of F-Labels is provisioned for a particular
   outgoing S-Label, that set of F-Labels MUST be pushed after the
   S-Label is pushed.  The outgoing packet is then forwarded, as
   described below in Section 4.2.3.2.  When a single outgoing interface
   is provisioned, the outgoing packet is then forwarded, as described
   below in Section 4.2.3.2.

   When multiple sets of outgoing F-Labels or interfaces are provisioned
   for a particular DetNet service (i.e., for PRF), a copy of the
   outgoing packet, including the pushed member flow-specific S-Label,
   MUST be made per F-Label set and outgoing interface.  Each set of
   provisioned F-Labels are then pushed onto a copy of the packet.  Each
   copy is then forwarded, as described below in Section 4.2.3.2.

   As described in the previous section, when receiving a DetNet MPLS
   flow, an implementation identifies the DetNet service associated with
   the incoming packet based on the S-Label.  When a node is using
   platform labels for S-Labels, any F-Labels can be popped, and the
   S-Label uniquely identifies the DetNet service.  In the case where
   platform labels are not used, incoming F-Label(s) and, optionally,
   the incoming interface MUST also be provisioned for a DetNet service.

4.2.3.2.  Common F-Label Processing

   All DetNet-aware MPLS nodes process F-Labels as needed to meet the
   service requirements of the DetNet flow or flows carried in the LSPs
   represented by the F-Labels.  This includes normal push, pop, and
   swap operations.  Such processing is essentially the same type of
   processing provided for TE LSPs, although the specific service
   parameters, or traffic specification, can differ.  When the DetNet
   service parameters of the DetNet flow or flows carried in an LSP
   represented by an F-Label can be met by an existing TE mechanism, the
   forwarding sub-layer processing node MAY be a DetNet-unaware, i.e.,
   standard, MPLS LSR.  Such TE LSPs may provide LSP forwarding service
   as defined in, but not limited, to the following: [RFC3209],
   [RFC3270], [RFC3272], [RFC3473], [RFC4875], [RFC5440], and [RFC8306].

   More specifically, as mentioned above, the DetNet forwarding sub-
   layer provides explicit routes and allocated resources, and F-Labels
   are used to map to each.  Explicit routes are supported based on the
   topmost (outermost) F-Label that is pushed or swapped and the LSP
   that corresponds to this label.  This topmost (outgoing) label MUST
   be associated with a provisioned outgoing interface and, for non-
   point-to-point outgoing interfaces, a next-hop LSR.  Note that this
   information MUST be provisioned via configuration or the Controller
   Plane.  In the previously mentioned special case where there are no
   added F-Labels and the outgoing interface is not a point-to-point
   interface, the outgoing interface MUST also be associated with a
   next-hop LSR.

   Resources may be allocated in a hierarchical fashion per each LSP
   that is represented by each F-Label.  Each LSP MAY be provisioned
   with a service parameter that dictates the specific traffic treatment
   to be received by the traffic carried over that LSP.  Implementations
   of this document MUST ensure that traffic carried over each LSP
   represented by one or more F-Labels receives the traffic treatment
   provisioned for that LSP.  Typical mechanisms used to provide
   different treatment to different flows include the allocation of
   system resources (such as queues and buffers) and provisioning of
   related parameters (such as shaping and policing) that may be found
   in implementations of the Resource ReSerVation Protocol (RSVP)
   [RFC2205] and RSVP-TE [RFC3209] [RFC3473].  Support can also be
   provided via an underlying network technology, such as IEEE 802.1 TSN
   [DetNet-MPLS-over-TSN].  The specific mechanisms selected by a DetNet
   node to ensure DetNet service delivery requirements are met for
   supported DetNet flows is outside the scope of this document.

   Packets that are marked in a way that do not correspond to allocated
   resources, e.g., lack a provisioned F-Label, can disrupt the QoS
   offered to properly reserved DetNet flows by using resources
   allocated to the reserved flows.  Therefore, the network nodes of a
   DetNet network:

   *  MUST defend the DetNet QoS by discarding or remarking (to an
      allocated DetNet flow or noncompeting non-DetNet flow) packets
      received that are not associated with a completed resource
      allocation.

   *  MUST NOT use a DetNet allocated resource, e.g., a queue or shaper
      reserved for DetNet flows, for any packet that does match the
      corresponding DetNet flow.

   *  MUST ensure a QoS flow does not exceed its allocated resources or
      provisioned service level.

   *  MUST ensure a CoS flow or service class does not impact the
      service delivered to other flows.  This requirement is similar to
      the requirement for MPLS LSRs that CoS LSPs do not impact the
      resources allocated to TE LSPs, e.g., via [RFC3473].

   Subsequent sections provide additional considerations related to CoS
   (Section 4.6.1), QoS (Section 4.6.2), and aggregation (Section 4.4).

4.3.  OAM Indication

   OAM follows the procedures set out in [RFC5085] with the restriction
   that only Virtual Circuit Connectivity Verification (VCCV) type 1 is
   supported.

   As shown in Figure 3 of [RFC5085], when the first nibble of the d-CW
   is 0x0, the payload following the d-CW is normal user data.  However,
   when the first nibble of the d-CW is 0x1, the payload that follows
   the d-CW is an OAM payload with the OAM type indicated by the value
   in the d-CW Channel Type field.

   The reader is referred to [RFC5085] for a more detailed description
   of the Associated Channel mechanism and to the DetNet work on OAM
   [DetNet-MPLS-OAM] for more information about DetNet OAM.

   Additional considerations on DetNet-specific OAM are subjects for
   further study.

4.4.  Flow Aggregation

   The ability to aggregate individual flows and their associated
   resource control into a larger aggregate is an important technique
   for improving scaling of control in the data, management, and control
   planes.  The DetNet data plane allows for the aggregation of DetNet
   flows to improved scaling.  There are two methods of supporting flow
   aggregation covered in this section.

   The resource control and management aspects of aggregation (including
   the configuration of queuing, shaping, and policing) are the
   responsibility of the DetNet Controller Plane and are out of scope
   for this document.  It is also the responsibility of the Controller
   Plane to ensure that consistent aggregation methods are used.

4.4.1.  Aggregation via LSP Hierarchy

   DetNet flows forwarded via MPLS can leverage MPLS-TE's existing
   support for hierarchical LSPs (H-LSPs); see [RFC4206].  H-LSPs are
   typically used to aggregate control and resources; they may also be
   used to provide OAM or protection for the aggregated LSPs.  Arbitrary
   levels of aggregation naturally fall out of the definition for
   hierarchy and the MPLS label stack [RFC3032].  DetNet nodes that
   support aggregation (LSP hierarchy) map one or more LSPs (labels)
   into and from an H-LSP.  Both carried LSPs and H-LSPs may or may not
   use the Traffic Class (TC) field, i.e., L-LSPs (Label-Only-Inferred-
   PSC LSPs) or E-LSPs (EXP-Inferred-PSC LSPs [RFC3270], which were
   renamed to "Explicitly TC-encoded-PSC LSPs" in Section 2.2 of
   [RFC5462]).  Such nodes will need to ensure that individual LSPs and
   H-LSPs receive the traffic treatment required to ensure the required
   DetNet service is preserved.

   Additional details of the traffic control capabilities needed at a
   DetNet-aware node may be covered in the new service definitions
   mentioned above or in separate future documents.  Controller Plane
   mechanisms will also need to ensure that the service required on the
   aggregate flow are provided, which may include the discarding or
   remarking mentioned in the previous sections.

4.4.2.  Aggregating DetNet Flows as a New DetNet Flow

   An aggregate can be built by layering DetNet flows, including both
   their S-Label and (when present) F-Labels, as shown below:

   +---------------------------------+
   |                                 |
   |           DetNet Flow           |
   |         Payload  Packet         |
   |                                 |
   +---------------------------------+ <--\
   |       DetNet Control Word       |    |
   +=================================+    |
   |            S-Label              |    |
   +---------------------------------+    |
   |         [ F-Label(s) ]          |    +----DetNet data plane
   +---------------------------------+    |
   |       DetNet Control Word       |    |
   +=================================+    |
   |            A-Label              |    |
   +---------------------------------+    |
   |           F-Label(s)            | <--/
   +---------------------------------+
   |           Data-Link             |
   +---------------------------------+
   |           Physical              |
   +---------------------------------+

             Figure 6: DetNet Aggregation as a New DetNet Flow

   Both the aggregation label, which is referred to as an A-Label, and
   the individual flow's S-Label have their MPLS S bit set indicating
   the bottom of stack, and the d-CW allows the PREOF to work.  An
   A-Label is a special case of an S-Label, whose properties are known
   only at the aggregation and deaggregation end points.

   It is a property of the A-Label that what follows is a d-CW followed
   by an MPLS label stack.  A relay node processing the A-Label would
   not know the underlying payload type, and the A-Label would be
   processed as a normal S-Label.  This would only be known to a node
   that was a peer of the node imposing the S-Label.  However, there is
   no real need for it to know the payload type during aggregation
   processing.

   As in the previous section, nodes supporting this type of aggregation
   will need to ensure that individual and aggregated flows receive the
   traffic treatment required to ensure the required DetNet service is
   preserved.  Also, it is the Controller Plane's responsibility to
   ensure that the service required on the aggregate flow is properly
   provisioned.

4.5.  Service Sub-Layer Considerations

   The internal procedures for edge and relay nodes related to PREOF are
   implementation specific.  The order of a packet elimination or
   replication is out of scope for this specification.

   It is important that the DetNet layer is configured such that a
   DetNet node never receives its own replicated packets.  If it were to
   receive such packets, the replication function would make the loop
   more destructive of bandwidth than a conventional unicast loop.
   Ultimately, the TTL in the S-Label will cause the packet to die
   during a transient loop, but given the sensitivity of applications to
   packet latency, the impact on the DetNet application would be severe.
   To avoid the problem of a transient forwarding loop, changes to an
   LSP supporting DetNet MUST be loop-free.

4.5.1.  Edge Node Processing

   A DetNet edge node operates in the DetNet forwarding sub-layer and
   service sub-layer.  An edge node is responsible for matching incoming
   packets to the service they require and encapsulating them
   accordingly.  An edge node may perform PRF, PEF, and/or POF.  Details
   on encapsulation can be found in Section 4.2; details on PRF can be
   found in Section 4.2.2.1; details on PEF can be found in
   Section 4.2.2.2; and details on POF can be found in Section 4.2.2.3.

4.5.2.  Relay Node Processing

   A DetNet relay node operates in the DetNet forwarding sub-layer and
   service sub-layer.  For DetNet using MPLS, forwarding-related
   processing is performed on the F-Label.  This processing is done
   within an extended forwarder function.  Whether an incoming DetNet
   flow receives DetNet-specific processing depends on how the
   forwarding is programmed.  Some relay nodes may be DetNet service
   aware for certain DetNet services, while, for other DetNet services,
   these nodes may perform as unmodified LSRs that only understand how
   to switch MPLS-TE LSPs, i.e., as a transit node; see Section 4.4.
   Again, this is entirely up to how the forwarding has been programmed.

   During the elimination and replication process, the sequence number
   of an incoming DetNet packet MUST be preserved and carried in the
   corresponding outgoing DetNet packet.  For example, a relay node that
   performs both PEF and PRF first performs PEF on incoming packets to
   create a compound flow.  It then performs PRF and copies the App-flow
   data and the d-CW into packets for each outgoing DetNet member flow.

   The internal design of a relay node is out of scope for this
   document.  However, the reader's attention is drawn to the need to
   make any PREOF state available to the packet processor(s) dealing
   with packets to which PREOF must be applied and to maintain that
   state in such a way that it is available to the packet processor
   operation on the next packet in the DetNet flow (which may be a
   duplicate, a late packet, or the next packet in sequence).

4.6.  Forwarding Sub-Layer Considerations

4.6.1.  Class of Service

   Class of Service (CoS) and Quality of Service (QoS) are terms that
   are often used interchangeably and confused with each other.  In the
   context of DetNet, CoS is used to refer to mechanisms that provide
   traffic-forwarding treatment based on non-flow-specific traffic
   classification, and QoS is used to refer to mechanisms that provide
   traffic-forwarding treatment based on DetNet flow-specific traffic
   classification.  Examples of existing network-level CoS mechanisms
   include Differentiated Services (Diffserv), which is enabled by the
   IP header Differentiated Services Code Point (DSCP) field [RFC2474]
   and MPLS label Traffic Class field [RFC5462] and at Layer 2 by IEEE
   802.1p Priority Code Point (PCP).

   CoS for DetNet flows carried in PWs and MPLS is provided using the
   existing MPLS Differentiated Services (Diffserv) architecture
   [RFC3270].  Both E-LSP and L-LSP MPLS Diffserv modes MAY be used to
   support DetNet flows.  The Traffic Class field (formerly the EXP
   field) of an MPLS label follows the definition of [RFC5462] and
   [RFC3270].  The Uniform, Pipe, and Short Pipe Diffserv tunneling and
   TTL processing models are described in [RFC3270] and [RFC3443] and
   MAY be used for MPLS LSPs supporting DetNet flows.  MPLS Explicit
   Congestion Notification (ECN) MAY also be used, as defined in ECN
   [RFC5129] and updated by [RFC5462].

4.6.2.  Quality of Service

   In addition to explicit routes and packet replication and elimination
   (described in Section 4 above), DetNet provides zero congestion loss
   and bounded latency and jitter.  As described in [RFC8655], there are
   different mechanisms that may be used separately or in combination to
   deliver a zero congestion loss service.  This includes QoS mechanisms
   at the MPLS layer, which may be combined with the mechanisms defined
   by the underlying network layer, such as IEEE 802.1 TSN.

   QoS mechanisms for flow-specific traffic treatment typically include
   a guarantee/agreement for the service and allocation of resources to
   support the service.  Example QoS mechanisms include discrete
   resource allocation, admission control, flow identification and
   isolation, and sometimes path control, traffic protection, shaping,
   policing, and remarking.  Example protocols that support QoS control
   include the Resource ReSerVation Protocol (RSVP) [RFC2205] and RSVP-
   TE [RFC3209] [RFC3473].  The existing MPLS mechanisms defined to
   support CoS [RFC3270] can also be used to reserve resources for
   specific traffic classes.

   A baseline set of QoS capabilities for DetNet flows carried in PWs
   and MPLS can be provided by MPLS-TE [RFC3209] [RFC3473].  TE LSPs can
   also support explicit routes (path pinning).  Current service
   definitions for packet TE LSPs can be found in "Specification of the
   Controlled-Load Network Element Service" [RFC2211], "Specification of
   Guaranteed Quality of Service" [RFC2212], and "Ethernet Traffic
   Parameters" [RFC6003].  Additional service definitions are expected
   in future documents to support the full range of DetNet services.  In
   all cases, the existing label-based marking mechanisms defined for TE
   LSPs and even E-LSPs are used to support the identification of flows
   requiring DetNet QoS.

5.  Management and Control Information Summary

   The specific information needed for the processing of each DetNet
   service depends on the DetNet node type and the functions being
   provided on the node.  This section summarizes this information based
   on the DetNet sub-layer and if the DetNet traffic is being sent or
   received.  All DetNet node types are DetNet forwarding sub-layer
   aware, while all but transit nodes are service sub-layer aware.  This
   is shown in Figure 2.

   Much like other MPLS labels, there are a number of alternatives
   available for DetNet S-Label and F-Label advertisement to an upstream
   peer node.  These include distributed signaling protocols (such as
   RSVP-TE), centralized label distribution via a controller that
   manages both the sender and the receiver using the Network
   Configuration Protocol (NETCONF) and YANG, BGP, the Path Computation
   Element Communication Protocol (PCEP), etc., and hybrid combinations
   of the two.  The details of the Controller Plane solution required
   for the label distribution and the management of the label number
   space are out of scope for this document.  Particular DetNet
   considerations and requirements are discussed in [RFC8938].
   Conformance language is not used in the summary, since it applies to
   future mechanisms, such as those that may be provided in signaling
   and YANG models, e.g., [DetNet-YANG].

5.1.  Service Sub-Layer Information Summary

   The following summarizes the information that is needed (on a per-
   service basis) on nodes that are service sub-layer aware and transmit
   DetNet MPLS traffic:

   *  App-flow identification information, e.g., IP information as
      defined in [DetNet-IP-over-MPLS].  Note that this information is
      not needed on DetNet relay nodes.

   *  The sequence number length to be used for the service.  Valid
      values include 0, 16, and 28 bits. 0 bits cannot be used when PEF
      or POF is configured for the service.

   *  If PRF is to be provided for the service.

   *  The outgoing S-Label for each of the service's outgoing DetNet
      (member) flows.

   *  The forwarding sub-layer information associated with the output of
      the service sub-layer.  Note that when PRF is provisioned, this
      information is per DetNet member flow.  Logically, the forwarding
      sub-layer information is a pointer to further details of
      transmission of DetNet flows at the forwarding sub-layer.

   The following summarizes the information that is needed (on a per-
   service basis) on nodes that are service sub-layer aware and receive
   DetNet MPLS traffic:

   *  The forwarding sub-layer information associated with the input of
      the service sub-layer.  Note that when PEF is provisioned, this
      information is per DetNet member flow.  Logically, the forwarding
      sub-layer information is a pointer to further details of the
      reception of DetNet flows at the forwarding sub-layer or A-Label.

   *  The incoming S-Label for the service.

   *  If PEF or POF is to be provided for the service.

   *  The sequence number length to be used for the service.  Valid
      values included 0, 16, and 28 bits. 0 bits cannot be used when PEF
      or POF are configured for the service.

   *  App-flow identification information, e.g., IP information as
      defined in [DetNet-IP-over-MPLS].  Note that this information is
      not needed on DetNet relay nodes.

5.1.1.  Service Aggregation Information Summary

   Nodes performing aggregation using A-Labels, per Section 4.4.2,
   require the additional information summarized in this section.

   The following summarizes the additional information that is needed on
   a node that sends aggregated flows using A-Labels:

   *  The S-Labels or F-Labels that are to be carried over each
      aggregated service.

   *  The A-Label associated with each aggregated service.

   *  The other S-Label information summarized above.

   On the receiving node, the A-Label provides the forwarding context of
   an incoming interface or an F-Label and is used in subsequent service
   or forwarding sub-layer receive processing, as appropriate.  The
   related additional configuration that may be provided is discussed
   elsewhere in this section.

5.2.  Forwarding Sub-Layer Information Summary

   The following summarizes the information that is needed (on a per-
   forwarding-sub-layer-flow basis) on nodes that are forwarding sub-
   layer aware and send DetNet MPLS traffic:

   *  The outgoing F-Label stack to be pushed.  The stack may include
      H-LSP labels.

   *  The traffic parameters associated with a specific label in the
      stack.  Note that there may be multiple sets of traffic parameters
      associated with specific labels in the stack, e.g., when H-LSPs
      are used.

   *  Outgoing interface and, for unicast traffic, the next-hop
      information.

   *  Sub-network-specific parameters on a technology-specific basis.
      For example, see [DetNet-MPLS-over-TSN].

   The following summarizes the information that is needed (on a per-
   forwarding-sub-layer-flow basis) on nodes that are forwarding sub-
   layer aware and receive DetNet MPLS traffic:

   *  The incoming interface.  For some implementations and deployment
      scenarios, this information may not be needed.

   *  The incoming F-Label stack to be popped.  The stack may include
      H-LSP labels.

   *  How the incoming forwarding sub-layer flow is to be handled, i.e.,
      forwarded as a transit node or provided to the service sub-layer.

   It is the responsibility of the DetNet Controller Plane to properly
   provision both flow identification information and the flow-specific
   resources needed to provide the traffic treatment needed to meet each
   flow's service requirements.  This applies for aggregated and
   individual flows.

6.  Security Considerations

   Detailed security considerations for DetNet are cataloged in
   [DetNet-Security], and more general security considerations are
   described in [RFC8655].  This section exclusively considers security
   considerations that are specific to the DetNet MPLS data plane.  The
   considerations raised related to MPLS networks in general in
   [RFC5920] are equally applicable to the DetNet MPLS data plane.

   Security aspects that are unique to DetNet are those whose aim is to
   protect the support of specific QoS aspects of DetNet, which are
   primarily to deliver data flows with extremely low packet loss rates
   and bounded end-to-end delivery latency.  Achieving such loss rates
   and bounded latency may not be possible in the face of a highly
   capable adversary, such as the one envisioned by the Internet Threat
   Model of BCP 72 [RFC3552] that can arbitrarily drop or delay any or
   all traffic.  In order to present meaningful security considerations,
   we consider a somewhat weaker attacker who does not control the
   physical links of the DetNet domain but may have the ability to
   control a network node within the boundary of the DetNet domain.

   An additional consideration for the DetNet data plane is to maintain
   integrity of data and delivery of the associated DetNet service
   traversing the DetNet network.  Application flows can be protected
   through whatever means are provided by the underlying technology.
   For example, encryption may be used, such as that provided by IPsec
   [RFC4301] for IP flows and/or by an underlying sub-network using
   MACsec [IEEE802.1AE-2018] for IP over Ethernet (Layer 2) flows.  MPLS
   doesn't provide any native security services to account for
   confidentiality and integrity.

   From a data plane perspective, this document does not add or modify
   any application header information.

   At the management and control level, DetNet flows are identified on a
   per-flow basis, which may provide Controller Plane attackers with
   additional information about the data flows (when compared to
   Controller Planes that do not include per-flow identification).  This
   is an inherent property of DetNet that has security implications that
   should be considered when determining if DetNet is a suitable
   technology for any given use case.

   To provide uninterrupted availability of the DetNet service,
   provisions can be made against DoS attacks and delay attacks.  To
   protect against DoS attacks, excess traffic due to malicious or
   malfunctioning devices is prevented or mitigated through the use of
   existing mechanisms, for example, by policing and shaping incoming
   traffic.  To prevent DetNet packets from having their delay
   manipulated by an external entity, precautions need to be taken to
   ensure that all devices on an LSP are those intended to be there by
   the network operator and that they are well behaved.  In addition to
   physical security, technical methods, such as authentication and
   authorization of network equipment and the instrumentation and
   monitoring of the LSP packet delay, may be used.  If a delay attack
   is suspected, traffic may be moved to an alternate path, for example,
   through changing the LSP or management of the PREOF configuration.

7.  IANA Considerations

   This document has no IANA actions.

8.  References

8.1.  Normative References

   [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>.

   [RFC2211]  Wroclawski, J., "Specification of the Controlled-Load
              Network Element Service", RFC 2211, DOI 10.17487/RFC2211,
              September 1997, <https://www.rfc-editor.org/info/rfc2211>.

   [RFC2212]  Shenker, S., Partridge, C., and R. Guerin, "Specification
              of Guaranteed Quality of Service", RFC 2212,
              DOI 10.17487/RFC2212, September 1997,
              <https://www.rfc-editor.org/info/rfc2212>.

   [RFC3031]  Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
              Label Switching Architecture", RFC 3031,
              DOI 10.17487/RFC3031, January 2001,
              <https://www.rfc-editor.org/info/rfc3031>.

   [RFC3032]  Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
              Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
              Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001,
              <https://www.rfc-editor.org/info/rfc3032>.

   [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>.

   [RFC3270]  Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen,
              P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi-
              Protocol Label Switching (MPLS) Support of Differentiated
              Services", RFC 3270, DOI 10.17487/RFC3270, May 2002,
              <https://www.rfc-editor.org/info/rfc3270>.

   [RFC3443]  Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing
              in Multi-Protocol Label Switching (MPLS) Networks",
              RFC 3443, DOI 10.17487/RFC3443, January 2003,
              <https://www.rfc-editor.org/info/rfc3443>.

   [RFC3473]  Berger, L., Ed., "Generalized Multi-Protocol Label
              Switching (GMPLS) Signaling Resource ReserVation Protocol-
              Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
              DOI 10.17487/RFC3473, January 2003,
              <https://www.rfc-editor.org/info/rfc3473>.

   [RFC4206]  Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP)
              Hierarchy with Generalized Multi-Protocol Label Switching
              (GMPLS) Traffic Engineering (TE)", RFC 4206,
              DOI 10.17487/RFC4206, October 2005,
              <https://www.rfc-editor.org/info/rfc4206>.

   [RFC4385]  Bryant, S., Swallow, G., Martini, L., and D. McPherson,
              "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for
              Use over an MPLS PSN", RFC 4385, DOI 10.17487/RFC4385,
              February 2006, <https://www.rfc-editor.org/info/rfc4385>.

   [RFC5085]  Nadeau, T., Ed. and C. Pignataro, Ed., "Pseudowire Virtual
              Circuit Connectivity Verification (VCCV): A Control
              Channel for Pseudowires", RFC 5085, DOI 10.17487/RFC5085,
              December 2007, <https://www.rfc-editor.org/info/rfc5085>.

   [RFC5129]  Davie, B., Briscoe, B., and J. Tay, "Explicit Congestion
              Marking in MPLS", RFC 5129, DOI 10.17487/RFC5129, January
              2008, <https://www.rfc-editor.org/info/rfc5129>.

   [RFC5462]  Andersson, L. and R. Asati, "Multiprotocol Label Switching
              (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic
              Class" Field", RFC 5462, DOI 10.17487/RFC5462, February
              2009, <https://www.rfc-editor.org/info/rfc5462>.

   [RFC5586]  Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed.,
              "MPLS Generic Associated Channel", RFC 5586,
              DOI 10.17487/RFC5586, June 2009,
              <https://www.rfc-editor.org/info/rfc5586>.

   [RFC6790]  Kompella, K., Drake, J., Amante, S., Henderickx, W., and
              L. Yong, "The Use of Entropy Labels in MPLS Forwarding",
              RFC 6790, DOI 10.17487/RFC6790, November 2012,
              <https://www.rfc-editor.org/info/rfc6790>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8655]  Finn, N., Thubert, P., Varga, B., and J. Farkas,
              "Deterministic Networking Architecture", RFC 8655,
              DOI 10.17487/RFC8655, October 2019,
              <https://www.rfc-editor.org/info/rfc8655>.

   [RFC8938]  Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S.
              Bryant, "Deterministic Networking (DetNet) Data Plane
              Framework", RFC 8938, DOI 10.17487/RFC8938, November 2020,
              <https://www.rfc-editor.org/info/rfc8938>.

8.2.  Informative References

   [DetNet-IP-over-MPLS]
              Varga, B., Ed., Berger, L., Fedyk, D., Bryant, S., and J.
              Korhonen, "DetNet Data Plane: IP over MPLS", Work in
              Progress, Internet-Draft, draft-ietf-detnet-ip-over-mpls-
              09, 11 October 2020, <https://tools.ietf.org/html/draft-
              ietf-detnet-ip-over-mpls-09>.

   [DetNet-MPLS-OAM]
              Mirsky, G. and M. Chen, "Operations, Administration and
              Maintenance (OAM) for Deterministic Networks (DetNet) with
              MPLS Data Plane", Work in Progress, Internet-Draft, draft-
              ietf-detnet-mpls-oam-02, 15 January 2021,
              <https://tools.ietf.org/html/draft-ietf-detnet-mpls-oam-
              02>.

   [DetNet-MPLS-over-TSN]
              Varga, B., Ed., Farkas, J., Malis, A., and S. Bryant,
              "DetNet Data Plane: MPLS over IEEE 802.1 Time Sensitive
              Networking (TSN)", Work in Progress, Internet-Draft,
              draft-ietf-detnet-mpls-over-tsn-05, 13 December 2020,
              <https://tools.ietf.org/html/draft-ietf-detnet-mpls-over-
              tsn-05>.

   [DetNet-Security]
              Grossman, E., Ed., Mizrahi, T., and A. Hacker,
              "Deterministic Networking (DetNet) Security
              Considerations", Work in Progress, Internet-Draft, draft-
              ietf-detnet-security-13, 11 December 2020,
              <https://tools.ietf.org/html/draft-ietf-detnet-security-
              13>.

   [DetNet-YANG]
              Geng, X., Chen, M., Ryoo, Y., Fedyk, D., Rahman, R., and
              Z. Li, "Deterministic Networking (DetNet) Configuration
              YANG Model", Work in Progress, Internet-Draft, draft-ietf-
              detnet-yang-09, 16 November 2020,
              <https://tools.ietf.org/html/draft-ietf-detnet-yang-09>.

   [IEEE802.1AE-2018]
              IEEE, "IEEE Standard for Local and metropolitan area
              networks-Media Access Control (MAC) Security", IEEE 
              802.1AE-2018, DOI 10.1109/IEEESTD.2018.8585421, December
              2018, <https://ieeexplore.ieee.org/document/8585421>.

   [IEEE802.1CB-2017]
              IEEE, "IEEE Standard for Local and metropolitan area
              networks-- Frame Replication and Elimination for
              Reliability", IEEE 802.1CB-2017,
              DOI 10.1109/IEEESTD.2017.8091139, October 2017,
              <https://ieeexplore.ieee.org/document/8091139>.

   [RFC2205]  Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S.
              Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
              Functional Specification", RFC 2205, DOI 10.17487/RFC2205,
              September 1997, <https://www.rfc-editor.org/info/rfc2205>.

   [RFC2474]  Nichols, K., Blake, S., Baker, F., and D. Black,
              "Definition of the Differentiated Services Field (DS
              Field) in the IPv4 and IPv6 Headers", RFC 2474,
              DOI 10.17487/RFC2474, December 1998,
              <https://www.rfc-editor.org/info/rfc2474>.

   [RFC3272]  Awduche, D., Chiu, A., Elwalid, A., Widjaja, I., and X.
              Xiao, "Overview and Principles of Internet Traffic
              Engineering", RFC 3272, DOI 10.17487/RFC3272, May 2002,
              <https://www.rfc-editor.org/info/rfc3272>.

   [RFC3552]  Rescorla, E. and B. Korver, "Guidelines for Writing RFC
              Text on Security Considerations", BCP 72, RFC 3552,
              DOI 10.17487/RFC3552, July 2003,
              <https://www.rfc-editor.org/info/rfc3552>.

   [RFC3985]  Bryant, S., Ed. and P. Pate, Ed., "Pseudo Wire Emulation
              Edge-to-Edge (PWE3) Architecture", RFC 3985,
              DOI 10.17487/RFC3985, March 2005,
              <https://www.rfc-editor.org/info/rfc3985>.

   [RFC4301]  Kent, S. and K. Seo, "Security Architecture for the
              Internet Protocol", RFC 4301, DOI 10.17487/RFC4301,
              December 2005, <https://www.rfc-editor.org/info/rfc4301>.

   [RFC4448]  Martini, L., Ed., Rosen, E., El-Aawar, N., and G. Heron,
              "Encapsulation Methods for Transport of Ethernet over MPLS
              Networks", RFC 4448, DOI 10.17487/RFC4448, April 2006,
              <https://www.rfc-editor.org/info/rfc4448>.

   [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>.

   [RFC5440]  Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
              Element (PCE) Communication Protocol (PCEP)", RFC 5440,
              DOI 10.17487/RFC5440, March 2009,
              <https://www.rfc-editor.org/info/rfc5440>.

   [RFC5920]  Fang, L., Ed., "Security Framework for MPLS and GMPLS
              Networks", RFC 5920, DOI 10.17487/RFC5920, July 2010,
              <https://www.rfc-editor.org/info/rfc5920>.

   [RFC5921]  Bocci, M., Ed., Bryant, S., Ed., Frost, D., Ed., Levrau,
              L., and L. Berger, "A Framework for MPLS in Transport
              Networks", RFC 5921, DOI 10.17487/RFC5921, July 2010,
              <https://www.rfc-editor.org/info/rfc5921>.

   [RFC6003]  Papadimitriou, D., "Ethernet Traffic Parameters",
              RFC 6003, DOI 10.17487/RFC6003, October 2010,
              <https://www.rfc-editor.org/info/rfc6003>.

   [RFC6073]  Martini, L., Metz, C., Nadeau, T., Bocci, M., and M.
              Aissaoui, "Segmented Pseudowire", RFC 6073,
              DOI 10.17487/RFC6073, January 2011,
              <https://www.rfc-editor.org/info/rfc6073>.

   [RFC8306]  Zhao, Q., Dhody, D., Ed., Palleti, R., and D. King,
              "Extensions to the Path Computation Element Communication
              Protocol (PCEP) for Point-to-Multipoint Traffic
              Engineering Label Switched Paths", RFC 8306,
              DOI 10.17487/RFC8306, November 2017,
              <https://www.rfc-editor.org/info/rfc8306>.

   [RFC8660]  Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S.,
              Decraene, B., Litkowski, S., and R. Shakir, "Segment
              Routing with the MPLS Data Plane", RFC 8660,
              DOI 10.17487/RFC8660, December 2019,
              <https://www.rfc-editor.org/info/rfc8660>.

   [RFC8939]  Varga, B., Ed., Farkas, J., Berger, L., Fedyk, D., and S.
              Bryant, "Deterministic Networking (DetNet) Data Plane:
              IP", RFC 8939, DOI 10.17487/RFC8939, November 2020,
              <https://www.rfc-editor.org/info/rfc8939>.

Acknowledgements

   The authors wish to thank Pat Thaler, Norman Finn, Loa Anderson,
   David Black, Rodney Cummings, Ethan Grossman, Tal Mizrahi, David
   Mozes, Craig Gunther, George Swallow, Yuanlong Jiang, Jeong-dong
   Ryoo, and Carlos J. Bernardos for their various contributions to this
   work.

Contributors

   The editor of this document wishes to thank and acknowledge the
   following person who contributed substantially to the content of this
   document and should be considered a coauthor:

   Don Fedyk
   LabN Consulting, L.L.C.

   Email: dfedyk@labn.net


Authors' Addresses

   Balázs Varga (editor)
   Ericsson
   Budapest
   Magyar Tudosok krt. 11.
   1117
   Hungary

   Email: balazs.a.varga@ericsson.com


   János Farkas
   Ericsson
   Budapest
   Magyar Tudosok krt. 11.
   1117
   Hungary

   Email: janos.farkas@ericsson.com


   Lou Berger
   LabN Consulting, L.L.C.

   Email: lberger@labn.net


   Andrew G. Malis
   Malis Consulting

   Email: agmalis@gmail.com


   Stewart Bryant
   Futurewei Technologies

   Email: sb@stewartbryant.com


   Jouni Korhonen

   Email: jouni.nospam@gmail.com