idnits 2.17.00 (12 Aug 2021) /tmp/idnits34377/draft-ietf-pce-disco-proto-isis-02.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 25. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 981. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 957. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 964. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 970. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? == There are 3 instances of lines with non-ascii characters in the document. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 3 instances of too long lines in the document, the longest one being 1 character in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year == 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 'MUST not' in this paragraph: At least one DOMAIN sub-TLV MUST be present in the PCE-DOMAINS sub-TLV. Note than when the PCE visibility is an entire AS, the PCE-DOMAINS sub-TLV MUST include exactly one AS number sub-TLV, and MUST not contain an area-ID sub-TLV. == 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 'MUST not' in this paragraph: A change in PCED information MUST not trigger any SPF computation at a receiving router. -- 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 (February 2007) is 5573 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: 'RFC2119' is defined on line 876, but no explicit reference was found in the text == Unused Reference: 'RFC4205' is defined on line 891, but no explicit reference was found in the text ** Obsolete normative reference: RFC 3784 (Obsoleted by RFC 5305) == Outdated reference: draft-ietf-isis-caps has been published as RFC 4971 ** Downref: Normative reference to an Informational RFC: RFC 4655 ** Downref: Normative reference to an Informational RFC: RFC 4674 ** Obsolete normative reference: RFC 4205 (Obsoleted by RFC 5307) ** Obsolete normative reference: RFC 3567 (Obsoleted by RFC 5304) == Outdated reference: draft-ietf-pce-pcep has been published as RFC 5440 == Outdated reference: A later version (-04) exists of draft-ietf-pce-disc-mib-00 -- No information found for draft-ietf-pce-disco-proto-ospf - is the name correct? Summary: 8 errors (**), 0 flaws (~~), 9 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J.L. Le Roux (Editor) 3 Internet Draft France Telecom 4 Category: Standard Track 5 Expires: August 2007 J.P. Vasseur (Editor) 6 Cisco System Inc. 8 Yuichi Ikejiri 9 NTT Communications 11 Raymond Zhang 12 BT Infonet 14 February 2007 16 IS-IS protocol extensions for Path Computation Element (PCE) Discovery 18 draft-ietf-pce-disco-proto-isis-02.txt 20 Status of this Memo 22 By submitting this Internet-Draft, each author represents that any 23 applicable patent or other IPR claims of which he or she is aware 24 have been or will be disclosed, and any of which he or she becomes 25 aware will be disclosed, in accordance with Section 6 of BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF), its areas, and its working groups. Note that other 29 groups may also distribute working documents as Internet-Drafts. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet- Drafts as reference 34 material or to cite them other than as "work in progress." 36 The list of current Internet-Drafts can be accessed at 37 http://www.ietf.org/ietf/1id-abstracts.txt. 39 The list of Internet-Draft Shadow Directories can be accessed at 40 http://www.ietf.org/shadow.html. 42 Abstract 44 There are various circumstances where it is highly desirable for a 45 Path Computation Client (PCC) to be able to dynamically and 46 automatically discover a set of Path Computation Elements (PCE), 47 along with some of information that can be used for PCE selection. 48 When the PCE is a Label Switching Router (LSR) participating in the 49 Interior Gateway Protocol (IGP), or even a server participating 50 passively in the IGP, a simple and efficient way to discover PCEs 51 consists of using IGP flooding. For that purpose this document 52 defines extensions to the Intermediate System to Intermediate System 53 (IS-IS) routing protocol for the advertisement of PCE Discovery 54 information within an IS-IS area or within the entire IS-IS routing 55 domain. 57 Conventions used in this document 59 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 60 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 61 document are to be interpreted as described in RFC-2119. 63 Table of Contents 65 1. Terminology.................................................3 66 2. Introduction................................................4 67 3. Overview....................................................5 68 3.1. PCE Information.............................................5 69 3.1.1. PCE Discovery Information...................................5 70 3.1.2. PCE Status Information......................................6 71 3.2. Flooding scope..............................................6 72 4. IS-IS extensions............................................6 73 4.1. The IS-IS PCED TLV..........................................6 74 4.1.1. PCE-ADDRESS sub-TLV.........................................7 75 4.1.2. The PATH-SCOPE sub-TLV......................................8 76 4.1.3. PCE-DOMAINS sub-TLV........................................10 77 4.1.3.1. Area ID DOMAIN sub-TLV...................................10 78 4.1.3.2. AS Number DOMAIN sub-TLV.................................11 79 4.1.4. PCE-NEIG-DOMAINS sub-TLV...................................11 80 4.1.5. PCE-CAP-FLAGS sub-TLV......................................11 81 4.1.6. The CONGESTION sub-TLV.....................................12 82 5. Elements of Procedure......................................13 83 5.1.1. CONGESTION sub-TLV specific procedures.....................14 84 6. Backward compatibility.....................................15 85 7. IANA considerations........................................15 86 7.1. IS-IS sub-TLV..............................................15 87 7.2. PCED sub-TLVs registry.....................................15 88 7.3. PCE Capability Flags registry..............................16 89 8. Security Considerations....................................16 90 9. Manageability Considerations...............................17 91 9.1. Control of Policy and Functions............................17 92 9.2. Information and Data Model.................................17 93 9.3. Liveness Detection and Monitoring..........................17 94 9.4. Verify Correct Operations..................................17 95 9.5. Requirements on Other Protocols and Functional 96 Components...............................................17 97 9.6. Impact on network operations...............................18 98 10. Acknowledgments............................................18 99 11. References.................................................18 100 11.1. Normative references.......................................18 101 11.2. Informative references.....................................19 102 12. Editors' Addresses:........................................19 103 13. Contributors' Adresses:....................................19 104 14. Intellectual Property Statement............................20 106 1. Terminology 108 Terminology used in this document 110 ABR: IGP Area Border Router (L1L2 router). 112 AS: Autonomous System. 114 Domain: any collection of network elements within a common sphere 115 of address management or path computational responsibility. 116 Examples of domains include IGP areas and Autonomous Systems. 118 IGP: Interior Gateway Protocol. Either of the two routing 119 protocols Open Shortest Path First (OSPF) or Intermediate System 120 to Intermediate system (IS-IS). 122 Intra-area TE LSP: A TE LSP whose path does not cross IGP area 123 boundaries. 125 Intra-AS TE LSP: A TE LSP whose path does not cross AS boundaries. 127 Inter-area TE LSP: A TE LSP whose path transits two or 128 more IGP areas. That is a TE-LSP that crosses at least one IGP 129 area boundary. 131 Inter-AS TE LSP: A TE LSP whose path transits two or more 132 ASes or sub-ASes (BGP confederations). That is a TE-LSP that 133 crosses at least one AS boundary. 135 IS-IS LSP: Link State PDU 137 LSR: Label Switching Router. 139 PCC: Path Computation Client: Any client application requesting a 140 path computation to be performed by a Path Computation Element. 142 PCE: Path Computation Element: An entity (component, application, 143 or network node) that is capable of computing a network path or 144 route based on a network graph, and applying computational 145 constraints. 147 PCEP: Path Computation Element communication Protocol. 149 TE LSP: Traffic Engineered Label Switched Path. 151 2. Introduction 153 [RFC4655] describes the motivations and architecture for a Path 154 Computation Element (PCE)-based path computation model for Multi 155 Protocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic 156 Engineered Label Switched Paths (TE-LSPs). The model allows for the 157 separation of the PCE from a PCC (also referred to as a non co- 158 located PCE) and allows for cooperation between PCEs. This relies on 159 a communication protocol between PCC and PCE, and between PCEs. The 160 requirements for such a communication protocol can be found in 161 [RFC4657] and the communication protocol is defined in [PCEP]. 163 The PCE architecture requires that a PCC be aware of the location of 164 one or more PCEs in its domain, and also potentially of some PCEs in 165 other domains, e.g. in case of inter-domain TE LSP computation. 167 A network may contain a large number of PCEs with potentially 168 distinct capabilities. In such a context it is highly desirable to 169 have a mechanism for automatic and dynamic PCE discovery, which 170 allows PCCs to automatically discover a set of PCEs, along with 171 additional information about each PCE that may be required for the 172 PCC to perform PCE selection. Additionally, it is valuable for a PCC 173 to dynamically detect new PCEs or any modification of the PCE 174 information. Detailed requirements for such a PCE discovery mechanism 175 are provided in [RFC4674]. 177 Moreover, it may also be useful to discover when a PCE experiences 178 processing congestion and when it exits such a state, in order for 179 the PCCs to take some appropriate actions (e.g. redirect their 180 requests to another PCE). Note that the PCE selection algorithm 181 applied by a PCC is out of the scope of this document. 183 When PCCs are LSRs participating in the IGP (OSPF, IS-IS), and PCEs 184 are either LSRs or servers also participating in the IGP, an 185 effective mechanism for PCE discovery within an IGP routing domain 186 consists of utilizing IGP advertisements. 188 This document defines IS-IS extensions to allow a PCE in an IS-IS 189 routing domain to advertise its location along with some information 190 useful to a PCC for PCE selection, so as to satisfy dynamic PCE 191 discovery requirements set forth in [RFC4674]. This document also 192 defines extensions allowing a PCE in an IS-IS routing domain to 193 advertise its processing congestion state. 195 Generic capability advertisement mechanisms for IS-IS are defined in 196 [IS-IS-CAP]. These allow a router to advertise its capabilities 197 within an IS-IS area or an entire IS-IS routing domain. This document 198 leverages this generic capability advertisement mechanism to fully 199 satisfy the aforementioned dynamic PCE discovery requirements. 201 This document defines a new sub-TLV (named the PCE Discovery (PCED) 202 to be carried within the IS-IS Router Capability TLV ([IS-IS-CAP]). 204 The PCE information advertised is detailed in section 3. Protocol 205 extensions and procedures are defined in section 4 and 5. 207 This document does not define any new IS-IS elements of procedure. 208 The procedures defined in [IS-IS-CAP] should be used. 210 The IS-IS extensions defined in this document allow for PCE discovery 211 within an IS-IS Routing domain. Solutions for PCE discovery across AS 212 boundaries are beyond the scope of this document, and for further 213 study. 215 This document defines a set of sub-TLVs that are nested within each 216 other. When the degree of nesting TLVs is 2 (a TLV is carried within 217 another TLV) the TLV carried within a TLV is called a sub-TLV. 218 Strictly speaking, when the degree of nesting is 3, a subsub-TLV is 219 carried within a sub-TLV that is itself carried within a TLV. For the 220 sake of terminology simplicity, we refer to sub-TLV, a TLV carried 221 within a TLV regardless of the degree of nesting. 223 3. Overview 225 3.1. PCE Information 227 The PCE information advertised via IS-IS falls into two categories: 228 PCE Discovery information and PCE Status information. 230 3.1.1. PCE Discovery Information 232 The PCE Discovery information is comprised of: 234 - The PCE location: an IPv4 and/or IPv6 address that is used to reach 235 the PCE. It is RECOMMENDED to use an address that is always 236 reachable; 238 - The PCE inter-domain functions: PCE path computation scope (i.e. 239 inter-area, inter-AS, inter-layer…); 241 - The PCE domain(s): set of one or more domain(s) into which the PCE 242 has visibility and can compute paths; 244 - The PCE neighbor domain(s): set of one or more neighbor domain(s) 245 towards which a PCE can compute paths; 247 - A set of communication capabilities (e.g. support for 248 request prioritization) and path computation specific capabilities 249 (e.g. supported constraints). 251 Optional elements to describe more complex capabilities may also be 252 advertised. 254 PCE Discovery information is by nature fairly static and does not 255 change with PCE activity. Changes in PCE Discovery information may 256 occur as a result of PCE configuration updates, PCE 257 deployment/activation, PCE deactivation/suppression, or PCE failure. 258 Hence, this information is not expected to change frequently. 260 3.1.2. PCE Status Information 262 The PCE Status is optional and can be used to report a PCE's 263 processing congestion state along with an estimated congestion 264 duration. This is a dynamic information, which may change with PCE 265 activity. 267 Procedures for a PCE to move from a processing congestion state to a 268 non-congestion state are beyond the scope of this document, but the 269 rate at which a PCE Status change is advertised MUST NOT impact by 270 any means the IGP scalability. Particular attention should be given 271 on procedures to avoid state oscillations. 273 3.2. Flooding scope 275 The flooding scope for PCE information advertised through IS-IS can 276 be limited to one or more IS-IS areas the PCE belongs to, or can be 277 extended across the entire IS-IS routing domain. 278 Note that some PCEs may belong to multiple areas, in which case the 279 flooding scope may comprise these areas. This could be the case for a 280 L1L2 router for instance advertising its PCE information within the 281 L2 area and/or a subset of its attached L1 area(s). 283 4. IS-IS extensions 285 4.1. The IS-IS PCED TLV 287 The IS-IS PCED TLV is made of a set of non ordered sub-TLVs. 289 The format of the IS-IS PCED TLV and its sub-TLVs is the identical to 290 the TLV format used by the Traffic Engineering Extensions to IS-IS 291 [RFC3784]. That is, the TLV is composed of 1 octet for the type, 1 292 octet specifying the TLV length, and a value field. The Length field 293 defines the length of the value portion in octets. 295 The IS-IS PCED TLV has the following format: 297 TYPE: To be assigned by IANA (suggested value = 5) 298 LENGTH: Variable 299 VALUE: set of sub-TLVs 301 Sub-TLVs types are under IANA control. 303 Currently six sub-TLVs are defined (suggested type values to be 304 assigned by IANA): 305 Sub-TLV type Length Name 306 1 variable PCE-ADDRESS sub-TLV 307 2 3 PATH-SCOPE sub-TLV 308 3 variable PCE-DOMAINS sub-TLV 309 4 variable PCE-NEIG-DOMAINS sub-TLV 310 5 variable PCE-CA-FLAGS sub-TLV 311 6 1 CONGESTION sub-TLV 313 The PCE-ADDRESS and PATH-SCOPE sub-TLVs MUST always be present within 314 the PCED TLV. 316 The PCE-DOMAINS and PCE-NEIG-DOMAINS sub-TLVs are optional. They may 317 be present in the PCED TLV to facilitate selection of inter-domain 318 PCEs. 320 The PCE-CAP-FLAGS sub-TLVs are optional and MAY be present in the 321 PCED TLV to facilitate the PCE selection process. 323 The CONGESTION sub-TLV is optional and MAY be present in the PCED 324 TLV, to indicate a PCE's processing congestion state. 326 Any non recognized sub-TLV MUST be silently ignored. 328 Additional sub-TLVs could be added in the future to advertise 329 additional PCE information. 331 The PCED TLV is carried within an IS-IS CAPABILITY TLV defined in 332 [IS-IS-CAP]. 334 4.1.1. PCE-ADDRESS sub-TLV 336 The PCE-ADDRESS sub-TLV specifies the IP address that can be 337 used to reach the PCE. It is RECOMMENDED to make use of an address 338 that is always reachable, provided the PCE is alive. 340 The PCE-ADDRESS sub-TLV is mandatory; it MUST be present within the 341 PCED TLV. It MAY appear twice, when the PCE has both an IPv4 and 342 IPv6 address. It MUST NOT appear more than once for the same address 343 type. 345 The PCE-ADDRESS sub-TLV has the following format: 347 TYPE: To be assigned by IANA (Suggested value =1) 348 LENGTH: 5 for IPv4 address and 17 for IPv6 address 349 VALUE: This comprises one octet indicating the address-type and 4 350 or 16 octets encoding the IPv4 or IPv6 address to be used 351 to reach the PCE 353 Address-type: 354 1 IPv4 355 2 IPv6 357 4.1.2. The PATH-SCOPE sub-TLV 359 The PATH-SCOPE sub-TLV indicates the PCE path computation scope, 360 which refers to the PCE's ability to compute or take part in the 361 computation of intra-area, inter-area, inter-AS, or inter-layer_TE 362 LSP(s). 364 The PATH-SCOPE sub-TLV is mandatory; it MUST be present within the 365 PCED TLV. There MUST be exactly one instance of the PATH-SCOPE sub- 366 TLV within each PCED TLV. 368 The PATH-SCOPE sub-TLV contains a set of bit flags indicating the 369 supported path scopes, and four fields indicating PCE preferences. 371 The PATH-SCOPE sub-TLV has the following format: 373 TYPE: To be assigned by IANA (Suggested value =2) 374 LENGTH: 3 375 VALUE: This comprises a one-byte flags field where flag 376 represents a supported path scope, followed by a 2-bytes 377 preferences field indicating PCE preferences. 379 Here is the structure of the bits flag: 381 +-+-+-+-+-+-+-+-+ 382 |0|1|2|3|4|5|Res| 383 +-+-+-+-+-+-+-+-+ 385 Bit Path Scope 387 0 L bit: Can compute intra-area path 388 1 R bit: Can act as PCE for inter-area TE LSP computation 389 2 Rd bit: Can act as a default PCE for inter-area TE LSP 390 computation 391 3 S bit: Can act as PCE for inter-AS TE LSP computation 392 4 Sd bit: Can act as a default PCE for inter-AS TE LSPs 393 computation 395 5 Y bit: Can compute or take part into the computation of 396 paths across layers 397 6-7 Reserved for future usage. 399 Here is the structure of the preferences field 401 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 402 |PrefL|PrefR|PrefS|PrefY| Res | 403 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 405 Res: Reserved for future usage. 407 Pref-L field: PCE's preference for intra-area TE LSPs computation. 409 Pref-R field: PCE's preference for inter-area TE LSPs computation. 411 Pref-S field: PCE's preference for inter-AS TE LSPs computation. 413 Pref-Y field: PCE's preference for inter-layer TE LSPs computation. 415 Res: Reserved for future usage. 417 The bits L, R, S, and Y bits are set when the PCE can act as a PCE 418 for intra-area, inter-area, inter-AS or inter-layer TE LSPs 419 computation respectively. These bits are non-exclusive. 421 When set the Rd bit indicates that the PCE can act as a default PCE 422 for inter-area TE LSP computation (that is the PCE can compute a path 423 towards any neighbor area). Similarly, when set, the Sd bit indicates 424 that the PCE can act as a default PCE for inter-AS TE LSP computation 425 (the PCE can compute a path towards any neighbor AS). 427 When the Rd bit is set, the PCE-NEIG-DOMAIN TLV (see 5.1.4) MUST NOT 428 contain any Area ID DOMAIN sub-TLVs. 430 Similarly, when the Sd bit is set, the PCE-NEIG-DOMAIN TLV MUST NOT 431 contain any AS-DOMAIN sub-TLVs. 433 When the R/S bit is cleared, the RD/Sd bit SHOULD be cleared and MUST 434 be ignored. 436 The PrefL, PrefR, PrefS and PrefY fields are each three bits long and 437 allow the PCE to specify a preference for each computation scope, 438 where 7 reflects the highest preference. Such preference can be used 439 for weighted load balancing of requests. An operator may decide to 440 configure a preference for each computation scope to each PCE so as 441 to balance the path computation load among them. The algorithms used 442 by a PCC to balance its path computation requests according to such 443 PCE preference are out of the scope of this document and is a matter 444 for local or network wide policy. The same or distinct preferences 445 may be used for each scopes. For instance an operator that wants a 446 PCE capable of both inter-area and inter-AS computation to be used 447 preferably for inter-AS computation may configure a PrefS higher than 448 the PrefR. 450 When the L bit, R bit, S bit or Y bit are cleared the PrefL, PrefR, 451 PrefS, PrefY fields SHOULD respectively be set to 0 and MUST be 452 ignored. 454 Both reserved fields SHOULD be set to zero on transmission and MUST 455 be ignored on receipt. 457 4.1.3. PCE-DOMAINS sub-TLV 459 The PCE-DOMAINS sub-TLV specifies the set of domains (areas and/or 460 ASes) where the PCE has topology visibility and through which the PCE 461 can compute paths. It contains a set of one or more sub-TLVs where 462 each sub-TLV identifies a domain. 464 The PCE-DOMAINS sub-TLV MAY be present when PCE domains cannot be 465 inferred by other IGP information, for instance when the PCE is 466 inter-domain capable (i.e. when the R bit or S bit is set) and the 467 flooding scope is the entire routing domain (see section 5 for a 468 discussion of how the flooding scope is set and interpreted). 470 The PCE-DOMAINS sub-TLV has the following format: 472 TYPE: To be assigned by IANA (Suggested value =3) 473 LENGTH: Variable 474 VALUE: This comprises a set of one or more DOMAIN sub-TLVs where 475 each DOMAIN sub-TLV identifies a domain where the PCE has 476 topology visibility and can compute paths. 478 Two DOMAIN sub-TLVs are defined 480 Sub-TLV type Length Name 481 1 Variable Area ID sub-TLV 482 2 4 AS number sub-TLV 484 At least one DOMAIN sub-TLV MUST be present in the PCE-DOMAINS sub- 485 TLV. Note than when the PCE visibility is an entire AS, the PCE- 486 DOMAINS sub-TLV MUST include exactly one AS number sub-TLV, and MUST 487 not contain an area-ID sub-TLV. 489 4.1.3.1. Area ID DOMAIN sub-TLV 491 This sub-TLV carries an IS-IS area ID. It has the following format 493 TYPE: 1 494 LENGTH: Variable 495 VALUE: This comprises a variable length IS-IS area ID. This is the 496 combination of an Initial Domain Part (IDP) and High Order 497 part of the Domain Specific part (HO-DSP) 499 4.1.3.2. AS Number DOMAIN sub-TLV 501 The AS Number sub-TLV carries an AS number. It has the following 502 format: 504 TYPE: 2 505 LENGTH: 4 506 VALUE: AS number identifying an AS. When coded in two 507 bytes (which is the current defined format as the 508 time of writing this document), the AS Number field 509 MUST have its left two bytes set to 0. 511 4.1.4. PCE-NEIG-DOMAINS sub-TLV 513 The PCE-NEIG-DOMAINS sub-TLV specifies the set of neighbour domains 514 (areas, ASes) toward which a PCE can compute paths. It means that the 515 PCE can compute or take part in the computation of inter-domain TE 516 LSPs whose path transits one of these domains. It contains a set of 517 one or more DOMAIN sub-TLVs where each DOMAIN sub-TLV identifies a 518 domain. 520 The PCE-NEIG-DOMAINS sub-TLV has the following format: 522 TYPE: To be assigned by IANA (Suggested value =4) 523 LENGTH: Variable 524 VALUE: This comprises a set of one or more area or/and AS DOMAIN sub- 525 TLVs where each sub-TLV identifies a neighbour domain toward 526 which a PCE can compute path. 528 The PCE-NEIG-DOMAINS sub-TLV MUST be present if the R bit is set and 529 the Rd bit is cleared, and/or, if the S bit is set and the Sd bit is 530 cleared. 532 The PCE-NEIG-DOMAINS sub-TLV MUST include at least one DOMAIN sub- 533 TLV. It MUST include at least one Area ID sub-TLV, if the R bit of 534 the PATH-SCOPE TLV is set and the Rd bit of the PATH-SCOPE TLV is 535 cleared. Similarly, it MUST include at least one AS number sub-TLV if 536 the S bit of the PATH-SCOPE TLV is set and the Sd bit of the PATH- 537 SCOPE TLV is cleared. 539 4.1.5. PCE-CAP-FLAGS sub-TLV 541 The PCE-CAP-FLAGs sub-TLV is an optional TLV used to indicate PCEP 542 related capabilities. It MAY be present within the PCED TLV. It MUST 543 NOT be present more than once. 545 The value field of the PCE-CAP-FLAGS sub-TLV is made up of an array 546 of units of 32 bit flags numbered from the most significant as bit 547 zero, where each bit represents one PCE capability. 549 The GENERAL-CAP sub-TLV has the following format: 551 TYPE: To be assigned by IANA (Suggested value =4) 552 LENGTH: Multiple of 4 553 VALUE: This contains an array of units of 32 bit flags numbered 554 from the most significant as bit zero, where each bit 555 represents one PCE capability. 557 IANA is requested to manage the space of the PCE Capability Flags 559 The following bits are to be assigned by IANA: 561 Bit Capabilities 563 0 Capability to handle GMPLS link constraints 564 1 Capability to compute bidirectional paths 565 2 Capability to compute PSC path 566 3 Capability to compute a TDM path 567 4 Capability to compute a LSC path 568 5 Capability to compute a FSC path 570 6 Capability to compute link/node/SRLG diverse paths 571 7 Capability to compute load-balanced paths 572 8 Capability to compute a set of paths in a 573 synchronized Manner 574 9 Support for multiple objective functions 575 10 Capability to handle path constraints (e.g. max hop count, 576 max path metric) 577 11 Support for Request prioritization. 578 12 Support for multiple requests within the same 579 request message. 581 13-31 Reserved for future assignments by IANA. 583 Reserved bits SHOULD be set to zero on transmission and MUST be 584 ignored on receipt. 586 4.1.6. The CONGESTION sub-TLV 588 The CONGESTION sub-TLV is used to indicate a PCE's experiences a 589 processing congestion state and may optionally include expected PCE 590 congestion duration. 591 The CONGESTION sub-TLV is optional, it MAY be carried within the PCED 592 TLV. It MUST NOT be present more than once. 594 The format of the CONGESTION sub-TLV is as follows: 596 TYPE: To be assigned by IANA (Suggested value =6) 597 LENGTH: 3 598 VALUE: This comprises a one-byte bit flags indicating the 599 congestion status, followed by a 2-bytes field indicating the 600 congestion duration. 602 Here is the TLV structure 604 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 605 |C| Reserved| Congestion Duration | 606 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 608 Value 609 -C bit: When set this indicates that the PCE is experiencing 610 congestion and cannot accept any new request. When 611 cleared this indicates that the PCE is not 612 experiencing congestion and can accept new requests. 614 -Congestion Duration: 2-bytes, the estimated PCE congestion 615 duration in seconds. 617 When C is set and the Congestion Duration field is equal to 0, this 618 means that the Congestion Duration is unknown. 619 When C is cleared the Congestion Duration SHOULD be set to 0 and MUST 620 be ignored. 622 5. Elements of Procedure 624 The PCED TLV is advertised within an IS-IS Router Capability TLV 625 defined in [IS-IS-CAP]. A such, elements of procedures are inherited 626 from those defined in [IS-IS-CAP]. 628 The flooding scope is controlled by the S flag in the IS-IS Router 629 Capability TLV (see [IS-IS-CAP]). When the scope of the PCED TLV is 630 area local it MUST be carried within an IS-IS CAPABILITY TLV having 631 the S bit cleared. When the scope of the PCED TLV is the entire IGP 632 domain, itMUST be carried within an IS-IS CAPABILITY TLV having the S 633 bit set. When only the L bit of the PATH-SCOPE sub-TLV is set, the 634 flooding scope MUST be local. 636 A PCE MUST originate a new IS-IS LSP whenever the content 637 of any of the PCED TLV changes or whenever required by the regular 638 IS-IS procedure. 640 When the PCE function is deactivated on a node, the node MUST 641 originate a new IS-IS LSP with no longer any PCED TLV. A PCC MUST be 642 able to detect that the PCED TLV has been removed from an IS-IS LSP. 644 The PCE address, i.e. the address indicated within the PCE ADDRESS 645 sub-TLV, MUST be distributed as part of IS-IS routing; this allows 646 speeding up the detection of a PCE failure. Note that when the PCE 647 address is no longer reachable, this means that the PCE node has 648 failed or has been torn down, or that there is no longer IP 649 connectivity to the PCE node. 651 The PCED TLV is OPTIONAL. When an IS-IS LSP does not contain any PCED 652 TLV, this means that the PCE information of that node is unknown. 654 A change in PCED information MUST not trigger any SPF computation at 655 a receiving router. 657 The way PCEs determine the information they advertise is out of the 658 scope of this document. Some information may be configured (e.g., 659 address, preferences, scope) and other information may be 660 automatically determined by the PCE (e.g. areas of visibility). 662 5.1.1. CONGESTION sub-TLV specific procedures 664 When a PCE enters into a processing congestion state, the conditions 665 of which are implementation dependent, it MAY originate a new IS-IS 666 LSP with a CONGESTION sub-TLV with the C bit set and optionally a 667 non-null expected congestion duration. 669 When a PCE exists from the processing congestion state, the 670 conditions of which are implementation dependent, two cases are 671 considered: 672 - If the congestion duration in the previously originated 673 CONGESTION sub-TLV was null, it SHOULD originate a CONGESTION sub-TLV 674 with the C bit cleared and a null congestion duration; 675 - If the congestion duration in the previously originated 676 CONGESTION sub-TLV was non null, it MAY originate a CONGESTION sub- 677 TLV with the C bit cleared. Note that in some particular cases it may 678 be desired to originate a PCES TLV with the C bit cleared if the 679 congestion duration was over estimated. 681 The congestion duration allows a reduction in the amount of IS-IS 682 flooding, as only uncongested-to-congested state transitions need 683 advertised. 685 A PCE implementation SHOULD support an appropriate dampening 686 algorithm so as to dampen IS-IS flooding in order to not impact the 687 IS-IS scalability. It is RECOMMENDED to introduce some hysteresis for 688 congestion state transition, so as to avoid state oscillations that 689 may impact IS-IS performance. For instance two thresholds MAY be 690 configured: a resource congestion upper-threshold and a resource 691 congestion lower-threshold. An LSR enters the congested state when 692 the CPU load reaches the upper threshold and leaves the congested 693 state when the CPU load goes under the lower threshold. 695 Upon receipt of an updated CONGESTION sub-TLV a PCC should take 696 appropriate actions. In particular, the PCC SHOULD stop sending 697 requests to a congested PCE, and SHOULD gradually start sending again 698 requests to a PCE that is no longer congested 700 6. Backward compatibility 702 The PCED TLV defined in this document does not introduce any 703 interoperability issues. 705 An IS-IS router not supporting the PCED TLV will just silently ignore 706 the TLV as specified in [IS-IS-CAP]. 708 7. IANA considerations 710 7.1. IS-IS sub-TLV 712 Once a registry for the IS-IS Router Capability TLV defined in 713 [IS-IS-CAP] will have been assigned, IANA will assign a new 714 TLV code-point for the PCED TLV carried within the Router Capability 715 TLV. 717 Value Sub-TLV References 718 ----- -------- ---------- 719 5 PCED TLV (this document) 721 7.2. PCED sub-TLVs registry 723 The PCED TLV referenced above is constructed from sub-TLVs. Each sub- 724 TLV includes a 8-bit type identifier. 726 The IANA is requested to create a new registry and manage TLV type 727 identifiers as follows: 729 - TLV Type 730 - TLV Name 731 - Reference 733 This document defines five TLVs as follows (suggested values): 735 Value TLV name References 736 ----- -------- ---------- 737 1 PCE-ADDRESS This document 738 2 PATH-SCOPE This document 739 3 PCE-DOMAINS This document 740 4 PCE-NEIG-DOMAINS This document 741 5 PCE-CAP-FLAGS This document 742 6 CONGESTION This document 744 New TLV type values may be allocated only by an IETF Consensus 745 action. 747 7.3. PCE Capability Flags registry 749 This document provides new capability bit flags, which are present 750 in the PCE-CAP-FLAGS TLV referenced in section 4.1.5. 752 The IANA is requested to create a new registry and to manage the 753 space of PCE capability bit flags numbering them in the usual IETF 754 notation starting at zero, and continuing at least through 31, with 755 the most significant bit as bit zero. 757 The same registry is defined for OSPF based PCE discovery [PCED-OSPF]. 758 A single registry must be defined for both protocols. 760 New bit numbers may be allocated only by an IETF Consensus action. 762 Each bit should be tracked with the following qualities: 764 - Bit number 765 - Defining RFC 766 - Capability Description 768 Several bits are defined in this document. Here are the suggested 769 values: 771 Bit Capability Description 773 0 GMPLS link constraints 774 1 Bidirectional paths 775 2 PSC paths 776 3 TDM paths 777 4 LSC paths 778 5 FSC paths 779 6 Diverse paths 780 7 Load-balanced paths 781 8 Synchronized computation 782 9 Multiple objective functions 783 10 Additive path constraints (e.g. max hop count) 784 11 Request prioritization 785 12 Multiple requests per message 787 8. Security Considerations 789 This document defines IS-IS extensions for PCE discovery within an 790 administrative domain. Hence the security of the PCE discovery relies 791 on the security of IS-IS. 793 Mechanisms defined to ensure authenticity and integrity of IS-IS LSPs 794 [RFC3567], and their TLVs, can be used to secure the PCED TLV as well. 796 IS-IS provides no mechanism for protecting the privacy of LSAs, and 797 in particular the privacy PCE discovery information. 799 9. Manageability Considerations 801 Manageability considerations for PCE Discovery are addressed in 802 section 4.10 of [RFC4674]. 804 9.1. Control of Policy and Functions 806 Requirements on the configuration of PCE discovery parameters on PCCs 807 and PCEs are discussed in section 4.10.1 of [RFC4674]. 809 Particularly, a PCE implementation SHOULD allow configuring the 810 following parameters on the PCE: 811 -The PCE IPv4/IPv6 address(es) (see section 4.1.1) 812 -The PCE Scope, including the inter-domain functions (inter- 813 area, inter-AS, inter-layer), the preferences, and whether the 814 PCE can act as default PCE (see section 4.1.2) 815 -The PCE domains (see section 4.1.3) 816 -The PCE neighbour domains (see section 4.1.4) 817 -The PCE capabilities (see section 4.1.5) 819 9.2. Information and Data Model 821 A MIB module for PCE Discovery is defined in [PCED-MIB]. 823 9.3. Liveness Detection and Monitoring 825 PCE Discovery Protocol liveness detection relies upon OSPF liveness 826 detection. IS-IS already includes a liveness detection mechanism 827 (Hello PDUs), and PCE discovery does not require additional 828 capabilities. 830 Procedures defined in section 5 allow a PCC detecting when a PCE has 831 been deactivated, or is no longer reachable. 833 9.4. Verify Correct Operations 835 The correlation of information advertised against information 836 received can be achieved by comparing the PCED information in the PCC 837 and in the PCE, which is stored in the PCED MIB [PCED-MIB]. The 838 number of dropped, corrupt, and rejected information elements are 839 stored in the PCED MIB. 841 9.5. Requirements on Other Protocols and Functional Components 843 The IS-IS extensions defined in this documents does not imply any 844 requirement on other protocols. 846 9.6. Impact on network operations 848 Frequent changes in PCE information, and particularly in PCE 849 congestion information, may have a significant impact on IS-IS and 850 might destabilize the operation of the network by causing the PCCs to 851 swap between PCEs. 853 As discussed in section 5, a PCE implementation SHOULD support an 854 appropriate dampening algorithm so as to dampen IS-IS flooding in 855 order to not impact the IS-IS scalability. 857 Also, as discussed in section 4.10.4 of [RFC4674], it MUST be 858 possible to apply at least the following controls: 860 - Configurable limit on the rate of announcement of changed 861 parameters at a PCE. 862 - Control of the impact on PCCs such as through discovery messages 863 rate-limiting. 864 - Configurable control of triggers that cause a PCC to swap to 865 another PCE. 867 10. Acknowledgments 869 We would like to thank Lucy Wong and Adrian Farrel for their useful 870 comments and suggestions. 872 11. References 874 11.1. Normative references 876 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 877 Requirement Levels", BCP 14, RFC 2119, March 1997. 879 [RFC3784] Li, T., Smit, H., "IS-IS extensions for Traffic 880 Engineering", RFC 3784, June 2004. 882 [IS-IS-CAP] Vasseur, J.P. et al., "IS-IS extensions for advertising 883 router information", draft-ietf-isis-caps, work in progress. 885 [RFC4655] Farrel, A., Vasseur, J.P., Ash, J., "Path Computation 886 Element (PCE)-based Architecture", RFC4655, august 2006. 888 [RFC4674] Le Roux, J.L., et al. "Requirements for PCE discovery", 889 RFC4674, October 2006. 891 [RFC4205] Kompella, Rekhter, " IS-IS Extensions in Support of 892 Generalized Multi-Protocol Label Switching (GMPLS)", RFC4205, October 893 2005. 895 [RFC3567] Li, T. and R. Atkinson, "Intermediate System to 896 Intermediate System (IS-IS) Cryptographic Authentication", RFC 3567, 897 July 2003. 899 11.2. Informative references 901 [RFC4657] Ash, J., Le Roux, J.L., " PCE Communication Protocol 902 Generic Requirements", RFC4657, September 2006. 904 [PCEP] Vasseur, Le Roux, et al., “Path Computation Element (PCE) 905 communication Protocol (PCEP) - Version 1”, draft-ietf-pce-pcep, work 906 in progress. 908 [PCED-MIB] Stephan, E., "Definitions of Managed Objects for Path 909 Computation Element Discovery", draft-ietf-pce-disc-mib-00, work in 910 progress. 912 [PCED-OSPF] Le Roux, Vasseur, "OSPF protocol extensions for Path 913 Computation Element (PCE) Discovery", draft-ietf-pce-disco-proto- 914 ospf, work in progress. 916 12. Editors' Addresses: 918 Jean-Louis Le Roux (Editor) 919 France Telecom 920 2, avenue Pierre-Marzin 921 22307 Lannion Cedex 922 FRANCE 923 Email: jeanlouis.leroux@orange-ftgroup.com 925 Jean-Philippe Vasseur (Editor) 926 Cisco Systems, Inc. 927 1414 Massachusetts avenue 928 Boxborough , MA - 01719 929 USA 930 Email: jpv@cisco.com 932 13. Contributors' Adresses: 934 Yuichi Ikejiri 935 NTT Communications Corporation 936 1-1-6, Uchisaiwai-cho, Chiyoda-ku 937 Tokyo 100-8019 938 JAPAN 939 Email: y.ikejiri@ntt.com 941 Raymond Zhang 942 BT Infonet 943 2160 E. Grand Ave. 944 El Segundo, CA 90025 945 USA 946 Email: raymond_zhang@bt-infonet.com 948 14. Intellectual Property Statement 950 The IETF takes no position regarding the validity or scope of any 951 Intellectual Property Rights or other rights that might be claimed to 952 pertain to the implementation or use of the technology described in 953 this document or the extent to which any license under such rights 954 might or might not be available; nor does it represent that it has 955 made any independent effort to identify any such rights. Information 956 on the procedures with respect to rights in RFC documents can be 957 found in BCP 78 and BCP 79. 959 Copies of IPR disclosures made to the IETF Secretariat and any 960 assurances of licenses to be made available, or the result of an 961 attempt made to obtain a general license or permission for the use of 962 such proprietary rights by implementers or users of this 963 specification can be obtained from the IETF on-line IPR repository at 964 http://www.ietf.org/ipr. 966 The IETF invites any interested party to bring to its attention any 967 copyrights, patents or patent applications, or other proprietary 968 rights that may cover technology that may be required to implement 969 this standard. Please address the information to the IETF at 970 ietf-ipr@ietf.org. 972 Disclaimer of Validity 974 This document and the information contained herein are provided 975 on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE 976 REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE 977 IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL 978 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY 979 WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE 980 ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS 981 FOR A PARTICULAR PURPOSE. 983 Copyright Statement 985 Copyright (C) The IETF Trust (2007). This document is subject to the 986 rights, licenses and restrictions contained in BCP 78, and except as 987 set forth therein, the authors retain all their rights.