Network Working Group J.L. Le Roux (Editor) Internet Draft France Telecom Category: Standard Track Expires: August 2007 J.P. Vasseur (Editor) Cisco System Inc. Yuichi Ikejiri NTT Communications Raymond Zhang BT Infonet February 2007 OSPF protocol extensions for Path Computation Element (PCE) Discovery draft-ietf-pce-disco-proto-ospf-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 Computation Elements (PCE), along with some of information that can be used for PCE selection. Le Roux, Vasseur et al. OSPF extensions for PCE discovery [Page 1] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 When the PCE is a Label Switching Router (LSR) participating in the Interior Gateway Protocol (IGP), or even a server participating passively in the IGP, a simple and efficient way to discover PCEs consists of using IGP flooding. For that purpose, this document defines extensions to the Open Shortest Path First (OSPF) routing protocol for the advertisement of PCE Discovery information within an OSPF area or within the entire OSPF 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. Terminology.................................................3 2. Introduction................................................4 3. Overview....................................................5 3.1. PCE Information.............................................5 3.2. PCE Discovery Information...................................5 3.2.1. PCE Status Information......................................6 3.3. Flooding scope..............................................6 4. OSPF extensions.............................................6 4.1. The OSPF PCED TLV...........................................6 4.1.1. PCE-ADDRESS sub-TLV.........................................8 4.1.2. PATH-SCOPE sub-TLV..........................................8 4.1.3. PCE-DOMAINS sub-TLV........................................10 4.1.3.1. Area ID DOMAIN sub-TLV...................................11 4.1.3.2. AS Number sub-TLV........................................12 4.1.4. PCE-NEIG-DOMAINS sub-TLV...................................12 4.1.5. PCE-CAP-FLAGS sub-TLV......................................13 4.1.6. The CONGESTION sub-TLV.....................................14 5. Elements of Procedure......................................15 5.1. CONGESTION sub-TLV specific procedures.....................16 6. Backward compatibility.....................................16 7. IANA Considerations........................................17 7.1. OSPF TLV...................................................17 7.2. PCED sub-TLVs registry.....................................17 7.3. PCE Capability Flags registry..............................17 8. Security Considerations....................................18 9. Manageability Considerations...............................18 9.1. Control of Policy and Functions............................18 9.2. Information and Data Model.................................19 9.3. Liveness Detection and Monitoring..........................19 9.4. Verify Correct Operations..................................19 9.5. Requirements on Other Protocols and Functional Components...............................................19 9.6. Impact on network operations...............................19 10. Acknowledgments............................................20 11. References.................................................20 Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 2] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 11.1. Normative references........................................20 11.2. Informative references......................................20 12. Editor's Addresses:.........................................21 13. Contributors' Addresses:....................................21 14. Intellectual Property Statement.............................21 1. Terminology Terminology used in this document ABR: IGP Area Border 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 (ISIS). 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 transits two 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 transits two or more ASes or sub-ASes (BGP confederations). That is a TE-LSP that crosses at least one AS boundary. LSA: Link State Advertisement LSR: Label Switching Router. PCC: Path Computation Client: Any client application requesting a path computation to be performed by a Path Computation Element. PCE: Path Computation Element: An 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 Protocol. TE LSP: Traffic Engineered Label Switched Path. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 3] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 2. Introduction [RFC4655] describes the motivations and architecture for a 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 non co-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 architecture 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 may contain 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 PCE selection. 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 are provided in [RFC4674]. Moreover, it may also be useful to discover when a PCE experiences processing congestion and when it exits such a state, in order for the PCCs to take some appropriate actions (e.g. to 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 participating in the IGP (OSPF or IS-IS), and PCEs are either LSRs or servers also participating in the IGP, an effective mechanism for PCE discovery within an IGP routing domain consists of utilizing IGP advertisements. This document defines OSPF extensions to allow a PCE in an OSPF 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 PCE in an OSPF routing domain to advertise its processing congestion state. Generic capability advertisement mechanisms for OSPF are defined in [OSPF-CAP]. These allow a router to advertise its capabilities within an OSPF area or an entire OSPF routing domain. This document leverages this generic capability advertisement mechanism to fully satisfy the aforementioned dynamic PCE discovery requirements. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 4] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 This document defines a new sub-TLV (named the PCE Discovery (PCED) TLV) to be carried within the OSPF Router Information LSA ([OSPF- CAP]). The PCE information advertised is detailed in section 3. Protocol extensions and procedures are defined in section 4 and 5. This document does not define any new OSPF elements of procedure. The procedures defined in [OSPF-CAP] should be used. The OSPF extensions defined in this document allow for PCE discovery within an OSPF Routing domain. Solutions for PCE discovery across AS boundaries are beyond the scope of this document, and for further study. In this document, we call TLV any TLV that is carried within an OSPF LSA. Any TLV that is itself carried within another TLV is referred to as either a TLV or a sub-TLV. 3. Overview 3.1. PCE Information The PCE information advertised via OSPF falls into two categories: PCE Discovery information and PCE Status information. 3.2. PCE Discovery Information The PCE Discovery information is comprised of: - The PCE location: an IPv4 and/or IPv6 address that is used to reach the PCE. It is RECOMMENDED to use an address that is always reachable; - The PCE inter-domain functions: PCE path computation scope (e.g., inter-area, inter-AS, inter-layer); - The PCE domain(s): the set of one or more domain(s) into which the PCE has visibility and can compute paths; - The PCE neighbor domain(s): set of one or more neighbors domain(s) towards which a PCE can compute paths; - A set of communication capabilities (e.g., support for request prioritization) and path computation specific capabilities (e.g. supported constraints). Optional elements to describe more complex capabilities may also be advertised. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 5] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 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, PCE deactivation/suppression, or PCE failure. Hence, this information is not expected to change frequently. 3.2.1. PCE Status Information The PCE Status is optional information and can be used to report a PCE's processing congestion 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 processing congestion state to a non congestion state are beyond the scope of this document, but the rate at which a PCE Status change is advertised MUST NOT impact by any means the IGP scalability. Particular attention MUST be given to procedures to avoid state oscillations. 3.3. Flooding scope The flooding scope for PCE information advertised through OSPF can be limited to one or more OSPF areas the PCE belongs to, or can be extended across the entire OSPF 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 case for an ABR for instance advertising its PCE information within the backbone area and/or a subset of its attached IGP area(s). 4. OSPF extensions 4.1. The OSPF PCED TLV The OSPF PCE Discovery TLV (PCED TLV) is made of a set of non-ordered sub-TLVs. The format of the OSPF PCED TLV and its sub-TLVs is identical to the TLV format used by the Traffic Engineering Extensions to OSPF [RFC3630]. That is, the TLV is composed of 2 octets for the type, 2 octets specifying the TLV length, and a value field. The Length field defines the length of the value portion in octets. The TLV is padded to four-octet alignment; padding is not included in the Length field (so a three octet value would have a length of three, but the total size of the TLV would be eight octets). Nested TLVs are also four-octet aligned. Unrecognized types are ignored. All Type values between 32768 and 65535 are reserved for vendor- specific extensions. All other undefined Type codes are reserved for future assignment by IANA. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 6] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 The OSPF PCED TLV has the following format: 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // sub-TLVs // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type To be defined by IANA (suggested value=5) Length Variable Value This comprises one or more sub-TLVs Sub-TLVs types are under IANA control. Currently five sub-TLVs are defined (type values to be assigned by IANA): Sub-TLV type Length Name 1 variable PCE-ADDRESS sub-TLV 2 4 PATH-SCOPE sub-TLV 3 variable PCE-DOMAINS sub-TLV 4 variable PCE-NEIG-DOMAINS sub-TLV 5 variable PCE-CAP-FLAGS sub-TLV 6 4 CONGESTION sub-TLV The PCE-ADDRESS and PATH-SCOPE sub-TLVs MUST always be present within the PCED TLV. The PCE-DOMAINS and PCE-NEIG-DOMAINS sub-TLVs are optional. They MAY be present in the PCED TLV to facilitate selection of inter-domain PCEs. The PCE-CAP-FLAGS sub-TLV is 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 information. The PCED TLV is carried within an OSPF Router Information LSA defined in [OSPF-CAP]. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 7] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 4.1.1. PCE-ADDRESS sub-TLV The PCE-ADDRESS sub-TLV specifies the IP address(es) that can be used to reach the PCE. It is RECOMMENDED to make use of an address that is always reachable, provided that 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 format of the PCE-ADDRESS sub-TLV is as follows: 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | address-type | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // PCE IP Address // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ PCE-ADDRESS sub-TLV format Type To be assigned by IANA (suggested value =1) Length 8 (IPv4) or 20 (IPv6) Address-type: 1 IPv4 2 IPv6 PCE IP Address: The IP address to be used to reach the PCE. This is the address that will be used for setting up PCC-PCE communication sessions. 4.1.2. PATH-SCOPE sub-TLV The PATH-SCOPE sub-TLV indicates the PCE path computation scope, which refers to the PCE's ability to compute or take part in the computation of intra-area, inter-area, inter-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 path scopes and four fields indicating PCE preferences. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 8] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 The PATH-SCOPE sub-TLV has the following format: 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0|1|2|3|4|5| Reserved |PrefL|PrefR|PrefS|PrefY| Res | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type To be defined by IANA (suggested value =2) Length 4 Value This comprises a 2 byte flag field where each bit represents a supported path scope, as well as four preference fields used to specify PCE preferences. The following bits are defined: Bit Path Scope 0 L bit: Can compute intra-area paths 1 R bit: Can act as PCE for inter-area TE LSP computation 2 Rd bit: Can act as a default PCE for inter-area TE LSP computation 3 S bit: Can act as PCE for inter-AS TE LSP computation 4 Sd bit: Can act as a default PCE for inter-AS TE LSP computation 5 Y bit: Can compute or take part into the computation of paths across layers. Pref-L field: PCE's preference for intra-area TE LSPs computation. Pref-R field: PCE's preference for inter-area TE LSPs computation. Pref-S field: PCE'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, S, and Y bits are set when the PCE can act as a PCE for intra-area, inter-area, inter-AS, or inter-layer TE LSPs computation respectively. These bits are non-exclusive. When set the Rd bit indicates that the PCE can act as a default PCE for inter-area TE LSPs computation (that is the PCE can compute a path towards any neighbor area). Similarly, when set, the Sd bit indicates that the PCE can act as a default PCE for inter-AS TE LSP computation (the PCE can compute a path towards any neighbor AS). Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 9] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 When the Rd bit is set the PCE-NEIG-DOMAIN TLV (see 5.1.4) MUST NOT contain any Area ID DOMAIN sub-TLVs. Similarly, when the Sd bit is set the PCE-NEIG-DOMAIN TLV MUST NOT contain any AS-DOMAIN 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 are each 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 among them. The algorithms used by a PCC to load balance its path computation requests according to such PCE preference is out of the scope of this document and is a matter for local or network wide policy. The same or distinct preferences may be used for each scope. 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 the L bit, R bit, S bit or Y bit are cleared, the PrefL, PrefR, PrefS, PrefY fields SHOULD respectively be set to 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 (areas 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-TLV MAY 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 OSPF routing domain (see section 5 for a discussion of how the flooding scope is set and interpreted). Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 10] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 The PCE-DOMAINS sub-TLV has the following format: 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // DOMAIN sub-TLVs // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type To be defined by IANA (suggested value =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 compute paths. Two DOMAIN sub-TLVs are defined: Sub-TLV type Length Name 1 variable Area ID sub-TLV 2 variable AS number sub-TLV The PCE-DOMAINS sub-TLV MUST include at least one DOMAIN 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. 4.1.3.1. Area ID DOMAIN sub-TLV The Area ID DOMAIN sub-TLV carries an IPv4 OSPF area identifier. It has the following format: 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Area ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 1 Length 4 Value Four octet OSPF Area ID Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 11] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 4.1.3.2. AS Number sub-TLV The AS Number sub-TLV carries an AS number. It has the following format: 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AS Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type 2 Length 4 AS Number: AS number identifying an AS. When coded in 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. 4.1.4. PCE-NEIG-DOMAINS sub-TLV The PCE-NEIG-DOMAINS sub-TLV specifies the set of neighbour domains (areas, ASes) toward which a PCE can compute paths. It means that the PCE can compute or take part in the computation of inter-domain LSPs whose path transits one of these domains. It contains a set of one or more sub-TLVs where each sub-TLV identifies a domain. The PCE-NEIG-DOMAINS sub-TLV has the following format: 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // DOMAIN sub-TLVs // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type To be defined by IANA (suggested value =4) Length Variable Value This comprises a set of one or more Area and/or AS DOMAIN sub-TLVs where each DOMAIN sub-TLV identifies a neighbour domain toward which a PCE can compute paths. The PCE-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. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 12] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 The PCE-NEIG-DOMAINS sub-TLV MUST include at least one DOMAIN sub- TLV. It MUST include at least one Area 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. 4.1.5. PCE-CAP-FLAGS sub-TLV The PCE-CAP-FLAGS sub-TLV is an optional TLV used to indicate PCE capabilities. It MAY be present within the PCED TLV. It MUST NOT be present more than once. The value field of the PCE-CAP-FLAGS sub-TLV is made up of an array of units of 32 flags numbered from the most significant as bit zero, where each bit represents one PCE capability. The format of the PCE-CAP-FLAGS sub-TLV is as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // PCE Capability Flags // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type To be assigned by IANA (suggested value =5) Length Multiple of 4 bytes Value This contains an array of units of 32 bit flags numbered from the most significant as bit zero, where each bit represents one PCE capability. IANA is requested to manage the space of the PCE Capability Flags The following bits are to be assigned by IANA: Bit Capabilities 0 Capability to handle GMPLS link constraints 1 Capability to compute bidirectional paths 2 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 Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 13] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 6 Capability to compute link/node/SRLG diverse paths 7 Capability to compute load-balanced paths 8 Capability to compute a set of paths in a synchronized Manner 9 Support for multiple objective functions 10 Capability to handle path constraints (e.g. max hop count, max 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. Reserved bits SHOULD be set to zero on transmission and MUST be ignored on receipt. 4.1.6. The CONGESTION sub-TLV The CONGESTION sub-TLV is used to indicate a PCE's processing congestion state and may optionally include the expected PCE congestion duration. The CONGESTION sub-TLV is optional, it MAY be carried within the PCED TLV. It MUST NOT be present more than once. The format of the CONGESTION sub-TLV is as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |C| Reserved | Congestion Duration | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type To be assigned by IANA (suggested value =6) Length 4 Value -C bit: When set this indicates that the PCE is experiencing congestion and cannot accept any new request. When cleared this indicates that the PCE is not experiencing 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. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 14] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 When C is cleared the Congestion Duration SHOULD be set to 0 and MUST be ignored. 5. Elements of Procedure The PCED TLV is advertised within OSPFv2 Router Information LSAs (Opaque type of 4 and Opaque ID of 0) or OSPFv3 Router information LSAs (function code of 12) which are defined in [OSPF-CAP]. As such, elements of procedure are inherited from those defined in [OSPF-CAP]. In OSPFv2 the flooding scope is controlled by the opaque LSA type (as defined in [RFC2370]) and in OSPFv3 by the S1/S2 bits (as defined in [RFC2740]). If the flooding scope is local to an area then the PCED TLV MUST be carried within an OSPFv2 type 10 router information LSA or an OSPFV3 Router Information LSA with the S1 bit set and the S2 bit cleared. If the flooding scope is the entire domain then the PCED TLV MUST be carried within an OSPFv2 type 11 Router Information LSA or OSPFv3 Router Information LSA with the S1 bit cleared and the S2 bit set. When only the L bit of the PATH-SCOPE sub-TLV is set, the flooding scope MUST be local. A PCE MUST originate a new OSPF Router Information LSA whenever the content of the PCED TLV changes or whenever required by the regular OSPF refresh procedure. When the PCE function is deactivated on a node, the node MUST originate a new Router Information LSA that does no longer contain the PCED TLV. A PCC MUST be able to detect that the PCED TLV has been removed from a Router Information LSA. The PCE address, i.e. the address indicated within the PCE ADDRESS TLV, MUST be distributed as part of OSPF 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 PCED TLV is OPTIONAL. When an OSPF LSA does not contain any PCED TLV, this means that the PCE information of that node is unknown. A change in PCED information MUST NOT trigger any SPF computation at a receiving router. The way PCEs determine the information they advertise is out of the scope of this document. Some information may be configured on the PCE (e.g., address, preferences, scope) and other information may be automatically determined by the PCE (e.g., areas of visibility). Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 15] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 5.1. CONGESTION sub-TLV specific procedures When a PCE enters into a processing congestion state, the conditions of which are implementation dependent, it MAY originate a Router Information LSA with a CONGESTION sub-TLV with the C bit set, and optionally a non-null expected congestion duration. When a PCE exits from the processing congestion state, the conditions of which are implementation dependent, two cases are considered: - If the congestion duration in the previously originated CONGESITON sub-TLV was null, it SHOULD originate a CONGESTION sub-TLV with the C bit cleared and a null congestion duration; - If the congestion duration in the previously originated CONGESTION sub-TLV was non null, it MAY originate a CONGESTION sub- TLV with the C bit cleared. Note that in some particular cases it may be desired to originate a CONGESTION sub-TLV with the C bit cleared if the congestion duration was over estimated. The congestion duration allows a reduction in the amount of OSPF flooding, as only uncongested-to-congested state transitions need to be advertised. A PCE implementation SHOULD support an appropriate dampening algorithm so as to dampen OSPF flooding in order to not impact the OSPF scalability. It is RECOMMENDED to introduce some hysteresis for congestion state transition, so as to avoid state oscillations that may impact OSPF 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 updated CONGESTION 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 congested. 6. Backward compatibility The PCED TLV defined in this document does not introduce any interoperability issues. A router not supporting the PCED TLV will just silently ignore the TLV as specified in [OSPF-CAP]. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 16] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 7. IANA Considerations 7.1. OSPF TLV Once a registry for the Router Information LSA defined in [OSPF-CAP] will have been assigned, IANA will assign a new OSPF TLV code-point for the PCED TLV carried within the Router Information LSA. Value Sub-TLV References ----- -------- ---------- 5 PCED TLV (this document) 7.2. PCED sub-TLVs registry The PCED TLV referenced above is constructed from sub-TLVs. Each sub- TLV includes a 16-bit type identifier. The IANA is requested to create a new registry and manage TLV type identifiers as follows: - TLV Type - 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 4 PCE-NEIG-DOMAINS This document 5 PCE-CAP-FLAGS This document 6 CONGESTION This document New TLV type values may be allocated only by an IETF Consensus action. 7.3. PCE Capability Flags registry This document provides new capability bit flags, which are present in the PCE-CAP-FLAGS TLV referenced in section 4.1.5. The IANA is requested to create a new registry and to manage the space of PCE capability bit flags numbering them in the usual IETF notation starting at zero and continuing at least through 31, with the most significant bit as bit zero. The same registry is defined for IS-IS based PCE discovery [PCED- ISIS]. A single registry must be defined for both protocols. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 17] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 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 - Capability Description Several bits are defined in this document. Here are the suggested values: Bit Capability Description 0 GMPLS link constraints 1 Bidirectional paths 2 PSC paths 3 TDM paths 4 LSC paths 5 FSC paths 6 Diverse paths 7 Load-balanced paths 8 Synchronized computation 9 Multiple objective functions 10 Additive path constraints (e.g. max hop count) 11 Request prioritization 12 Multiple requests per message 8. Security Considerations This document defines OSPF extensions for PCE discovery within an administrative domain. Hence the security of the PCE discovery relies on the security of OSPF. Mechanisms defined to ensure authenticity and integrity of OSPF LSAs [RFC2154], and their TLVs, can be used to secure the PCE Discovery information as well. OSPF provides no mechanism for protecting the privacy of LSAs, and in particular the PCE discovery information. 9. Manageability Considerations Manageability considerations for PCE Discovery are addressed in section 4.10 of [RFC4674]. 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]. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 18] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 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. OSPF already includes a liveness detection mechanism (Hello protocol), 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 OSPF 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 OSPF 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 OSPF flooding in order to not impact the OSPF scalability. Also, as discussed in section 4.10.4 of [RFC4674], it MUST be possible to apply at least the following controls: Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 19] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 - 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. 11. References 11.1. Normative references [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2740] Coltun, R., Ferguson, D., and J. Moy, "OSPF for IPv6", RFC 2740, December 1999. [RFC2370] Coltun, R., “The OSPF Opaque LSA Option”, RFC 2370, July 1998. [RFC3630] Katz, D., Yeung, D., Kompella, K., "Traffic Engineering Extensions to OSPF Version 2", RFC 3630, September 2003. [OSPF-CAP] Lindem, A., Shen, N., Aggarwal, R., Shaffer, S., Vasseur, J.P., "Extensions to OSPF for advertising Optional Router Capabilities", draft-ietf-ospf-cap, 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. [RFC4203] Kompella, Rekhter, " OSPF Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)", RFC4203, October 2005. [RFC2154] Murphy, S., Badger, M., and B. Wellington, "OSPF with Digital Signatures", RFC 2154, June 1997. 11.2. Informative references [RFC4657] Ash, J., Le Roux, J.L., " PCE Communication Protocol Generic Requirements", RFC4657, September 2006. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 20] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 [PCEP] Vasseur, Le Roux, et al., "Path Computation Element (PCE) communication Protocol (PCEP) - Version 1", draft-ietf-pce-pcep, work in progress. [PCED-MIB] Stephan, E., "Definitions of Managed Objects for Path Computation Element Discovery", draft-ietf-pce-disc-mib-00, work in progress. [PCED-ISIS] Le Roux, Vasseur, et al. "IS-IS protocol extensions for Path Computation Element (PCE) Discovery", draft-ietf-pce-disco- proto-isis, work in progress. 12. Editor's 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.com 13. Contributors' Addresses: 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@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 Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 21] Internet Draft draft-ietf-pce-disco-proto-ospf-02.txt February 2007 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 (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. Le Roux, Vasseur et al. OSPF extensions for PCE Discovery [Page 22]