Network Working Group J.L. Le Roux (Editor) Internet Draft France Telecom Category: Standard Track Expires:JuneAugust 2007 J.P. Vasseur (Editor) Cisco System Inc. Yuichi Ikejiri NTT Communications Raymond Zhang BT InfonetDecember 2006February 2007 IS-IS protocol extensions for Path Computation Element (PCE) Discoverydraft-ietf-pce-disco-proto-isis-01.txtdraft-ietf-pce-disco-proto-isis-02.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract There are various circumstances where it is highly desirable for a Path Computation Client (PCC) to be able to dynamically and automatically discover a set of Path ComputationElement(s)Elements (PCE), along with some of information that can be used for PCE selection. When the PCE is a LabelSwitchSwitching Router (LSR) participatingtoin theIGP,Interior Gateway Protocol (IGP), or even a server participating passivelytoin the IGP, a simple and efficient wayfor PCE discoveryto discover PCEs consists ofrelying onusing IGP flooding. For that purpose this document definesIS-ISextensions to the Intermediate System to Intermediate System (IS-IS) routing protocol for the advertisement of PCE Discovery information within an IS-IS area or within the entire IS-IS routing domain. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119. Table of Contents 1.Note (to be removed before publication).....................3 2.Terminology.................................................33.2. Introduction................................................44.3. Overview....................................................54.1.3.1. PCE Information.............................................54.1.1.3.1.1. PCE Discovery Information...................................54.1.2.3.1.2. PCE Status Information......................................64.2.3.2. Flooding scope..............................................65.4. IS-IS extensions............................................65.1.4.1. The IS-IS PCEDTLV format.......................................6 5.1.1.TLV..........................................6 4.1.1. PCE-ADDRESS sub-TLV.........................................75.1.2.4.1.2. The PATH-SCOPE sub-TLV......................................85.1.3.4.1.3. PCE-DOMAINS sub-TLV........................................105.1.3.1.4.1.3.1. Area ID DOMAIN sub-TLV...................................105.1.3.2.4.1.3.2. AS Number DOMAINsub-TLV.................................10 5.1.4. PCE-DEST-DOMAINSsub-TLV.................................11 4.1.4. PCE-NEIG-DOMAINS sub-TLV...................................115.1.5. GENERAL-CAP sub-TLV........................................11 5.1.6. The PATH-COMP-CAP sub-TLV..................................12 5.1.6.1. Objective Functions sub-TLV..............................13 5.1.6.2. Opaque Objective Function sub-TLV........................14 5.1.6.3. Switch Caps sub-TLV......................................14 5.2. The IS-IS PCES sub-TLV.....................................15 5.2.1.4.1.5. PCE-CAP-FLAGS sub-TLV......................................11 4.1.6. The CONGESTIONsub-TLV.....................................15 6.sub-TLV.....................................12 5. Elements ofProcedure......................................16 6.1.1. PCES TLVProcedure......................................13 5.1.1. CONGESTION sub-TLV specificprocedure................................17 7.procedures.....................14 6. Backwardcompatibility.....................................17 8.compatibility.....................................15 7. IANAconsiderations........................................18 8.1.considerations........................................15 7.1. IS-ISsub-TLVs.............................................18 8.2.sub-TLV..............................................15 7.2. PCED sub-TLVs registry.....................................15 7.3. PCE Capabilitybits............................................19 9.Flags registry..............................16 8. SecurityConsiderations....................................19 10.Considerations....................................16 9. ManageabilityConsiderations...............................20Considerations...............................17 9.1. Control of Policy and Functions............................17 9.2. Information and Data Model.................................17 9.3. Liveness Detection and Monitoring..........................17 9.4. Verify Correct Operations..................................17 9.5. Requirements on Other Protocols and Functional Components...............................................17 9.6. Impact on network operations...............................18 10. Acknowledgments............................................18 11.Acknowledgments............................................20 12. References.................................................20 12.1.References.................................................18 11.1. Normativereferences.......................................20 12.2.references.......................................18 11.2. Informativereferences.....................................21 13.references.....................................19 12. Editors'Addresses:........................................21 14.Addresses:........................................19 13. Contributors'Adresses:....................................21 15.Adresses:....................................19 14. Intellectual PropertyStatement............................21Statement............................20 1.Note (to be removed before publication) This document specifies sub-TLVs to be carried within the IS-IS Router Capability TLV ([IS-IS-CAP]). Because this document does not introduce any new IS-IS element of procedure it will be discussed within the PCE Working Group with a review of the IS-IS Working Group. 2.Terminology Terminology used in this document ABR: IGP Area Border Router (L1L2 router). AS: Autonomous System. Domain: any collection of network elements within a common sphere of address management or path computational responsibility. Examples of domains include IGP areas and Autonomous Systems. IGP: Interior Gateway Protocol. Either of the two routing protocols Open Shortest Path First (OSPF) or Intermediate System to Intermediate system (IS-IS). Intra-area TE LSP: A TE LSP whose path does not cross IGP area boundaries. Intra-AS TE LSP: A TE LSP whose path does not cross AS boundaries. Inter-area TE LSP: A TE LSP whose path transitsthroughtwo or more IGP areas. That is a TE-LSP that crosses at least one IGP area boundary. Inter-AS TE LSP: A TE LSP whose path transitsthroughtwo or more ASes or sub-ASes (BGP confederations). That is a TE-LSP that crosses at least one AS boundary. IS-IS LSP: Link State PDU LSR: LabelSwitchSwitching Router. PCC: Path Computation Client:anyAny client application requesting a path computation to be performed by a Path Computation Element. PCE: Path Computation Element:anAn entity (component, application, or network node) that is capable of computing a network path or route based on a network graph, and applying computational constraints. PCEP: Path Computation Element communication Protocol. TE LSP: Traffic Engineered Label Switched Path.3.2. Introduction [RFC4655] describes the motivations and architecture for a Path Computation Element (PCE)-based path computation model for Multi Protocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineered Label Switched Paths (TE-LSPs). The model allows for the separation of the PCE from a PCC (also referred to as a nonco-locatedco- located PCE) and allows for cooperation between PCEs. This relies on a communication protocol between PCC and PCE, and between PCEs. The requirements for such a communication protocol can be found in [RFC4657] and the communication protocol is defined in [PCEP]. The PCE architecturerequires, of course,requires that a PCC be aware of the location of one or more PCEs in its domain, and also potentially of some PCEs in other domains, e.g. in case of inter-domain TE LSP computation. A network maycomprisecontain a large number of PCEs with potentially distinct capabilities. In such a context it is highly desirable to have a mechanism for automatic and dynamic PCE discovery, which allows PCCs to automatically discover a set of PCEs, along with additional information about each PCE that may be required for the PCC to perform PCEselection, andselection. Additionally, it is valuable for a PCC to dynamically detect new PCEs or any modification of the PCE information. Detailed requirements for such a PCE discovery mechanism aredescribedprovided in [RFC4674]. Moreover, it may also be useful to discover when a PCE experiencessomeprocessing congestionstateand when it exits such a state, in order for the PCCs to take some appropriate actions (e.g. redirect their requests to another PCE). Note that the PCE selection algorithm applied by a PCC is out of the scope of this document. When PCCs are LSRs participatingtoin the IGP (OSPF, IS-IS), and PCEs are either LSRs oraservers also participatingtoin the IGP, anefficienteffective mechanism for PCE discovery within an IGP routing domain consists ofrelying onutilizing IGP advertisements. This document defines IS-IS extensionsallowingto allow a PCEparticipating to thein an IS-IS routing domain to advertise its location along with some information useful to a PCC for PCE selection, so as to satisfy dynamic PCE discovery requirements set forth in [RFC4674]. This document also defines extensions allowing a PCEparticipating to thein an IS-IS routing domain to advertise itspotentialprocessing congestion state. Generic capability advertisement mechanisms for IS-IShave beenare defined in[IS-IS- CAP] the purpose of which is to[IS-IS-CAP]. These allow a router to advertise itscapabilitycapabilities within an IS-IS area or an entire IS-IS routing domain.Such IS-IS extensionsThis document leverages this generic capability advertisement mechanism to fully satisfy the aforementioned dynamic PCE discovery requirements. This document definestwoa newsub-TLVssub-TLV (named the PCE Discovery (PCED)TLV and the PCE Status (PCES) TLV) for IS-IS,to be carried within the IS-IS Router Capability TLV ([IS-IS-CAP]). The PCE information advertised is detailed in section4.3. Protocol extensions and procedures are defined in section54 and6.5. This document does not define any new IS-ISelementelements ofprocedure but how theprocedure. The procedures defined in [IS-IS-CAP] should be used. TheroutingIS-IS extensions defined in this document allow for PCE discovery within an IS-IS Routing domain. Solutions for PCE discovery across AS boundaries are beyond the scope of this document, and for further study. This document defines a set of sub-TLVs that are nested within each other. When the degree of nesting TLVs is 2 (a TLV is carried within another TLV) the TLV carried within a TLV is called a sub-TLV. Strictly speaking, when the degree of nesting is 3, a subsub-TLV is carried within a sub-TLV that is itself carried within a TLV. For the sake of terminology simplicity, we refer to sub-TLV, a TLV carried within a TLV regardless of the degree of nesting.4.3. Overview4.1.3.1. PCE Information The PCE information advertised via IS-IS falls into two categories: PCE DiscoveryInformationinformation and PCE Status information.4.1.1.3.1.1. PCE Discovery Information The PCE Discovery information is comprised of: - The PCE location: an IPv4 and/or IPv6 address thatmust beis used to reach the PCE. It is RECOMMENDED to useaddressesan address that is always reachable; - The PCE inter-domain functions: PCE path computation scope (i.e. inter-area, inter-AS, inter-layer…); - The PCE domain(s): set of one or more domain(s)whereinto which the PCE has visibility and can compute paths; - The PCEDestinationneighbor domain(s): set of one or moredestinationneighbor domain(s) towards which a PCE can compute paths; - A set ofgeneral PCEPcommunication capabilities (e.g. support for request prioritization) and path computation specific capabilities (e.g. supportedconstraints, supported objective functions).constraints). Optional elements to describe more complex capabilities may also be advertised. PCE Discovery information is by nature fairly static and does not change with PCE activity. Changes in PCE Discovery information may occur as a result of PCE configuration updates, PCE deployment/activation, PCEdeactivation/suppressiondeactivation/suppression, or PCE failure. Hence, this information is not expected to change frequently.4.1.2.3.1.2. PCE Status Information The PCE Status is optional and can be used to report aPCEPCE's processingcongestedcongestion state along with an estimated congestion duration. This is a dynamic information, which may change with PCE activity. Procedures for a PCE to move from a processingcongestedcongestion state to anon-congestednon-congestion state are beyond the scope of this document, but the rate at which a PCE Status change is advertised MUSTnotNOT impact by anymeanmeans the IGP scalability. Particular attention should be given on procedures to avoid state oscillations.4.2.3.2. Flooding scope The flooding scope for PCEDiscovery Informationinformation advertised through IS-IS can be limited to one or more IS-IS areas the PCE belongstoto, or can be extended across the entire IS-IS routing domain. Note that some PCEs may belong to multiple areas, in which case the flooding scope may comprise these areas. This could be the caseoffor a L1L2 router for instance advertising its PCE information within the L2levelarea and/or a subset of its attached L1 area(s).5.4. IS-IS extensions5.1.4.1. The IS-IS PCED TLVformatThe IS-IS PCED TLV is made ofvariousa set of non ordered sub-TLVs. The format of the IS-IS PCED TLV and its sub-TLVs is thesame asidentical to the TLV format used by the Traffic Engineering Extensions to IS-IS [RFC3784]. That is, the TLV is composed of 1 octet for the type, 1 octet specifying the TLVlengthlength, and a value field. The Length field defines the length of the value portion in octets. The IS-IS PCED TLV has the following format: TYPE: To be assigned by IANA (suggested value = 5) LENGTH: Variable VALUE: set of sub-TLVs Sub-TLVs types are under IANA control. Currentlyfivesix sub-TLVs are defined (suggested type values to be assigned by IANA): Sub-TLV type Length Name 1 variable PCE-ADDRESS sub-TLV 2 3 PATH-SCOPE sub-TLV 3 variable PCE-DOMAINS sub-TLV 4 variablePCE-DEST-DOMAINSPCE-NEIG-DOMAINS sub-TLV 5 variableGENERAL-CAPPCE-CA-FLAGS sub-TLV 6variable PATH-COMP-CAP1 CONGESTION sub-TLV The PCE-ADDRESS and PATH-SCOPE sub-TLVs MUST always be present within the PCED TLV. The PCE-DOMAINS andPCE-DEST-DOMAINSPCE-NEIG-DOMAINS sub-TLVs are optional. They may be present in the PCED TLV to facilitate selection of inter-domain PCEs. TheGENERAL-CAP and PATH-COMP-CAPPCE-CAP-FLAGS sub-TLVs are optional and MAY be present in the PCED TLV to facilitate the PCE selection process. The CONGESTION sub-TLV is optional and MAY be present in the PCED TLV, to indicate a PCE's processing congestion state. Any non recognized sub-TLV MUST be silently ignored. Additional sub-TLVs could be added in the future to advertise additional PCE information. The PCED TLV is carried within an IS-IS CAPABILITY TLV defined in[IS-IS-CAP], whose S bit is determined by the desired flooding scope. 5.1.1.[IS-IS-CAP]. 4.1.1. PCE-ADDRESS sub-TLV The PCE-ADDRESS sub-TLV specifies the IP address thatMUSTcan be used to reach the PCE. It is RECOMMENDED to make use of an address that is always reachable, provided the PCE is alive. The PCE-ADDRESS sub-TLV is mandatory; it MUST be present within the PCED TLV. It MAY appear twice, when the PCE has both an IPv4 and IPv6 address. It MUST NOT appear more than once for the same address type. The PCE-ADDRESS sub-TLV has the following format: TYPE: To be assigned by IANA (Suggested value =1) LENGTH: 5 for IPv4 address and 17 for IPv6 address VALUE: This comprises one octet indicating the address-type and 4 or 16 octets encoding the IPv4 or IPv6 address to be used to reach the PCE Address-type: 1 IPv4 2 IPv65.1.2.4.1.2. The PATH-SCOPE sub-TLV The PATH-SCOPE sub-TLV indicates the PCE path computationscopescope, which refers to thePCEPCE's ability to compute or take partintoin the computation of intra-area, inter-area,inter-ASinter-AS, or inter-layer_TE LSP(s). The PATH-SCOPE sub-TLV is mandatory; it MUST be present within the PCED TLV. There MUST be exactly one instance of the PATH-SCOPE sub- TLV within each PCED TLV. The PATH-SCOPE sub-TLV contains a set of bit flags indicating the supported pathscopes (intra-area, inter-area, inter-AS, inter-layer)scopes, and four fields indicating PCE preferences. The PATH-SCOPE sub-TLV has the following format: TYPE: To be assigned by IANA (Suggested value =2) LENGTH: 3 VALUE: This comprises a one-byteflag of bitsflags field whereeach bitflag represents a supported path scope, followed by a 2-bytes preferences field indicating PCE preferences. Here is the structure of the bits flag: +-+-+-+-+-+-+-+-+ |0|1|2|3|4|5|Res| +-+-+-+-+-+-+-+-+ Bit Path Scope 0 L bit: Can compute intra-area path 1 R bit: Can act as PCE for inter-area TELSPsLSP computation 2 Rd bit: Can act as a default PCE for inter-area TELSPsLSP computation 3 S bit: Can act as PCE for inter-AS TELSPsLSP computation 4 Sd bit: Can act as a default PCE for inter-AS TE LSPs computation 5 Y bit: Can compute or take part into the computation of paths across layers 6-7 Reserved for future usage. Here is the structure of the preferences field +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PrefL|PrefR|PrefS|PrefY| Res | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Res: Reserved for future usage. Pref-L field: PCE's preference for intra-area TE LSPs computation. Pref-R field:PCE’sPCE's preference for inter-area TE LSPs computation. Pref-S field:PCE’sPCE's preference for inter-AS TE LSPs computation. Pref-Y field: PCE's preference for inter-layer TE LSPs computation. Res: Reserved for future usage. The bits L, R,SS, and Y bits are set when the PCE can act as a PCE for intra-area, inter-area, inter-ASandor inter-layer TE LSPs computation respectively. These bits arenon mutually exclusive.non-exclusive. When set the Rd bit indicates that the PCE can act as a default PCE for inter-area TELSPsLSP computation(the(that is the PCE can compute a pathfortowards anydestinationneighbor area). Similarly, whensetset, the Sd bit indicates that the PCE can act as a default PCE for inter-AS TELSPsLSP computation (the PCE can compute a pathfortowards anydestinationneighbor AS). When the Rd bit is set, thePCE-DEST-DOMAINPCE-NEIG-DOMAIN TLV (see 5.1.4)does notMUST NOT contain any Area ID DOMAINsub-TLV.sub-TLVs. Similarly, when the Sd bit is set, thePCE-DEST-DOMAINPCE-NEIG-DOMAIN TLVdoes notMUST NOT contain any AS-DOMAINsub-TLV.sub-TLVs. When the R/S bit is cleared, the RD/Sd bit SHOULD be cleared and MUST be ignored. The PrefL, PrefR, PrefS and PrefY fields are3-biteach three bits long and allow the PCE to specify a preference for each computation scope, where 7 reflects the highest preference. Such preference can be used for weighted load balancing of requests. An operator may decide to configure a preference for each computation scope to each PCE so as to balance the path computation load amongthem, with respect to their respective CPU capacity.them. The algorithms used by a PCC to balance its path computation requests according to suchPCE’sPCE preference are out of the scope of thisdocument. Samedocument and is a matter for local or network wide policy. The same or distinct preferences may be used fordifferenteach scopes. For instance an operator that wants a PCE capable of both inter-area and inter-AS computation to be used preferably for inter-AS computation may configure a PrefS higher than the PrefR. When thePrefL, PrefR, PRefS or PrefY is cleared, this indicates an absence of preference. When theL bit, R bit, S bit or Y bit are cleared the PrefL, PrefR, PrefS, PrefY fieldsMUSTSHOULD respectively be set to0. 5.1.3.0 and MUST be ignored. Both reserved fields SHOULD be set to zero on transmission and MUST be ignored on receipt. 4.1.3. PCE-DOMAINS sub-TLV The PCE-DOMAINS sub-TLV specifies the set of domains (areasor AS)and/or ASes) where the PCE has topology visibility and through which the PCE can compute paths. It contains a set of one or more sub-TLVs where each sub-TLV identifies a domain. The PCE-DOMAINS sub-TLVMUSTMAY be present when PCE domains cannot be inferred by other IGP information, for instance when the PCE is inter-domain capable (i.e. when the R bit or S bit is set) and the flooding scope is the entire routingdomain.domain (see section 5 for a discussion of how the flooding scope is set and interpreted). The PCE-DOMAINS sub-TLV has the following format: TYPE: To be assigned by IANA (Suggested value=2)=3) LENGTH: Variable VALUE: This comprises a set of one or more DOMAIN sub-TLVs where each DOMAIN sub-TLV identifies a domain where the PCE has topology visibility and can computepaths DOMAIN sub-TLVs types are under IANA control. Currently twopaths. Two DOMAIN sub-TLVs are defined(suggested type values to be assigned by IANA):Sub-TLV type Length Name 1variableVariable Area ID sub-TLV 2 4 AS number sub-TLV 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 MUSTuniquelyinclude exactly one AS number sub-TLV, and MUST not contain an area-ID sub-TLV.5.1.3.1.4.1.3.1. Area ID DOMAIN sub-TLV This sub-TLV carries an IS-IS area ID. It has the following format TYPE:To be assigned by IANA (Suggested value =1)1 LENGTH: Variable VALUE: This comprises a variable length IS-IS area ID. This is the combination of an Initial Domain Part (IDP) and High Order part of the Domain Specific part (HO-DSP)5.1.3.2.4.1.3.2. AS Number DOMAIN sub-TLV The AS Number sub-TLV carries an AS number. It has the following format: TYPE:To be assigned by IANA (Suggested value =2)2 LENGTH: 4 VALUE: AS number identifying an AS. When codedonin two bytes (which is the current defined format as the time of writing this document), the AS Number field MUST have its left two bytes set to 0.5.1.4. PCE-DEST-DOMAINS4.1.4. PCE-NEIG-DOMAINS sub-TLV ThePCE-DEST-DOMAINSPCE-NEIG-DOMAINS sub-TLV specifies the set ofdestinationneighbour domains (areas,AS)ASes) toward which a PCE can compute paths. It means that the PCE can compute or take part in the computation of inter-domain TE LSPs whosedestinations are located withinpath transits one of these domains. It contains a set of one or more DOMAIN sub-TLVs where each DOMAINsub- TLVsub-TLV identifies a domain. ThePCE-DEST-DOMAINSPCE-NEIG-DOMAINS sub-TLV has the following format: TYPE: To be assigned by IANA (Suggested value=3)=4) LENGTH: Variable VALUE: This comprises a set of one or more area or/and AS DOMAIN sub- TLVs where each sub-TLV identifies adestinationneighbour domain toward which a PCE can compute path. ThePCE-DEST-DOMAINSPCE-NEIG-DOMAINS sub-TLV MUST be present if the R bit is set and the Rd bit is cleared, and/or, if the S bit is set and the Sd bit is cleared. ThePCE-DEST-DOMAINSPCE-NEIG-DOMAINS sub-TLV MUST include at least one DOMAIN sub- TLV. It MUST include at least oneareaArea ID sub-TLV, if the R bit of the PATH-SCOPE TLV is set and the Rd bit of the PATH-SCOPE TLV is cleared. Similarly, it MUST include at least one AS number sub-TLV if the S bit of the PATH-SCOPE TLV is set and the Sd bit of the PATH- SCOPE TLV is cleared.5.1.5. GENERAL-CAP4.1.5. PCE-CAP-FLAGS sub-TLV TheGENERAL-CAPPCE-CAP-FLAGs sub-TLV is an optional TLV used to indicate PCEP related capabilities. Itcarries a 32-bit flag, where each bit corresponds to a general PCE capability. ItMAYalso include optional sub-TLVs to encode more complex capabilities. The GENERAL-CAP sub-TLV has the following format: TYPE: Tobeassigned by IANA (Suggested value =4) LENGTH: Variable VALUE: This comprises a 32-bit General Capabilities flag where each bit corresponds to a general PCE capability, and optional sub-TLVs that maypresent within the PCED TLV. It MUST NOT bedefined to specifypresent morecomplex capabilities. Currently no sub-TLVs are defined.than once. Thefollowing bits in the General Capabilities 32-bit flag are to be assigned by IANA: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P|M| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Bit Capabilities 0 P bit: Support for Request prioritization. 1 M bit: Support for multiple requests withinvalue field of thesame request message. 2-31 Reserved for future assignments by IANA. 5.1.6. The PATH-COMP-CAP sub-TLV The PATH-COMP-CAPPCE-CAP-FLAGS sub-TLV is made up of anoptional TLV used to indicate path computation specific capabilitiesarray ofa PCE. It comprises a 32-bit flag,units of 32 bit flags numbered from the most significant as bit zero, where each bitcorresponds to a path computationrepresents one PCE capability.It MAY also include optional sub-TLVs to encode more complex capabilities.ThePATH-COMP-CAPGENERAL-CAP sub-TLV has the following format: TYPE: To be assigned by IANA(suggested(Suggested value= 5)=4) LENGTH:VariableMultiple of 4 VALUE: Thiscomprises onecontains an array of units of 32 bitPath Computation Capabilities Flag,flags numbered from the most significant as bit zero, where each bitcorresponds to a path computation capability, and optional sub-TLVs that may be definedrepresents one PCE capability. IANA is requested tospecify more complex capabilities. Three optional sub-TLVs are currently defined.manage the space of the PCE Capability Flags The following bitsin the Path Computation Capabilities 32-bit Flagare to be assigned by IANA:0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |G|B|D|L|S|0|P| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Bit Capabilities 0G bit:Capability to handle GMPLS linkcontraintsconstraints 1B bit:Capability to compute bidirectional paths 2D bit:Capability to compute PSC path 3 Capability to compute a TDM path 4 Capability to compute a LSC path 5 Capability to compute a FSC path 6 Capability to compute link/node/SRLG diverse paths3 L bit:7 Capability to compute load-balanced paths4 S bit:8 Capability to compute a set of paths in a synchronized Manner5 O bit:9 Support for multiple objective functions6 P bit:10 Capability to handle path constraints (e.g. max hop count,metric bound) 7-31max path metric) 11 Support for Request prioritization. 12 Support for multiple requests within the same request message. 13-31 Reserved for future assignments by IANA.The G, B, D, L, S, O and PReserved bitsare not exclusive. Three optional sub-TLVs are currently defined for the PATH-COMP-CAP TLV: - The Objective Functions sub-TLV (type to be defined, suggested value =1) that carries a list of supported objective functions, where each objective function is identified by a 16 bit integer. - The Opaque Objective Function sub-TLV (type to be defined, suggested value =2) that allows the user to encode a specific objective function in any appropriate language. - The Switch Caps sub-TLV (type to be defined, suggested value =3) that carries a list of supported switching capabilities. This means that the PCE can compute paths for the listed switching capabilities. 5.1.6.1. Objective Functions sub-TLV The format of the Objective Functions sub-TLV is as follows: TYPE: To be defined by IANA (suggested value =1) LENGTH: Variable (N*2) VALUE: This comprises a set of one or more 16 bit function ids, where each function id identifies a supported objective functions. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | function 1 | function 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | function N | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Objectives functions and their identification will be defined in a separate document. The Objective Functions sub-TLV is optional. It MAY be present within the PATH-COMP-CAP TLV. When present it MUST be present only once in the PATH-COMP-CAP TLV. 5.1.6.2. Opaque Objective Function sub-TLV The format of the Opaque Objective Function sub-TLV is as follows: TYPE: To be defined by IANA (suggested value =2) LENGTH: Variable VALUE: This encodes a specific objective function in any appropriate language. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opaque objective function | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Opaque Objective function sub-TLV is optional. The PATH-COMP-CAP TLV MAY comprise 0, one or more Opaque Objective Functions. 5.1.6.3. Switch Caps sub-TLV The format of the Switch Caps sub-TLV is as follows: TYPE To be defined by IANA (suggested value =3) LENGTH Variable = N, where N is the number of supported switching capabilities VALUE This comprises a set of one or more 8-bit switching types, where each switching types identifies a supported switching capability. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SC type | SC type | SC type | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Switching type values are defined in [RFC4205]. The Switch Caps sub-TLV is optional. It MAY be present in the PATH-COMP- CAP TLV. When present it MUST be present only once in the PATH-COMP-CAP TLV. 5.2. The IS-IS PCES sub-TLV The IS-IS PCE Status TLV (PCES sub-TLV) carries information related to PCE processing congestion state. The PCES sub-TLV is carried within an IS-IS Capability TLV which is defined in [IS-IS-CAP]. The IS-IS PCES sub-TLV has the following format: TYPE: ToSHOULD beassigned by IANA LENGTH: Variable VALUE:setof sub-TLVs Sub-TLVs types are under IANA control. Currently two sub-TLVs are defined (suggested type valuestobe assigned by IANA): Sub-TLV type Length Name 1 variable PCE-ADDRESS sub-TLV 2 3 CONGESTION sub-TLV There MUST be exactly one occurrence of the PCE-ADDRESS and CONGESTION sub-TLVs within a PCES sub-TLV. The PCE-ADDRESS sub-TLV is defined in section 5.1.1. It carries one of the PCE IP addresses and is used to identify the PCE experiencing a processing congestion state. This is required as the PCES and PCED TLVs may be carried in separate IS-IS Capability TLVs. A PCE implementation MUST use the same IP address for the PCE- ADDRESS sub-TLV carried within the PCED sub-TLVzero on transmission andthe PCE-ADDRESS sub-TLV carried within the PCES sub-TLV. Any non recognized sub-TLVMUST besilently ignored. Additional sub-TLVs could be added in the future to advertise additional congestion information. 5.2.1.ignored on receipt. 4.1.6. The CONGESTION sub-TLV The CONGESTION sub-TLV is used to indicatewhetheraPCEPCE's experiences a processing congestion stateor not along withand may optionallythe PCEinclude expected PCE congestion duration. The CONGESTION sub-TLV ismandatory. There MUSToptional, it MAY bea single instance of the CONGESTION sub-TLVcarried within thePCESPCED TLV. It MUST NOT be present more than once. The format of the CONGESTION sub-TLV is as follows: TYPE: To be assigned by IANA (Suggested value=2)=6) LENGTH: 3 VALUE: This comprises a one-byteflag of bitsbit flags indicating the congestion status, followed by a 2-bytes field indicating the congestion duration. Here is the TLV structure+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |C| Reserved| Congestion Duration |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Value -C bit: When set this indicates that the PCEexperiencesis experiencing congestion and cannot accept any new request. When cleared this indicates that the PCEdoesis notexperienceexperiencing congestion and can accept new requests. -Congestion Duration: 2-bytes, the estimated PCE congestion duration in seconds. When C is set and the Congestion Duration field is equal to 0, this means that the Congestion Duration is unknown. When C is cleared the Congestion DurationMUSTSHOULD be set to0. 6.0 and MUST be ignored. 5. Elements of Procedure The PCEDand PCESTLVare carriedis advertised within an IS-IS Router Capability TLV defined in [IS-IS-CAP].As PCES informationA such, elements of procedures are inherited from those defined in [IS-IS-CAP]. The flooding scope islikely to change more frequently thancontrolled by thePCED information, it is RECOMMENDED to carry PCES and PCED TLVsS flag inseparate IS-IS Capability TLVs, so as not to carry all PCED information each timethePCE status changes. AnIS-ISrouter MUST originate a new IS-IS LSP whenever the content of any of the PCED TLV or PCESRouter Capability TLVchanges or whenever required by the regular IS-IS procedure (LSP refresh).(see [IS-IS-CAP]). When the scope of the PCEDor PCESTLV is area local it MUST be carried within an IS-IS CAPABILITY TLV having the S bit cleared. When the scope of the PCEDor PCESTLV is the entire IGP domain,the PCED TLV MUSTitMUST be carried within an IS-IS CAPABILITY TLV having the S bit set. When only the L bit of the PATH-SCOPE sub-TLV is set, the flooding scope MUST be local.Note thatA PCE MUST originate a new IS-IS LSP whenever theflooding scopescontent of any of the PCEDand PCES TLVs mayTLV changes or whenever required by the regular IS-IS procedure. When the PCE function is deactivated on a node, the node MUST originate a new IS-IS LSP with no longer any PCED TLV. A PCC MUST bedistinct, in which case they are carried in distinctable to detect that the PCED TLV has been removed from an IS-ISCapability TLVs.LSP. The PCE address, i.e. the address indicated within the PCE ADDRESS sub-TLV, MUST be distributed as part of IS-IS routing; this allows speeding up the detection of a PCE failure. Note that when the PCE address is no longer reachable, this means that the PCE node has failed or has been torn down, or that there is no longer IP connectivity to the PCE node. The PCEDand PCES sub-TLVs areTLV is OPTIONAL. When an IS-IS LSP does not contain any PCEDor PCES sub-TLV,TLV, this means that the PCE information of that node is unknown. A change in PCEDor PCESinformation MUST not trigger any SPFcomputation.computation at a receiving router. The way PCEsretrieve their owndetermine the information they advertise is out of the scope of this document. Some information may be configured(e.g.(e.g., address, preferences, scope) and other information may be automaticallyretrieveddetermined by the PCE (e.g. areas of visibility).6.1.1. PCES TLV5.1.1. CONGESTION sub-TLV specificprocedureprocedures When a PCE enters into a processing congestion state, the conditions of which are implementation dependent, itSHOULDMAY originate a newIS- ISIS-IS LSP with aCapability TLV carrying a PCES TLVCONGESTION sub-TLV with the C bit set and optionally a non-null expected congestion duration. When a PCE exists from the processing congestion state, the conditions of which are implementation dependent, two cases are considered: - If the congestion duration in the previously originatedPCES TLVCONGESTION sub-TLV was null, it SHOULD originate aPCES TLVCONGESTION sub-TLV with the C bit cleared and a null congestion duration; - If the congestion duration in the previously originatedPCES TLVCONGESTION sub-TLV was non null, it MAY originate aPCES TLV.CONGESTION sub- TLV with the C bit cleared. Note that in some particular cases it may be desired to originate a PCES TLV with the C bit cleared if the congestion duration was over estimated. The congestion duration allowsreducinga reduction in the amount of IS-IS flooding, as only uncongested-to-congested state transitionsareneed advertised.AnA PCE implementation SHOULD support an appropriate dampening algorithm so as to dampen IS-IS flooding in order to not impact the IS-IS scalability. It is RECOMMENDED to introduce some hysteresis for congestion state transition, so as to avoid state oscillations that may impact IS-ISperformances.performance. For instance two thresholds MAY be configured: a resource congestion upper-threshold and a resource congestion lower-threshold. An LSR enters the congested state when the CPU load reaches the upper threshold and leaves the congested state when the CPU load goes under the lower threshold. Upon receipt of an updatedPCES TLVCONGESTION sub-TLV a PCC should take appropriate actions. In particular, the PCC SHOULD stop sending requests to a congested PCE, and SHOULD gradually start sending again requests to a PCE that is no longer congestedPCE. 7.6. Backward compatibility The PCEDand PCES TLVsTLV defined in this documentdodoes not introduce any interoperabilityissue.issues. An IS-IS router not supporting thePCED/PCES TLVsPCED TLV will just silently ignore the TLV as specified in [IS-IS-CAP].8.7. IANA considerations8.1.7.1. IS-ISsub-TLVssub-TLV Once a registry for the IS-IS Router Capability TLV defined in [IS-IS-CAP] will have been assigned, IANA will assigntwoa newcodepointsTLV code-point for the PCEDand PCES sub-TLVsTLV carried within theIS-IS CAPABILITYRouter Capability TLV. Value Sub-TLV References ----- -------- ---------- 5 PCED TLVdefined in [IS-IS-CAP]. Type Description Reference 1(this document) 7.2. PCED[IS-IS-CAP] 2 PCES [IS-IS-CAP] 8.1.1 Sub-TLVs of thesub-TLVs registry The PCEDsub-TLVTLV referenced above is constructed from sub-TLVs. Each sub- TLV includes a 8-bit type identifier. The IANA is requested tomanage sub-TLV types for the PCED sub-TLV. Five sub-TLVs types are defined for the PCED sub-TLVcreate a new registry andshould be assigned by IANA:manage TLV type identifiers as follows: - TLV TypeDescription- TLV Name - Reference This document defines five TLVs as follows (suggested values): Value TLV name References ----- -------- ---------- 1 PCE-ADDRESS This document 2 PATH-SCOPE This document 3 PCE-DOMAINS This document 4PCE-DEST-DOMAINSPCE-NEIG-DOMAINS This document 5GENERAL-CAPPCE-CAP-FLAGS This document 6PATH-COMP-CAPCONGESTION This documentSub-TLVs of the PCE-DOMAINS and and PCE-DEST-DOMAINS sub-TLVs Two sub-TLVs types are defined for the PCE-DOMAINS and PCE-DEST- DOMAINS sub-TLVs and shouldNew TLV type values may beassignedallocated only byIANA: Type Description Reference 1 Area ID This document 2 AS Numberan IETF Consensus action. 7.3. PCE Capability Flags registry This documentSub-TLV of the PATH-COMP-CAP sub-TLV Three sub-TLV typesprovides new capability bit flags, which aredefined for the PATH-COMP-CAP sub-TLV and should be assigned by IANA: Type Description Reference 1 Objective Functions This document 2 Opaque Objective Function This document 3 Switch Caps sub-TLV This document 8.1.2 Sub-TLVs ofpresent in thePCES sub-TLVPCE-CAP-FLAGS TLV referenced in section 4.1.5. The IANA is requested tomanage sub-TLV types for the PCES TLV. Type Description Reference 1 PCE-ADDRESS This document 2 CONGESTION This document 8.2. Capability bits IANA is requestedcreate a new registry and to manage the space ofthe General Capabilities 32-bit flag and the Path Computation Capabilities 32-bit flag defined in this document,PCE capability bit flags numbering them in the usual IETF notation starting atzerozero, and continuing at least through31.31, with the most significant bit as bit zero. The same registry is defined for OSPF based PCE discovery [PCED-OSPF]. A single registry must be defined for both protocols. New bit numbers may be allocated only by an IETF Consensus action. Each bit should be tracked with the following qualities: - Bit number - Defining RFC -Name of bit Currently two bits are defined in the General Capabilities flag. Here are the suggested values: -0: Support for Request prioritization. -1: Support for multiple messages within the same request message Currently sevenCapability Description Several bits are defined inthe Path Computation Capabilities flag.this document. Here are the suggested values:-0:Bit Capabilityto handleDescription 0 GMPLSConstraints -1: Capability to compute bidirectionallink constraints 1 Bidirectional paths-2: Capability to compute link/node/SRLG diverse2 PSC paths-3: Capability to compute load-balanced3 TDM paths-4: Capability to compute a set of4 LSC pathsin a synchronized Manner -5: Support for multiple5 FSC paths 6 Diverse paths 7 Load-balanced paths 8 Synchronized computation 9 Multiple objectivefunction -6: Capability to handlefunctions 10 Additive path constraints (e.g. max hopcount, metric bound) 9.count) 11 Request prioritization 12 Multiple requests per message 8. Security ConsiderationsAny new security issues raised by the procedures in thisThis documentdepend upon the opportunitydefines IS-IS extensions forLSPs to be snooped,PCE discovery within an administrative domain. Hence theease/difficultysecurity ofwhich has not been altered. AstheLSPs may now contain additional information regardingPCEcapabilities, this new information would also become available.discovery relies on the security of IS-IS. Mechanisms defined tosecure ISIS Link State PDUsensure authenticity and integrity of IS-IS LSPs [RFC3567], and their TLVs, can be used to secure the PCEDand PCES TLVsTLV as well.10.IS-IS provides no mechanism for protecting the privacy of LSAs, and in particular the privacy PCE discovery information. 9. Manageability Considerations Manageability considerations for PCE Discovery are addressed in section 4.10 of [RFC4674].11.9.1. Control of Policy and Functions Requirements on the configuration of PCE discovery parameters on PCCs and PCEs are discussed in section 4.10.1 of [RFC4674]. Particularly, a PCE implementation SHOULD allow configuring the following parameters on the PCE: -The PCE IPv4/IPv6 address(es) (see section 4.1.1) -The PCE Scope, including the inter-domain functions (inter- area, inter-AS, inter-layer), the preferences, and whether the PCE can act as default PCE (see section 4.1.2) -The PCE domains (see section 4.1.3) -The PCE neighbour domains (see section 4.1.4) -The PCE capabilities (see section 4.1.5) 9.2. Information and Data Model A MIB module for PCE Discovery is defined in [PCED-MIB]. 9.3. Liveness Detection and Monitoring PCE Discovery Protocol liveness detection relies upon OSPF liveness detection. IS-IS already includes a liveness detection mechanism (Hello PDUs), and PCE discovery does not require additional capabilities. Procedures defined in section 5 allow a PCC detecting when a PCE has been deactivated, or is no longer reachable. 9.4. Verify Correct Operations The correlation of information advertised against information received can be achieved by comparing the PCED information in the PCC and in the PCE, which is stored in the PCED MIB [PCED-MIB]. The number of dropped, corrupt, and rejected information elements are stored in the PCED MIB. 9.5. Requirements on Other Protocols and Functional Components The IS-IS extensions defined in this documents does not imply any requirement on other protocols. 9.6. Impact on network operations Frequent changes in PCE information, and particularly in PCE congestion information, may have a significant impact on IS-IS and might destabilize the operation of the network by causing the PCCs to swap between PCEs. As discussed in section 5, a PCE implementation SHOULD support an appropriate dampening algorithm so as to dampen IS-IS flooding in order to not impact the IS-IS scalability. Also, as discussed in section 4.10.4 of [RFC4674], it MUST be possible to apply at least the following controls: - Configurable limit on the rate of announcement of changed parameters at a PCE. - Control of the impact on PCCs such as through discovery messages rate-limiting. - Configurable control of triggers that cause a PCC to swap to another PCE. 10. Acknowledgments We would like to thank Lucy Wong and Adrian Farrel for their useful comments and suggestions.12.11. References12.1.11.1. Normative references [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.[RFC3667] Bradner, S., "IETF Rights in Contributions", BCP 78, RFC 3667, February 2004. [BCP79] Bradner, S., "Intellectual Property Rights in IETF Technology", RFC 3979, March 2005. [IS-IS] "Intermediate System to Intermediate System Intra-Domain Routing Exchange Protocol " ISO 10589. [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, December 1990.[RFC3784] Li, T., Smit, H., "IS-IS extensions for Traffic Engineering", RFC 3784, June 2004. [IS-IS-CAP] Vasseur, J.P. et al., "IS-IS extensions for advertising router information", draft-ietf-isis-caps, work in progress. [RFC4655] Farrel, A., Vasseur, J.P., Ash, J., "Path Computation Element (PCE)-based Architecture", RFC4655, august 2006. [RFC4674] Le Roux, J.L., et al. "Requirements for PCE discovery", RFC4674, October 2006. [RFC4205] Kompella, Rekhter, " IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)", RFC4205, October 2005. [RFC3567] Li, T. and R. Atkinson, "Intermediate System to Intermediate System (IS-IS) Cryptographic Authentication", RFC 3567, July 2003.12.2.11.2. Informative references [RFC4657] Ash, J., Le Roux, J.L., " PCE Communication Protocol Generic Requirements", RFC4657, September 2006. [PCEP]VasseurVasseur, Le Roux, et al.,"Path“Path Computation Element (PCE) communication Protocol (PCEP) - Version1",1”, draft-ietf-pce-pcep, work in progress.13.[PCED-MIB] Stephan, E., "Definitions of Managed Objects for Path Computation Element Discovery", draft-ietf-pce-disc-mib-00, work in progress. [PCED-OSPF] Le Roux, Vasseur, "OSPF protocol extensions for Path Computation Element (PCE) Discovery", draft-ietf-pce-disco-proto- ospf, work in progress. 12. Editors' Addresses: Jean-Louis Le Roux (Editor) France Telecom 2, avenue Pierre-Marzin 22307 Lannion Cedex FRANCE Email: jeanlouis.leroux@orange-ftgroup.com Jean-Philippe Vasseur (Editor) Cisco Systems, Inc. 1414 Massachusetts avenue Boxborough , MA - 01719 USA Email: jpv@cisco.com14.13. Contributors' Adresses: Yuichi Ikejiri NTT Communications Corporation 1-1-6, Uchisaiwai-cho, Chiyoda-ku Tokyo 100-8019 JAPAN Email: y.ikejiri@ntt.com Raymond Zhang BT Infonet 2160 E. Grand Ave. El Segundo, CA 90025 USA Email:raymond_zhang@infonet.com 15.raymond_zhang@bt-infonet.com 14. Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The IETF Trust(2006).(2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.