Network Working Group C. Margaria, Ed. Internet-Draft Intended status: Standards Track O. Gonzalez de Dios, Ed. Expires: April 9, 2015 Telefonica Investigacion y Desarrollo F. Zhang, Ed. Huawei Technologies October 06, 2014 PCEP extensions for GMPLS draft-ietf-pce-gmpls-pcep-extensions-10 Abstract This memo provides extensions for the Path Computation Element communication Protocol (PCEP) for the support of GMPLS control plane. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on April 9, 2015. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Margaria, et al. Expires April 9, 2015 [Page 1]
Internet-Draft PCEP Ext for GMPLS October 2014 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Contributing Authors . . . . . . . . . . . . . . . . . . 3 1.2. PCEP requirements for GMPLS . . . . . . . . . . . . . . . 3 1.3. Current GMPLS support and limitation of existing PCEP objects . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4. Requirements Language . . . . . . . . . . . . . . . . . . 5 2. PCEP objects and extensions . . . . . . . . . . . . . . . . . 6 2.1. GMPLS capability advertisement . . . . . . . . . . . . . 6 2.1.1. GMPLS Computation TLV in the Existing PCE Discovery Protocol . . . . . . . . . . . . . . . . . . . . . . 6 2.1.2. OPEN Object extension GMPLS-CAPABILITY TLV . . . . . 6 2.2. RP object extension . . . . . . . . . . . . . . . . . . . 7 2.3. BANDWIDTH object extensions . . . . . . . . . . . . . . . 7 2.4. LOAD-BALANCING object extensions . . . . . . . . . . . . 9 2.5. END-POINTS Object extensions . . . . . . . . . . . . . . 12 2.5.1. Generalized Endpoint Object Type . . . . . . . . . . 13 2.5.2. END-POINTS TLVs extensions . . . . . . . . . . . . . 16 2.6. IRO extension . . . . . . . . . . . . . . . . . . . . . . 19 2.7. XRO extension . . . . . . . . . . . . . . . . . . . . . . 20 2.8. LSPA extensions . . . . . . . . . . . . . . . . . . . . . 21 2.9. NO-PATH Object Extension . . . . . . . . . . . . . . . . 22 2.9.1. Extensions to NO-PATH-VECTOR TLV . . . . . . . . . . 22 3. Additional Error Type and Error Values Defined . . . . . . . 23 4. Manageability Considerations . . . . . . . . . . . . . . . . 24 4.1. Control of Function through Configuration and Policy . . 25 4.2. Information and Data Models . . . . . . . . . . . . . . . 25 4.3. Liveness Detection and Monitoring . . . . . . . . . . . . 25 4.4. Verifying Correct Operation . . . . . . . . . . . . . . . 25 4.5. Requirements on Other Protocols and Functional Components 26 4.6. Impact on Network Operation . . . . . . . . . . . . . . . 26 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 5.1. PCEP Objects . . . . . . . . . . . . . . . . . . . . . . 26 5.2. END-POINTS object, Object Type Generalized Endpoint . . . 27 5.3. New PCEP TLVs . . . . . . . . . . . . . . . . . . . . . . 28 5.4. RP Object Flag Field . . . . . . . . . . . . . . . . . . 29 5.5. New PCEP Error Codes . . . . . . . . . . . . . . . . . . 29 5.6. New NO-PATH-VECTOR TLV Fields . . . . . . . . . . . . . 30 5.7. New Subobject for the Include Route Object . . . . . . . 31 5.8. New Subobject for the Exclude Route Object . . . . . . . 31 6. Security Considerations . . . . . . . . . . . . . . . . . . . 31 7. Contributing Authors . . . . . . . . . . . . . . . . . . . . 33 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 34 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 34 9.1. Normative References . . . . . . . . . . . . . . . . . . 34 9.2. Informative References . . . . . . . . . . . . . . . . . 36 9.3. Experimental References . . . . . . . . . . . . . . . . . 37 Margaria, et al. Expires April 9, 2015 [Page 2]
Internet-Draft PCEP Ext for GMPLS October 2014 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 37 1. Introduction Although [RFC4655] defines the PCE architecture and framework for both MPLS and GMPLS networks, current PCEP RFCs [RFC5440], [RFC5521], [RFC5541], [RFC5520] are focused on MPLS networks, and do not cover the wide range of GMPLS networks. This document complements these RFCs by addressing the extensions required for GMPLS applications and routing requests, for example for OTN and WSON networks. The functional requirements to be considered by the PCEP extensions to support those application are described in [RFC7025] and [I-D.ietf-pce-wson-routing-wavelength]. 1.1. Contributing Authors Elie Sfeir, Franz Rambach (Nokia Siemens Networks) Francisco Javier Jimenez Chico (Telefonica Investigacion y Desarrollo) Suresh BR, Young Lee, SenthilKumar S, Jun Sun (Huawei Technologies), Ramon Casellas (CTTC) 1.2. PCEP requirements for GMPLS The document [RFC7025] describes the set of PCEP requirements to support GMPLS TE-LSPs. When a PCC requests a PCE to perform a path computation (by means of a PCReq message), the PCC should be able to indicate the following additional information: o Which data flow is switched by the LSP: a combination of Switching type (for instance L2SC or TDM), LSP Encoding type (e.g., Ethernet, SONET/SDH) and sometimes the Signal Type (e.g. in case of TDM/LSC switching capability) o Data flow specific traffic parameters, which are technology specific. For instance, in SDH/SONET and G.709 OTN networks the Concatenation Type and the Concatenation Number have an influence on the switched data and on which link it can be supported o Support for asymmetric bandwidth requests. o Support for unnumbered interface identifiers, as defined in [RFC3477] o Label information and technology specific label(s) such as wavelength labels as defined in [RFC6205]. A PCC should also be able to specify a Label restriction similar to the one supported by RSVP-TE (Resource Reservation Protocol - Traffic Engineering). Margaria, et al. Expires April 9, 2015 [Page 3]
Internet-Draft PCEP Ext for GMPLS October 2014 o Ability to indicate the requested granularity for the path ERO: node, link or label. This is to allow the use of the explicit label control feature of RSVP-TE. We describe in this document a set of PCEP protocol extensions, including new object types, TLVs, encodings, error codes and procedures, in order to fulfill the aforementioned requirements. 1.3. Current GMPLS support and limitation of existing PCEP objects PCEP as of [RFC5440], [RFC5521] and [I-D.ietf-pce-inter-layer-ext], supports the following objects, included in requests and responses related to the described requirements. From [RFC5440]: o END-POINTS: only numbered endpoints are considered. The context specifies whether they are node identifiers or numbered interfaces. o BANDWIDTH: the data rate is encoded in the bandwidth object (as IEEE 32 bit float). [RFC5440] does not include the ability to convey an encoding proper to any GMPLS networks. o ERO : Unnumbered endpoints are supported. o LSPA: LSP attributes (setup and holding priorities) From [RFC5521] : o XRO object : * This object allows excluding (strict or not) resources, and includes the requested diversity (node, link or SRLG). * When the F bit is set, the request indicates that the existing route has failed and the resources present in the RRO can be reused. From [I-D.ietf-pce-inter-layer-ext]: o INTER-LAYER : indicates whether inter-layer computation is allowed o SWITCH-LAYER : indicates which layer(s) should be considered, can be used to represent the RSVP-TE generalized label request Margaria, et al. Expires April 9, 2015 [Page 4]
Internet-Draft PCEP Ext for GMPLS October 2014 o REQ-ADAP-CAP : indicates the adaptation capabilities requested, can also be used for the endpoints in case of mono-layer computation The shortcomings of the existing PCEP object are: The BANDWIDTH and LOAD-BALANCING objects do not describe the details of the traffic request (for example NVC, multiplier) in the context of GMPLS networks, for instance TDM or OTN networks. The END-POINTS object does not allow specifying an unnumbered interface, nor potential label restrictions on the interface. Those parameters are of interest in case of switching constraints. The IRO/XRO objects do not allow the inclusion/exclusion of labels Current attributes do not allow expressing the requested link protection level and/or the end-to-end protection attributes. The covered PCEP extensions are: Two new object types are introduced for the BANDWIDTH object(Generalized-Bandwidth, Generalized Bandwidth of existing TE-LSP). A new object type is introduced for the LOAD-BALANCING object (Generalized LOAD-BALANCING). A new object type is introduced for the END-POINTS object (GENERALIZED-ENDPOINT). A new TLV is added to the OPEN message for capability negotiation. A new TLV is added to the LSPA object. A new TLV type for label is allowed in IRO and XRO objects. In order to indicate the used routing granularity in the response, a new flag in the RP object is added. 1.4. Requirements Language 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 [RFC2119]. Margaria, et al. Expires April 9, 2015 [Page 5]
Internet-Draft PCEP Ext for GMPLS October 2014 2. PCEP objects and extensions This section describes the required PCEP objects and extensions. The PCReq and PCRep messages are defined in [RFC5440]. This document does not change the existing grammars 2.1. GMPLS capability advertisement 2.1.1. GMPLS Computation TLV in the Existing PCE Discovery Protocol IGP-based PCE Discovery (PCED) is defined in [RFC5088] and [RFC5089] for the OSPF and IS-IS protocols. Those documents have defined bit 0 in PCE-CAP-FLAGS Sub-TLV of the PCED TLV as "Path computation with GMPLS link constraints". This capability can be used to detect GMPLS-capable PCEs. 2.1.2. OPEN Object extension GMPLS-CAPABILITY TLV In addition to the IGP advertisement, a PCEP speaker should be able to discover the other peer GMPLS capabilities during the Open message exchange. This capability is also useful to avoid misconfigurations. This document defines a new optional GMPLS-CAPABILITY TLV for use in the OPEN object to negotiate the GMPLS capability. The inclusion of this TLV in the OPEN message indicates that the PCC/PCE support the PCEP extensions defined in the document. A PCE that is able to support the GMPLS extensions defined in this document SHOULD include the GMPLS-CAPABILITY TLV on the OPEN message. If the PCE does not include the GMPLS-CAPABILITY TLV in the OPEN message and PCC does include the TLV, it is RECOMMENDED that the PCC indicates a mismatch of capabilities. Moreover , in case that the PCC does not receive the GMPLS-CAPABILITY TLV it is RECOMMENDED that the PCC does not make use of the objects and TLVs defined in this document. IANA has allocated value TBA from the "PCEP TLV Type Indicators" sub- registry, as documented in Section 5.3 ("New PCEP TLVs"). The description is "GMPLS-CAPABILITY". Its format is shown in the following figure. 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=14 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ No Flags are defined in this document, they are reserved for future use. Margaria, et al. Expires April 9, 2015 [Page 6]
Internet-Draft PCEP Ext for GMPLS October 2014 2.2. RP object extension Explicit label control (ELC) is a procedure supported by RSVP-TE, where the outgoing label(s) is(are) encoded in the ERO. In consequence, the PCE may be able to provide such label(s) directly in the path ERO. The PCC, depending on policies or switching layer, may be required to use explicit label control or expect explicit link, thus it need to indicate in the PCReq which granularity it is expecting in the ERO. This correspond to requirement 12 of [RFC7025] The possible granularities can be node, link or label. The granularities are inter-dependent, in the sense that link granularity implies the presence of node information in the ERO; similarly, a label granularity implies that the ERO contains node, link and label information. A new 2-bit routing granularity (RG) flag is defined in the RP object. The values are defined as follows 0 : reserved 1 : node 2 : link 3 : label The flag in the RP object indicates the requested route granularity. The PCE MAY try to follow this granularity and MAY return a NO-PATH if the requested granularity cannot be provided. The PCE MAY return any granularity it likes on the route based on its policy. The PCC can decide if the ERO is acceptable based on its content. If a PCE honored the requested routing granularity for a request, it MUST indicate the selected routing granularity in the RP object included in the response. Otherwise, the PCE MAY use the reserved RG to leave the check of the ERO to the PCC. The RG flag is backward- compatible with [RFC5440]: the value sent by an implementation (PCC or PCE) not supporting it will indicate a reserved value. 2.3. BANDWIDTH object extensions From [RFC5440] the object carrying the request size for the TE-LSP is the BANDWIDTH object. The object types 1 and 2 defined in [RFC5440] do not describe enough information to describe the TE-LSP bandwidth in GMPLS networks. The BANDWIDTH object encoding should be extended to allow to express the bandwidth as described in [RFC7025]. RSVP-TE extensions for GMPLS provide a set of encoding allowing such representation in an unambiguous way, this is encoded in the RSVP-TE TSpec and FlowSpec objects. This document extends the BANDIDTH object with new object types reusing the RSVP-TE encoding. Margaria, et al. Expires April 9, 2015 [Page 7]
Internet-Draft PCEP Ext for GMPLS October 2014 The following possibilities should be supported by the new encoding : o Asymmetric bandwidth (different bandwidth in forward and reverse direction), as described in [RFC6387] o GMPLS (SDH/SONET, G.709, ATM, MEF etc) parameters. This correspond to requirement 3, 4, 5 and 11 of [RFC7025] section 3.1. This document defines two Object Types for the BANDWIDTH object: TBA Requested generalized bandwidth TBA Generalized bandwidth of an existing TE LSP for which a reoptimization is requested The definitions below apply for Object Type TBA and TBA. The payload 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bandwidth Spec Length | Rev. Bandwidth Spec Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bw Spec Type | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ generalized bandwidth ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Optional : reverse generalized bandwidth ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Optional TLVs ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The BANDWIDTH object type TBA and TBA have a variable length. The 16 bit bandwidth spec length field indicates the length of the bandwidth spec field. The bandwidth spec length MUST be strictly greater than 0. The 16 bit reverse bandwidth spec length field indicates the length of the reverse bandwidth spec field. The reverse bandwidth spec length MAY be equal to 0. Margaria, et al. Expires April 9, 2015 [Page 8]
Internet-Draft PCEP Ext for GMPLS October 2014 The Bw Spec Type field determines which type of bandwidth is represented by the object. The Bw Spec Type correspond to the RSVPT-TE SENDER_TSPEC (Object Class 12) C-Types The encoding of the field generalized bandwidth and reverse generalized bandwidth is the same as in RSVP-TE, it can be found in the following references. Object Type Name Reference 2 Intserv [RFC2210] 4 SONET/SDH [RFC4606] 5 G.709 [RFC4328] 6 Ethernet [RFC6003] Traffic Spec field encoding When a PCC requests a bi-directional path with symetric bandwidth, it MUST specify the generalized bandwidth field, MUST NOT specify the reverse generalized bandwidth and MUST set the Reverse Bandwidth Spec Length to 0. When a PCC needs to request a bi-directional path with asymmetric bandwidth, it SHOULD specify the different bandwidth in the forward and reverse directions with a generalized bandwidth and reverse generalized bandwidth fields. The procedures described in [RFC5440] for the PCRep is unchanged, a PCE MAY include the BANDWIDTH objects in the response to indicate the BANDWIDTH of the path As specified in [RFC5440] in the case of the reoptimization of a TE LSP, the bandwidth of the existing TE LSP MUST also be included in addition to the requested bandwidth if and only if the two values differ. The Object Type TBA MAY be used instead of object type 2 to indicate the existing TE-LSP bandwidth. A PCC that requested a path with a BANDWIDTH object of object type 1 SHOULD use object type 2 to represent the existing TE-LSP BANDWIDTH. Optional TLVs may be included within the object body to specify more specific bandwidth requirements. No TLVs for the Object Type TBA and TBA are defined by this document. 2.4. LOAD-BALANCING object extensions The LOAD-BALANCING object [RFC5440] is used to request a set of maximum Max-LSP TE-LSP having in total the bandwidth specified in BANDWIDTH, each TE-LSP having a minimum of bandwidth. The LOAD- Margaria, et al. Expires April 9, 2015 [Page 9]
Internet-Draft PCEP Ext for GMPLS October 2014 BALANCING follows the bandwidth encoding of the BANDWIDTH object, and thus the existing definition from [RFC5440] does not describe enough details for the bandwidth specification expected by GMPLS. A PCC should be allowed to request a set of TE-LSP also in case of GMPLS bandwidth specification. The LOAD-BALANCING has the same limitation as the BANDWIDTH for GMPLS networks. Similarly to the BANDWIDTH object a new object type is defined to allow a PCC to represent the bandwidth types supported by GMPLS networks. This document defines the generalized load balancing object type TBA for the LOAD-BALANCING object. The generalized load balancing object type has a variable length. The format of the generalized load balancing object type 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bandwidth spec length | Reverse Bandwidth spec length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bw Spec Type | Max-LSP | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Min Bandwidth Spec | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Min reverse Bandwidth Spec (optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Optional TLVs ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Bandwidth spec length (16 bits): the total length of the min bandwidth specification. It should be noted that the RSVP-TE traffic specification may also include TLV different than the PCEP TLVs. The length MUST be strictly greater than 0. Reverse bandwidth spec length (16 bits): the total length of the reverse min bandwidth specification. It MAY be equal to 0. Bw Spec Type (8 bits) : the bandwidth specification type, it correspond to the RSVPT-TE SENDER_TSPEC (Object Class 12) C-Types Max-LSP (8 bits): maximum number of TE LSPs in the set. Margaria, et al. Expires April 9, 2015 [Page 10]
Internet-Draft PCEP Ext for GMPLS October 2014 Min Bandwidth spec (variable): Specifies the minimum bandwidth spec of each element of the set of TE LSPs. Min Reverse Bandwidth spec (variable): Specifies the minimum reverse bandwidth spec of each element of the set of TE LSPs. The encoding of the field Min Bandwidth Spec and Min Reverse Bandwidth spec is the same as in RSVP-TE SENDER_TSPEC object, it can be found in the following references. Object Type Name Reference 2 Intserv [RFC2210] 4 SONET/SDH [RFC4606] 5 G.709 [RFC4328] 6 Ethernet [RFC6003] Traffic Spec field encoding When a PCC requests a bi-directional path with symetric bandwidth while specifying load balancing constraints it MUST specify the min Bandwidth spec field, MUST NOT specify the min reverse bandwidth and MUST set the Reverse Bandwidth spec length to 0. When a PCC needs to request a bi-directional path with asymmetric bandwidth while specifying load balancing constraints, it SHOULD specify the different bandwidth in forward and reverse directions through a min Bandwidth spec and min reverse bandwidth fields. Optional TLVs may be included within the object body to specify more specific bandwidth requirements. No TLVs for the generalized load balancing object type are defined by this document. The semantic of the LOAD-BALANCING object is not changed. If a PCC requests the computation of a set of TE LSPs so that the total of their generalized bandwidth is X, the maximum number of TE LSPs is N, and each TE LSP must at least have a bandwidth of B, it inserts a BANDWIDTH object specifying X as the required bandwidth and a LOAD- BALANCING object with the Max-LSP and Min-traffic spec fields set to N and B, respectively. For example a request for one co-signaled n x VC-4 TE-LSP will not use the LOAD-BALANCING. In case the V4 components can use different paths, the BANDWIDTH with object type 3 will contain a traffic specification indicating the complete n x VC4 traffic specification and the LOAD-BALANCING the minimum co-signaled VC4. For a SDH network, a request to have a TE-LSP group with 10 VC4 container, each path using at minimum 2 x VC4 container, can be represented with a BANDWIDTH object with OT=3, Bandwidth spec type set to 4, the content Margaria, et al. Expires April 9, 2015 [Page 11]
Internet-Draft PCEP Ext for GMPLS October 2014 of the bandwidth specification is ST=6,RCC=0,NCC=0,NVC=10,MT=1. The LOAD-BALANCING, OT=2 with Bandwidth spec set to 4,Max-LSP=5, min Traffic spec is (ST=6,RCC=0,NCC=0,NVC=2,MT=1). The PCE can respond with a response with maximum 5 path, each of them having a BANDWIDTH OT=3 and traffic spec matching the minimum traffic spec from the LOAD-BALANCING object of the corresponding request. 2.5. END-POINTS Object extensions The END-POINTS object is used in a PCEP request message to specify the source and the destination of the path for which a path computation is requested. From [RFC5440]the source IP address and the destination IP address are used to identify those. A new Object Type is defined to address the following possibilities: o Different source and destination endpoint types. o Label restrictions on the endpoint. o Specification of unnumbered endpoints type as seen in GMPLS networks. The Object encoding is described in the following sections. In path computation within a GMPLS context the endpoints can: o Be unnumbered as described in [RFC3477]. o Have label(s) associated to them, specifying a set of constraints in the allocation of labels. o May have different switching capabilities The IPv4 and IPv6 endpoints are used to represent the source and destination IP addresses. The scope of the IP address (Node or numbered Link) is not explicitly stated. It is also possible to request a Path between a numbered link and an unnumbered link, or a P2MP path between different type of endpoints. This new C-Type also supports the specification of constraints on the endpoint label to be use. The PCE might know the interface restrictions but this is not a requirement. This corresponds to requirements 6 and 10 of [RFC7025]. Margaria, et al. Expires April 9, 2015 [Page 12]
Internet-Draft PCEP Ext for GMPLS October 2014 2.5.1. Generalized Endpoint Object Type The Generalized Endpoint object type format consists of a body and a list of TLVs scoped to this object type object. The TLVs give the details of the endpoints and are described in Section 2.5.2. For each endpoint type, a different grammar is defined. The TLVs defined to describe an endpoint are: 1. IPv4 address endpoint. 2. IPv6 address endpoint. 3. Unnumbered endpoint. 4. Label request. 5. Label set restriction. 6. Suggested label set restriction. The Label Set and Suggested label set TLVs are used to restrict the label allocation in the PCE. Those TLVs express the set of restrictions provided by signaling. Label restriction support can be an explicit value (Label set describing one label), mandatory range restrictions (Label set), optional range restriction (suggested label set) and single suggested value is using the suggested label set. Endpoints label restriction may not be part of the RRO or IRO, they may be included when following [RFC4003] in signaling for egress endpoint, but ingress endpoint properties may be local to the PCC and not signaled. To support this case the label set allows to indicate which label are used in case of reoptimization. The label range restrictions are valid in GMPLS networks, either by PCC policy or depending on the switching technology used, for instance on given Ethernet or ODU equipment having limited hardware capabilities restricting the label range. Label set restriction also applies to WSON networks where the optical sender and receivers are limited in their frequency tunability ranges, restricting then in GMPLS the possible label ranges on the interface. The END-POINTS Object with Generalized Endpoint object type is encoded as follow: Margaria, et al. Expires April 9, 2015 [Page 13]
Internet-Draft PCEP Ext for GMPLS October 2014 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | endpoint type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ TLVs ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Reserved bits should be set to 0 when a message is sent and ignored when the message is received the endpoint type is defined as follow: Value Type Meaning 0 Point-to-Point 1 Point-to-Multipoint New leaves to add 2 Old leaves to remove 3 Old leaves whose path can be modified/reoptimized 4 Old leaves whose path must be left unchanged 5-244 Reserved 245-255 Experimental range The endpoint type is used to cover both point-to-point and different point-to-multipoint endpoints. Endpoint type 0 MAY be accepted by the PCE, other endpoint type MAY be supported if the PCE implementation supports P2MP path calculation. A PCE not supporting a given endpoint type MUST respond with a PCErr with error code "Path computation failure", error type "Unsupported endpoint type in END- POINTS Generalized Endpoint object type". The TLVs present in the request object body MUST follow the following grammar: Margaria, et al. Expires April 9, 2015 [Page 14]
Internet-Draft PCEP Ext for GMPLS October 2014 <generalized-endpoint-tlvs>::= <p2p-endpoints> | <p2mp-endpoints> <p2p-endpoints> ::= <source-endpoint> <destination-endpoint> <source-endpoint> ::= <endpoint> [<endpoint-restriction-list>] <destination-endpoint> ::= <endpoint> [<endpoint-restriction-list>] <p2mp-endpoints> ::= <endpoint> [<endpoint-restriction-list>] [<endpoint> [<endpoint-restriction-list>]]... For endpoint type Point-to-Multipoint, several endpoint objects may be present in the message and each represents a leave, exact meaning depend on the endpoint type defined of the object. An endpoint is defined as follows: <endpoint>::=<IPV4-ADDRESS>|<IPV6-ADDRESS>|<UNNUMBERED-ENDPOINT> <endpoint-restriction-list> ::= <endpoint-restriction> [<endpoint-restriction-list>] <endpoint-restriction> ::= <LABEL-REQUEST><label-restriction-list> <label-restriction-list> ::= <label-restriction> [<label-restriction-list>] <label-restriction> ::= <LABEL-SET>| <SUGGESTED-LABEL-SET> The different TLVs are described in the following sections. A PCE MAY support IPV4-ADDRESS,IPV6-ADDRESS or UNNUMBERED-ENDPOINT TLV. A PCE not supporting one of those TLVs in a PCReq MUST respond with a PCRep with NO-PATH with the bit "Unknown destination" or "Unknown source" in the NO-PATH-VECTOR TLV, the response SHOULD include the ENDPOINT object in the response with only the TLV it did not understood. A PCE MAY support LABEL-REQUEST, LABEL-SET or SUGGESTED-LABEL-SET TLV. If a PCE finds a non-supported TLV in the END-POINTS the PCE Margaria, et al. Expires April 9, 2015 [Page 15]
Internet-Draft PCEP Ext for GMPLS October 2014 MUST respond with a PCErr message with error type="Path computation failure" error value="Unsupported TLV present in END-POINTS Generalized Endpoint object type" and the message SHOULD include the ENDPOINT object in the response with only the endpoint and endpoint restriction TLV it did not understand. A PCE supporting those TLVs but not being able to fulfil the label restriction MUST send a response with a NO-PATH object which has the bit "No endpoint label resource" or "No endpoint label resource in range" set in the NO- PATH- VECTOR TLV. The response SHOULD include an ENDPOINT object containing only the TLV where the PCE could not meet the constraint. 2.5.2. END-POINTS TLVs extensions All endpoint TLVs have the standard PCEP TLV header as defined in [RFC5440] section 7.1. In this object type the order of the TLVs MUST be followed according to the object type definition. 2.5.2.1. IPV4-ADDRESS This TLV represent a numbered endpoint using IPv4 numbering, the format of the IPv4-ADDRESS TLV value (TLV-Type=TBA) 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IPv4 address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ This TLV MAY be ignored, in which case a PCRep with NO-PATH should be responded, as described in Section 2.5.1. 2.5.2.2. IPV6-ADDRESS TLV This TLV represent a numbered endpoint using IPV6 numbering, the format of the IPv6-ADDRESS TLV value (TLV-Type=TBA) 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IPv6 address (16 bytes) | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ This TLV MAY be ignored, in which case a PCRep with NO-PATH should be responded, as described in Section 2.5.1. Margaria, et al. Expires April 9, 2015 [Page 16]
Internet-Draft PCEP Ext for GMPLS October 2014 2.5.2.3. UNNUMBERED-ENDPOINT TLV This TLV represent an unnumbered interface. This TLV has the same semantic as in [RFC3477] The TLV value is encoded as follow (TLV- Type=TBA) 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LSR's Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Interface ID (32 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ This TLV MAY be ignored, in which case a PCRep with NO-PATH should be responded, as described in Section 2.5.1. 2.5.2.4. LABEL-REQUEST TLV The LABEL-REQUEST TLV indicates the switching capability and encoding type of the following label restriction list for the endpoint. Its format and encoding is the same as described in [RFC3471] Section 3.1 Generalized label request. The LABEL-REQUEST TLV use TLV-Type=TBA. The Encoding Type indicates the encoding type, e.g., SONET/SDH/GigE etc., of the LSP with which the data is associated. The Switching type indicates the type of switching that is being requested on the endpoint. G-PID identifies the payload. This TLV and the following one are introduced to satisfy requirement 13 for the endpoint. It is not directly related to the TE-LSP label request, which is expressed by the SWITCH-LAYER object. On the path calculation request only the Tspec and switch layer need to be coherent, the endpoint labels could be different (supporting a different Tspec). Hence the label restrictions include a Generalized label request in order to interpret the labels. This TLV MAY be ignored, in which case a PCRep with NO-PATH should be responded, as described in Section 2.5.1. 2.5.2.5. Labels TLV Label or label range restrictions may be specified for the TE-LSP endpoints. Those are encoded using the LABEL-SET TLV. The label value need to be interpreted with a description on the Encoding and switching type. The REQ-ADAP-CAP object from [I-D.ietf-pce-inter-layer-ext] can be used in case of mono-layer request, however in case of multilayer it is possible to have in the future more than one object, so it is better to have a dedicated TLV for the label and label request (the scope is then more clear). Margaria, et al. Expires April 9, 2015 [Page 17]
Internet-Draft PCEP Ext for GMPLS October 2014 Those TLV MAY be ignored, in which case a response with NO-PATH should be responded, as described in Section 2.5.1. TLVs are encoded as follow (following [RFC5440]) : o LABEL-SET TLV, Type=TBA. The TLV Length is variable, Encoding follows [RFC3471] Section 3.5 "Label set" with the addition of a U bit and O Bit. The U bit is set for upstream direction in case of bidirectional LSP and the O bit is used to represent an old label. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Action | Reserved |O|U| Label Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Subchannel 1 | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : : : : : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Subchannel N | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ o SUGGESTED-LABEL-SET TLV Set, Type=TBA. The TLV length is variable and its encoding is as LABEL-SET TLV. The 0 bit SHOULD be set to 0. A LABEL-SET TLV represents a set of possible labels that can be used on an interface. The label allocated on the first link SHOULD be within the label set range. The action parameter in the Label set indicates the type of list provided. Those parameters are described by [RFC3471] section 3.5.1 A SUGGESTED-LABEL-SET TLV has the same encoding as the LABEL-SET TLV, it indicates to the PCE a set of preferred (ordered) set of labels to be used. The PCE MAY use those labels for label allocation. The U and 0 bits have the following meaning: U: Upstream direction: set when the label or label set is in the reverse direction O: Old Label: set when the TLV represent the old label in case of re- optimization. This Bit SHOULD be set to 0 in a SUGGESTED-LABEL-SET TLV Set and ignored on receipt. This Label MAY be reused. The R bit of the RP object MUST be set. When this bit is set the Action field MUST be set to 0 (Inclusive List) and the Label Set MUST contain one subchannel. Margaria, et al. Expires April 9, 2015 [Page 18]
Internet-Draft PCEP Ext for GMPLS October 2014 Several LABEL_SET TLVs MAY be present with the 0 bit cleared. At most 2 LABEL_SET TLV SHOULD be present with the 0 bit set, at most one with the U bit set and at most one with the U bit cleared. For a given U bit value if more than one LABEL_SET TLV with the O bit set is present, the first TLV SHOULD be processed and the following TLV with the same U and O bit SHOULD be ignored. A SUGGESTED-LABEL-SET TLV with the O bit set MUST trigger a PCErr message with error type="Reception of an invalid object" error value="Wrong LABEL-SET or SUGGESTED-LABEL-SET TLV present with 0 bit set". A LABEL-SET TLV with the O bit set and an Action Field not set to 0 (Inclusive list) or containing more than one subchannel MUST trigger a PCErr message with error type="Reception of an invalid object" error value="Wrong LABEL-SET or SUGGESTED-LABEL-SET TLV present with 0 bit set". If a LABEL-SET TLV is present with O bit set, the R bit of the RP object MUST be set or a PCErr message with error type="Reception of an invalid object" error value="LABEL-SET TLV present with 0 bit set but without R bit set in RP". 2.6. IRO extension The IRO as defined in [RFC5440] is used to include specific objects in the path. RSVP-TE allows to include label definition, in order to fulfill requirement 13 the IRO should support the new subobject type as defined in [RFC3473]: Type Sub-object TBA, recommended value 3 LABEL The L bit of such sub-object has no meaning within an IRO. The Label subobject MUST follow a subobject identifying a link, currently an IP address subobject (Type 1 or 2) or an interface id (type 4) subobject. If an IP address subobject is used, then the IP address given MUST be associated with a link. More than one label subobject MAY follow each link subobject. The procedure associated with this subobject is as follows. If the PCE allocates labels (e.g via explicit label control) the PCE MUST allocate one label from within the set of label values for the given link. If the PCE does not assign labels then it sends a response with a NO-PATH object, containing a NO-PATH-VECTOR-TLV with the bit 'No label resource in range' set. Margaria, et al. Expires April 9, 2015 [Page 19]
Internet-Draft PCEP Ext for GMPLS October 2014 2.7. XRO extension The XRO as defined in [RFC5521] is used to exclude specific objects in the path. RSVP-TE allows to exclude labels ([RFC6001], in order to fulfill requirement 13 of [RFC7025] section 3.1, the XRO should support a new subobject to support label exclusion. The encoding of the XRO Label subobject follows the encoding of the Label ERO subobject defined in [RFC3473] and XRO subobject defined in [RFC5521]. The XRO Label subobject represent one Label and is defined as follows: XRO Subobject Type TBA, recommended value 3: Label Subobject. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |X| Type=3 | Length |U| Reserved | C-Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ X (1 bit) As per [RFC5521]. The X-bit indicates whether the exclusion is mandatory or desired. 0 indicates that the resource specified MUST be excluded from the path computed by the PCE. 1 indicates that the resource specified SHOULD be excluded from the path computed by the PCE, but MAY be included subject to PCE policy and the absence of a viable path that meets the other constraints and excludes the resource. Type (7 bits) The Type of the XRO Label subobject is TBA, recommended value 3. Length (8 bits) Margaria, et al. Expires April 9, 2015 [Page 20]
Internet-Draft PCEP Ext for GMPLS October 2014 See [RFC5521],The total length of the subobject in bytes (including the Type and Length fields). The Length is always divisible by 4. U (1 bit) See [RFC3471]. C-Type (8 bits) The C-Type of the included Label Object as defined in [RFC3471]. Label See [RFC3471]. The Label subobject MUST follow a subobject identifying a link, currently an IP address subobject (Type 1 or 2) or an interface id (type 4) subobject. If an IP address subobject is used, then the IP address given MUST be associated with a link. More than one label subobject MAY follow each link subobject. Type Sub-object 3 LABEL The L bit of such sub-object has no meaning within an XRO. 2.8. LSPA extensions The LSPA carries the LSP attributes. In the end-to-end protection context this also includes the protection state information. This object is introduced to fulfill requirement 7 of [RFC7025] section 3.1 and requirement 3 of [RFC7025] section 3.2. This object contains the information of the PROTECTION object defined by [RFC4872] and may be used as a policy input. The LSPA object MAY carry a PROTECTION-ATTRIBUTE TLV defined as : Type TBA: PROTECTION-ATTRIBUTE Margaria, et al. Expires April 9, 2015 [Page 21]
Internet-Draft PCEP Ext for GMPLS October 2014 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S|P|N|O| Reserved | LSP Flags | Reserved | Link Flags| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |I|R| Reserved | Seg.Flags | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The content is as defined in [RFC4872], [RFC4873]. LSP (protection) Flags or Link flags field can be used by implementation for routing policy input. The other attributes are only meaningful for a stateful PCE. This TLV is optional and MAY be ignored by the PCE, in which case it MUST NOT include the TLV in the LSPA, if present, of the response. When the TLV is used by the PCE, a LSPA object and the PROTECTION- ATTRIBUTE TLV MUST be included in the response. Fields that were not considered MUST be set to 0. 2.9. NO-PATH Object Extension The NO-PATH object is used in PCRep messages in response to an unsuccessful path computation request (the PCE could not find a path satisfying the set of constraints). In this scenario, PCE MUST include a NO-PATH object in the PCRep message. The NO-PATH object may carries the NO-PATH-VECTOR TLV that specifies more information on the reasons that led to a negative reply. In case of GMPLS networks there could be some more additional constraints that led to the failure like protection mismatch, lack of resources, and so on. Few new flags have been introduced in the 32-bit flag field of the NO- PATH-VECTOR TLV and no modifications have been made in the NO-PATH object. 2.9.1. Extensions to NO-PATH-VECTOR TLV The modified NO-PATH-VECTOR TLV carrying the additional information is as follows: Bit number TBA - Protection Mismatch (1-bit). Specifies the mismatch of the protection type in the PROTECTION-ATTRIBUTE TLV in the request. Bit number TBA - No Resource (1-bit). Specifies that the resources are not currently sufficient to provide the path. Margaria, et al. Expires April 9, 2015 [Page 22]
Internet-Draft PCEP Ext for GMPLS October 2014 Bit number TBA - Granularity not supported (1-bit). Specifies that the PCE is not able to provide a route with the requested granularity. Bit number TBA - No endpoint label resource (1-bit). Specifies that the PCE is not able to provide a route because of the endpoint label restriction. Bit number TBA - No endpoint label resource in range (1-bit). Specifies that the PCE is not able to provide a route because of the endpoint label set restriction. Bit number TBA - No label resource in range (1-bit). Specifies that the PCE is not able to provide a route because of the label set restriction. 3. Additional Error Type and Error Values Defined A PCEP-ERROR object is used to report a PCEP error and is characterized by an Error-Type that specifies the type of error while Error-value that provides additional information about the error. An additional error type and few error values are defined to represent some of the errors related to the newly identified objects related to GMPLS networks. For each PCEP error, an Error-Type and an Error- value are defined. Error-Type 1 to 10 are already defined in [RFC5440]. Additional Error- values are defined for Error-Type 10 and A new Error-Type is introduced (value TBA). Margaria, et al. Expires April 9, 2015 [Page 23]
Internet-Draft PCEP Ext for GMPLS October 2014 Error-Type Error-value 10 Reception of an invalid object value=TBA: Bad Bandwidth Object type TBA(Generalized bandwidth) or TBA(Generalized bandwidth,reoptimization). value=TBA: Bandwidth Object type TBA or TBA not supported. value=TBA: Unsupported LSP Protection Type in PROTECTION-ATTRIBUTE TLV. value=TBA: Unsupported LSP Protection Flags in PROTECTION-ATTRIBUTE TLV. value=TBA: Unsupported Secondary LSP Protection Flags in PROTECTION-ATTRIBUTE TLV. value=TBA: Unsupported Link Protection Type in PROTECTION-ATTRIBUTE TLV. value=TBA: Unsupported Link Protection Type in PROTECTION-ATTRIBUTE TLV. value=TBA: LABEL-SET TLV present with 0 bit set but without R bit set in RP. value=TBA: Wrong LABEL-SET or SUGGESTED-LABEL-SET TLV present with 0 bit set. TBA Path computation failure value=TBA: Unacceptable request message. value=TBA: Generalized bandwidth value not supported. value=TBA: Label Set constraint could not be met. value=TBA: Label constraint could not be met. value=TBA: Unsupported endpoint type in END-POINTS Generalized Endpoint object type. value=TBA: Unsupported TLV present in END-POINTS Generalized Endpoint object type. value=TBA: Unsupported granularity in the RP object flags. 4. Manageability Considerations This section follows the guidance of [RFC6123]. Margaria, et al. Expires April 9, 2015 [Page 24]
Internet-Draft PCEP Ext for GMPLS October 2014 4.1. Control of Function through Configuration and Policy This document makes no change to the basic operation of PCEP and so the requirements described in [RFC5440] Section 8.1. also apply to this document. In addition to those requirements a PCEP implementation MAY allow the configuration of the following parameters: Accepted RG in the RP object. Default RG to use (overriding the one present in the PCReq) Accepted BANDWIDTH object type TBA and TBA (Generalized Bandwidth)parameters in request, default mapping to use when not specified in the request Accepted LOAD-BALANCING object type TBA parameters in request. Accepted endpoint type and allowed TLVs in object END-POINTS with object type Generalized Endpoint. Accepted range for label restrictions in label restriction in END- POINTS, or IRO or XRO objects PROTECTION-ATTRIBUTE TLV acceptance and suppression. Those parameters configuration are applicable to the different sessions as described in [RFC5440] Section 8.1 (by default, per PCEP peer, ..etc). 4.2. Information and Data Models This document makes no change to the basic operation of PCEP and so the requirements described in [RFC5440] Section 8.2. also apply to this document. This document does not introduces new ERO sub object, ERO information model is already covered in [RFC4802]. 4.3. Liveness Detection and Monitoring This document makes no change to the basic operation of PCEP and so there are no changes to the requirements for liveness detection and monitoring set out in [RFC4657] and [RFC5440] Section 8.3. 4.4. Verifying Correct Operation This document makes no change to the basic operations of PCEP and considerations described in [RFC5440] Section 8.4. New errors Margaria, et al. Expires April 9, 2015 [Page 25]
Internet-Draft PCEP Ext for GMPLS October 2014 introduced by this document should be covered by the requirement to log error events. 4.5. Requirements on Other Protocols and Functional Components No new Requirements on Other Protocols and Functional Components are made by this document. This document does not require ERO object extensions. Any new ERO subobject defined in CCAMP working group can be adopted without modifying the operations defined in this document. 4.6. Impact on Network Operation This document makes no change to the basic operations of PCEP and considerations described in [RFC5440] Section 8.6. In addition to the limit on the rate of messages sent by a PCEP speaker, a limit MAY be placed on the size of the PCEP messages. 5. IANA Considerations IANA assigns values to the PCEP protocol objects and TLVs. IANA is requested to make some allocations for the newly defined objects and TLVs introduced in this document. Also, IANA is requested to manage the space of flags that are newly added in the TLVs. 5.1. PCEP Objects As described in Section 2.3, Section 2.4 and Section 2.5.1 new Objects types are defined. IANA is requested to make the following Object-Type allocations from the "PCEP Objects" sub-registry. Margaria, et al. Expires April 9, 2015 [Page 26]
Internet-Draft PCEP Ext for GMPLS October 2014 Object 5 Class Name BANDWIDTH Object-Type TBA : Generalized bandwidth TBA: Generalized bandwidth of an existing TE LSP for which a reoptimization is requested 5-15: Unassigned Reference This document (section Section 2.3) Object 14 Class Name LOAD-BALANCING Object-Type TBA: Generalized load balancing 3-15: Unassigned Reference This document (section Section 2.4) Object 4 Class Name END-POINTS Object-Type TBA: Generalized Endpoint 6-15: unassigned Reference This document (section Section 2.5) 5.2. END-POINTS object, Object Type Generalized Endpoint IANA is requested to create a registry to manage the endpoint type field of the END-POINTS object, Object Type Generalized Endpoint and manage the code space. New endpoint type in the Reserved range may be allocated by an IETF consensus action. Each endpoint type should be tracked with the following qualities: o endpoint type o Description o Defining RFC New endpoint type in the Experimental range are for experimental use; these will not be registered with IANA and MUST NOT be mentioned by RFCs. The following values have been defined by this document. (Section 2.5.1, Table 4): Margaria, et al. Expires April 9, 2015 [Page 27]
Internet-Draft PCEP Ext for GMPLS October 2014 Value Type Meaning TBA, recommended Point-to-Point valude 0 TBA, recommended Point-to-Multipoint New leaves to add valude 1 TBA, recommended Old leaves to remove valude 2 TBA, recommended Old leaves whose path can be valude 3 modified/reoptimized TBA, recommended Old leaves whose path must be valude 4 left unchanged TBA, recommended Reserved valude 5-244 TBA, recommended Experimental range valude 245-255 5.3. New PCEP TLVs IANA manages the PCEP TLV code point registry (see [RFC5440]). This is maintained as the "PCEP TLV Type Indicators" sub-registry of the "Path Computation Element Protocol (PCEP) Numbers" registry. This document defines new PCEP TLVs, to be carried in the END-POINTS object with Generalized Endpoint object Type. IANA is requested to do the following allocation. The values here are suggested for use by IANA. Value Meaning Reference TBA IPv4 endpoint This document (section Section 2.5.2.1) TBA IPv6 endpoint This document (section Section 2.5.2.2) TBA Unnumbered endpoint This document (section Section 2.5.2.3) TBA Label request This document (section Section 2.5.2.4) TBA Requested GMPLS Label This document (section Section Set 2.5.2.5) TBA Suggested GMPLS Label This document (section Section Set 2.5.2.5) TBA PROTECTION-ATTRIBUTE This document (section Section 2.8) TBA GMPLS-CAPABILITY This document (section Section 2.1.2) Margaria, et al. Expires April 9, 2015 [Page 28]
Internet-Draft PCEP Ext for GMPLS October 2014 5.4. RP Object Flag Field As described in Section 2.2 new flag are defined in the RP Object Flag IANA is requested to make the following Object-Type allocations from the "RP Object Flag Field" sub-registry. The values here are suggested for use by IANA. Bit Description Reference TBA (recommended bit routing granularity This document, Section 17-16) (RG) 2.2 5.5. New PCEP Error Codes As described in Section 3, new PCEP Error-Type and Error Values are defined. IANA is requested to make the following allocation in the "PCEP-ERROR Object Error Types and Values" registry. The values here are suggested for use by IANA. Margaria, et al. Expires April 9, 2015 [Page 29]
Internet-Draft PCEP Ext for GMPLS October 2014 Error name Reference Type=10 Reception of an invalid object [RFC5440] Value=TBA: Bad Bandwidth Object type TBA(Generalized This Document bandwidth) or TBA(Generalized bandwidth,reoptimization). Value=TBA: Bandwidth Object type TBA or TBA not This Document supported. Value=TBA: Unsupported LSP Protection Type in This Document PROTECTION-ATTRIBUTE TLV. Value=TBA: Unsupported LSP Protection Flags in This Document PROTECTION-ATTRIBUTE TLV. Value=TBA: Unsupported Secondary LSP Protection Flags This Document in PROTECTION-ATTRIBUTE TLV. Value=TBA: Unsupported Link Protection Type in This Document PROTECTION-ATTRIBUTE TLV. Value=TBA: Unsupported Link Protection Type in This Document PROTECTION-ATTRIBUTE TLV. Value=TBA: LABEL-SET TLV present with 0 bit set but This Document without R bit set in RP. Value=TBA: Wrong LABEL-SET or SUGGESTED-LABEL-SET TLV This Document present with 0 bit set. Type=TBA Path computation failure This Document Value=TBA: Unacceptable request message. This Document Value=TBA: Generalized bandwidth value not supported. This Document Value=TBA: Label Set constraint could not be met. This Document Value=TBA: Label constraint could not be met. This Document Value=TBA: Unsupported endpoint type in END-POINTS This Document Generalized Endpoint object type Value=TBA: Unsupported TLV present in END-POINTS This Document Generalized Endpoint object type Value=TBA: Unsupported granularity in the RP object This Document flags 5.6. New NO-PATH-VECTOR TLV Fields As described in Section 2.9.1, new NO-PATH-VECTOR TLV Flag Fields have been defined. IANA is requested to do the following allocations in the "NO-PATH-VECTOR TLV Flag Field" sub-registry. The values here are suggested for use by IANA. Bit number TBA - Protection Mismatch (1-bit). Specifies the mismatch of the protection type of the PROTECTION-ATTRIBUTE TLV in the request. Bit number TBA - No Resource (1-bit). Specifies that the resources are not currently sufficient to provide the path. Margaria, et al. Expires April 9, 2015 [Page 30]
Internet-Draft PCEP Ext for GMPLS October 2014 Bit number TBA - Granularity not supported (1-bit). Specifies that the PCE is not able to provide a route with the requested granularity. Bit number TBA - No endpoint label resource (1-bit). Specifies that the PCE is not able to provide a route because of the endpoint label restriction. Bit number TBA - No endpoint label resource in range (1-bit). Specifies that the PCE is not able to provide a route because of the endpoint label set restriction. Bit number TBA - No label resource in range (1-bit). Specifies that the PCE is not able to provide a route because of the label set restriction. 5.7. New Subobject for the Include Route Object The "PCEP Parameters" registry contains a subregistry "PCEP Objects" with an entry for the Include Route Object (IRO). IANA is requested to add a further subobject that can be carried in the IRO as follows: Subobject type Reference TBA, recommended value 3 Label subobject [RFC3473] 5.8. New Subobject for the Exclude Route Object The "PCEP Parameters" registry contains a subregistry "PCEP Objects" with an entry for the XRO object (Exclude Route Object). IANA is requested to add a further subobject that can be carried in the XRO as follows: Subobject type Reference TBA, recommended value 3 Label subobject [RFC3473] 6. Security Considerations GMPLS controls multiple technologies and types of network elements. The LSPs that are established using GMPLS, whose paths can be computed using the PCEP extensions to support GMPLS described in this document, can carry a high amount of traffic and can be a critical part of a network infrastructure. The PCE can then play a key role in the use of the resources and in determining the physical paths of Margaria, et al. Expires April 9, 2015 [Page 31]
Internet-Draft PCEP Ext for GMPLS October 2014 the LSPs and thus it is important to ensure the identity of PCE and PCC, as well as the communication channel. In many deployments there will be a completely isolated network where an external attack is of very low probability. However, there are other deployment cases in which the PCC-PCE communication may be more exposed and there could be more security considerations. Three main situations in case of an attack in the GMPLS PCE context could happen: o PCE Identity theft: A legitimate PCC could requests a path for a GMPLS LSP to a malicious PCE, which poses as a legitimate PCE. The answer can make that the LSP traverses some geographical place known to the attacker where some sniffing devices could be installed. Also, the answer can omit constraints given in the requests (e.g. excluding certain fibers, avoiding some SRLGs) which could make that the LSP which will be later set-up may look perfectly fine, but will be in a risky situation. Also, the answer can lead to provide a LSP that does not provide the desired quality and gives less resources tan necessary. o PCC Identity theft: A malicious PCC, acting as a legitimate PCC, requesting LSP paths to a legitimate PCE can obtain a good knowledge of the physical topology of a critical infrastructure. It could get to know enough details to plan a later physical attack. o Message deciphering: As in the previous case, knowledge of an infrastructure can be obtained by sniffing PCEP messages. The security mechanisms can provide authentication and confidentiality for those scenarios where the PCC-PCE communication cannot be completely trusted. Authentication can provide origin verification, message integrity and replay protection, while confidentiality ensures that a third party cannot decipher the contents of a message. The document [I-D.ietf-pce-pceps] describes the usage of Transport Layer Security (TLS) to enhance PCEP security. The document describes the initiation of the TLS procedures, the TLS handshake mechanisms, the TLS methods for peer authentication, the applicable TLS ciphersuites for data exchange, and the handling of errors in the security checks. Finally, as mentioned by [RFC7025] the PCEP extensions to support GMPLS should be considered under the same security as current PCE work and this extension will not change the underlying security issues. However, given the critical nature of the network infrastructures under control by GMPLS, the security issues described above should be seriously considered when deploying a GMPLS-PCE based Margaria, et al. Expires April 9, 2015 [Page 32]
Internet-Draft PCEP Ext for GMPLS October 2014 control plane for such networks. For more information on the security considerations on a GMPLS control plane, not only related to PCE/PCEP, [RFC5920] provides an overview of security vulnerabilities of a GMPLS control plane. 7. Contributing Authors Elie Sfeir Coriant St Martin Strasse 76 Munich, 81541 Germany Email: elie.sfeir@coriant.com Franz Rambach Nockherstrasse 2-4, Munich 81541 Germany Phone: +49 178 8855738 Email: franz.rambach@cgi.com Francisco Javier Jimenez Chico Telefonica Investigacion y Desarrollo C/ Emilio Vargas 6 Madrid, 28043 Spain Phone: +34 91 3379037 Email: fjjc@tid.es Huawei Technologies Suresh BR Shenzhen China Email: sureshbr@huawei.com Young Lee 1700 Alma Drive, Suite 100 Plano, TX 75075 USA Phone: (972) 509-5599 (x2240) Email: ylee@huawei.com Margaria, et al. Expires April 9, 2015 [Page 33]
Internet-Draft PCEP Ext for GMPLS October 2014 SenthilKumar S Shenzhen China Email: senthilkumars@huawei.com Jun Sun Shenzhen China Email: johnsun@huawei.com CTTC - Centre Tecnologic de Telecomunicacions de Catalunya Ramon Casellas PMT Ed B4 Av. Carl Friedrich Gauss 7 08860 Castelldefels (Barcelona) Spain Phone: (34) 936452916 Email: ramon.casellas@cttc.es 8. Acknowledgments The research of Ramon Casellas, Francisco Javier Jimenez Chico, Oscar Gonzalez de Dios, Cyril Margaria, and Franz Rambach leading to these results has received funding from the European Community's Seventh Framework Program FP7/2007-2013 under grant agreement no 247674 and no 317999. The authors would like to thank Lyndon Ong, Giada Lander, Jonathan Hardwick and Diego Lopez for their useful comments to the document. 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated Services", RFC 2210, September 1997. [RFC3471] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Functional Description", RFC 3471, January 2003. Margaria, et al. Expires April 9, 2015 [Page 34]
Internet-Draft PCEP Ext for GMPLS October 2014 [RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC 3473, January 2003. [RFC3477] Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links in Resource ReSerVation Protocol - Traffic Engineering (RSVP-TE)", RFC 3477, January 2003. [RFC4003] Berger, L., "GMPLS Signaling Procedure for Egress Control", RFC 4003, February 2005. [RFC4328] Papadimitriou, D., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Extensions for G.709 Optical Transport Networks Control", RFC 4328, January 2006. [RFC4606] Mannie, E. and D. Papadimitriou, "Generalized Multi- Protocol Label Switching (GMPLS) Extensions for Synchronous Optical Network (SONET) and Synchronous Digital Hierarchy (SDH) Control", RFC 4606, August 2006. [RFC4802] Nadeau, T. and A. Farrel, "Generalized Multiprotocol Label Switching (GMPLS) Traffic Engineering Management Information Base", RFC 4802, February 2007. [RFC4872] Lang, J., Rekhter, Y., and D. Papadimitriou, "RSVP-TE Extensions in Support of End-to-End Generalized Multi- Protocol Label Switching (GMPLS) Recovery", RFC 4872, May 2007. [RFC4873] Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel, "GMPLS Segment Recovery", RFC 4873, May 2007. [RFC5088] Le Roux, JL., Vasseur, JP., Ikejiri, Y., and R. Zhang, "OSPF Protocol Extensions for Path Computation Element (PCE) Discovery", RFC 5088, January 2008. [RFC5089] Le Roux, JL., Vasseur, JP., Ikejiri, Y., and R. Zhang, "IS-IS Protocol Extensions for Path Computation Element (PCE) Discovery", RFC 5089, January 2008. [RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, March 2009. [RFC5520] Bradford, R., Vasseur, JP., and A. Farrel, "Preserving Topology Confidentiality in Inter-Domain Path Computation Using a Path-Key-Based Mechanism", RFC 5520, April 2009. Margaria, et al. Expires April 9, 2015 [Page 35]
Internet-Draft PCEP Ext for GMPLS October 2014 [RFC5521] Oki, E., Takeda, T., and A. Farrel, "Extensions to the Path Computation Element Communication Protocol (PCEP) for Route Exclusions", RFC 5521, April 2009. [RFC5541] Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of Objective Functions in the Path Computation Element Communication Protocol (PCEP)", RFC 5541, June 2009. [RFC6001] Papadimitriou, D., Vigoureux, M., Shiomoto, K., Brungard, D., and JL. Le Roux, "Generalized MPLS (GMPLS) Protocol Extensions for Multi-Layer and Multi-Region Networks (MLN/ MRN)", RFC 6001, October 2010. [RFC6003] Papadimitriou, D., "Ethernet Traffic Parameters", RFC 6003, October 2010. [RFC6205] Otani, T. and D. Li, "Generalized Labels for Lambda- Switch-Capable (LSC) Label Switching Routers", RFC 6205, March 2011. [RFC6387] Takacs, A., Berger, L., Caviglia, D., Fedyk, D., and J. Meuric, "GMPLS Asymmetric Bandwidth Bidirectional Label Switched Paths (LSPs)", RFC 6387, September 2011. 9.2. Informative References [I-D.ietf-pce-inter-layer-ext] Oki, E., Takeda, T., Farrel, A., and F. Zhang, "Extensions to the Path Computation Element communication Protocol (PCEP) for Inter-Layer MPLS and GMPLS Traffic Engineering", draft-ietf-pce-inter-layer-ext-08 (work in progress), January 2014. [I-D.ietf-pce-wson-routing-wavelength] Lee, Y., Bernstein, G., Martensson, J., Takeda, T., Tsuritani, T., and O. Dios, "PCEP Requirements for WSON Routing and Wavelength Assignment", draft-ietf-pce-wson- routing-wavelength-13 (work in progress), August 2014. [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, August 2006. [RFC4657] Ash, J. and J. Le Roux, "Path Computation Element (PCE) Communication Protocol Generic Requirements", RFC 4657, September 2006. [RFC5920] Fang, L., "Security Framework for MPLS and GMPLS Networks", RFC 5920, July 2010. Margaria, et al. Expires April 9, 2015 [Page 36]
Internet-Draft PCEP Ext for GMPLS October 2014 [RFC6123] Farrel, A., "Inclusion of Manageability Sections in Path Computation Element (PCE) Working Group Drafts", RFC 6123, February 2011. [RFC7025] Otani, T., Ogaki, K., Caviglia, D., Zhang, F., and C. Margaria, "Requirements for GMPLS Applications of PCE", RFC 7025, September 2013. 9.3. Experimental References [I-D.ietf-pce-pceps] Lopez, D., Dios, O., Wu, W., and D. Dhody, "Secure Transport for PCEP", draft-ietf-pce-pceps-02 (work in progress), October 2014. Authors' Addresses Cyril Margaria (editor) 145 Valley Road Princeton, NJ 08540 USA Email: cyril.margaria@gmail.com Oscar Gonzalez de Dios (editor) Telefonica Investigacion y Desarrollo C/ Ronda de la Comunicacion Madrid 28050 Spain Phone: +34 91 4833441 Email: oscar.gonzalezdedios@telefonica.com Fatai Zhang (editor) Huawei Technologies F3-5-B R&D Center, Huawei Base Bantian, Longgang District Shenzhen 518129 P.R.China Email: zhangfatai@huawei.com Margaria, et al. Expires April 9, 2015 [Page 37]