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
|
Network Working Group D. Papadimitriou
Request for Comments: 4974 Alcatel
Updates: 3473 A. Farrel
Category: Standards Track Old Dog Consulting
August 2007
Generalized MPLS (GMPLS) RSVP-TE Signaling Extensions
in Support of Calls
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 IETF Trust (2007).
Abstract
In certain networking topologies, it may be advantageous to maintain
associations between endpoints and key transit points to support an
instance of a service. Such associations are known as Calls.
A Call does not provide the actual connectivity for transmitting user
traffic, but only builds a relationship by which subsequent
Connections may be made. In Generalized MPLS (GMPLS) such
Connections are known as Label Switched Paths (LSPs).
This document specifies how GMPLS Resource Reservation Protocol -
Traffic Engineering (RSVP-TE) signaling may be used and extended to
support Calls. These mechanisms provide full and logical
Call/Connection separation.
The mechanisms proposed in this document are applicable to any
environment (including multi-area), and for any type of interface:
packet, layer-2, time-division multiplexed, lambda, or fiber
switching.
Papadimitriou & Farrel Standards Track [Page 1]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
Table of Contents
1. Introduction ....................................................3
1.1. Applicability to ASON ......................................4
2. Conventions Used in This document ...............................4
3. Requirements ....................................................4
3.1. Basic Call Function ........................................4
3.2. Call/Connection Separation .................................5
3.3. Call Segments ..............................................5
4. Concepts and Terms ..............................................5
4.1. What Is a Call? ............................................5
4.2. A Hierarchy of Calls, Connections, Tunnels, and LSPs .......6
4.3. Exchanging Access Link Capabilities ........................6
4.3.1. Network-Initiated Calls .............................7
4.3.2. User-Initiated Calls ................................7
4.3.3. Utilizing Call Setup ................................8
5. Protocol Extensions for Calls and Connections ...................8
5.1. Call Setup and Teardown ....................................8
5.2. Call Identification ........................................9
5.2.1. Long Form Call Identification .......................9
5.2.2. Short Form Call Identification ......................9
5.2.3. Short Form Call ID Encoding ........................10
5.3. LINK_CAPABILITY Object ....................................11
5.4. Revised Message Formats ...................................12
5.4.1. Notify Message .....................................12
5.5. ADMIN_STATUS Object .......................................13
6. Procedures in Support of Calls and Connections .................14
6.1. Call/Connection Setup Procedures ..........................14
6.2. Call Setup ................................................14
6.2.1. Accepting Call Setup ...............................16
6.2.2. Call Setup Failure and Rejection ...................16
6.3. Adding a Connections to a Call ............................17
6.3.1. Adding a Reverse Direction LSP to a Call ...........18
6.4. Call-Free Connection Setup ................................18
6.5. Call Collision ............................................18
6.6. Call/Connection Teardown ..................................19
6.6.1. Removal of a Connection from a Call ................20
6.6.2. Removal of the Last Connection from a Call .........20
6.6.3. Teardown of an "Empty" Call ........................20
6.6.4. Attempted Teardown of a Call with Existing
Connections ........................................20
6.6.5. Teardown of a Call from the Egress .................21
6.7. Control Plane Survivability ...............................21
7. Applicability of Call and Connection Procedures ................22
7.1. Network-Initiated Calls ...................................22
7.2. User-Initiated Calls ......................................23
7.3. External Call Managers ....................................23
7.3.1. Call Segments ......................................23
Papadimitriou & Farrel Standards Track [Page 2]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
8. Non-Support of Call ID .........................................24
8.1. Non-Support by External Call Managers .....................24
8.2. Non-Support by Transit Node ...............................24
8.3. Non-Support by Egress Node ................................25
9. Security Considerations ........................................25
9.1. Call and Connection Security Considerations ...............25
10. IANA Considerations ...........................................26
10.1. RSVP Objects .............................................26
10.2. RSVP Error Codes and Error Values ........................27
10.3. RSVP ADMIN_STATUS Object Bits ............................27
11. Acknowledgements ..............................................27
12. References ....................................................28
12.1. Normative References .....................................28
12.2. Informative References ...................................29
1. Introduction
This document defines protocol procedures and extensions to support
Calls within Generalized MPLS (GMPLS).
A Call is an association between endpoints and possibly between key
transit points (such as network boundaries) in support of an instance
of a service. The end-to-end association is termed a "Call", and the
association between two transit points or between an endpoint and a
transit point is termed a "Call Segment". An entity that processes a
Call or Call Segment is called a "Call Manager".
A Call does not provide the actual connectivity for transmitting user
traffic, but only builds a relationship by which subsequent
Connections may be made. In GMPLS, such Connections are known as
Label Switched Paths (LSPs). This document does not modify
Connection setup procedures defined in [RFC3473], [RFC4208], and
[STITCH]. Connections set up as part of a Call follow the rules
defined in these documents.
A Call may be associated with zero, one, or more than one Connection,
and a Connection may be associated with zero or one Call. Thus, full
and logical Call/Connection separation is needed.
An example of the requirements for Calls can be found in the ITU-T's
Automatically Switched Optical Network (ASON) architecture [G.8080]
and specific requirements for support of Calls in this context can be
found in [RFC4139]. Note, however, that while the mechanisms
described in this document meet the requirements stated in [RFC4139],
they have wider applicability.
Papadimitriou & Farrel Standards Track [Page 3]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
The mechanisms defined in this document are equally applicable to any
packet (PSC) interface, layer-2 interfaces (L2SC), TDM capable
interfaces, LSC interfaces, or FSC interfaces. The mechanisms and
protocol extensions are backward compatible, and can be used for Call
management where only the Call Managers need to be aware of the
protocol extensions.
1.1. Applicability to ASON
[RFC4139] details the requirements on GMPLS signaling to satisfy the
ASON architecture described in [G.8080]. The mechanisms described in
this document meet the requirements for Calls as described in
Sections 4.2 and 4.3 of [RFC4139] and the additional Call-related
requirements in Sections 4.4, 4.7, 5, and 6 of [RFC4139].
[ASON-APPL] describes the applicability of GMPLS protocols to the
ASON architecture.
2. Conventions Used in This document
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].
In addition, the reader is assumed to be familiar with the
terminology used in [RFC3471], [RFC3473], [RFC3477], and [RFC3945].
3. Requirements
3.1. Basic Call Function
The Call concept is used to deliver the following capabilities:
- Verification and identification of the Call initiator (prior to
LSP setup).
- Support of virtual concatenation with diverse path component LSPs.
- Association of multiple LSPs with a single Call (note aspects
related to recovery are detailed in [RFC4426] and [GMPLS-E2E]).
- Facilitation of control plane operations by allowing an
operational status change of the associated LSP.
Procedures and protocol extensions to support Call setup, and the
association of Calls with Connections are described in Section 5 and
onwards of this document.
Papadimitriou & Farrel Standards Track [Page 4]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
3.2. Call/Connection Separation
Full and logical Call and Connection separation is required. That
is:
- It MUST be possible to establish a Connection without dependence
on a Call.
- It MUST be possible to establish a Call without any associated
Connections.
- It MUST be possible to associate more than one Connection with a
Call.
- Removal of the last Connection associated with a Call SHOULD NOT
result in the automatic removal of the Call except as a matter of
local policy at the ingress of the Call.
- Signaling of a Connection associated with a Call MUST NOT require
the distribution or retention of Call-related information (state)
within the network.
3.3. Call Segments
Call Segment capabilities MUST be supported.
Procedures and (GMPLS) RSVP-TE signaling protocol extensions to
support Call Segments are described in Section 7.3.1 of this
document.
4. Concepts and Terms
The concept of a Call and a Connection are also discussed in the ASON
architecture [G.8080] and [RFC4139]. This section is not intended as
a substitute for those documents, but is a brief summary of the key
terms and concepts.
4.1. What Is a Call?
A Call is an agreement between endpoints possibly in cooperation with
the nodes that provide access to the network. Call setup may include
capability exchange, policy, authorization, and security.
A Call is used to facilitate and manage a set of Connections that
provide end-to-end data services. While Connections require state to
be maintained at nodes along the data path within the network, Calls
do not involve the participation of transit nodes except to forward
the Call management requests as transparent messages.
Papadimitriou & Farrel Standards Track [Page 5]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
A Call may be established and maintained independently of the
Connections that it supports.
4.2. A Hierarchy of Calls, Connections, Tunnels, and LSPs
Clearly, there is a hierarchical relationship between Calls and
Connections. One or more Connections may be associated with a Call.
A Connection may not be part of more than one Call. A Connection
may, however, exist without a Call.
In GMPLS RSVP-TE [RFC3473], a Connection is identified with a GMPLS
TE Tunnel. Commonly, a Tunnel is identified with a single LSP, but
it should be noted that for protection, load balancing, and many
other functions, a Tunnel may be supported by multiple parallel LSPs.
The following identification reproduces this hierarchy.
- Call IDs are unique within the context of the pair of addresses
that are the source and destination of the Call.
- Tunnel IDs are unique within the context of the Session (that is
the destination of the Tunnel). Applications may also find it
convenient to keep the Tunnel ID unique within the context of a
Call.
- LSP IDs are unique within the context of a Tunnel.
Note that the Call_ID value of zero is reserved and MUST NOT be used
during LSP-independent Call establishment.
Throughout the remainder of this document, the terms LSP and Tunnel
are used interchangeably with the term Connection. The case of a
Tunnel that is supported by more than one LSP is covered implicitly.
4.3. Exchanging Access Link Capabilities
In an overlay model, it is useful for the ingress node of an LSP to
know the link capabilities of the link between the network and the
remote overlay network. In the language of [RFC4208], the ingress
node can make use of information about the link between the egress
core node (CN) and the remote edge node (EN). We call this link the
egress network link. This information may allow the ingress node to
tailor its LSP request to fit those capabilities and to better
utilize network resources with regard to those capabilities.
For example, this might be used in transparent optical networks to
supply information on lambda availability on egress network links,
or, where the egress CN is capable of signal regeneration, it might
provide a mechanism for negotiating signal quality attributes (such
Papadimitriou & Farrel Standards Track [Page 6]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
as bit error rate). Similarly, in multi-domain routing environments,
it could be used to provide end-to-end selection of component links
(i.e., spatial attribute negotiation) where TE links have been
bundled based on technology specific attributes.
In some circumstances, the Traffic Engineering Database (TED) may
contain sufficient information for decisions to be made about which
egress network link to use. In other circumstances, the TED might
not contain this information and Call setup may provide a suitable
mechanism to exchange information for this purpose. The Call-
responder may use the Call parameters to select a subset of the
available egress network links between the egress CN and the remote
EN, and may report these links and their capabilities on the Call
response so that the Call-initiator may select a suitable link.
The sections that follow indicate the cases where the TED may be
used, and those where Call parameter exchange may be appropriate.
4.3.1. Network-Initiated Calls
Network-initiated Calls arise when the ingress (and correspondingly
the egress) lie within the network and there may be no need to
distribute additional link capability information over and above the
information distributed by the TE and GMPLS extensions to the IGP.
Further, it is possible that future extensions to these IGPs will
allow the distribution of more detailed information including optical
impairments.
4.3.2. User-Initiated Calls
User-initiated Calls arise when the ingress (and correspondingly the
egress) lie outside the network. Edge link information may not be
visible within the core network, nor (and specifically) at other edge
nodes. This may prevent an ingress from requesting suitable LSP
characteristics to ensure successful LSP setup.
Various solutions to this problem exist, including the definition of
static TE links (that is, not advertised by a routing protocol)
between the CNs and ENs. Nevertheless, special procedures may be
necessary to advertise to the edge nodes outside of the network
information about egress network links without also advertising the
information specific to the contents of the network.
In the future, when the requirements on the information that needs to
be supported are better understood, TE extensions to EGPs may be
defined to provide this function, and new rules for leaking TE
information between routing instances may be used.
Papadimitriou & Farrel Standards Track [Page 7]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
4.3.3. Utilizing Call Setup
When IGP and EGP solutions are not available at the User-to-Network
Interface (UNI), there is still a requirement to have the knowledge
of the remote edge link capabilities at the local edge nodes.
The Call setup procedure provides an opportunity to discover edge
link capabilities of remote edge nodes before LSP setup is attempted.
- The Call-responder can return information on one or more egress
network links. The Call-responder could return a full list of the
available links with information about the link capabilities, or
it could filter the list to return information about only those
links that might be appropriate to support the Connections needed
by the Call. To do this second option, the Call-responder must
determine such appropriate links from information carried in the
Call request including destination of the Call, and the level of
service (bandwidth, protection, etc.) required.
- On receiving a Call response, the Call-initiator must determine
paths for the Connections (LSPs) that it will set up. The way
that it does this is out of scope for this document since it is an
implementation-specific, algorithmic process. However, it can
take as input the information about the available egress network
links as supplied in the Call response.
The LINK_CAPABILITY object is defined to allow this information to be
exchanged. The information that is included in this object is
similar to that distributed by GMPLS-capable IGPs (see [RFC4202]).
5. Protocol Extensions for Calls and Connections
This section describes the protocol extensions needed in support of
Call identification and management of Calls and Connections.
Procedures for the use of these protocol extensions are described in
Section 6.
5.1. Call Setup and Teardown
Calls are established independently of Connections through the use of
the Notify message. The Notify message is a targeted message and
does not need to follow the path of LSPs through the network.
Simultaneous Call and Connection establishment (sometimes referred to
as piggybacking) is not supported.
Papadimitriou & Farrel Standards Track [Page 8]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
5.2. Call Identification
As soon as the concept of a Call is introduced, it is necessary to
support some means of identifying the Call. This becomes
particularly important when Calls and Connections are separated and
Connections must contain some reference to the Call.
A Call may be identified by a sequence of bytes that may have
considerable (but not arbitrary) length. A Call ID of 40 bytes would
not be unreasonable. It is not the place of this document to supply
rules for encoding or parsing Call IDs, but it must provide a
suitable means to communicate Call IDs within the protocol. The full
Call identification is referred to as the long Call ID.
The Call_ID is only relevant at the sender and receiver nodes.
Maintenance of this information in the signaling state is not
mandated at any intermediate node. Thus, no change in [RFC3473]
transit implementations is required and there are no backward
compatibility issues. Forward compatibility is maintained by using
the existing default values to indicate that no Call processing is
required.
Further, the long Call ID is not required as part of the Connection
(LSP) state even at the sender and receiver nodes so long as some
form of correlation is available. This correlation is provided
through the short Call ID.
5.2.1. Long Form Call Identification
The long Call ID is only required on the Notify message used to
establish the Call. It is carried in the "Session Name" field of the
SESSION_ATTRIBUTE object on the Notify message.
A unique value per Call is inserted in the "Session Name" field by
the initiator of the Call. Subsequent core nodes MAY inspect this
object and MUST forward this object transparently across network
interfaces until reaching the egress node. Note that the structure
of this field MAY be the object of further formatting depending on
the naming convention(s). However, [RFC3209] defines the "Session
Name" field as a Null padded display string, so any formatting
conventions for the Call ID must be limited to this scope.
5.2.2. Short Form Call Identification
The Connections (LSPs) associated with a Call need to carry a
reference to the Call - the short Call ID. A new field is added to
the signaling protocol to identify an individual LSP with the Call to
which it belongs.
Papadimitriou & Farrel Standards Track [Page 9]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
The new field is a 16-bit identifier (unique within the context of
the address pairing provided by the Tunnel_End_Point_Address and the
Sender_Address of the SENDER_TEMPLATE object) that MUST be exchanged
on the Notify message during Call initialization and is used on all
subsequent LSP messages that are associated with the Call. This
identifier is known as the short Call ID and is encoded as described
in Section 5.2.3. The Call ID MUST NOT be used as part of the
processing to determine the session to which an RSVP signaling
message applies. This does not generate any backward compatibility
issue since the reserved field of the SESSION object defined in
[RFC3209] MUST NOT be examined on receipt.
In the unlikely case of short Call_ID exhaustion, local node policy
decides upon specific actions to be taken, but might include the use
of second Sender_Address. Local policy details are outside of the
scope of this document.
5.2.3. Short Form Call ID Encoding
The short Call ID is carried in a 16-bit field in the SESSION object
carried on the Notify message used during Call setup, and on all
messages during LSP setup and management. The field used was
previously reserved (MUST be set to zero on transmission and ignored
on receipt). This ensures backward compatibility with nodes that do
not utilize Calls.
The figure below shows the new version of the object.
Class = SESSION, Class-Num = 1, C-Type = 7(IPv4)/8(IPv6)
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ IPv4/IPv6 Tunnel End Point Address ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Call_ID | Tunnel ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Extended Tunnel ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv4/IPv6 Tunnel End Point Address: 32 bits/128 bits (see [RFC3209])
Call_ID: 16 bits
A 16-bit identifier used in the SESSION object that remains
constant over the life of the Call. The Call_ID value MUST be set
to zero when there is no corresponding Call.
Papadimitriou & Farrel Standards Track [Page 10]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
Tunnel ID: 16 bits (see [RFC3209])
Extended Tunnel ID: 32 bits/128 bits (see [RFC3209])
5.3. LINK_CAPABILITY Object
The LINK_CAPABILITY object is introduced to support link capability
exchange during Call setup and MAY be included in a Notify message
used for Call setup. This optional object includes the link-local
capabilities of a link joining the Call-initiating node (or Call-
terminating node) to the network. The specific node is indicated by
the source address of the Notify message.
The link reported can be a single link or can be a bundled link
[RFC4201].
The Class Number is selected so that the nodes that do not recognize
this object drop it silently. That is, the top bit is set and the
next bit is clear.
This object has the following format:
Class-Num = 133 (form 10bbbbbb), C_Type = 1
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// (Subobjects) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The contents of the LINK_CAPABILITY object is defined as a series of
variable-length data items called subobjects. The subobject format
is defined in [RFC3209].
The following subobjects are currently defined.
- Type 1: the link local IPv4 address of a link or a numbered bundle
using the format defined in [RFC3209].
- Type 2: the link local IPv6 address of a link or a numbered bundle
using the format defined in [RFC3209].
- Type 4: the link local identifier of an unnumbered link or bundle
using the format defined in [RFC3477].
Papadimitriou & Farrel Standards Track [Page 11]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
- Type 64: the Maximum Reservable Bandwidth corresponding to this
link or bundle (see [RFC4201]).
- Type 65: the interface switching capability descriptor (see
[RFC4202]) corresponding to this link or bundle (see also
[RFC4201]).
Note: future revisions of this document may extend the above list.
A single instance of this object MAY be used to exchange capability
information relating to more than one link or bundled link. In this
case, the following ordering MUST be used:
- each link MUST be identified by an identifier subobject (Type 1,
2, or 4)
- capability subobjects (Type 64 or 65, and future subobjects) MUST
be placed after the identifier subobject for the link or bundle to
which they refer.
Multiple instances of the LINK_CAPABILITY object within the same
Notify message are not supported by this specification. In the event
that a Notify message contains multiple LINK_CAPABILITY objects, the
receiver SHOULD process the first one as normal and SHOULD ignore
subsequent instances of the object.
5.4. Revised Message Formats
The Notify message is enhanced to support Call establishment and
teardown of Calls. See Section 6 for a description of the
procedures.
5.4.1. Notify Message
The Notify message is modified in support of Call establishment by
the optional addition of the LINK_CAPABILITY object. Further, the
SESSION_ATTRIBUTE object is added to the <notify session> sequence to
carry the long Call ID. The presence of the SESSION_ATTRIBUTE object
MAY be used to distinguish a Notify message used for Call management,
but see Section 5.5 for another mechanism. The <notify session list>
MAY be used to simultaneously set up multiple Calls.
Papadimitriou & Farrel Standards Track [Page 12]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
The format of the Notify Message is as follows:
<Notify message> ::= <Common Header> [ <INTEGRITY> ]
[[ <MESSAGE_ID_ACK> | <MESSAGE_ID_NACK>]...]
[ <MESSAGE_ID> ]
<ERROR_SPEC>
<notify session list>
<notify session list> ::= [ <notify session list> ] <notify session>
<notify session> ::= <SESSION> [ <ADMIN_STATUS> ]
[ <POLICY_DATA>...]
[ <LINK_CAPABILITY> ]
[ <SESSION_ATTRIBUTE> ]
[ <sender descriptor> | <flow descriptor> ]
<sender descriptor> ::= see [RFC3473]
<flow descriptor> ::= see [RFC3473]
5.5. ADMIN_STATUS Object
Notify messages exchanged for Call control and management purposes
carry a specific new bit (the Call Management or C bit) in the
ADMIN_STATUS object.
[RFC3473] indicates that the format and contents of the ADMIN_STATUS
object are as defined in [RFC3471]. The new "C" bit is added for
Call control as shown below.
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 |C|T|A|D|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Reflect (R): 1 bit - see [RFC3471]
Testing (T): 1 bit - see [RFC3471]
Administratively down (A): 1 bit - see [RFC3471]
Deletion in progress (D): 1 bit - see [RFC3471]
Call Management (C): 1 bit
This bit is set when the message is being used to control
and manage a Call.
The procedures for the use of the C bit are described in Section 6.
Papadimitriou & Farrel Standards Track [Page 13]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
6. Procedures in Support of Calls and Connections
6.1. Call/Connection Setup Procedures
This section describes the processing steps for Call and Connection
setup.
There are three cases considered:
- A Call is set up without any associated Connection. It is assumed
that Connections will be added to the Call at a later time, but
this is neither a requirement nor a constraint.
- A Connection may be added to an existing Call. This may happen if
the Call was set up without any associated Connections, or if
another Connection is added to a Call that already has one or more
associated Connections.
- A Connection may be established without any reference to a Call
(see Section 6.4). This encompasses the previous LSP setup
procedure.
Note that a Call MUST NOT be imposed upon a Connection that is
already established. To do so would require changing the short Call
ID in the SESSION object of the existing LSPs and this would
constitute a change in the Session Identifier. This is not allowed
by existing protocol specifications.
Call and Connection teardown procedures are described later in
Section 6.6.
6.2. Call Setup
A Call is set up before, and independent of, LSP (i.e., Connection)
setup.
Call setup MAY necessitate verification of the link status and link
capability negotiation between the Call ingress node and the Call
egress node. The procedure described below is applied only once for
a Call and hence only once for the set of LSPs associated with a
Call.
The Notify message (see [RFC3473]) is used to signal the Call setup
request and response. The new Call Management (C) bit in the
ADMIN_STATUS object is used to indicate that this Notify is managing
a Call. The Notify message is sent with source and destination
IPv4/IPv6 addresses set to any of the routable ingress/egress node
addresses respectively.
Papadimitriou & Farrel Standards Track [Page 14]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
At least one session MUST be listed in the <notify session list> of
the Notify message. In order to allow for long identification of the
Call, the SESSION_ATTRIBUTE object is added as part of the <notify
session list>. Note that the ERROR_SPEC object is not relevant in
Call setup and MUST carry the Error Code zero ("Confirmation") to
indicate that there is no error.
During Call setup, the ADMIN_STATUS object is sent with the following
bits set. Bits not listed MUST be set to zero.
R - to cause the egress to respond
C - to indicate that the Notify message is managing a Call.
The SESSION, SESSION_ATTRIBUTE, SENDER_TEMPLATE, SENDER_TSPEC objects
included in the <notify session> of the Notify message are built as
follows.
- The SESSION object includes as Tunnel_End_Point_Address any of the
Call-terminating (egress) node's IPv4/IPv6 routable addresses.
The Call_ID is set to a non-zero value unique within the context
of the address pairing provided by the Tunnel_End_Point_Address
and the Sender_Address from the SENDER_TEMPLATE object (see
below). This value will be used as the short Call ID carried on
all messages for LSPs associated with this Call.
Note that the Call_ID value of zero is reserved and MUST NOT be
used since it will be present in SESSION objects of LSPs that are
not associated with Calls. The Tunnel_ID of the SESSION object is
not relevant for this procedure and SHOULD be set to zero. The
Extended_Tunnel_ID of the SESSION object is not relevant for this
procedure and MAY be set to zero or to an address of the ingress
node.
- The SESSION_ATTRIBUTE object contains priority flags. Currently
no use of these flags is envisioned, however, future work may
identify value in assigning priorities to Calls; accordingly the
Priority fields MAY be set to non-zero values. None of the Flags
in the SESSION_ATTRIBUTE object is relevant to this process and
this field SHOULD be set to zero. The Session Name field is used
to carry the long Call Id as described in Section 5.
- The SENDER_TEMPLATE object includes as Sender Address any of the
Call-initiating (ingress) node's IPv4/IPv6 routable addresses.
The LSP_ID is not relevant and SHOULD be set to zero.
- The bandwidth value inserted in the SENDER_TSPEC and FLOWSPEC
objects MUST be ignored upon receipt and SHOULD be set to zero
when sent.
Papadimitriou & Farrel Standards Track [Page 15]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
Additionally, ingress/egress nodes that need to communicate their
respective link local capabilities may include a LINK_CAPABILITY
object in the Notify message.
The receiver of a Notify message may identify whether it is part of
Call management or reporting an error by the presence or absence of
the SESSION_ATTRIBUTE object in the <notify session list>. Full
clarity, however, may be achieved by inspection of the new Call
Management (C) bit in the ADMIN_STATUS object.
Note that the POLICY_DATA object may be included in the <notify
session list> and MAY be used to identify requestor credentials,
account numbers, limits, quotas, etc. This object is opaque to RSVP,
which simply passes it to policy control when required.
Message IDs MUST be used during Call setup.
6.2.1. Accepting Call Setup
A node that receives a Notify message carrying the ADMIN_STATUS
object with the R and C bits set is being requested to set up a Call.
The receiver MAY perform authorization and policy according to local
requirements.
If the Call is acceptable, the receiver responds with a Notify
message reflecting the information from the Call request with two
exceptions.
- The responder removes any LINK_CAPABLITY object that was received
and MAY insert a LINK_CAPABILITY object that describes its own
access link.
- The ADMIN_STATUS object is sent with only the C bit set. All
other bits MUST be set to zero.
The responder MUST use the Message ID object to ensure reliable
delivery of the response. If no Message ID Acknowledgement is
received after the configured number of retries, the responder SHOULD
continue to assume that the Call was successfully established. Call
liveliness procedures are covered in Section 6.7.
6.2.2. Call Setup Failure and Rejection
Call setup may fail or be rejected.
If the Notify message can not be delivered, no Message ID
acknowledgement will be received by the sender. In the event that
the sender has retransmitted the Notify message a configurable number
Papadimitriou & Farrel Standards Track [Page 16]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
of times without receiving a Message ID Acknowledgement (as described
in [RFC2961]), the initiator SHOULD declare the Call failed and
SHOULD send a Call teardown request (see Section 6.6).
It is also possible that a Message ID Acknowledgement is received but
no Call response Notify message is received. In this case, the
initiator MAY re-send the Call setup request a configurable number of
times (see Section 6.7) before declaring that the Call has failed.
At this point, the initiator MUST send a Call teardown request (see
Section 6.6).
If the Notify message cannot be parsed or is in error, it MAY be
responded to with a Notify message carrying the error code 13
("Unknown object class") or 14 ("Unknown object C-Type") if
appropriate to the error detected.
The Call setup MAY be rejected by the receiver because of security,
authorization, or policy reasons. Suitable error codes already exist
[RFC2205] and can be used in the ERROR_SPEC object included in the
Notify message sent in response.
Error response Notify messages SHOULD also use the Message ID object
to achieve reliable delivery. No action should be taken on the
failure to receive a Message ID Acknowledgement after the configured
number of retries.
6.3. Adding a Connections to a Call
Once a Call has been established, LSPs can be added to the Call.
Since the short Call ID is part of the SESSION object, any LSP that
has the same Call ID value in the SESSION object belongs to the same
Call, and the Notify message used to establish the Call carried the
same Call ID in its SESSION object.
There will be no confusion between LSPs that are associated with a
Call and those which are not, since the Call ID value MUST be equal
to zero for LSPs that are not associated with a Call, and MUST NOT be
equal to zero for a valid Call ID.
LSPs for different Calls can be distinguished because the Call ID is
unique within the context of the source address (in the
SENDER_TEMPLATE object) and the destination address (in the SESSION
object).
Ingress and egress nodes MAY group together LSPs associated with the
same Call and process them as a group according to implementation
requirements. Transit nodes need not be aware of the association of
multiple LSPs with the same Call.
Papadimitriou & Farrel Standards Track [Page 17]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
The ingress node MAY choose to set the "Session Name" of an LSP to
match the long Call ID of the associated Call.
The C bit of the ADMIN_STATUS object MUST NOT be set on LSP messages
including on Notify messages that pertain to the LSP and MUST be
ignored.
6.3.1. Adding a Reverse Direction LSP to a Call
Note that once a Call has been established, it is symmetric. That
is, either end of the Call may add LSPs to the Call.
Special care is needed when managing LSPs in the reverse direction
since the addresses in the SESSION and SENDER_TEMPLATE are reversed.
However, since the short Call ID is unique in the context of a given
ingress-egress address pair, it may safely be used to associate the
LSP with the Call.
Note that since Calls are defined here to be symmetrical, the issue
of potential Call ID collision arises. This is discussed in Section
6.5.
6.4. Call-Free Connection Setup
It continues to be possible to set up LSPs as per [RFC3473] without
associating them with a Call. If the short Call ID in the SESSION
object is set to zero, there is no associated Call and the Session
Name field in the SESSION_ATTRIBUTE object MUST be interpreted simply
as the name of the session (see [RFC3209]).
The C bit of the ADMIN_STATUS object MUST NOT be set on messages for
LSP control, including on Notify messages that pertain to LSPs, and
MUST be ignored when received on such messages.
6.5. Call Collision
Since Calls are symmetrical, it is possible that both ends of a Call
will attempt to establish Calls with the same long Call IDs at the
same time. This is only an issue if the source and destination
address pairs match. This situation can be avoided by applying some
rules to the contents of the long Call ID, but such mechanisms are
outside the scope of this document.
If a node that has sent a Call setup request and has not yet received
a response itself receives a Call setup request with the same long
Call ID and matching source/destination addresses, it SHOULD process
as follows:
Papadimitriou & Farrel Standards Track [Page 18]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
- If its source address is numerically greater than the remote
source address, it MUST discard the received message and continue
to wait for a response to its setup request.
- If its source address is numerically smaller than the remote
source address, it MUST discard state associated with the Call
setup that it initiated, and MUST respond to the received Call
setup.
If a node receives a Call setup request carrying an address pair and
long Call ID that match an existing Call, the node MUST return an
error message (Notify message) with the new Error Code "Call
Management" and the new Error Value "Duplicate Call" in response to
the new Call request, and MUST NOT make any changes to the existing
Call.
A further possibility for contention arises when short Call IDs are
assigned by a pair of nodes for two distinct Calls that are set up
simultaneously using different long Call IDs. In this event, a node
receives a Call setup request carrying a short Call ID that matches
one that it previously sent for the same address pair. The following
processing MUST be followed:
- If the receiver's source address is numerically greater than the
remote source address, the receiver returns an error (Notify
message) with the new Error Code "Call Management" and the new
Error Value "Call ID Contention".
- If the receiver's source address is numerically less than the
remote source address, the receiver accepts and processes the Call
request. It will receive an error message sent as described
above, and at that point, it selects a new short Call ID and re-
sends the Call setup request.
6.6. Call/Connection Teardown
As with Call/Connection setup, there are several cases to consider.
- Removal of a Connection from a Call
- Removal of the last Connection from a Call
- Teardown of an "empty" Call
The case of tearing down an LSP that is not associated with a Call
does not need to be examined as it follows exactly the procedures
described in [RFC3473].
Papadimitriou & Farrel Standards Track [Page 19]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
6.6.1. Removal of a Connection from a Call
An LSP that is associated with a Call may be deleted using the
standard procedures described in [RFC3473]. No special procedures
are required.
Note that it is not possible to remove an LSP from a Call without
deleting the LSP. It is not valid to change the short Call ID from
non-zero to zero since this involves a change to the SESSION object,
which is not allowed.
6.6.2. Removal of the Last Connection from a Call
When the last LSP associated with a Call is deleted, the question
arises as to what happens to the Call. Since a Call may exist
independently of Connections, it is not always acceptable to say that
the removal of the last LSP from a Call removes the Call.
The removal of the last LSP does not remove the Call and the
procedures described in the next Section MUST be used to delete the
Call.
6.6.3. Teardown of an "Empty" Call
When all LSPs have been removed from a Call, the Call may be torn
down or left for use by future LSPs.
Deletion of Calls is achieved by sending a Notify message just as for
Call setup, but the ADMIN_STATUS object carries the R, D, and C bits
on the teardown request and the D and C bits on the teardown
response. Other bits MUST be set to zero.
When a Notify message is sent for deleting a Call and the initiator
does not receive the corresponding reflected Notify message (or
possibly even the Message ID Ack), the initiator MAY retry the
deletion request using the same retry procedures as used during Call
establishment. If no response is received after full retry, the node
deleting the Call MAY declare the Call deleted, but under such
circumstances the node SHOULD avoid re-using the long or short Call
IDs for at least five times the Notify refresh period.
6.6.4. Attempted Teardown of a Call with Existing Connections
If a Notify request with the D bit of the ADMIN_STATUS object set is
received for a Call for which LSPs still exist, the request MUST be
rejected with the Error Code "Call Management" and Error Value
"Connections Still Exist". The state of the Call MUST NOT be
changed.
Papadimitriou & Farrel Standards Track [Page 20]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
6.6.5. Teardown of a Call from the Egress
Since Calls are symmetric, they may be torn down from the ingress or
egress.
When the Call is "empty" (has no associated LSPs), it may be deleted
by the egress sending a Notify message just as described above.
Note that there is a possibility that both ends of a Call initiate
Call deletion at the same time. In this case, the Notify message
acting as teardown request MAY be interpreted by its recipient as a
teardown response. But since the Notify messages acting as teardown
requests carry the R bit in the ADMIN_STATUS object, they MUST be
responded to anyway. If a teardown request Notify message is
received for an unknown Call ID, it is, nevertheless, responded to in
the affirmative.
6.7. Control Plane Survivability
Delivery of Notify messages is secured using Message ID
Acknowledgements as described in previous sections.
Notify messages provide end-to-end communication that does not rely
on constant paths through the network. Notify messages are routed
according to IGP routing information. No consideration is,
therefore, required for network resilience (for example, make-
before-break, protection, fast re-route), although end-to-end
resilience is of interest for node restart and completely disjoint
networks.
Periodic Notify messages SHOULD be sent by the initiator and
terminator of the Call to keep the Call alive and to handle ingress
or egress node restart. The time period for these retransmissions is
a local matter, but it is RECOMMENDED that this period should be
twice the shortest refresh period of any LSP associated with the
Call. When there are no LSPs associated with a Call, an LSR is
RECOMMENDED to use a refresh period of no less than one minute. The
Notify messages are identical to those sent as if establishing the
Call for the first time, except for the LINK_CAPABILITY object, which
may have changed since the Call was first established, due to, e.g.,
the establishment of Connections, link failures, or the addition of
new component links. The current link information is useful for the
establishment of subsequent Connections. A node that receives a
refresh Notify message carrying the R bit in the ADMIN_STATUS object
MUST respond with a Notify response. A node that receives a refresh
Notify message (response or request) MAY reset its timer - thus, in
normal processing, Notify refreshes involve a single exchange once
per time period.
Papadimitriou & Farrel Standards Track [Page 21]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
A node (sender or receiver) that is unsure of the status of a Call
MAY immediately send a Notify message as if establishing the Call for
the first time.
Failure to receive a refresh Notify request has no specific meaning.
A node that fails to receive a refresh Notify request MAY send its
own refresh Notify request to establish the status of the Call. If a
node receives no response to a refresh Notify request (including no
Message ID Acknowledgement), a node MAY assume that the remote node
is unreachable or unavailable. It is a local policy matter whether
this causes the local node to teardown associated LSPs and delete the
Call.
In the event that an edge node restarts without preserved state, it
MAY relearn LSP state from adjacent nodes and Call state from remote
nodes. If a Path or Resv message is received with a non-zero Call ID
but without the C bit in the ADMIN_STATUS, and for a Call ID that is
not recognized, the receiver is RECOMMENDED to assume that the Call
establishment is delayed and ignore the received message. If the
Call setup never materializes, the failure by the restarting node to
refresh state will cause the LSPs to be torn down. Optionally, the
receiver of such an LSP message for an unknown Call ID may return an
error (PathErr or ResvErr message) with the error code "Call
Management" and Error Value "Unknown Call ID".
7. Applicability of Call and Connection Procedures
This section considers the applicability of the different Call
establishment procedures at the NNI and UNI reference points. This
section is informative and is not intended to prescribe or prevent
other options.
7.1. Network-Initiated Calls
Since the link properties and other traffic-engineering attributes
are likely known through the IGP, the LINK_CAPABILITY object is not
usually required.
In multi-domain networks, it is possible that access link properties
and other traffic-engineering attributes are not known since the
domains do not share this sort of information. In this case, the
Call setup mechanism may include the LINK_CAPABILITY object.
Papadimitriou & Farrel Standards Track [Page 22]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
7.2. User-Initiated Calls
It is possible that the access link properties and other traffic-
engineering attributes are not shared across the core network. In
this case, the Call setup mechanism may include the LINK_CAPABILITY
object.
Further, the first node within the network may be responsible for
managing the Call. In this case, the Notify message that is used to
set up the Call is addressed by the user network edge node to the
first node of the core network. Moreover, neither the long Call ID
nor the short Call ID is supplied (the Session Name Length is set to
zero and the Call ID value is set to zero). The Notify message is
passed to the first core node, which is responsible for generating
the long and short Call IDs before dispatching the message to the
remote Call end point (which is known from the SESSION object).
Further, when used in an overlay context, the first core node is
allowed (see [RFC4208]) to replace the Session Name assigned by the
ingress node and passed in the Path message. In the case of Call
management, the first core node:
1) MAY insert a long Call ID in the Session Name of a Path
message.
2) MUST replace the Session Name with that originally issued by
the user edge node when it returns the Resv message to the
ingress node.
7.3. External Call Managers
Third party Call management agents may be used to apply policy and
authorization at a point that is neither the initiator nor terminator
of the Call. The previous example is a particular case of this, but
the process and procedures are identical.
7.3.1. Call Segments
Call Segments exist between a set of default and configured External
Call Managers along a path between the ingress and egress nodes, and
use the protocols described in this document.
The techniques that are used by a given service provider to identify
which External Call Managers within its network should process a
given Call are beyond the scope of this document.
An External Call Manager uses normal IP routing to route the Notify
message to the next External Call Manager. Notify messages (requests
Papadimitriou & Farrel Standards Track [Page 23]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
and responses) are therefore encapsulated in IP packets that identify
the sending and receiving External Call Managers, but the addresses
used to identify the Call (the Sender Address in the SENDER_TEMPLATE
object and the Tunnel Endpoint Address in the SESSION object)
continue to identify the endpoints of the Call.
8. Non-Support of Call ID
It is important that the procedures described above operate as
seamlessly as possible with legacy nodes that do not support the
extensions described.
Clearly, there is no need to consider the case where the Call
initiator does not support Call setup initiation.
8.1. Non-Support by External Call Managers
It is unlikely that a Call initiator will be configured to send Call
establishment Notify requests to an external Call manager, including
the first core node, if that node does not support Call setup.
A node that receives an unexpected Call setup request will fall into
one of the following categories.
- Node does not support RSVP. The message will fail to be delivered
or responded to. No Message ID Acknowledgement will be sent. The
initiator will retry and then give up.
- Node supports RSVP or RSVP-TE but not GMPLS. The message will be
delivered but not understood. It will be discarded. No Message
ID Acknowledgement will be sent. The initiator will retry and
then give up.
- Node supports GMPLS but not Call management. The message will be
delivered, but parsing will fail because of the presence of the
SESSION_ATTRIBUTE object. A Message ID Acknowledgement may be
sent before the parse fails. When the parse fails, the Notify
message may be discarded in which case the initiator will retry
and then give up; alternatively, a parse error may be generated
and returned in a Notify message which will indicate to the
initiator that Call management is not supported.
8.2. Non-Support by Transit Node
Transit nodes SHOULD NOT examine Notify messages that are not
addressed to them. However, they will see short Call IDs in all
messages for all LSPs associated with Calls.
Papadimitriou & Farrel Standards Track [Page 24]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
Previous specifications state that these fields SHOULD be ignored on
receipt and MUST be transmitted as zero. This might be interpreted
by some implementations as meaning that the fields should be zeroed
before the objects are forwarded. If this happens, LSP setup will
not be possible. If either of the fields is zeroed either on the
Path or the Resv message, the Resv message will reach the initiator
with the field set to zero - this is an indication to the initiator
that some node in the network is preventing Call management. Use of
Explicit Routes may help to mitigate this issue by avoiding such
nodes. Ultimately, however, it may be necessary to upgrade the
offending nodes to handle these protocol extensions.
8.3. Non-Support by Egress Node
It is unlikely that an attempt will be made to set up a Call to a
remote node that does not support Calls.
If the egress node does not support Call management through the
Notify message, it will react (as described in Section 8.1) in the
same way as an External Call Manager.
9. Security Considerations
Please refer to each of the documents referenced in the following
sections for a description of the security considerations applicable
to the features that they provide.
9.1. Call and Connection Security Considerations
Call setup is vulnerable to attacks both of spoofing and denial of
service. Since Call setup uses Notify messages, the process can be
protected by the use of the INTEGRITY object to secure those messages
as described in [RFC2205] and [RFC3473]. Deployments where security
is a concern SHOULD use this mechanism.
Implementations and deployments MAY additionally protect the Call
setup exchange using end-to-end security mechanisms such as those
provided by IPsec (see [RFC4302] and [RFC4303]), or using RSVP
security [RFC2747].
Note, additionally, that it would be desirable to use the process of
independent Call establishment, where the Call is set up separately
from the LSPs, to apply an extra level of authentication and policy
for the end-to-end LSPs above that which is available with Call-less,
hop-by-hop LSP setup. However doing so will require additional work
to set up security associations between the peer and the call manager
that meet the requirements of [RFC4107]. The mechanism described in
this document is expected to meet this use case when combined with
Papadimitriou & Farrel Standards Track [Page 25]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
this additional work. Application of this mechanism to the
authentication and policy use case prior to standardization of a
security solution is inappropriate and outside the current
applicability of the mechanism.
The frequency of Call establishment is application dependent and hard
to generalize. Key exchange for Call-related message exchanges is
therefore something that should be configured or arranged dynamically
in different deployments according to the advice in [RFC4107]. Note
that the remote RSVP-TE signaling relationship between Call endpoints
is no different from the signaling relationship between LSRs that
establish an LSP. That is, the LSRs are not necessarily IP-adjacent
in the control plane in either case. Thus, key exchange should be
regarded as a remote procedure, not a single hop procedure. There
are several procedures for automatic remote exchange of keys, and
IKEv2 [RFC4306] is particularly suggested in [RFC3473].
10. IANA Considerations
10.1. RSVP Objects
A new RSVP object is introduced. IANA has made an assignment from
the "RSVP Parameters" registry using the sub-registry "Class Names,
Class Numbers, and Class Types".
o LINK_CAPABILITY object
Class-Num = 133 (form 10bbbbbb)
The Class Number is selected so that nodes not recognizing this
object drop it silently. That is, the top bit is set and the next
bit is cleared.
C-Type = 1 (TE Link Capabilities)
The LINK_CAPABILITY object is only defined for inclusion on Notify
messages.
Refer to Section 5.3 of this document.
IANA maintains a list of subobjects that may be carried in this
object. This list is maintained in the registry entry for the
LINK_CAPABILITY object as is common practice for the subobjects of
other RSVP objects. For each subobject, IANA lists:
- subobject type number
- subobject name
- reference indicating where subobject is defined.
Papadimitriou & Farrel Standards Track [Page 26]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
The initial list of subobjects is provided in Section 5.3 of this
document.
10.2. RSVP Error Codes and Error Values
A new RSVP Error Code and new Error Values are introduced. IANA has
made assignments from the "RSVP Parameters" registry using the sub-
registry "Error Codes and Globally-Defined Error Value Sub-Codes".
o Error Codes:
- Call Management (value 32)
o Error Values:
- Call Management/Call ID Contention (value 1)
- Call Management/Connections Still Exist (value 2)
- Call Management/Unknown Call ID (value 3)
- Call Management/Duplicate Call (value 4)
10.3. RSVP ADMIN_STATUS Object Bits
[GMPLS-E2E] requested that IANA manage the bits of the RSVP
ADMIN_STATUS object. A new "Administrative Status Information Flags"
sub-registry of the "GMPLS Signaling Parameters" registry was
created.
This document defines one new bit, the C bit, to be tracked in that
sub-registry. Bit number 28 has been assigned. See Section 5.5 of
this document.
11. Acknowledgements
The authors would like to thank George Swallow, Yakov Rekhter, Lou
Berger, Jerry Ash, and Kireeti Kompella for their very useful input
to, and comments on, an earlier revision of this document.
Thanks to Lyndon Ong and Ben Mack-Crane for lengthy discussions
during and after working group last call, and to Deborah Brungard for
a final, detailed review.
Thanks to Suresh Krishnan for the GenArt review, and to Magnus
Nystrom for discussions about security.
Useful comments were received during IESG review from Brian
Carpenter, Lars Eggert, Ted Hardie, Sam Hartman, and Russ Housley.
Papadimitriou & Farrel Standards Track [Page 27]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
12. References
12.1. Normative References
[GMPLS-E2E] Lang, J., Ed., Rekhter, Y., Ed., and D. Papadimitriou,
Ed., "RSVP-TE Extensions in Support of End-to-End
Generalized Multi-Protocol Label Switching (GMPLS)
Recovery", RFC 4872, May 2007.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and
S. Jamin, "Resource ReSerVation Protocol (RSVP) --
Version 1 Functional Specification", RFC 2205, September
1997.
[RFC2747] Baker, F., Lindell, B., and M. Talwar, "RSVP
Cryptographic Authentication", RFC 2747, January 2000.
[RFC2961] Berger, L., Gan, D., Swallow, G., Pan, P., Tommasi, F.,
and S. Molendini, "RSVP Refresh Overhead Reduction
Extensions", RFC 2961, April 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.
[RFC3471] Berger, L., Ed., "Generalized Multi-Protocol Label
Switching (GMPLS) Signaling Functional Description", RFC
3471, January 2003.
[RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label
Switching (GMPLS) Signaling Resource ReserVation
Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC
3473, January 2003.
[RFC3477] Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links
in Resource ReSerVation Protocol - Traffic Engineering
(RSVP-TE)", RFC 3477, January 2003.
[RFC3945] Mannie, E., Ed., "Generalized Multi-Protocol Label
Switching (GMPLS) Architecture", RFC 3945, October 2004.
[RFC4201] Kompella, K., Rekhter, Y., and L. Berger, "Link Bundling
in MPLS Traffic Engineering (TE)", RFC 4201, October
2005.
Papadimitriou & Farrel Standards Track [Page 28]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
[RFC4202] Kompella, K., Ed., and Y. Rekhter, Ed., "Routing
Extensions in Support of Generalized Multi-Protocol Label
Switching (GMPLS)", RFC 4202, October 2005.
[RFC4208] Swallow, G., Drake, J., Ishimatsu, H., and Y. Rekhter,
"Generalized Multiprotocol Label Switching (GMPLS) User-
Network Interface (UNI): Resource ReserVation Protocol-
Traffic Engineering (RSVP-TE) Support for the Overlay
Model", RFC 4208, October 2005.
[RFC4302] Kent, S., "IP Authentication Header", RFC 4302, December
2005.
[RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", RFC
4303, December 2005.
[RFC4306] Kaufman, C., Ed., "Internet Key Exchange (IKEv2)
Protocol", RFC 4306, December 2005.
[RFC4426] Lang, J., Ed., Rajagopalan, B., Ed., and D.
Papadimitriou, Ed., "Generalized Multi-Protocol Label
Switching (GMPLS) Recovery Functional Specification", RFC
4426, March 2006.
12.2. Informative References
[ASON-APPL] Drake, J., Papadimitriou, D., Farrel, A., Brungard, D.,
Ali, Z., Ayyangar, A., Ould-Brahim, H., and D. Fedyk,
"Generalized MPLS (GMPLS) RSVP-TE Signalling in support
of Automatically Switched Optical Network (ASON), Work in
Progress, July 2005.
[RFC4107] Bellovin, S. and R. Housley, "Guidelines for
Cryptographic Key Management", BCP 107, RFC 4107, June
2005.
[RFC4139] Papadimitriou, D., Drake, J., Ash, J., Farrel, A., and L.
Ong, "Requirements for Generalized MPLS (GMPLS) Signaling
Usage and Extensions for Automatically Switched Optical
Network (ASON)", RFC 4139, July 2005.
[STITCH] Ayyangar, A., Kompella, K., Vasseur, JP., and A. Farrel,
"Label Switched Path Stitching with Generalized
Multiprotocol Label Switching Traffic Engineering (GMPLS
TE)", Work in Progress, April 2007.
Papadimitriou & Farrel Standards Track [Page 29]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
For information on the availability of the following document, please
see http://www.itu.int.
[G.8080] ITU-T, "Architecture for the Automatically Switched
Optical Network (ASON)," Recommendation G.8080/ Y.1304,
November 2001 (and Revision, January 2003).
Authors' Addresses
John Drake
Boeing Satellite Systems
2300 East Imperial Highway
El Segundo, CA 90245
EMail: John.E.Drake2@boeing.com
Deborah Brungard (AT&T)
Rm. D1-3C22 - 200 S. Laurel Ave.
Middletown, NJ 07748, USA
EMail: dbrungard@att.com
Zafar Ali (Cisco)
100 South Main St. #200
Ann Arbor, MI 48104, USA
EMail: zali@cisco.com
Arthi Ayyangar (Nuova Systems)
2600 San Tomas Expressway
Santa Clara, CA 95051
EMail: arthi@nuovasystems.com
Don Fedyk (Nortel Networks)
600 Technology Park Drive
Billerica, MA, 01821, USA
EMail: dwfedyk@nortel.com
Contact Addresses
Dimitri Papadimitriou
Alcatel-Lucent,
Fr. Wellesplein 1,
B-2018 Antwerpen, Belgium
Phone: +32 3 240-8491
EMail: dimitri.papadimitriou@alcatel-lucent.be
Adrian Farrel
Old Dog Consulting
Phone: +44 (0) 1978 860944
EMail: adrian@olddog.co.uk
Papadimitriou & Farrel Standards Track [Page 30]
^L
RFC 4974 GMPLS RSVP-TE Signaling Extensions August 2007
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights 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; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Papadimitriou & Farrel Standards Track [Page 31]
^L
|