summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3471.txt
blob: 3204bd6cad3d51ea33db3e5c753f7bc88fed5a3e (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
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
Network Working Group                                  L. Berger, Editor
Request for Comments: 3471                                Movaz Networks
Category: Standards Track                                   January 2003


           Generalized Multi-Protocol Label Switching (GMPLS)
                    Signaling Functional Description

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

Abstract

   This document describes extensions to Multi-Protocol Label Switching
   (MPLS) signaling required to support Generalized MPLS.  Generalized
   MPLS extends the MPLS control plane to encompass time-division (e.g.,
   Synchronous Optical Network and Synchronous Digital Hierarchy,
   SONET/SDH), wavelength (optical lambdas) and spatial switching (e.g.,
   incoming port or fiber to outgoing port or fiber).  This document
   presents a functional description of the extensions.  Protocol
   specific formats and mechanisms, and technology specific details are
   specified in separate documents.

Table of Contents

   1.  Introduction  ...............................................   2
   2.  Overview   ..................................................   3
   3.  Label Related Formats   .....................................   6
     3.1  Generalized Label Request  ...............................   6
     3.2  Generalized Label  .......................................  11
     3.3  Waveband Switching  ......................................  12
     3.4  Suggested Label  .........................................  13
     3.5  Label Set  ...............................................  14
   4.  Bidirectional LSPs  .........................................  16
     4.1  Required Information  ....................................  17
     4.2  Contention Resolution  ...................................  17
   5.  Notification on Label Error  ................................  20
   6.  Explicit Label Control  .....................................  20
     6.1  Required Information  ....................................  21



Berger                      Standards Track                     [Page 1]
^L
RFC 3471        GMPLS Signaling Functional Description


   7.  Protection Information  .....................................  21
     7.1  Required Information  ....................................  22
   8.  Administrative Status Information  ..........................  23
     8.1  Required Information  ....................................  24
   9.  Control Channel Separation  .................................  25
     9.1  Interface Identification  ................................  25
     9.2  Fault Handling  ..........................................  27
   10. Acknowledgments  ............................................  27
   11. Security Considerations  ....................................  28
   12. IANA Considerations  ........................................  28
   13. Intellectual Property Considerations  .......................  29
   14. References  .................................................  29
     14.1  Normative References  ...................................  29
     14.2  Informative References  .................................  30
   15. Contributors  ...............................................  31
   16. Editor's Address  ...........................................  33
   17. Full Copyright Statement  ...................................  34

1. Introduction

   The Multiprotocol Label Switching (MPLS) architecture [RFC3031] has
   been defined to support the forwarding of data based on a label.  In
   this architecture, Label Switching Routers (LSRs) were assumed to
   have a forwarding plane that is capable of (a) recognizing either
   packet or cell boundaries, and (b) being able to process either
   packet headers (for LSRs capable of recognizing packet boundaries) or
   cell headers (for LSRs capable of recognizing cell boundaries).

   The original architecture has recently been extended to include LSRs
   whose forwarding plane recognizes neither packet, nor cell
   boundaries, and therefore, can't forward data based on the
   information carried in either packet or cell headers.  Specifically,
   such LSRs include devices where the forwarding decision is based on
   time slots, wavelengths, or physical ports.

   Given the above, LSRs, or more precisely interfaces on LSRs, can be
   subdivided into the following classes:

   1. Interfaces that recognize packet/cell boundaries and can forward
      data based on the content of the packet/cell header.  Examples
      include interfaces on routers that forward data based on the
      content of the "shim" header, interfaces on (Asynchronous Transfer
      Mode) ATM-LSRs that forward data based on the ATM VPI/VCI.  Such
      interfaces are referred to as Packet-Switch Capable (PSC).







Berger                      Standards Track                     [Page 2]
^L
RFC 3471        GMPLS Signaling Functional Description


   2. Interfaces that forward data based on the data's time slot in a
      repeating cycle.  An example of such an interface is an interface
      on a SONET/SDH Cross-Connect.  Such interfaces are referred to as
      Time-Division Multiplex Capable (TDM).

   3. Interfaces that forward data based on the wavelength on which the
      data is received.  An example of such an interface is an interface
      on an Optical Cross-Connect that can operate at the level of an
      individual wavelength.  Such interfaces are referred to as Lambda
      Switch Capable (LSC).

   4. Interfaces that forward data based on a position of the data in
      the real world physical spaces.  An example of such an interface
      is an interface on an Optical Cross-Connect that can operate at
      the level of a single (or multiple) fibers.  Such interfaces are
      referred to as Fiber-Switch Capable (FSC).

   Using the concept of nested Label Switched Paths (LSPs) allows the
   system to scale by building a forwarding hierarchy.  At the top of
   this hierarchy are FSC interfaces, followed by LSC interfaces,
   followed by TDM interfaces, followed by PSC interfaces.  This way, an
   LSP that starts and ends on a PSC interface can be nested (together
   with other LSPs) into an LSP that starts and ends on a TDM interface.
   This LSP, in turn, can be nested (together with other LSPs) into an
   LSP that starts and ends on an LSC interface, which in turn can be
   nested (together with other LSPs) into an LSP that starts and ends on
   a FSC interface.  See [MPLS-HIERARCHY] for more information on LSP
   hierarchies.

   The establishment of LSPs that span only the first class of
   interfaces is defined in [RFC3036, RFC3212, RFC3209].  This document
   presents a functional description of the extensions needed to
   generalize the MPLS control plane to support each of the four classes
   of interfaces.  Only signaling protocol independent formats and
   definitions are provided in this document.  Protocol specific formats
   are defined in [RFC3473] and [RFC3472].  Technology specific details
   are outside the scope of this document and will be specified in
   technology specific documents, such as [GMPLS-SONET].

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

2. Overview

   Generalized MPLS differs from traditional MPLS in that it supports
   multiple types of switching, i.e., the addition of support for TDM,
   lambda, and fiber (port) switching.  The support for the additional



Berger                      Standards Track                     [Page 3]
^L
RFC 3471        GMPLS Signaling Functional Description


   types of switching has driven generalized MPLS to extend certain base
   functions of traditional MPLS and, in some cases, to add
   functionality.  These changes and additions impact basic LSP
   properties, how labels are requested and communicated, the
   unidirectional nature of LSPs, how errors are propagated, and
   information provided for synchronizing the ingress and egress.

   In traditional MPLS Traffic Engineering, links traversed by an LSP
   can include an intermix of links with heterogeneous label encodings.
   For example, an LSP may span links between routers, links between
   routers and ATM-LSRs, and links between ATM-LSRs.  Generalized MPLS
   extends this by including links where the label is encoded as a time
   slot, or a wavelength, or a position in the real world physical
   space.  Just like with traditional MPLS TE, where not all LSRs are
   capable of recognizing (IP) packet boundaries (e.g., an ATM-LSR) in
   their forwarding plane, generalized MPLS includes support for LSRs
   that can't recognize (IP) packet boundaries in their forwarding
   plane.  In traditional MPLS TE an LSP that carries IP has to start
   and end on a router.  Generalized MPLS extends this by requiring an
   LSP to start and end on similar type of LSRs.  Also, in generalized
   MPLS the type of a payload that can be carried by an LSP is extended
   to allow such payloads as SONET/SDH, or 1 or 10Gb Ethernet.  These
   changes from traditional MPLS are reflected in how labels are
   requested and communicated in generalized MPLS, see Sections 3.1 and
   3.2.  A special case of Lambda switching, called Waveband switching
   is also described in Section 3.3.

   Another basic difference between traditional and non-PSC types of
   generalized MPLS LSPs, is that bandwidth allocation for an LSP can be
   performed only in discrete units, see Section 3.1.3.  There are also
   likely to be (much) fewer labels on non-PSC links than on PSC links.
   Note that the use of Forwarding Adjacencies (FA), see [MPLS-
   HIERARCHY], provides a mechanism that may improve bandwidth
   utilization, when bandwidth allocation can be performed only in
   discrete units, as well as a mechanism to aggregate forwarding state,
   thus allowing the number of required labels to be reduced.

   Generalized MPLS allows for a label to be suggested by an upstream
   node, see Section 3.4.  This suggestion may be overridden by a
   downstream node but, in some cases, at the cost of higher LSP setup
   time.  The suggested label is valuable when establishing LSPs through
   certain kinds of optical equipment where there may be a lengthy (in
   electrical terms) delay in configuring the switching fabric.  For
   example micro mirrors may have to be elevated or moved, and this
   physical motion and subsequent damping takes time.  If the labels and
   hence switching fabric are configured in the reverse direction (the





Berger                      Standards Track                     [Page 4]
^L
RFC 3471        GMPLS Signaling Functional Description


   norm) the MAPPING/Resv message may need to be delayed by 10's of
   milliseconds per hop in order to establish a usable forwarding path.
   The suggested label is also valuable when recovering from nodal
   faults.

   Generalized MPLS extends on the notion of restricting the range of
   labels that may be selected by a downstream node, see Section 3.5.
   In generalized MPLS, an ingress or other upstream node may restrict
   the labels that may be used by an LSP along either a single hop or
   along the whole LSP path.  This feature is driven from the optical
   domain where there are cases where wavelengths used by the path must
   be restricted either to a small subset of possible wavelengths, or to
   one specific wavelength.  This requirement occurs because some
   equipment may only be able to generate a small set of the wavelengths
   that intermediate equipment may be able to switch, or because
   intermediate equipment may not be able to switch a wavelength at all,
   being only able to redirect it to a different fiber.

   While traditional traffic engineered MPLS (and even LDP) are
   unidirectional, generalized MPLS supports the establishment of
   bidirectional LSPs, see Section 4.  The need for bidirectional LSPs
   comes from non-PSC applications.  There are multiple reasons why such
   LSPs are needed, particularly possible resource contention when
   allocating reciprocal LSPs via separate signaling sessions, and
   simplifying failure restoration procedures in the non-PSC case.
   Bidirectional LSPs also have the benefit of lower setup latency and
   lower number of messages required during setup.

   Generalized MPLS supports the communication of a specific label to
   use on a specific interface, see Section 6.  [RFC3473] also supports
   an RSVP specific mechanism for rapid failure notification.

   Generalized MPLS formalizes possible separation of control and data
   channels, see Section 9.  Such support is particularly important to
   support technologies where control traffic cannot be sent in-band
   with the data traffic.

   Generalized MPLS also allows for the inclusion of technology specific
   parameters in signaling.  The intent is for all technology specific
   parameters to be carried, when using RSVP, in the SENDER_TSPEC and
   other related objects, and when using CR-LDP, in the Traffic
   Parameters TLV.  Technology specific formats will be defined on an as
   needed basis.  For an example definition, see [GMPLS-SONET].








Berger                      Standards Track                     [Page 5]
^L
RFC 3471        GMPLS Signaling Functional Description


3. Label Related Formats

   To deal with the widening scope of MPLS into the optical and time
   domain, several new forms of "label" are required.  These new forms
   of label are collectively referred to as a "generalized label".  A
   generalized label contains enough information to allow the receiving
   node to program its cross connect, regardless of the type of this
   cross connect, such that the ingress segments of the path are
   properly joined.  This section defines a generalized label request, a
   generalized label, support for waveband switching, suggested label
   and label sets.

   Note that since the nodes sending and receiving the new form of label
   know what kinds of link they are using, the generalized label does
   not contain a type field, instead the nodes are expected to know from
   context what type of label to expect.

3.1. Generalized Label Request

   The Generalized Label Request supports communication of
   characteristics required to support the LSP being requested.  These
   characteristics include LSP encoding and LSP payload.  Note that
   these characteristics may be used by transit nodes, e.g., to support
   penultimate hop popping.

   The Generalized Label Request carries an LSP encoding parameter,
   called LSP Encoding Type.  This parameter indicates the encoding
   type, e.g., SONET/SDH/GigE etc., that will be used with the data
   associated with the LSP.  The LSP Encoding Type represents the nature
   of the LSP, and not the nature of the links that the LSP traverses.
   A link may support a set of encoding formats, where support means
   that a link is able to carry and switch a signal of one or more of
   these encoding formats depending on the resource availability and
   capacity of the link.  For example, consider an LSP signaled with
   "lambda" encoding.   It is expected that such an LSP would be
   supported with no electrical conversion and no knowledge of the
   modulation and speed by the transit nodes.  Other formats normally
   require framing knowledge, and field parameters are broken into the
   framing type and speed as shown below.

   The Generalized Label Request also indicates the type of switching
   that is being requested on a link.  This field normally is consistent
   across all links of an LSP.








Berger                      Standards Track                     [Page 6]
^L
RFC 3471        GMPLS Signaling Functional Description


3.1.1. Required Information

   The information carried in a Generalized Label Request is:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | LSP Enc. Type |Switching Type |             G-PID             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      LSP Encoding Type: 8 bits

         Indicates the encoding of the LSP being requested.  The
         following shows permitted values and their meaning:

   Value       Type
   -----       ----
     1         Packet
     2         Ethernet
     3         ANSI/ETSI PDH
     4         Reserved
     5         SDH ITU-T G.707 / SONET ANSI T1.105
     6         Reserved
     7         Digital Wrapper
     8         Lambda (photonic)
     9         Fiber
    10         Reserved
    11         FiberChannel

         The ANSI PDH and ETSI PDH types designate these respective
         networking technologies.  DS1 and DS3 are examples of ANSI PDH
         LSPs.  An E1 LSP would be ETSI PDH.  The Lambda encoding type
         refers to an LSP that encompasses a whole wavelengths.  The
         Fiber encoding type refers to an LSP that encompasses a whole
         fiber port.
















Berger                      Standards Track                     [Page 7]
^L
RFC 3471        GMPLS Signaling Functional Description


      Switching Type: 8 bits

         Indicates the type of switching that should be performed on a
         particular link.  This field is needed for links that advertise
         more than one type of switching capability.  This field should
         map to one of the values advertised for the corresponding link
         in the routing Switching Capability Descriptor, see [GMPLS-
         RTG].

         The following are currently defined values:

   Value       Type
   -----       ----
     1         Packet-Switch Capable-1 (PSC-1)
     2         Packet-Switch Capable-2 (PSC-2)
     3         Packet-Switch Capable-3 (PSC-3)
     4         Packet-Switch Capable-4 (PSC-4)
     51        Layer-2 Switch Capable  (L2SC)
     100       Time-Division-Multiplex Capable (TDM)
     150       Lambda-Switch Capable   (LSC)
     200       Fiber-Switch Capable    (FSC)






























Berger                      Standards Track                     [Page 8]
^L
RFC 3471        GMPLS Signaling Functional Description


      Generalized PID (G-PID): 16 bits

         An identifier of the payload carried by an LSP, i.e., an
         identifier of the client layer of that LSP.  This is used by
         the nodes at the endpoints of the LSP, and in some cases by the
         penultimate hop.  Standard Ethertype values are used for packet
         and Ethernet LSPs; other values are:

   Value   Type                                   Technology
   -----   ----                                   ----------
     0     Unknown                                All
     1     Reserved
     2     Reserved
     3     Reserved
     4     Reserved
     5     Asynchronous mapping of E4             SDH
     6     Asynchronous mapping of DS3/T3         SDH
     7     Asynchronous mapping of E3             SDH
     8     Bit synchronous mapping of E3          SDH
     9     Byte synchronous mapping of E3         SDH
    10     Asynchronous mapping of DS2/T2         SDH
    11     Bit synchronous mapping of DS2/T2      SDH
    12     Reserved
    13     Asynchronous mapping of E1             SDH
    14     Byte synchronous mapping of E1         SDH
    15     Byte synchronous mapping of 31 * DS0   SDH
    16     Asynchronous mapping of DS1/T1         SDH
    17     Bit synchronous mapping of DS1/T1      SDH
    18     Byte synchronous mapping of DS1/T1     SDH
    19     VC-11 in VC-12                         SDH
    20     Reserved
    21     Reserved
    22     DS1 SF Asynchronous                    SONET
    23     DS1 ESF Asynchronous                   SONET
    24     DS3 M23 Asynchronous                   SONET
    25     DS3 C-Bit Parity Asynchronous          SONET
    26     VT/LOVC                                SDH
    27     STS SPE/HOVC                           SDH
    28     POS - No Scrambling, 16 bit CRC        SDH
    29     POS - No Scrambling, 32 bit CRC        SDH
    30     POS - Scrambling, 16 bit CRC           SDH
    31     POS - Scrambling, 32 bit CRC           SDH
    32     ATM mapping                            SDH
    33     Ethernet                               SDH, Lambda, Fiber
    34     SONET/SDH                              Lambda, Fiber
    35     Reserved (SONET deprecated)            Lambda, Fiber
    36     Digital Wrapper                        Lambda, Fiber
    37     Lambda                                 Fiber



Berger                      Standards Track                     [Page 9]
^L
RFC 3471        GMPLS Signaling Functional Description


    38     ANSI/ETSI PDH                          SDH
    39     Reserved                               SDH
    40     Link Access Protocol SDH               SDH
           (LAPS - X.85 and X.86)
    41     FDDI                                   SDH, Lambda, Fiber
    42     DQDB (ETSI ETS 300 216)                SDH
    43     FiberChannel-3 (Services)              FiberChannel
    44     HDLC                                   SDH
    45     Ethernet V2/DIX (only)                 SDH, Lambda, Fiber
    46     Ethernet 802.3 (only)                  SDH, Lambda, Fiber

3.1.2. Bandwidth Encoding

   Bandwidth encodings are carried in 32 bit number in IEEE floating
   point format (the unit is bytes per second).  For non-packet LSPs, it
   is useful to define discrete values to identify the bandwidth of the
   LSP.  Some typical values for the requested bandwidth are enumerated
   below.  (These values are guidelines.)  Additional values will be
   defined as needed.  Bandwidth encoding values are carried in a per
   protocol specific manner, see [RFC3473] and [RFC3472].

     Signal Type   (Bit-rate)              Value (Bytes/Sec)
                                         (IEEE Floating point)
   --------------  ---------------       ---------------------
              DS0  (0.064 Mbps)              0x45FA0000
              DS1  (1.544 Mbps)              0x483C7A00
               E1  (2.048 Mbps)              0x487A0000
              DS2  (6.312 Mbps)              0x4940A080
               E2  (8.448 Mbps)              0x4980E800
         Ethernet  (10.00 Mbps)              0x49989680
               E3  (34.368 Mbps)             0x4A831A80
              DS3  (44.736 Mbps)             0x4AAAA780
            STS-1  (51.84 Mbps)              0x4AC5C100
    Fast Ethernet  (100.00 Mbps)             0x4B3EBC20
               E4  (139.264 Mbps)            0x4B84D000
        FC-0 133M                            0x4B7DAD68
       OC-3/STM-1  (155.52 Mbps)             0x4B9450C0
        FC-0 266M                            0x4BFDAD68
        FC-0 531M                            0x4C7D3356
      OC-12/STM-4  (622.08 Mbps)             0x4C9450C0
             GigE  (1000.00 Mbps)            0x4CEE6B28
       FC-0 1062M                            0x4CFD3356
     OC-48/STM-16  (2488.32 Mbps)            0x4D9450C0
    OC-192/STM-64  (9953.28 Mbps)            0x4E9450C0
       10GigE-LAN  (10000.00 Mbps)           0x4E9502F9
   OC-768/STM-256  (39813.12 Mbps)           0x4F9450C0





Berger                      Standards Track                    [Page 10]
^L
RFC 3471        GMPLS Signaling Functional Description


3.2. Generalized Label

   The Generalized Label extends the traditional label by allowing the
   representation of not only labels which travel in-band with
   associated data packets, but also labels which identify time-slots,
   wavelengths, or space division multiplexed positions.  For example,
   the Generalized Label may carry a label that represents (a) a single
   fiber in a bundle, (b) a single waveband within fiber, (c) a single
   wavelength within a waveband (or fiber), or (d) a set of time-slots
   within a wavelength (or fiber).  It may also carry a label that
   represents a generic MPLS label, a Frame Relay label, or an ATM label
   (VCI/VPI).

   A Generalized Label does not identify the "class" to which the label
   belongs.  This is implicit in the multiplexing capabilities of the
   link on which the label is used.

   A Generalized Label only carries a single level of label, i.e., it is
   non-hierarchical.  When multiple levels of label (LSPs within LSPs)
   are required, each LSP must be established separately, see [MPLS-
   HIERARCHY].

   Each Generalized Label object/TLV carries a variable length label
   parameter.

3.2.1. Required Information

   The information carried in a Generalized Label is:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             Label                             |
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Label: Variable Length

         Carries label information.  The interpretation of this field
         depends on the type of the link over which the label is used.

3.2.1.1. Port and Wavelength Labels

   Some configurations of fiber switching (FSC) and lambda switching
   (LSC) use multiple data channels/links controlled by a single control
   channel.  In such cases the label indicates the data channel/link to
   be used for the LSP.  Note that this case is not the same as when
   [MPLS-BUNDLE] is being used.



Berger                      Standards Track                    [Page 11]
^L
RFC 3471        GMPLS Signaling Functional Description


   The information carried in a Port and Wavelength label is:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             Label                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Label: 32 bits

      Indicates port/fiber or lambda to be used, from the perspective of
      the sender of the object/TLV.  Values used in this field only have
      significance between two neighbors, and the receiver may need to
      convert the received value into a value that has local
      significance.  Values may be configured or dynamically determined
      using a protocol such as [LMP].

3.2.1.2. Other Labels

   Generic MPLS labels and Frame Relay labels are encoded right
   justified aligned in 32 bits (4 octets).  ATM labels are encoded with
   the VPI right justified in bits 0-15 and the VCI right justified in
   bits 16-31.

3.3. Waveband Switching

   A special case of lambda switching is waveband switching.  A waveband
   represents a set of contiguous wavelengths which can be switched
   together to a new waveband.  For optimization reasons it may be
   desirable for an optical cross connect to optically switch multiple
   wavelengths as a unit.  This may reduce the distortion on the
   individual wavelengths and may allow tighter separation of the
   individual wavelengths.  The Waveband Label is defined to support
   this special case.

   Waveband switching naturally introduces another level of label
   hierarchy and as such the waveband is treated the same way all other
   upper layer labels are treated.

   As far as the MPLS protocols are concerned there is little difference
   between a waveband label and a wavelength label except that
   semantically the waveband can be subdivided into wavelengths whereas
   the wavelength can only be subdivided into time or statistically
   multiplexed labels.







Berger                      Standards Track                    [Page 12]
^L
RFC 3471        GMPLS Signaling Functional Description


3.3.1. Required information

   Waveband switching uses the same format as the generalized label, see
   section 3.2.1.

   In the context of waveband switching, the generalized label has the
   following format:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Waveband Id                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Start Label                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           End Label                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Waveband Id: 32 bits

         A waveband identifier.  The value is selected by the sender and
         reused in all subsequent related messages.

      Start Label: 32 bits

         Indicates the channel identifier of the lowest value wavelength
         making up the waveband, from the object/TLV sender's
         perspective.

      End Label: 32 bits

         Indicates the channel identifier of the highest value
         wavelength making up the waveband, from the object/TLV sender's
         perspective.

   Channel identifiers are established either by configuration or by
   means of a protocol such as LMP [LMP].  They are normally used in the
   label parameter of the Generalized Label one PSC and LSC.

3.4. Suggested Label

   The Suggested Label is used to provide a downstream node with the
   upstream node's label preference.  This permits the upstream node to
   start configuring its hardware with the proposed label before the
   label is communicated by the downstream node.  Such early
   configuration is valuable to systems that take non-trivial time to
   establish a label in hardware.  Such early configuration can reduce




Berger                      Standards Track                    [Page 13]
^L
RFC 3471        GMPLS Signaling Functional Description


   setup latency, and may be important for restoration purposes where
   alternate LSPs may need to be rapidly established as a result of
   network failures.

   The use of Suggested Label is only an optimization.  If a downstream
   node passes a different label upstream, an upstream LSR reconfigures
   itself so that it uses the label specified by the downstream node,
   thereby maintaining the downstream control of a label.  Note, the
   transmission of a suggested label does not imply that the suggested
   label is available for use.  In particular, an ingress node should
   not transmit data traffic on a suggested label until the downstream
   node passes a label upstream.

   The information carried in a suggested label is identical to a
   generalized label.  Note, values used in the label field of a
   suggested label are from the object/TLV sender's perspective.

3.5. Label Set

   The Label Set is used to limit the label choices of a downstream node
   to a set of acceptable labels.  This limitation applies on a per hop
   basis.

   We describe four cases where a Label Set is useful in the optical
   domain.  The first case is where the end equipment is only capable of
   transmitting on a small specific set of wavelengths/bands.  The
   second case is where there is a sequence of interfaces which cannot
   support wavelength conversion (CI-incapable) and require the same
   wavelength be used end-to-end over a sequence of hops, or even an
   entire path.  The third case is where it is desirable to limit the
   amount of wavelength conversion being performed to reduce the
   distortion on the optical signals.  The last case is where two ends
   of a link support different sets of wavelengths.

   Label Set is used to restrict label ranges that may be used for a
   particular LSP between two peers.  The receiver of a Label Set must
   restrict its choice of labels to one which is in the Label Set.  Much
   like a label, a Label Set may be present across multiple hops.  In
   this case each node generates its own outgoing Label Set, possibly
   based on the incoming Label Set and the node's hardware capabilities.
   This case is expected to be the norm for nodes with conversion
   incapable (CI-incapable) interfaces.

   The use of Label Set is optional, if not present, all labels from the
   valid label range may be used.  Conceptually the absence of a Label
   Set implies a Label Set whose value is {U}, the set of all valid
   labels.




Berger                      Standards Track                    [Page 14]
^L
RFC 3471        GMPLS Signaling Functional Description


3.5.1. Required Information

   A label set is composed of one or more Label_Set objects/TLVs.  Each
   object/TLV contains one or more elements of the Label Set.  Each
   element is referred to as a subchannel identifier and has the same
   format as a generalized label.

   The information carried in a Label_Set is:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Action     |      Reserved     |        Label Type         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Subchannel 1                         |
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                               :                               :
   :                               :                               :
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Subchannel N                         |
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Action: 8 bits

      0 - Inclusive List

         Indicates that the object/TLV contains one or more subchannel
         elements that are included in the Label Set.

      1 - Exclusive List

         Indicates that the object/TLV contains one or more subchannel
         elements that are excluded from the Label Set.

      2 - Inclusive Range

         Indicates that the object/TLV contains a range of labels.  The
         object/TLV contains two subchannel elements.  The first element
         indicates the start of the range.  The second element indicates
         the end of the range.  A value of zero indicates that there is
         no bound on the corresponding portion of the range.








Berger                      Standards Track                    [Page 15]
^L
RFC 3471        GMPLS Signaling Functional Description


      3 - Exclusive Range

         Indicates that the object/TLV contains a range of labels that
         are excluded from the Label Set.  The object/TLV contains two
         subchannel elements.  The first element indicates the start of
         the range.  The second element indicates the end of the range.
         A value of zero indicates that there is no bound on the
         corresponding portion of the range.

   Reserved: 10 bits

      This field is reserved. It MUST be set to zero on transmission and
      MUST be ignored on receipt.

   Label Type: 14 bits

      Indicates the type and format of the labels carried in the
      object/TLV.  Values are signaling protocol specific.

   Subchannel:

      The subchannel represents the label (wavelength, fiber ... ) which
      is eligible for allocation.  This field has the same format as
      described for labels under section 3.2.

      Note that subchannel to local channel identifiers (e.g.,
      wavelength) mappings are a local matter.

4. Bidirectional LSPs

   This section defines direct support of bidirectional LSPs.  Support
   is defined for LSPs that have the same traffic engineering
   requirements including fate sharing, protection and restoration,
   LSRs, and resource requirements (e.g., latency and jitter) in each
   direction.  In the remainder of this section, the term "initiator" is
   used to refer to a node that starts the establishment of an LSP and
   the term "terminator" is used to refer to the node that is the target
   of the LSP.  Note that for bidirectional LSPs, there is only one
   "initiator" and one "terminator".

   Normally to establish a bidirectional LSP when using [RFC3209] or
   [RFC3212] two unidirectional paths must be independently established.
   This approach has the following disadvantages:

   *  The latency to establish the bidirectional LSP is equal to one
      round trip signaling time plus one initiator-terminator signaling
      transit delay.  This not only extends the setup latency for
      successful LSP establishment, but it extends the worst-case



Berger                      Standards Track                    [Page 16]
^L
RFC 3471        GMPLS Signaling Functional Description


      latency for discovering an unsuccessful LSP to as much as two
      times the initiator-terminator transit delay.  These delays are
      particularly significant for LSPs that are established for
      restoration purposes.

   *  The control overhead is twice that of a unidirectional LSP.  This
      is because separate control messages (e.g., Path and Resv) must be
      generated for both segments of the bidirectional LSP.

   *  Because the resources are established in separate segments, route
      selection is complicated.  There is also additional potential race
      for conditions in assignment of resources, which decreases the
      overall probability of successfully establishing the bidirectional
      connection.

   *  It is more difficult to provide a clean interface for SONET/SDH
      equipment that may rely on bidirectional hop-by-hop paths for
      protection switching.

   *  Bidirectional optical LSPs (or lightpaths) are seen as a
      requirement for many optical networking service providers.

   With bidirectional LSPs both the downstream and upstream data paths,
   i.e., from initiator to terminator and terminator to initiator, they
   are established using a single set of signaling messages.  This
   reduces the setup latency to essentially one initiator-terminator
   round trip time plus processing time, and limits the control overhead
   to the same number of messages as a unidirectional LSP.

4.1. Required Information

   For bidirectional LSPs, two labels must be allocated.  Bidirectional
   LSP setup is indicated by the presence of an Upstream Label
   object/TLV in the appropriate signaling message.  An Upstream Label
   has the same format as the generalized label, see Section 3.2.

4.2. Contention Resolution

   Contention for labels may occur between two bidirectional LSP setup
   requests traveling in opposite directions.  This contention occurs
   when both sides allocate the same resources (labels) at effectively
   the same time.  If there is no restriction on the labels that can be
   used for bidirectional LSPs and if there are alternate resources,
   then both nodes will pass different labels upstream and there is no
   contention.  However, if there is a restriction on the labels that
   can be used for the bidirectional LSPs (for example, if they must be
   physically coupled on a single I/O card), or if there are no more
   resources available, then the contention must be resolved by other



Berger                      Standards Track                    [Page 17]
^L
RFC 3471        GMPLS Signaling Functional Description


   means.  To resolve contention, the node with the higher node ID will
   win the contention and it MUST issue a PathErr/NOTIFICATION message
   with a "Routing problem/Label allocation failure" indication.  Upon
   receipt of such an error, the node SHOULD try to allocate a different
   Upstream label (and a different Suggested Label if used) to the
   bidirectional path.  However, if no other resources are available,
   the node must proceed with standard error handling.

   To reduce the probability of contention, one may impose a policy that
   the node with the lower ID never suggests a label in the downstream
   direction and always accepts a Suggested Label from an upstream node
   with a higher ID.  Furthermore, since the labels may be exchanged
   using LMP, an alternative local policy could further be imposed such
   that (with respect to the higher numbered node's label set) the
   higher numbered node could allocate labels from the high end of the
   label range while the lower numbered node allocates labels from the
   low end of the label range.  This mechanism would augment any close
   packing algorithms that may be used for bandwidth (or wavelength)
   optimization.  One special case that should be noted when using RSVP
   and supporting this approach is that the neighbor's node ID might not
   be known when sending an initial Path message.  When this case
   occurs, a node should suggest a label chosen at random from the
   available label space.

   An example of contention between two nodes (PXC 1 and PXC 2) is shown
   in Figure 1.  In this example PXC 1 assigns an Upstream Label for the
   channel corresponding to local BCId=2 (local BCId=7 on PXC 2) and
   sends a Suggested Label for the channel corresponding to local BCId=1
   (local BCId=6 on PXC 2).  Simultaneously, PXC 2 assigns an Upstream
   Label for the channel corresponding to its local BCId=6 (local BCId=1
   on PXC 1) and sends a Suggested Label for the channel corresponding
   to its local BCId=7 (local BCId=2 on PXC 1).  If there is no
   restriction on the labels that can be used for bidirectional LSPs and
   if there are alternate resources available, then both PXC 1 and PXC 2
   will pass different labels upstream and the contention is resolved
   naturally (see Fig. 2).  However, if there is a restriction on the
   labels that can be used for bidirectional LSPs (for example, if they
   must be physically coupled on a single I/O card), then the contention
   must be resolved using the node ID (see Fig. 3).












Berger                      Standards Track                    [Page 18]
^L
RFC 3471        GMPLS Signaling Functional Description


        +------------+                         +------------+
        +   PXC 1    +                         +   PXC 2    +
        +            +                 SL1,UL2 +            +
        +          1 +------------------------>+ 6          +
        +            + UL1, SL2                +            +
        +          2 +<------------------------+ 7          +
        +            +                         +            +
        +            +                         +            +
        +          3 +------------------------>+ 8          +
        +            +                         +            +
        +          4 +<------------------------+ 9          +
        +------------+                         +------------+
                           Figure 1.  Label Contention

   In this example, PXC 1 assigns an Upstream Label using BCId=2 (BCId=7
   on PXC 2) and a Suggested Label using BCId=1 (BCId=6 on PXC 2).
   Simultaneously, PXC 2 assigns an Upstream Label using BCId=6 (BCId=1
   on PXC 1) and a Suggested Label using BCId=7 (BCId=2 on PXC 1).

        +------------+                         +------------+
        +   PXC 1    +                         +   PXC 2    +
        +            +                     UL2 +            +
        +          1 +------------------------>+ 6          +
        +            + UL1                     +            +
        +          2 +<------------------------+ 7          +
        +            +                         +            +
        +            +                      L1 +            +
        +          3 +------------------------>+ 8          +
        +            + L2                      +            +
        +          4 +<------------------------+ 9          +
        +------------+                         +------------+

    Figure 2. Label Contention Resolution without resource restrictions


















Berger                      Standards Track                    [Page 19]
^L
RFC 3471        GMPLS Signaling Functional Description


   In this example, there is no restriction on the labels that can be
   used by the bidirectional connection and there is no contention.

        +------------+                         +------------+
        +   PXC 1    +                         +   PXC 2    +
        +            +                     UL2 +            +
        +          1 +------------------------>+ 6          +
        +            + L2                      +            +
        +          2 +<------------------------+ 7          +
        +            +                         +            +
        +            +                      L1 +            +
        +          3 +------------------------>+ 8          +
        +            +  UL1                    +            +
        +          4 +<------------------------+ 9          +
        +------------+                         +------------+

     Figure 3. Label Contention Resolution with resource restrictions

   In this example, labels 1,2 and 3,4 on PXC 1 (labels 6,7 and 8,9 on
   PXC 2, respectively) must be used by the same bidirectional
   connection.  Since PXC 2 has a higher node ID, it wins the contention
   and PXC 1 must use a different set of labels.

5. Notification on Label Error

   There are cases in traditional MPLS and in GMPLS that result in an
   error message containing an "Unacceptable label value" indication,
   see [RFC3209], [RFC3472] and [RFC3473].  When these cases occur, it
   can be useful for the node generating the error message to indicate
   which labels would be acceptable.  To cover this case, GMPLS
   introduces the ability to convey such information via the "Acceptable
   Label Set".  An Acceptable Label Set is carried in appropriate
   protocol specific error messages, see [RFC3472] and [RFC3473].

   The format of an Acceptable Label Set is identical to a Label Set,
   see section 3.5.1.

6. Explicit Label Control

   In traditional MPLS, the interfaces used by an LSP may be controlled
   via an explicit route, i.e., ERO or ER-Hop.  This enables the
   inclusion of a particular node/interface, and the termination of an
   LSP on a particular outgoing interface of the egress LSR.  Where the
   interface may be numbered or unnumbered, see [MPLS-UNNUM].

   There are cases where the existing explicit route semantics do not
   provide enough information to control the LSP to the degree desired.
   This occurs in the case when the LSP initiator wishes to select a



Berger                      Standards Track                    [Page 20]
^L
RFC 3471        GMPLS Signaling Functional Description


   label used on a link.  Specifically, the problem is that ERO and ER-
   Hop do not support explicit label sub-objects.  An example case where
   such a mechanism is desirable is where there are two LSPs to be
   "spliced" together, i.e., where the tail of the first LSP would be
   "spliced" into the head of the second LSP.  This last case is more
   likely to be used in the non-PSC classes of links.

   To cover this case, the Label ERO subobject / ER Hop is introduced.

6.1. Required Information

   The Label Explicit and Record Routes contains:

      L: 1 bit

         This bit must be set to 0.

      U: 1 bit

         This bit indicates the direction of the label.  It is 0 for the
         downstream label.  It is set to 1 for the upstream label and is
         only used on bidirectional LSPs.

      Label: Variable

         This field identifies the label to be used.  The format of this
         field is identical to the one used by the Label field in
         Generalized Label, see Section 3.2.1.

   Placement and ordering of these parameters are signaling protocol
   specific.

7. Protection Information

   Protection Information is carried in a new object/TLV.  It is used to
   indicate link related protection attributes of a requested LSP.  The
   use of Protection Information for a particular LSP is optional.
   Protection Information currently indicates the link protection type
   desired for the LSP.  If a particular protection type, i.e., 1+1, or
   1:N, is requested, then a connection request is processed only if the
   desired protection type can be honored.  Note that the protection
   capabilities of a link may be advertised in routing, see [GMPLS-RTG].
   Path computation algorithms may take this information into account
   when computing paths for setting up LSPs.

   Protection Information also indicates if the LSP is a primary or
   secondary LSP.  A secondary LSP is a backup to a primary LSP.  The
   resources of a secondary LSP are not used until the primary LSP



Berger                      Standards Track                    [Page 21]
^L
RFC 3471        GMPLS Signaling Functional Description


   fails.  The resources allocated for a secondary LSP MAY be used by
   other LSPs until the primary LSP fails over to the secondary LSP.  At
   that point, any LSP that is using the resources for the secondary LSP
   MUST be preempted.

7.1. Required Information

   The following information is carried in Protection Information:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |S|                  Reserved                       | Link Flags|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Secondary (S): 1 bit

         When set, indicates that the requested LSP is a secondary LSP.

      Reserved: 25 bits

         This field is reserved. It MUST be set to zero on transmission
         and MUST be ignored on receipt.  These bits SHOULD be pass
         through unmodified by transit nodes.

      Link Flags: 6 bits

         Indicates desired link protection type.  As previously
         mentioned, protection capabilities of a link may be advertised
         in routing.  A value of 0 implies that any, including no, link
         protection may be used.  More than one bit may be set to
         indicate when multiple protection types are acceptable.  When
         multiple bits are set and multiple protection types are
         available, the choice of protection type is a local (policy)
         decision.

         The following flags are defined:

         0x20  Enhanced

      Indicates that a protection scheme that is more reliable than
      Dedicated 1+1 should be used, e.g., 4 fiber BLSR/MS-SPRING.









Berger                      Standards Track                    [Page 22]
^L
RFC 3471        GMPLS Signaling Functional Description


         0x10  Dedicated 1+1

            Indicates that a dedicated link layer protection scheme,
            i.e., 1+1 protection, should be used to support the LSP.

         0x08  Dedicated 1:1

            Indicates that a dedicated link layer protection scheme,
            i.e., 1:1 protection, should be used to support the LSP.

         0x04  Shared

            Indicates that a shared link layer protection scheme, such
            as 1:N protection, should be used to support the LSP.

         0x02  Unprotected

            Indicates that the LSP should not use any link layer
            protection.

         0x01  Extra Traffic

            Indicates that the LSP should use links that are protecting
            other (primary) traffic.  Such LSPs may be preempted when
            the links carrying the (primary) traffic being protected
            fail.

8. Administrative Status Information

   Administrative Status Information is carried in a new object/TLV.
   Administrative Status Information is currently used in two ways.  In
   the first, the information indicates administrative state with
   respect to a particular LSP.  In this usage, Administrative Status
   Information indicates the state of the LSP.  State indications
   include "up" or "down", if it is in a "testing" mode, and if deletion
   is in progress.  The actions taken by a node based on a state local
   decision.  An example action that may be taken is to inhibit alarm
   reporting when an LSP is in "down" or "testing" states, or to report
   alarms associated with the connection at a priority equal to or less
   than "Non service affecting".

   In the second usage of Administrative Status Information, the
   information indicates a request to set an LSP's administrative state.
   This information is always relayed to the ingress node which acts on
   the request.






Berger                      Standards Track                    [Page 23]
^L
RFC 3471        GMPLS Signaling Functional Description


   The different usages are distinguished in a protocol specific
   fashion.  See [RFC3473] and [RFC3472] for details.  The use of
   Administrative Status Information for a particular LSP is optional.

8.1. Required Information

   The following information is carried in Administrative Status
   Information:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |R|                        Reserved                       |T|A|D|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Reflect (R): 1 bit

         When set, indicates that the edge node SHOULD reflect the
         object/TLV back in the appropriate message.  This bit MUST NOT
         be set in state change request, i.e., Notify, messages.

      Reserved: 28 bits

         This field is reserved.  It MUST be set to zero on transmission
         and MUST be ignored on receipt.  These bits SHOULD be pass
         through unmodified by transit nodes.

      Testing (T): 1 bit

         When set, indicates that the local actions related to the
         "testing" mode should be taken.

      Administratively down (A): 1 bit

         When set, indicates that the local actions related to the
         "administratively down" state should be taken.

      Deletion in progress (D): 1 bit

         When set, indicates that that the local actions related to LSP
         teardown should be taken.  Edge nodes may use this flag to
         control connection teardown.









Berger                      Standards Track                    [Page 24]
^L
RFC 3471        GMPLS Signaling Functional Description


9. Control Channel Separation

   The concept of a control channel being different than a data channel
   being signaled was introduced to MPLS in connection with link
   bundling, see [MPLS-BUNDLE].  In GMPLS, the separation of control and
   data channel may be due to any number of factors.  (Including
   bundling and other cases such as data channels that cannot carry in-
   band control information.)  This section will cover the two critical
   related issues: the identification of data channels in signaling and
   handling of control channel failures that don't impact data channels.

9.1. Interface Identification

   In traditional MPLS there is an implicit one-to-one association of a
   control channel to a data channel.  When such an association is
   present, no additional or special information is required to
   associate a particular LSP setup transaction with a particular data
   channel.  (It is implicit in the control channel over which the
   signaling messages are sent.)

   In cases where there is not an explicit one-to-one association of
   control channels to data channels it is necessary to convey
   additional information in signaling to identify the particular data
   channel being controlled.  GMPLS supports explicit data channel
   identification by providing interface identification information.
   GMPLS allows the use of a number of interface identification schemes
   including IPv4 or IPv6 addresses, interface indexes (see [MPLS-
   UNNUM]) and component interfaces (established via configuration or a
   protocol such as [LMP]).  In all cases the choice of the data
   interface is indicated by the upstream node using addresses and
   identifiers used by the upstream node.

9.1.1. Required Information

   The following information is carried in Interface_ID:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                              TLVs                             ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+








Berger                      Standards Track                    [Page 25]
^L
RFC 3471        GMPLS Signaling Functional Description


   Where each TLV has the following format:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              Type             |             Length            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                             Value                             ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Length: 16 bits

         Indicates the total length of the TLV, i.e., 4 + the length of
         the value field in octets.  A value field whose length is not a
         multiple of four MUST be zero-padded so that the TLV is four-
         octet aligned.

      Type: 16 bits

         Indicates type of interface being identified.  Defined values
         are:

   Type Length Format     Description
   --------------------------------------------------------------------
    1      8   IPv4 Addr. IPv4
    2     20   IPv6 Addr. IPv6
    3     12   See below  IF_INDEX                (Interface Index)
    4     12   See below  COMPONENT_IF_DOWNSTREAM (Component interface)
    5     12   See below  COMPONENT_IF_UPSTREAM   (Component interface)

   For types 3, 4 and 5 the Value field has the format:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            IP Address                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Interface ID                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      IP Address: 32 bits

         The IP address field may carry either an IP address of a link
         or an IP address associated with the router, where associated
         address is the value carried in a router address TLV of
         routing.



Berger                      Standards Track                    [Page 26]
^L
RFC 3471        GMPLS Signaling Functional Description


      Interface ID: 32 bits

         For type 3 usage, the Interface ID carries an interface
         identifier.

         For types 4 and 5, the Interface ID indicates a bundled
         component link.  The special value 0xFFFFFFFF can be used to
         indicate the same label is to be valid across all component
         links.

9.2. Fault Handling

   There are two new faults that must be handled when the control
   channel is independent of the data channel.  In the first, there is a
   link or other type of failure that limits the ability of neighboring
   nodes to pass control messages.  In this situation, neighboring nodes
   are unable to exchange control messages for a period of time.  Once
   communication is restored the underlying signaling protocol must
   indicate that the nodes have maintained their state through the
   failure.  The signaling protocol must also ensure that any state
   changes that were instantiated during the failure are synchronized
   between the nodes.

   In the second, a node's control plane fails and then restarts and
   losses most of its state information.  In this case, both upstream
   and downstream nodes must synchronize their state information with
   the restarted node.  In order for any resynchronization to occur the
   node undergoing the restart will need to preserve some information,
   such as its mappings of incoming to outgoing labels.

   Both cases are addressed in protocol specific fashions, see [RFC3473]
   and [RFC3472].

   Note that these cases only apply when there are mechanisms to detect
   data channel failures independent of control channel failures.

10. Acknowledgments

   This document is the work of numerous authors and consists of a
   composition of a number of previous documents in this area.

   Valuable comments and input were received from a number of people,
   including Igor Bryskin, Adrian Farrel, Ben Mack-Crane, Dimitri
   Papadimitriou, Fong Liaw and Juergen Heiles.  Some sections of this
   document are based on text proposed by Fong Liaw.






Berger                      Standards Track                    [Page 27]
^L
RFC 3471        GMPLS Signaling Functional Description


11. Security Considerations

   This document introduce no new security considerations to either
   [RFC3212] or [RFC3209].  The security considerations mentioned in
   [RFC3212] or [RFC3209] apply to the respective protocol specific
   forms of GMPLS, see [RFC3473] and [RFC3472].

12. IANA Considerations

   The IANA will administer assignment of new values for namespaces
   defined in this document.  This section uses the terminology of BCP
   26 "Guidelines for Writing an IANA Considerations Section in RFCs"
   [BCP26].

   This document defines the following namespaces:

      o LSP Encoding Type: 8 bits
      o Switching Type: 8 bits
      o Generalized PID (G-PID): 16 bits
      o Action: 8 bits
      o Interface_ID Type: 16 bits

   All future assignments should be allocated through IETF Consensus
   action or documented in a Specification.

   LSP Encoding Type - valid value range is 1-255.  This document
   defines values 1-11.

   Switching Type - valid value range is 1-255.  This document defines
   values 1-4, 100, 150 and 200.

   Generalized PID (G-PID) - valid value range is 0-1500.  This document
   defines values 0-46.

   Action - valid value range is 0-255.  This document defines values
   0-3.

   Interface_ID Type - valid value range is 1-65535.  This document
   defines values 1-5.












Berger                      Standards Track                    [Page 28]
^L
RFC 3471        GMPLS Signaling Functional Description


13. Intellectual Property Considerations

   This section is taken from Section 10.4 of [RFC2026].

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.

14. References

14.1. Normative References

   [RFC2119]        Bradner, S., "Key words for use in RFCs to Indicate
                    Requirement Levels," BCP 14, RFC 2119, March 1997.

   [RFC3036]        Andersson, L., Doolan, P., Feldman, N., Fredette, A.
                    and B. Thomas, "LDP Specification", RFC 3036,
                    January 2001.

   [RFC3209]        Awduche, D., Berger, L., Gan, D., Li, T.,
                    Srinivasan, V.  and G. Swallow, "RSVP-TE: Extensions
                    to RSVP for LSP Tunnels", RFC 3209, December 2001.

   [RFC3212]        Jamoussi, B., Andersson, L., Callon, R., Dantu, R.,
                    Wu, L., Doolan, P., Worster, T., Feldman, N.,
                    Fredette, A., Girish, M., Gray, E., Heinanen, J.,
                    Kilty, T. and A. Malis, "Constraint-Based LSP Setup
                    using LDP", RFC 3212, January 2002.







Berger                      Standards Track                    [Page 29]
^L
RFC 3471        GMPLS Signaling Functional Description


   [RFC3472]        Ashwood-Smith, P. and L. Berger, Editors,
                    "Generalized Multi-Protocol Label Switching (GMPLS)
                    Signaling - Constraint-based Routed Label
                    Distribution Protocol (CR-LDP) Extensions", RFC
                    3472, January 2003.

   [RFC3473]        Berger, L., Editor "Generalized Multi-Protocol Label
                    Switching (GMPLS) Signaling - Resource ReserVation
                    Protocol-Traffic Engineering (RSVP-TE) Extensions",
                    RFC 3473, January 2003.

14.2. Informative References

   [GMPLS-RTG]      Kompella, K., et al., "Routing Extensions in Support
                    of Generalized MPLS", Work in Progress.

   [GMPLS-SONET]    Ashwood-Smith, P., et al., "GMPLS - SONET / SDH
                    Specifics", Work in Progress.

   [LMP]            Lang, et al., "Link Management Protocol", Work in
                    Progress.

   [MPLS-BUNDLE]    Kompella, K., Rekhter, Y. and L. Berger, "Link
                    Bundling in MPLS Traffic Engineering", Work in
                    Progress.

   [MPLS-HIERARCHY] Kompella, K. and Y. Rekhter, "LSP Hierarchy with
                    MPLS TE", Work in Progress.

   [RFC2026]        Bradner, S., "The Internet Standards Process --
                    Revision 3," BCP 9, RFC 2026, October 1996.

   [RFC2434]        Narten, T. and H. Alvestrand, "Guidelines for
                    Writing an IANA Considerations Section in RFCs", BCP
                    26, RFC 2434, October 1998.

   [RFC3031]        Rosen, E., Viswanathan, A. and R. Callon,
                    "Multiprotocol label switching Architecture", RFC
                    3031, January 2001.












Berger                      Standards Track                    [Page 30]
^L
RFC 3471        GMPLS Signaling Functional Description


15. Contributors

   Peter Ashwood-Smith
   Nortel Networks Corp.
   P.O. Box 3511 Station C,
   Ottawa, ON K1Y 4H7
   Canada

   Phone:  +1 613 763 4534
   EMail:  petera@nortelnetworks.com


   Ayan Banerjee
   Calient Networks
   5853 Rue Ferrari
   San Jose, CA 95138

   Phone:  +1 408 972-3645
   EMail:  abanerjee@calient.net


   Lou Berger
   Movaz Networks, Inc.
   7926 Jones Branch Drive
   Suite 615
   McLean VA, 22102

   Phone:  +1 703 847-1801
   EMail:  lberger@movaz.com


   Greg Bernstein

   EMail:  gregb@grotto-networking.com


   John Drake
   Calient Networks
   5853 Rue Ferrari
   San Jose, CA 95138

   Phone:  +1 408 972 3720
   EMail:  jdrake@calient.net








Berger                      Standards Track                    [Page 31]
^L
RFC 3471        GMPLS Signaling Functional Description


   Yanhe Fan
   Axiowave Networks, Inc.
   200 Nickerson Road
   Marlborough, MA 01752

   Phone: + 1 774 348 4627
   EMail: yfan@axiowave.com


   Kireeti Kompella
   Juniper Networks, Inc.
   1194 N. Mathilda Ave.
   Sunnyvale, CA 94089

   EMail:  kireeti@juniper.net


   Jonathan P. Lang
   EMail:  jplang@ieee.org


   Eric Mannie
   Independent Consultant
   2 Avenue de la Folle Chanson
   1050 Brussels
   Belgium
   EMail:  eric_mannie@hotmail.com


   Bala Rajagopalan
   Tellium, Inc.
   2 Crescent Place
   P.O. Box 901
   Oceanport, NJ 07757-0901

   Phone:  +1 732 923 4237
   Fax:    +1 732 923 9804
   EMail:  braja@tellium.com


   Yakov Rekhter
   Juniper Networks, Inc.

   EMail:  yakov@juniper.net







Berger                      Standards Track                    [Page 32]
^L
RFC 3471        GMPLS Signaling Functional Description


   Debanjan Saha
   EMail:  debanjan@acm.org


   Vishal Sharma
   Metanoia, Inc.
   1600 Villa Street, Unit 352
   Mountain View, CA 94041-1174
   Phone:  +1 650-386-6723
   EMail:  v.sharma@ieee.org


   George Swallow
   Cisco Systems, Inc.
   250 Apollo Drive
   Chelmsford, MA 01824

   Phone:  +1 978 244 8143
   EMail:  swallow@cisco.com


   Z. Bo Tang
   EMail:  botang01@yahoo.com

16. Editor's Address

   Lou Berger
   Movaz Networks, Inc.
   7926 Jones Branch Drive
   Suite 615
   McLean VA, 22102

   Phone:  +1 703 847-1801
   EMail:  lberger@movaz.com

















Berger                      Standards Track                    [Page 33]
^L
RFC 3471        GMPLS Signaling Functional Description


17.  Full Copyright Statement

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.



















Berger                      Standards Track                    [Page 34]
^L