idnits 2.17.1 draft-ietf-ccamp-gmpls-rsvp-te-call-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 17. -- Found old boilerplate from RFC 3978, Section 5.5 on line 1460. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1435. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1444. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1450. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- The exact meaning of the all-uppercase expression 'MAY NOT' is not defined in RFC 2119. If it is intended as a requirements expression, it should be rewritten using one of the combinations defined in RFC 2119; otherwise it should not be all-uppercase. == The expression 'MAY NOT', while looking like RFC 2119 requirements text, is not defined in RFC 2119, and should not be used. Consider using 'MUST NOT' instead (if that is what you mean). Found 'MAY NOT' in this paragraph: Note that a Call MAY 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. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHOULD not' in this paragraph: Transit nodes SHOULD not examine Notify messages that are not addressed to them. However, they will see short Call IDs in all LSPs associated with Calls. -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (August 2006) is 6463 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC2747' is defined on line 1317, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2402 (Obsoleted by RFC 4302, RFC 4305) ** Obsolete normative reference: RFC 2406 (Obsoleted by RFC 4303, RFC 4305) ** Obsolete normative reference: RFC 2409 (Obsoleted by RFC 4306) ** Downref: Normative reference to an Informational RFC: RFC 4139 Summary: 7 errors (**), 0 flaws (~~), 4 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 CCAMP Working Group Editors 2 Internet Draft D. Papadimitriou (Alcatel) 3 Updates RFC 3473 A. Farrel (Old Dog Consulting) 4 Proposed Category: Standard Track 5 Expiration Date: February 2007 August 2006 7 Generalized MPLS (GMPLS) RSVP-TE Signaling Extensions 8 in support of Calls 10 draft-ietf-ccamp-gmpls-rsvp-te-call-01.txt 12 Status of this Memo 14 By submitting this Internet-Draft, each author represents that any 15 applicable patent or other IPR claims of which he or she is aware 16 have been or will be disclosed, and any of which he or she becomes 17 aware will be disclosed, in accordance with Section 6 of BCP 79. 19 Internet-Drafts are working documents of the Internet Engineering 20 Task Force (IETF), its areas, and its working groups. Note that other 21 groups may also distribute working documents as Internet-Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet-Drafts as reference 26 material or to cite them other than as "work in progress." 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/ietf/1id-abstracts.txt. 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 Abstract 36 In certain networking topologies, it may be advantageous to maintain 37 associations between endpoints and key transit points to support an 38 instance of a service. Such associations are known as Calls. 40 A Call does not provide the actual connectivity for transmitting user 41 traffic, but only builds a relationship by which subsequent 42 Connections may be made. In Generalized MPLS (GMPLS) such Connections 43 are known as Label Switched Paths (LSPs). 45 This document specifies how GMPLS RSVP-TE signaling may be used and 46 extended to support Calls. These mechanisms provide full and logical 47 Call/Connection separation. 49 The mechanisms proposed in this document are applicable to any 50 environment (including multi-area), and for any type of interface: 51 packet, layer-2, time-division multiplexed, lambda or fiber 52 switching. 54 Papadimitriou and Farrel - Expires February 2007 August 2006 56 Table of Content 58 1. Conventions used in this document ............................. 3 59 2. Introduction .................................................. 3 60 2.1 Applicability to ASON ........................................ 4 61 3. Requirements .................................................. 4 62 3.1 Basic Call Function .......................................... 4 63 3.2 Call/Connection Separation ................................... 4 64 3.3 Call Segments ................................................ 5 65 4. Concepts and Terms ............................................ 5 66 4.1 What is a Call? .............................................. 5 67 4.2 A Hierarchy of Calls, Connections, Tunnels and LSPs .......... 5 68 4.3 Exchanging Access Link Capabilities .......................... 6 69 4.3.1 Network-initiated Calls .................................... 7 70 4.3.2 User-initiated Calls ....................................... 7 71 4.3.3 Utilizing Call Setup ....................................... 7 72 5. Protocol Extensions for Calls and Connections ................. 8 73 5.1 Call Setup and Teardown ...................................... 8 74 5.2 Call Identification .......................................... 8 75 5.2.1 Long Form Call Identification .............................. 9 76 5.2.2 Short Form Call Identification ............................. 9 77 5.2.3 Short Form Call ID Encoding ................................ 9 78 5.3 LINK_CAPABILITY object ...................................... 10 79 5.4 Revised Message Formats ..................................... 11 80 5.4.1 Notify Message ............................................ 21 81 5.5 ADMIN_STATUS Object ......................................... 21 82 6. Procedures in Support of Calls and Connections ............... 32 83 6.1 Call/Connection Setup Procedures ............................ 32 84 6.2 Call Setup .................................................. 32 85 6.2.1 Accepting Call Setup ...................................... 54 86 6.2.2 Call Setup Failure and Rejection .......................... 65 87 6.3 Adding a Connections to a Call .............................. 65 88 6.3.1 Adding a Reverse Direction LSP to a Call .................. 76 89 6.4 Call-Free Connection Setup .................................. 76 90 6.5 Call Collision .............................................. 76 91 6.6 Call/Connection Teardown .................................... 87 92 6.6.1 Removal of a Connection from a Call ....................... 98 93 6.6.2 Removal of the Last Connection from a Call ................ 98 94 6.6.3 Teardown of an "Empty" Call ............................... 98 95 6.6.4 Attempted Teardown of a Call with Existing Connections .... 98 96 6.6.5 Teardown of a Call from the Egress ........................ 20 97 6.7 Control Plane Survivability ................................. 20 98 7. Applicability of Call and Connection Procedures .............. 21 99 7.1 Network-initiated Calls ..................................... 21 100 7.2 User-initiated Calls ........................................ 21 101 7.3 External Call Managers ...................................... 22 102 7.3.1 Call Segments ............................................. 22 103 8. Non-support of Call ID ....................................... 22 104 8.1 Non-Support by External Call Managers ....................... 23 105 8.2 Non-Support by Transit Node ................................. 23 107 Papadimitriou and Farrel - Expires February 2007 August 2006 109 8.3 Non-Support by Egress Node .................................. 24 110 9. Security Considerations ...................................... 24 111 9.1 Call and Connection Security Considerations ................. 24 112 10. IANA Considerations ......................................... 25 113 10.1 RSVP Objects ............................................... 25 114 10.2 RSVP Error Codes and Error Values .......................... 25 115 10.3 RSVP ADMIN_STATUS object Bits .............................. 25 116 11. Acknowledgements ............................................ 26 117 12. References .................................................. 26 118 12.1 Normative References ....................................... 26 119 12.2 Informative References ..................................... 27 120 13. Authors' Addresses .......................................... 28 122 1. Conventions used in this document 124 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 125 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 126 document are to be interpreted as described in [RFC2119]. 128 In addition, the reader is assumed to be familiar with the 129 terminology used in [RFC3471], [RFC3473], [RFC3477] and [RFC3945]. 131 2. Introduction 133 This document defines protocol procedures and extensions to support 134 Calls within Generalized MPLS (GMPLS). 136 A Call is an association between endpoints and possibly between key 137 transit points (such as network boundaries) in support of an instance 138 of a service. The end-to-end association is termed a "Call," and the 139 association between two transit points or between an endpoint and a 140 transit point is termed a "Call Segment." An entity that processes a 141 Call or Call Segment is called a "Call Manager." 143 A Call does not provide the actual connectivity for transmitting user 144 traffic, but only builds a relationship by which subsequent 145 Connections may be made. In GMPLS such Connections are known as Label 146 Switched Paths (LSPs). 148 A Call may be associated with zero, one, or more than one Connection, 149 and a Connection may be associated with zero or one Call. Thus full 150 and logical Call/Connection separation is needed. 152 An example of the requirement for Calls can be found in the ITU-T's 153 Automatically Switched Optical Network (ASON) architecture [G.8080] 154 and specific requirements for support of Calls in this context can be 155 found in [RFC4139]. Note, however, that while the mechanisms 156 described in this document meet the requirements stated in [RFC4139], 157 they have wider applicability. 159 Papadimitriou and Farrel - Expires February 2007 August 2006 161 The mechanisms defined in this document are equally applicable to any 162 packet (PSC) interface, layer-2 interfaces (L2SC), TDM capable 163 interfaces, LSC interfaces, or FSC interfaces. The mechanisms and 164 protocol extensions are backward compatible, and can be used for Call 165 management where only the Call Managers need to be aware of the 166 protocol extensions. 168 2.1 Applicability to ASON 170 [RFC4139] details the requirements on GMPLS signaling to satisfy the 171 ASON architecture described in [G.8080]. The mechanisms described in 172 this document meet the requirements for Calls as described in 173 Sections 4.2 and 4.3 of [RFC4139] and the additional Call-related 174 requirements in Sections 4.4, 4.7, 5 and 6 of [RFC4139]. 176 [ASON-APPL] describes the applicability of GMPLS protocols to the 177 ASON architecture. 179 3. Requirements 181 3.1 Basic Call Function 183 The Call concept is used to deliver the following capabilities. 185 - Verification and identification of the Call initiator (prior to 186 LSP setup). 188 - Support of virtual concatenation with diverse path component LSPs. 190 - Association of multiple LSPs with a single Call (note aspects 191 related to recovery are detailed in [RFC4426] and [GMPLS-E2E]). 193 - Facilitation of control plane operations by allowing operational 194 status change of the associated LSP. 196 Procedures and protocol extensions to support Call setup, and the 197 association of Calls with Connections are described in Section 5 and 198 onwards of this document. 200 3.2 Call/Connection Separation 202 Full and logical Call and Connection separation is required. That is: 204 - It MUST be possible to establish a Connection without dependence 205 on a Call. 207 - It MUST be possible to establish a Call without any associated 208 Connections. 210 Papadimitriou and Farrel - Expires February 2007 August 2006 212 - It MUST be possible to associate more than one Connection with a 213 Call. 215 - Removal of the last Connection associated with a Call SHOULD NOT 216 result in the automatic removal of the Call except as a matter of 217 local policy at the ingress of the Call. 219 - Signaling of a Connection associated with a Call MUST NOT require 220 the distribution or retention of Call-related information (state) 221 within the network. 223 3.3 Call Segments 225 Call Segment capabilities MUST be supported. 227 Procedures and (GMPLS) RSVP-TE signaling protocol extensions to 228 support Call Segments are described in Section 7.3.1 of this 229 document. 231 4. Concepts and Terms 233 The concept of a Call and a Connection are also discussed in the ASON 234 architecture [G.8080] and [RFC4139]. This section is not intended as 235 a substitute for those documents, but is a brief summary of the key 236 terms and concepts. 238 4.1 What is a Call? 240 A Call is an agreement between endpoints possibly in cooperation with 241 the nodes that provide access to the network. Call setup may include 242 capability exchange, policy, authorization and security. 244 A Call is used to facilitate and manage a set of Connections that 245 provide end to end data services. While Connections require state to 246 be maintained at nodes along the data path within the network, Calls 247 do not involve the participation of transit nodes except to forward 248 the Call management requests as transparent messages. 250 A Call may be established and maintained independently of the 251 Connections that it supports. 253 4.2 A Hierarchy of Calls, Connections, Tunnels and LSPs 255 Clearly there is a hierarchical relationship between Calls and 256 Connections. One or more Connections may be associated with a Call. A 257 Connection may not be part of more than one Call. A Connection may, 258 however, exist without a Call. 260 In GMPLS RSVP-TE [RFC3473], a Connection is identified with a GMPLS 261 TE Tunnel. Commonly a Tunnel is identified with a single LSP, but it 263 Papadimitriou and Farrel - Expires February 2007 August 2006 265 should be noted that for protection, load balancing and many other 266 functions, a Tunnel may be supported by multiple parallel LSPs. The 267 following identification reproduces this hierarchy. 269 - Call IDs are unique within the context of the pair of addresses 270 that are the source and destination of the Call. 272 - Tunnel IDs are unique within the context of the Session (that is 273 the destination of the Tunnel). Applications may also find it 274 convenient to keep the Tunnel ID unique within the context of a 275 Call. 277 - LSP IDs are unique within the context of a Tunnel. 279 Note that the Call_ID value of zero is reserved and MUST NOT be used 280 during LSP-independent Call establishment. 282 Throughout the remainder of this document, the terms LSP and Tunnel 283 are used interchangeably with the term Connection. The case of a 284 Tunnel that is supported by more than one LSP is covered implicitly. 286 4.3 Exchanging Access Link Capabilities 288 In an overlay model, it is useful for the ingress node of an LSP to 289 know the link capabilities of the link between the network and the 290 remote overlay network. In the language of [RFC4208], the ingress 291 node can make use of information about the link between the egress 292 network node (NN) and the remote edge node (EN). We call this link 293 the egress network link. This information may allow the ingress node 294 to tailor its LSP request to fit those capabilities and to better 295 utilize network resources with regard to those capabilities. 297 For example, this might be used in transparent optical networks to 298 supply information on lambda availability on egress network links, 299 or, where the egress NN is capable of signal regeneration, it might 300 provide a mechanism for negotiating signal quality attributes (such 301 as bit error rate). Similarly, in multi-domain routing environments 302 it could be used to provide end-to-end selection of component links 303 (i.e., spatial attribute negotiation) where TE links have been 304 bundled based on technology specific attributes. 306 In some circumstances, the Traffic Engineering Database (TED) may 307 contain sufficient information for decisions to be made about which 308 egress network link to use. In other circumstances, the TED might not 309 contain this information and Call setup may provide a suitable 310 mechanism to exchange information for this purpose. The 311 Call-responder may use the Call parameters to select a subset of the 312 available egress network links between the egress NN and the remote 313 EN, and may report these links and their capabilities on the Call 314 response so that the Call-initiator may select a suitable link. 316 Papadimitriou and Farrel - Expires February 2007 August 2006 318 The sections that follow indicate the cases where the TED may be 319 used, and those where Call parameter exchange may be appropriate. 321 4.3.1 Network-initiated Calls 323 In this case the ingress (and correspondingly the egress) lie within 324 the network and there may be no need to distribute additional link 325 capability information over and above the information distributed by 326 the TE and GMPLS extensions to the IGP. Further, it is possible that 327 future extensions to these IGPs will allow the distribution of more 328 detailed information including optical impairments. 330 4.3.2 User-initiated Calls 332 In this case the ingress (and correspondingly the egress) lie outside 333 the network. Edge link information may not be visible within the 334 core network, nor (and specifically) at other edge nodes. This may 335 prevent an ingress from requesting suitable LSP characteristics to 336 ensure successful LSP setup. 338 Various solutions to this problem exist, including the definition of 339 static TE links (that is, not advertised by a routing protocol) 340 between the NNs and ENs. Nevertheless, special procedures may be 341 necessary to advertise to the edge nodes outside of the network 342 information about egress network links without also advertising the 343 information specific to the contents of the network. 345 In the future, when the requirements on the information that needs to 346 be supported are better understood, TE extensions to EGPs may be 347 defined that provide this function, and new rules for leaking TE 348 information between routing instances may be used. 350 4.3.3 Utilizing Call Setup 352 When IGP and EGP solutions are not available at the User-to-Network 353 Interface (UNI), there is still a requirement to have, at the local 354 edge nodes, the knowledge of the remote edge link capabilities. 356 The Call setup procedure provides an opportunity to discover edge 357 link capabilities of remote edge nodes before LSP setup is attempted. 359 - The Call-responder can return information on one or more egress 360 network links. The Call-reponder could return a full list of the 361 available links with information about the link capabilities, or it 362 could filter the list to return information about only those links 363 which might be appropriate to support the Connections needed by the 364 Call. To do this second option, the Call-responder must determine 365 such appropriate links from information carried in the Call request 366 including destination of the Call, and the level of service 367 (bandwidth, protection, etc.) required. 369 Papadimitriou and Farrel - Expires February 2007 August 2006 371 - On receiving a Call response, the Call-initiator must determine 372 paths for the Connections (LSPs) that it will set up. The way that 373 it does this is out of scope for this document since it is an 374 implementation-specific, algorithmic process. However, it can take 375 as input the information about the available egress network links 376 as supplied in the Call response. 378 The LINK_CAPABILITY object is defined to allow this information to be 379 exchanged. The information that is included in this object is similar 380 to that distributed by GMPLS-capable IGPs (see [RFC4202]). 382 5. Protocol Extensions for Calls and Connections 384 This section describes the protocol extensions needed in support of 385 Call identification and management of Calls and Connections. 386 Procedures for the use of these protocol extensions are described in 387 Section 6. 389 5.1 Call Setup and Teardown 391 Calls are established independently of Connections through the use of 392 the Notify message. The Notify message is a targeted message and does 393 not follow the path of LSPs through the network. 395 Simultaneous Call and Connection establishment (sometimes referred to 396 as piggybacking) is not supported. 398 5.2 Call Identification 400 As soon as the concept of a Call is introduced, it is necessary to 401 support some means of identifying the Call. This becomes particularly 402 important when Calls and Connections are separated and Connections 403 must contain some reference to the Call. 405 A Call may be identified by a sequence of bytes that may have 406 considerable (but not arbitrary) length. A Call ID of 40 bytes would 407 not be unreasonable. It is not the place of this document to supply 408 rules for encoding or parsing Call IDs, but it must provide a 409 suitable means to communicate Call IDs within the protocol. The full 410 Call identification is referred to as the long Call ID. 412 The Call_ID is only relevant at the sender and receiver nodes. 413 Maintenance of this information in the signaling state is not 414 mandated at any intermediate node. Thus no change in [RFC3473] 415 transit implementations is required and there are no backward 416 compatibility issues. Forward compatibility is maintained by using 417 the existing default values to indicate that no Call processing is 418 required. 420 Papadimitriou and Farrel - Expires February 2007 August 2006 422 Further, the long Call ID is not required as part of the Connection 423 (LSP) state even at the sender and receiver nodes so long as some 424 form of correlation is available. This correlation is provided 425 through the short Call ID. 427 5.2.1 Long Form Call Identification 429 The long Call ID is only required on the Notify message used to 430 establish the Call. It is carried in the "Session Name" field of the 431 SESSION_ATTRIBUTE Object on the Notify message. 433 A unique value per Call is inserted in the "Session Name" field by 434 the initiator of the Call. Subsequent network nodes MAY inspect this 435 object and MUST forward this object transparently across network 436 interfaces until reaching the egress node. Note that the structure of 437 this field MAY be the object of further formatting depending on the 438 naming convention(s). However, [RFC3209] defines the "Session Name" 439 field as a Null padded display string, and that any formatting 440 conventions for the Call ID must be limited to this scope. 442 5.2.2 Short Form Call Identification 444 The Connections (LSPs) associated with a Call need to carry a 445 reference to the Call - the short Call ID. A new field is added to 446 the signaling protocol to identify an individual LSP with the Call to 447 which it belongs. 449 The new field is a 16-bit identifier (unique within the context of 450 the address pairing provided by the Tunnel_End_Point_Address and the 451 Sender_Address of the SENDER TEMPLATE object) that MUST be exchanged 452 on the Notify message during Call initialization and is used on all 453 subsequent LSP messages that are associated with the Call. This 454 identifier is known as the short Call ID and is encoded as described 455 in Section 5.2.3. The Call ID MUST NOT be used as part of the 456 processing to determine the session to which an RSVP signaling 457 message applies. This does not generate any backward compatibility 458 issue since the reserved field of the SESSION object defined in 459 [RFC3209] MUST NOT be examined on receipt. 461 In the unlikely case of short Call_ID exhaustion, local node policy 462 decides upon specific actions to be taken, but might include the use 463 of second Sender_Address. Local policy details are outside of the 464 scope of this document. 466 5.2.3 Short Form Call ID Encoding 468 The short Call ID is carried in a 16-bit field in the SESSION object 469 carried on the Notify message used during Call setup, and on all 470 messages during LSP setup and management. The field used was 471 previously reserved (MUST be set to zero on transmission and ignored 473 Papadimitriou and Farrel - Expires February 2007 August 2006 475 on receipt). This ensures backward compatibility with nodes that do 476 not utilize Calls. 478 The figure below shows the new version of the object. 480 Class = SESSION, Class-Num = 1, C-Type = 7(IPv4)/8(IPv6) 482 0 1 2 3 483 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 484 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 485 ~ IPv4/IPv6 Tunnel end point address ~ 486 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 487 | Call_ID | Tunnel ID | 488 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 489 | Extended Tunnel ID | 490 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 492 IPv4/IPv6 Tunnel End Point Address: 32 bits/128 bits (see [RFC3209]) 494 Call_ID: 16 bits 496 A 16-bit identifier used in the SESSION object that remains 497 constant over the life of the Call. The Call_ID value MUST be 498 set to zero when there is no corresponding Call. 500 Tunnel ID: 16 bits (see [RFC3209]) 502 Extended Tunnel ID: 32 bits/128 bits (see [RFC3209]) 504 5.3 LINK_CAPABILITY object 506 The LINK_CAPABILITY object is introduced to support link capability 507 exchange during Call setup and MAY be included in a Notify message 508 used for Call setup. This optional object includes the link local 509 capabilities of a link joining the Call-initiating node (or 510 Call-terminating node) to the network. The specific node is indicated 511 by the source address of the Notify message. 513 The link reported can be a single link or can be a bundled link 514 [RFC4201]. 516 The Class Number is selected so that the nodes that do not recognize 517 this object drop it silently. That is, the top bit is set and the 518 next bit is clear. 520 Papadimitriou and Farrel - Expires February 2007 August 2006 522 This object has the following format: 524 Class-Num = TBA (form 10bbbbbb), C_Type = 1 526 0 1 2 3 527 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 528 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 529 | | 530 // (Subobjects) // 531 | | 532 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 534 The contents of the LINK_CAPABILITY object is defined as series of 535 variable-length data items called subobjects. The subobject format is 536 defined in [RFC3209]. 538 The following subobjects are currently defined. 539 - Type 1: the link local IPv4 address of a link or a numbered bundle 540 using the format defined in [RFC3209] 541 - Type 2: the link local IPv6 address of a link or a numbered bundle 542 using the format defined in [RFC3209] 543 - Type 4: the link local identifier of an unnumbered link or bundle 544 using the format defined in [RFC3477] 545 - Type 64: the Maximum Reservable Bandwidth corresponding to this 546 link or bundle (see [RFC4201]) 547 - Type 65: the interface switching capability descriptor (see 548 [RFC4202]) corresponding to this link or bundle (see also 549 [RFC4201]). 551 Note: future revisions of this document may extend the above list. 553 A single instance of this object MAY be used to exchange capablity 554 information relating to more than one link or bundled link. In this 555 case, the following ordering MUST be used: 556 - each link MUST be identified by an identifier subobject (Type 1, 2 557 or 4) 558 - capability subobjects (Type 64 or 65, and future subobjects) MUST 559 be placed after the identifier subobject for the link or bundle to 560 which they refer. 562 Mulitple instances of the LINK_CAPABILITY object within the same 563 Notify message are not supported by this specification. In the event 564 that a Notify message contains multiple LINK_CAPABILITY objects, the 565 receiver SHOULD process the first one as normal and SHOULD ignore 566 subsequent instances of the object. 568 5.4 Revised Message Formats 570 The Notify message is enhanced to support Call establishment and 571 teardown of Calls. See Section 6 for a description of the procedures. 573 Papadimitriou and Farrel - Expires February 2007 August 2006 575 5.4.1 Notify Message 577 The Notify message is modified in support of Call establishment by 578 the optional addition of the LINK CAPABILTY object. Further, the 579 SESSION ATTRIBUTE object is added to the sequence to 580 carry the long Call ID. The presence of the SESSION ATTRIBUTE object 581 MAY be used to distinguish a Notify message used for Call management, 582 but see Section 5.5 for another mechanism. The 583 MAY be used to simultaneously set up multiple Calls. 585 The format of the Notify Message is as follows: 587 ::= [ ] 588 [[ | ]...] 589 [ ] 590 591 593 ::= [ ] 595 ::= [ ] 596 [ ...] 597 [ ] 598 [ ] 599 [ | ] 601 ::= see [RFC3473] 603 ::= see [RFC3473] 605 5.5 ADMIN_STATUS Object 607 Notify messages exchanged for Call control and management purposes 608 carry a specific new bit (the Call Management or C bit) in the ADMIN 609 STATUS object. 611 [RFC3473] indicates that the format and contents of the ADMIN_STATUS 612 object are as defined in [RFC3471]. The new "C" bit is added for Call 613 control as shown below. 615 0 1 2 3 616 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 617 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 618 |R| Reserved |C|T|A|D| 619 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 621 Reflect (R): 1 bit - see [RFC3471] 622 Testing (T): 1 bit - see [RFC3471] 623 Administratively down (A): 1 bit - see [RFC3471] 624 Deletion in progress (D): 1 bit - see [RFC3471] 626 Papadimitriou and Farrel - Expires February 2007 August 2006 628 Call Management (C): 1 bit 630 This bit is set when the message is being used to control 631 and manage a Call. 633 The procedures for the use of the C bit are described in Section 6. 635 6. Procedures in Support of Calls and Connections 637 6.1 Call/Connection Setup Procedures 639 This section describes the processing steps for Call and Connection 640 setup. 642 There are three cases considered: 644 - A Call is set up without any associated 645 Connection. It is assumed that Connections will be added to the 646 Call at a later time, but this is neither a requirement nor 647 a constraint. 649 - A Connection may be added to an existing Call. This may happen if 650 the Call was set up without any associated Connections, or if 651 another Connection is added to a Call that already has one or more 652 associated Connections. 654 - A Connection may be established without any reference to a Call 655 (see Section 6.4). This encompasses the previous LSP setup 656 procedure. 658 Note that a Call MAY NOT be imposed upon a Connection that is already 659 established. To do so would require changing the short Call ID in the 660 SESSION OBJECT of the existing LSPs and this would constitute a 661 change in the Session Identifier. This is not allowed by existing 662 protocol specifications. 664 Call and Connection teardown procedures are described later in 665 Section 6.6. 667 6.2 Call Setup 669 A Call is set up before, and independent of, LSP (i.e. Connection) 670 setup. 672 Call setup MAY necessitate verification of the link status and link 673 capability negotiation between the Call ingress node and the Call 674 egress node. The procedure described below is applied only once for a 675 Call and hence only once for the set of LSPs associated with a Call. 677 Papadimitriou and Farrel - Expires February 2007 August 2006 679 The Notify message (see [RFC3473]) is used to signal the Call setup 680 request and response. The new Call Management (C) bit in the 681 ADMIN_STATUS object is used to indicate that this Notify is managing 682 a Call. The Notify message is sent with source and destination 683 IPv4/IPv6 addresses set to any of the routable ingress/egress node 684 addresses respectively. 686 At least one session MUST be listed in the of 687 the Notify message. In order to allow for long identification of the 688 Call, the SESSION_ATTRIBUTE object is added as part of the . Note that the ERROR SPEC object is not relevant in 690 Call setup and MUST carry the Error Code zero ("Confirmation") to 691 indicate that there is no error. 693 During Call setup, the ADMIN STATUS object is sent with the following 694 bits set. Bits not listed MUST be set to zero. 696 R - to cause the egress to respond 697 C - to indicate that the Notify message is managing a Call. 699 The SESSION, SESSION ATTRIBUTE, SENDER_TEMPLATE, SENDER_TSPEC objects 700 included in the of the Notify message are built as 701 follows. 703 - The SESSION object includes as Tunnel_End_Point_Address any of the 704 Call-terminating (egress) node's IPv4/IPv6 routable addresses. The 705 Call_ID is set to a non-zero value unique within the context of 706 the address pairing provided by the Tunnel_End_Point_Address and 707 the Sender_Address from the SENDER TEMPLATE object (see below). 708 This value will be used as the short Call ID carried on all 709 messages for LSPs associated with this Call. 711 Note that the Call_ID value of zero is reserved and MUST NOT be 712 used since it will be present in SESSION objects of LSPs 713 that are not associated with Calls. The Tunnel_ID of 714 the SESSION object is not relevant for this procedure and SHOULD 715 be set to zero. The Extended_Tunnel_ID of the SESSION object is 716 not relevant for this procedure and MAY be set to zero or to an 717 address of the ingress node. 719 - The SESSION ATTRIBUTE object contains priority flags. Currently no 720 use of these flags is envisioned, however, future work may 721 identify value in assigning priorities to Calls; accordingly the 722 Priority fields MAY be set to non-zero values. None of the Flags 723 in the SESSION ATTRIBUTE object is relevant to this process and 724 this field SHOULD be set to zero. The Session Name field is used 725 to carry the long Call Id as described in Section 5. 727 Papadimitriou and Farrel - Expires February 2007 August 2006 729 - The SENDER_TEMPLATE object includes as Sender Address any of the 730 Call-initiating (ingress) node's IPv4/IPv6 routable addresses. The 731 LSP_ID is not relevant and SHOULD be set to zero. 733 - The bandwidth value inserted in the SENDER_TSPEC and FLOWSPEC 734 objects MUST be ignored upon receipt and SHOULD be set to zero 735 when sent. 737 Additionally, ingress/egress nodes that need to communicate their 738 respective link local capabilities may include a LINK_CAPABILITY 739 object in the Notify message. 741 The receiver of a Notify message may identify whether it is part of 742 Call management or reporting an error by the presence or absence of 743 the SESSION ATTRIUBTE object in the . Full 744 clarity, however, may be achieved by inspection of the new Call 745 Management (C) bit in the ADMIN STATUS object. 747 Note that the POLICY_DATA object may be included in the and MAY be used to identify requestor credentials, 749 account numbers, limits, quotas, etc. This object is opaque to RSVP, 750 which simply passes it to policy control when required. 752 Message IDs MUST be used during Call setup. 754 6.2.1 Accepting Call Setup 756 A node that receives a Notify message carrying the ADMIN STATUS 757 object with the R and C bits set is being requested to set up a Call. 758 The receiver MAY perform authorization and policy according to local 759 requirements. 761 If the Call is acceptable, the receiver responds with a Notify 762 message reflecting the information from the Call request with two 763 exceptions. 765 - The responder removes any LINK CAPABLITY object that was received 766 and MAY insert a LINK_CAPABILITY object that describes its own 767 access link. 769 - The ADMIN STATUS object is sent with only the C bit set. All other 770 bits MUST be set to zero. 772 The responder MUST use the Message ID object to ensure reliable 773 delivery of the response. If no Message ID Acknowledgement is 774 received after the configured number of retries, the responder SHOULD 775 continue to assume that the Call was successfully established. Call 776 liveliness procedures are covered in Section 6.7. 778 Papadimitriou and Farrel - Expires February 2007 August 2006 780 6.2.2 Call Setup Failure and Rejection 782 Call setup may fail or be rejected. 784 If the Notify message can not be delivered, no Message ID 785 acknowledgement will be received by the sender. In the event that the 786 sender has retransmitted the Notify message a configurable number of 787 times without receiving a Message ID Acknowledgement (as described in 788 [RFC2961]), the initiator SHOULD declare the Call failed and SHOULD 789 send a Call teardown request (see Section 6.6). 791 It is also possible that a Message ID Acknowledgement is received but 792 no Call response Notify message is received. In this case, the 793 initiator MAY re-send the Call setup request a configurable number of 794 times (see Section 6.7) before declaring that the Call has failed. At 795 this point the initiator MUST send a Call teardown request (see 796 Section 6.6). 798 If the Notify message cannot be parsed or is in error it MAY be 799 responded to with a Notify message carrying the error code 13 800 ("Unknown object class") or 14 ("Unknown object C-Type") if 801 appropriate to the error detected. 803 The Call setup MAY be rejected by the receiver because of security, 804 authorization or policy reasons. Suitable error codes already exist 805 [RFC2205] and can be used in the ERROR SPEC object included in the 806 Notify message sent in response. 808 Error response Notify messages SHOULD also use the Message ID object 809 to achieve reliable delivery. No action should be taken on the 810 failure to receive a Message ID Acknowledgement after the configured 811 number of retries. 813 6.3 Adding a Connections to a Call 815 Once a Call has been established, LSPs can be added to the Call. 816 Since the short Call ID is part of the SESSION Object, any LSP that 817 has the same Call ID value in the SESSION Object belongs to the same 818 Call, and the Notify message used to establish the Call carried the 819 same Call ID in its SESSION object. 821 There will be no confusion between LSPs that are associated with a 822 Call and those which are not, since the Call ID value MUST be equal 823 to zero for LSPs which are not associated with a Call, and MUST NOT 824 be equal to zero for a valid Call ID. 826 LSPs for different Calls can be distinguished because the Call ID is 827 unique within the context of the source address (in the SENDER 828 TEMPLATE object) and the destination address (in the SESSION object). 830 Papadimitriou and Farrel - Expires February 2007 August 2006 832 Ingress and egress nodes MAY group together LSPs associated with the 833 same Call and process them as a group according to implementation 834 requirements. Transit nodes need not be aware of the association of 835 multiple LSPs with the same Call. 837 The ingress node MAY choose to set the "Session Name" of an LSP to 838 match the long Call ID of the associated Call. 840 The C bit of the ADMIN STATUS object MUST NOT be set on LSP messages 841 including on Notify messages that pertain to the LSP and MUST be 842 ignored. 844 6.3.1 Adding a Reverse Direction LSP to a Call 846 Note that once a Call has been established it is symmetric. That is, 847 either end of the Call may add LSPs to the Call. 849 Special care is needed when managing LSPs in the reverse direction 850 since the addresses in the SESSION and SENDER TEMPLATE are reversed. 851 However, since the short Call ID is unique in the context of a given 852 ingress-egress address pair it may safely be used to associate the 853 LSP with the Call. 855 Note that since Calls are defined here to be symmetrical, the issue 856 of potential Call ID collision arises. This is discussed in Section 857 6.5. 859 6.4 Call-Free Connection Setup 861 It continues to be possible to set up LSPs as per [RFC3473] without 862 associating them with a Call. If the short Call ID in the SESSION 863 Object is set to zero, there is no associated Call and the Session 864 Name field in the SESSION ATTRIBUTE object MUST be interpreted simply 865 as the name of the session (see [RFC3209]). 867 The C bit of the ADMIN STATUS object MUST NOT be set on messages for 868 LSP control, including on Notify messages that pertain to LSPs, and 869 MUST be ignored when received on such messages. 871 6.5 Call Collision 873 Since Calls are symmetrical, it is possible that both ends of a Call 874 will attempt to establish Calls with the same long Call IDs at the 875 same time. This is only an issue if the source and destination 876 address pairs match. This situation can be avoided by applying some 877 rules to the contents of the long Call ID, but such mechanisms are 878 outside the scope of this document. 880 If a node that has sent a Call setup request and has not yet received 881 a response, itself receives a Call setup request with the same long 883 Papadimitriou and Farrel - Expires February 2007 August 2006 885 Call ID and matching source/destination addresses, it SHOULD process 886 as follows. 888 - If its source address is numerically greater than the remote 889 source address, it MUST discard the received message and continue 890 to wait for a response to its setup request. 892 - If its source address is numerically smaller than the remote 893 source address, it MUST discard state associated with the Call 894 setup that it initiated, and MUST respond to the received Call 895 setup. 897 If a node receives a Call setup request carrying an address pair and 898 long Call ID that match an existing Call, the node MUST return an 899 error message (Notify message) with the new Error Code "Call 900 Management" and the new Error Value "Duplicate Call" in response to 901 the new Call request, and MUST NOT make any changes to the existing 902 Call. 904 A further possibility for contention arises when short Call IDs are 905 assigned by a pair of nodes for two distinct Calls that are set up 906 simultaneously using different long Call IDs. In this event a node 907 receives a Call setup request carrying a short Call ID that matches 908 one that it previously sent for the same address pair. The following 909 processing MUST be followed. 911 - If the receiver's source address is numerically greater than the 912 remote source address, the receiver returns an error (Notify 913 message) with the new Error Code "Call Management" and the new 914 Error Value "Call ID Contention". 916 - If the receiver's source address is numerically less than the 917 remote source address, the receiver accepts and processes the Call 918 request. It will receive an error message sent as described above, 919 and at that point it selects a new short Call ID and re-sends the 920 Call setup request. 922 6.6 Call/Connection Teardown 924 As with Call/Connection setup, there are several cases to consider. 926 - Removal of a Connection from a Call 927 - Removal of the last Connection from a Call 928 - Teardown of an "empty" Call 930 The case of tearing down an LSP that is not associated with a Call 931 does not need to be examined as it follows exactly the procedures 932 described in [RFC3473]. 934 Papadimitriou and Farrel - Expires February 2007 August 2006 936 6.6.1 Removal of a Connection from a Call 938 An LSP that is associated with a Call may be deleted using the 939 standard procedures described in [RFC3473]. No special procedures are 940 required. 942 Note that it is not possible to remove an LSP from a Call without 943 deleting the LSP. It is not valid to change the short Call ID from 944 non-zero to zero since this involves a change to the SESSION object, 945 which is not allowed. 947 6.6.2 Removal of the Last Connection from a Call 949 When the last LSP associated with a Call is deleted, the question 950 arises as to what happens to the Call. Since a Call may exist 951 independently of Connections, it is not always acceptable to say that 952 the removal of the last LSP from a Call removes the Call. 954 The removal of the last LSP does not remove the Call and the 955 procedures described in the next Section MUST be used to delete the 956 Call. 958 6.6.3 Teardown of an "Empty" Call 960 When all LSPs have been removed from a Call, the Call may be torn 961 down or left for use by future LSPs. 963 Deletion of Calls is achieved by sending a Notify message just as for 964 Call setup, but the ADMIN STATUS object carries the R, D and C bits 965 on the teardown request and the D and C bits on the teardown 966 response. Other bits MUST be set to zero. 968 When a Notify message is sent for deleting a Call and the initiator 969 does not receive the corresponding reflected Notify message (or 970 possibly even the Message ID Ack), the initiator MAY retry the 971 deletion request using the same retry procedures as used during Call 972 establishment. If no response is received after full retry, the node 973 deleting the Call MAY declare the Call deleted, but under such 974 circumstances the node SHOULD avoid re-using the long or short Call 975 IDs for at least five times the Notify refresh period. 977 6.6.4 Attempted Teardown of a Call with Existing Connections 979 If a Notify request with the D bit of the ADMIN STATUS object set is 980 received for a Call for which LSPs still exist, the request MUST be 981 rejected with the Error Code "Call Management" and Error Value 982 "Connections Still Exist". The state of the Call MUST NOT be changed. 984 Papadimitriou and Farrel - Expires February 2007 August 2006 986 6.6.5 Teardown of a Call from the Egress 988 Since Calls are symmetric they may be torn down from the ingress or 989 egress. 991 When the Call is "empty" (has no associated LSPs) it may be deleted 992 by the egress sending a Notify message just as described above. 994 Note that there is a possibility that both ends of a Call initiate 995 Call deletion at the same time. In this case, the Notify message 996 acting as teardown request MAY be interpreted by its recipient as a 997 teardown response. But since the Notify messages acting as teardown 998 requests carry the R bit in the ADMIN STATUS object, they MUST be 999 responded to anyway. If a teardown request Notify message is received 1000 for an unknown Call ID, it is, nevertheless, responded to in the 1001 affirmative. 1003 6.7 Control Plane Survivability 1005 Delivery of Notify messages is secured using message ID 1006 acknowledgements as described in previous sections. 1008 Notify messages provide end-to-end communication that does not rely 1009 on constant paths through the network. Notify messages are routed 1010 according to IGP routing information. No consideration is, therefore, 1011 required for network resilience (for example, make-before-break, 1012 protection, fast re-route), although end-to-end resilience is of 1013 interest for node restart and completely disjoint networks. 1015 Periodic Notify messages SHOULD be sent by the initiator and 1016 terminator of the Call to keep the Call alive and to handle ingress 1017 or egress node restart. The time period for these retransmissions is 1018 a local matter, but it is RECOMMENDED that this period should be 1019 twice the shortest refresh period of any LSP associated with the 1020 Call. When there are no LSPs associated with a Call, an LSR is 1021 RECOMMENDED to use a refresh period of no less than one minute. The 1022 Notify messages are identical to those sent as if establishing the 1023 Call for the first time, except for the LINK_CAPABILITY object, which 1024 may have changed since the Call was first established, due to, e.g., 1025 the establishment of Connections, link failures, or the addition of 1026 new component links. The current link information is useful for the 1027 establishment of subsequent Connections. A node that receives a 1028 refresh Notify message carrying the R bit in the ADMIN STATUS object 1029 MUST respond with a Notify response. A node that receives a refresh 1030 Notify message (response or request) MAY reset its timer - thus, in 1031 normal processing, Notify refreshes involve a single exchange once 1032 per time period. 1034 Papadimitriou and Farrel - Expires February 2007 August 2006 1036 A node (sender or receiver) that is unsure of the status of a Call 1037 MAY immediately send a Notify message as if establishing the Call for 1038 the first time. 1040 Failure to receive a refresh Notify request has no specific meaning. 1041 A node that fails to receive a refresh Notify request MAY send its 1042 own refresh Notify request to establish the status of the Call. If a 1043 node receives no response to a refresh Notify request (including no 1044 Message ID Acknowledgement) a node MAY assume that the remote node is 1045 unreachable or unavailable. It is a local policy matter whether this 1046 causes the local node to teardown associated LSPs and delete the 1047 Call. 1049 In the event that an edge node restarts without preserved state, it 1050 MAY relearn LSP state from adjacent nodes and Call state from remote 1051 nodes. If a Path or Resv message is received with a non-zero Call ID 1052 but without the C bit in the ADMIN STATUS, and for a Call ID that is 1053 not recognized, the receiver is RECOMMENDED to assume that the Call 1054 establishment is delayed and ignore the received message. If the Call 1055 setup never materializes, the failure by the restarting node to 1056 refresh state will cause the LSPs to be torn down. Optionally, the 1057 receiver of such an LSP message for an unknown Call ID may return an 1058 error (PathErr or ResvErr message) with the error code "Call 1059 Management" and Error Value "Unknown Call ID". 1061 7. Applicability of Call and Connection Procedures 1063 This section considers the applicability of the different Call 1064 establishment procedures at the NNI and UNI reference points. This 1065 section is informative and is not intended to prescribe or prevent 1066 other options. 1068 7.1 Network-initiated Calls 1070 Since the link properties and other traffic-engineering attributes 1071 are likely known through the IGP, the LINK_CAPABILITY object is not 1072 usually required. 1074 In multi-domain networks, it is possible that access link properties 1075 and other traffic-engineering attributes are not known since the 1076 domains do not share this sort of information. In this case, the Call 1077 setup mechanism may include the LINK_CAPABILITY object. 1079 7.2 User-initiated Calls 1081 It is possible that the access link properties and other traffic- 1082 engineering attributes are not shared across the core network. In 1083 this case, the Call setup mechanism may include the LINK_CAPABILITY 1084 object. 1086 Papadimitriou and Farrel - Expires February 2007 August 2006 1088 Further, the first node within the network may be responsible for 1089 managing the Call. In this case, the Notify message that is used to 1090 set up the Call is addressed by the user network edge node to the 1091 first node of the core network. Moreover, neither the long Call ID 1092 nor the short Call ID is supplied (the Session Name Length is set to 1093 zero and the Call ID value is set to zero). The Notify message is 1094 passed to the first network node which is responsible for generating 1095 the long and short Call IDs before dispatching the message to the 1096 remote Call end point (which is known from the SESSION object). 1098 Further, when used in an overlay context, the first core node is 1099 allowed (see [RFC4208]) to replace the Session Name assigned by the 1100 ingress node and passed in the Path message. In the case of Call 1101 management, the first network node: 1102 1) MAY insert a long Call ID in the Session Name of a Path message 1103 2) MUST replace the Session Name with that originally issued by the 1104 user edge node when it returns the Resv message to the ingress node. 1106 7.3 External Call Managers 1108 Third party Call management agents may be used to apply policy and 1109 authorization at a point that is neither the initiator nor terminator 1110 of the Call. The previous example is a particular case of this, but 1111 the process and procedures are identical. 1113 7.3.1 Call Segments 1115 Call Segments exist between a set of default and configured External 1116 Call Managers along a path between the ingress and egress nodes, and 1117 use the protocols described in this document. 1119 The techniques that are used by a given service provider to identify 1120 which External Call Managers within its network should process a 1121 given Call are beyond the scope of this document. 1123 An External Call Manager uses normal IP routing to route the Notify 1124 message to the next External Call Manager. Notify messages (requests 1125 and responses) are therefore encapsulated in IP packets that identify 1126 the sending and receiving External Call Managers, but the addresses 1127 used to identify the Call (the Sender Address in the SENDER TEMPLATE 1128 object and the Tunnel Endpoint Address in the SESSION object) 1129 continue to identify the endpoints of the Call. 1131 8. Non-support of Call ID 1133 It is important that the procedures described above operate as 1134 seamlessly as possible with legacy nodes that do not support the 1135 extensions described. 1137 Papadimitriou and Farrel - Expires February 2007 August 2006 1139 Clearly, there is no need to consider the case where the Call 1140 initiator does not support Call setup initiation. 1142 8.1 Non-Support by External Call Managers 1144 It is unlikely that a Call initiator will be configured to send Call 1145 establishment Notify requests to an external Call manager, including 1146 the first network node, if that node does not support Call setup. 1148 A node that receives an unexpected Call setup request will fall into 1149 one of the following categories. 1151 - Node does not support RSVP. The message will fail to be delivered 1152 or responded. No Message ID Acknowledgement will be sent. The 1153 initiator will retry and then give up. 1155 - Node supports RSVP or RSVP-TE but not GMPLS. The message will be 1156 delivered but not understood. It will be discarded. No Message ID 1157 Acknowledgement will be sent. The initiator will retry and then 1158 give up. 1160 - Node supports GMPLS but not Call management. The message will be 1161 delivered, but parsing will fail because of the presence of the 1162 SESSION ATTRIBUTE object. A Message ID Acknowledgement may be sent 1163 before the parse fails. When the parse fails the Notify message 1164 may be discarded in which case the initiator will retry and then 1165 give up, alternatively a parse error may be generated and returned 1166 in a Notify message which will indicate to the initiator that Call 1167 management is not supported. 1169 8.2 Non-Support by Transit Node 1171 Transit nodes SHOULD not examine Notify messages that are not 1172 addressed to them. However, they will see short Call IDs in all LSPs 1173 associated with Calls. 1175 Previous specifications state that these fields SHOULD be ignored on 1176 receipt and MUST be transmitted as zero. This is interpreted by some 1177 implementations as meaning that the fields should be zeroed before 1178 the objects are forwarded. If this happens, LSP setup will not be 1179 possible. If either of the fields is zeroed either on the Path or the 1180 Resv message, the Resv message will reach the initiator with the 1181 field set to zero - this is indication to the initiator that some 1182 node in the network is preventing Call management. Use of Explicit 1183 Routes may help to mitigate this issue by avoiding such nodes. 1184 Ultimately, however, it may be necessary to upgrade the offending 1185 nodes to handle these protocol extensions. 1187 Papadimitriou and Farrel - Expires February 2007 August 2006 1189 8.3 Non-Support by Egress Node 1191 It is unlikely that an attempt will be made to set up a Call to 1192 remote node that does not support Calls. 1194 If the egress node does not support Call management through the 1195 Notify message it will react (as described in Section 8.1) in the 1196 same way as an External Call Manager. 1198 9. Security Considerations 1200 Please refer to each of the referenced documents for a description of 1201 the security considerations applicable to the features that they 1202 provide. 1204 9.1 Call and Connection Security Considerations 1206 Call setup is vulnerable to attacks both of spoofing and denial of 1207 service. Since Call setup uses Notify messages, the process can be 1208 protected by the measures applicable to securing those messages as 1209 described in [RFC3473]. 1211 Note, additionally, that the process of independent Call 1212 establishment, where the Call is set up separately from the LSPs, may 1213 be used to apply an extra level of authentication and policy for the 1214 end-to-end LSPs above that which is available with Call-less, 1215 hop-by-hop LSP setup. It may be possible to protect the Call setup 1216 exchange using end-to-end security mechanisms such as those provided 1217 by IPsec (see [RFC2402] and [RFC2406]). 1219 The frequency of Call establishment is application dependent and hard 1220 to generalize. Key exchange for Call-related message exchanges is 1221 therefore something that should be configured or arranged dynamically 1222 in different deployments according to the advice in [RFC4107]. Note 1223 that the remote RSVP-TE signaling relationship between Call endpoints 1224 is no different from the signaling relationship between LSRs that 1225 establish an LSP. That is, the LSRs are not necessarily IP-adjacent 1226 in the control plane in either case. Thus key exchange should be 1227 regarded as a remote procedure, not a single hop procedure. There are 1228 several procedures for automatic remote exchange of keys, and IKE 1229 [RFC2409] is particularly suggested in [RFC3473]. 1231 Papadimitriou and Farrel - Expires February 2007 August 2006 1233 10. IANA Considerations 1235 10.1 RSVP Objects 1237 A new RSVP object is introduced: 1239 o LINK_CAPABILITY object 1241 Class-Num = TBA (form 10bbbbbb) 1243 The Class Number is selected so that nodes not recognizing 1244 this object drop it silently. That is, the top bit is set 1245 and the next bit is cleared. 1247 C-Type = 1 (TE Link Capabilities) 1249 The LINK_CAPABILITY object is only defined for inclusion on Notify 1250 messages. 1252 Refer to Section 5.3 of this document. 1254 10.2 RSVP Error Codes and Error Values 1256 New RSVP Error Codes and Error Values are introduced 1258 o Error Codes: 1260 - Call Management (value TBA) 1262 o Error Values: 1264 - Call Management/Call ID Contention (value TBA) 1265 - Call Management/Connections still Exist (value TBA) 1266 - Call Management/Unknown Call ID (value TBA) 1267 - Call Management/Duplicate Call (value TBA) 1269 10.3 RSVP ADMIN_STATUS object Bits 1271 [GMPLS-E2E] requests IANA to manage the bits of the RSVP ADMIN_STATUS 1272 object. 1274 One new bit, the C bit, is defined in this document. Bit number 28 is 1275 suggested. 1277 See Section 5.5 of this document. 1279 Papadimitriou and Farrel - Expires February 2007 August 2006 1281 11. Acknowledgements 1283 The authors would like to thank George Swallow, Yakov Rekhter, 1284 Lou Berger, Jerry Ash and Kireeti Kompella for their very useful 1285 input to, and comments on, an earlier revision of this document. 1287 Thanks to Lyndon Ong and Ben Mack-Crane for lengthy discussions 1288 during and after working group last call, and to Deborah Brungard for 1289 a final, detailed review. 1291 12. References 1293 12.1 Normative References 1295 [GMPLS-E2E] Lang, J.P., Rekhter, Y., and D. Papadimitriou, "RSVP- 1296 TE Extensions in support of End-to-End Generalized 1297 Multi-Protocol Label Switching (GMPLS)-based Recovery," 1298 draft-ietf-ccamp-gmpls-recovery-e2e-signaling, work in 1299 progress. 1301 [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate 1302 Requirement Levels," BCP 14, RFC 2119, March 1997. 1304 [RFC2205] R. Braden et al., "Resource ReSerVation Protocol 1305 (RSVP)- Version 1 Functional Specification," 1306 RFC 2205, September 1997. 1308 [RFC2402] Kent, S. and R. Atkinson, "IP Authentication Header," 1309 RFC 2402, November 1998. 1311 [RFC2406] Kent, S. and R. Atkinson, "IP Encapsulating Payload 1312 (ESP)," RFC 2406, November 1998. 1314 [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange 1315 (IKE)", RFC 2409, November 1998. 1317 [RFC2747] Baker, F., Lindell, B. and M. Talwar, "RSVP 1318 Cryptographic Authentication", RFC 2747, January 1319 2000. 1321 [RFC2961] Berger, L., Gan, D., Swallow, G., Pan, P., Tommasi, 1322 F. and S. Molendini, "RSVP Refresh Overhead 1323 Reduction Extensions", RFC 2961, April 2001. 1325 [RFC3209] D. Awduche et al., "RSVP-TE: Extensions to RSVP for 1326 LSP Tunnels," RFC 3209, December 2001. 1328 [RFC3471] L. Berger (Editor) et al., "Generalized MPLS - 1329 Signaling Functional Description," RFC 3471, January 1330 2003. 1332 Papadimitriou and Farrel - Expires February 2007 August 2006 1334 [RFC3473] L. Berger (Editor) et al., "Generalized MPLS Signaling 1335 - RSVP-TE Extensions," RFC 3473, January 2003. 1337 [RFC3477] Kompella, K. and Y. Rekhter, "Signalling Unnumbered 1338 Links in Resource ReSerVation Protocol - Traffic 1339 Engineering (RSVP-TE)," RFC 3477, January 2003. 1341 [RFC3945] E. Mannie, Ed., "Generalized Multi-Protocol Label 1342 Switching (GMPLS) Architecture", RFC 3945, October 1343 2004. 1345 [RFC4139] D. Papadimitriou, et al., "Requirements for Generalized 1346 MPLS (GMPLS) Signaling Usage and Extensions for 1347 Automatically Switched Optical Network (ASON)," RFC 1348 4139, July 2005. 1350 [RFC4201] Kompella K., Rekhter Y., and L. Berger, "Link Bundling 1351 in MPLS Traffic Engineering," RFC 4201, October 2005. 1353 [RFC4202] Kompella, K. and Y. Rekhter (Editors) et al., "Routing 1354 Extensions in Support of Generalized MPLS," RFC 4202, 1355 October 2005. 1357 [RFC4208] Swallow, G., Drake, J., Ishimatsu, H., and Rekhter, Y. 1358 "Generalized Multiprotocol Label Switching (GMPLS) 1359 User-Network Interface (UNI): Resource ReserVation 1360 Protocol-Traffic Engineering (RSVP-TE) Support for the 1361 Overlay Model", RFC 4208, October 2005. 1363 [RFC4426] Lang, J.P., and B. Rajagopalan (Editors) et al., 1364 "Generalized MPLS Recovery Functional 1365 Specification," RFC 4426, March 2006. 1367 12.2 Informative References 1369 [ASON-APPL] D. Papadimitriou et. al., "Generalized MPLS (GMPLS) 1370 RSVP-TE signaling usage in support of Automatically 1371 Switched Optical Network (ASON)," 1372 draft-ietf-ccamp-gmpls-rsvp-te-ason, work in progress. 1374 [RFC4107] S. Bellovin and R. Housley, "Guidelines for 1375 Cryptographic Key Management", BCP 107, RFC 4107, June 1376 2005. 1378 For information on the availability of the following document, 1379 please see http://www.itu.int. 1381 [G.8080] ITU-T, "Architecture for the Automatically Switched 1382 Optical Network (ASON)," Recommendation G.8080/ 1383 Y.1304, November 2001 (and Revision, January 2003). 1385 Papadimitriou and Farrel - Expires February 2007 August 2006 1387 13. Authors' Addresses 1389 Dimitri Papadimitriou (Alcatel) 1390 Fr. Wellesplein 1, 1391 B-2018 Antwerpen, Belgium 1392 Phone: +32 3 240-8491 1393 EMail: dimitri.papadimitriou@alcatel.be 1395 John Drake 1396 Boeing Satellite Systems 1397 2300 East Imperial Highway 1398 El Segundo, CA 90245 1399 EMail: John.E.Drake2@boeing.com 1401 Adrian Farrel 1402 Old Dog Consulting 1403 Phone: +44 (0) 1978 860944 1404 EMail: adrian@olddog.co.uk 1406 Deborah Brungard (AT&T) 1407 Rm. D1-3C22 - 200 S. Laurel Ave. 1408 Middletown, NJ 07748, USA 1409 EMail: dbrungard@att.com 1411 Zafar Ali (Cisco) 1412 100 South Main St. #200 1413 Ann Arbor, MI 48104, USA 1414 EMail: zali@cisco.com 1416 Arthi Ayyangar (Nuova Systems) 1417 2600 San Tomas Expressway 1418 Santa Clara, CA 95051 1419 EMail: arthi@nuovasystems.com 1421 Don Fedyk (Nortel Networks) 1422 600 Technology Park Drive 1423 Billerica, MA, 01821, USA 1424 Email: dwfedyk@nortel.com 1426 Intellectual Property Statement 1428 The IETF takes no position regarding the validity or scope of any 1429 Intellectual Property Rights or other rights that might be claimed to 1430 pertain to the implementation or use of the technology described in 1431 this document or the extent to which any license under such rights 1432 might or might not be available; nor does it represent that it has 1433 made any independent effort to identify any such rights. Information 1434 on the procedures with respect to rights in RFC documents can be 1435 found in BCP 78 and BCP 79. 1437 Papadimitriou and Farrel - Expires February 2007 August 2006 1439 Copies of IPR disclosures made to the IETF Secretariat and any 1440 assurances of licenses to be made available, or the result of an 1441 attempt made to obtain a general license or permission for the use of 1442 such proprietary rights by implementers or users of this 1443 specification can be obtained from the IETF on-line IPR repository at 1444 http://www.ietf.org/ipr. 1446 The IETF invites any interested party to bring to its attention any 1447 copyrights, patents or patent applications, or other proprietary 1448 rights that may cover technology that may be required to implement 1449 this standard. Please address the information to the IETF at ietf- 1450 ipr@ietf.org. 1452 Disclaimer of Validity 1454 This document and the information contained herein are provided on an 1455 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1456 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 1457 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 1458 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 1459 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1460 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1462 Copyright Statement 1464 Copyright (C) The Internet Society (2006). This document is subject 1465 to the rights, licenses and restrictions contained in BCP 78, and 1466 except as set forth therein, the authors retain all their rights.