PCE Working Group U. Palle Internet-Draft Avantika. S Intended status: Experimental D. Dhody Expires: August 18, 2014 Huawei Technologies February 14, 2014 PCEP Extensions for Supporting Multiple Sources and Destinations draft-avantika-pce-multi-src-dest-01 Abstract The Path Computation Element (PCE) provides functions of path computation in support of traffic engineering in networks controlled by Multi-Protocol Label Switching (MPLS) and Generalized MPLS (GMPLS). This document provides extensions for the Path Computation Element Protocol (PCEP) to support multiple sources and destinations in a single path request. 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 August 18, 2014. 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 Palle, et al. Expires August 18, 2014 [Page 1] Internet-Draft PCE-MULTI-SRC-DEST February 2014 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Example . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. PCEP Requirements . . . . . . . . . . . . . . . . . . . . . . 6 5. Extension to PCEP . . . . . . . . . . . . . . . . . . . . . . 6 5.1. The New MP2MP END-POINTS Object . . . . . . . . . . . . . 6 6. Other Considerations . . . . . . . . . . . . . . . . . . . . 8 6.1. Identification of Source-Destination Pair in PCRep Message . . . . . . . . . . . . . . . . . . . . . . . . . 8 6.2. Request-ID . . . . . . . . . . . . . . . . . . . . . . . 9 6.3. Backward Compatibility . . . . . . . . . . . . . . . . . 9 6.4. Overloading the PCE . . . . . . . . . . . . . . . . . . . 9 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 8. Manageability Considerations . . . . . . . . . . . . . . . . 9 8.1. Control of Function and Policy . . . . . . . . . . . . . 9 8.2. Information and Data Models . . . . . . . . . . . . . . . 10 8.3. Liveness Detection and Monitoring . . . . . . . . . . . . 10 8.4. Verify Correct Operations . . . . . . . . . . . . . . . . 10 8.5. Requirements On Other Protocols . . . . . . . . . . . . . 10 8.6. Impact On Network Operations . . . . . . . . . . . . . . 10 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 9.1. New END-POINTS Object Types . . . . . . . . . . . . . . . 10 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 11.1. Normative References . . . . . . . . . . . . . . . . . . 11 11.2. Informative References . . . . . . . . . . . . . . . . . 11 Appendix A. Evaluation of Message Size Reduction . . . . . . . . 12 1. Introduction [RFC5440] specifies the Path Computation Element Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between two PCEs, in compliance with [RFC4657]. As per [RFC5440], a single Path Computation Request (PCReq) message may carry more than one path computation request. Each request is uniquely identified by a request-id number. In some scenarios (refer Section 3), there is a need to send multiple requests with the same Palle, et al. Expires August 18, 2014 [Page 2] Internet-Draft PCE-MULTI-SRC-DEST February 2014 constraints and attributes to the PCE. Currently these requests are either sent in a separate PCReq messages or clubbed together in one (or more) PCReq messages. In either case, the constraints and attributes need to be encoded separately for each request even though they are exactly identical. Also note that, the PCE may choose to respond to each of the request independently in a separate Path Computation Reply (PCRep) messages or choose to bundle them in one (or more) PCRep messages. In some scenarios (refer Section 3) one should wait for responses for all request before proceeding further. A mechanism to request path computation between multiple sources and destinations in a single path computation request would be helpful. Note that the scope of this work is point-to-point (P2P) path computation and is unrelated to MP2MP LSP ([RFC6388]). 1.1. 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 [RFC2119]. 2. Terminology The following terminology is used in this document. LSR: Label Switch Router. MPLS: Multiprotocol Label Switching. NMS: Network Management System. P2P: Point-to-Point. 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 Communication Protocol. Palle, et al. Expires August 18, 2014 [Page 3] Internet-Draft PCE-MULTI-SRC-DEST February 2014 3. Motivation Following key scenarios are identified where a mechanism to request path computation between multiple sources and destinations in a single path computation request would be helpful. Hierarchical PCE: [RFC6805] describes the procedure for inter-domain path computation using Hierarchical PCE. In case of end to end path computation by Parent PCE, it needs to issue multiple path computation requests to child PCEs. In case of transit domain(s), the Parent PCE issues requests from each entry boundary node to each exit boundary node to the child PCE(s). Similarly for ingress domain, the Parent PCE issues requests from source to each exit boundary node, where as for egress domain, the Parent PCE issues requests from each entry boundary node to the destination. All requests to a particular child PCE, need to be encoded separately even though they are exactly identical (they have the same constraints and attributes). Also the Parent PCE needs to wait for responses for all requests before proceeding further. Inter-Layer PCE: [RFC5623] describes inter-layer path computation framework. In case of cooperating PCEs per layer, where each PCE has topology visibility restricted to its own layer and collaborate to compute an end-to-end path across layers. The higher layer PCE may need to issue multiple requests to lower layer PCE requesting paths from each entry boundary node to each exit boundary node. All these requests need to be encoded separately even though they are exactly identical (they have the same constraints and attributes). Also the higher layer PCE needs to wait for responses for all requests before proceeding further. Management-Based PCE: [RFC4655] describes a case where PCC is not necessarily an LSR, but for example, maybe a NMS or a planning tool etc. Such a PCC may issue multiple requests to PCE with identical constraints and attributes to select among the several source-destination pairs. Using Multiple P2P Path Computations for MP2MP TE LSP: In case where, for establishing a MP2MP TE LSP tunnel, multiple P2P path computation requests are sent to the PCE, one for each source- destination pair with identical constraints and attributes. In these scenarios, a mechanism to request path computation between multiple sources and destinations in a single path computation request would be helpful. Palle, et al. Expires August 18, 2014 [Page 4] Internet-Draft PCE-MULTI-SRC-DEST February 2014 3.1. Example Consider the topology example mentioned in Section 4.6 of [RFC6805] - ----------------------------------------------------------------- | Domain 5 | | ----- | | |PCE 5| | | ----- | | | | ---------------- ---------------- ---------------- | | | Domain 1 | | Domain 2 | | Domain 3 | | | | | | | | | | | | ----- | | ----- | | ----- | | | | |PCE 1| | | |PCE 2| | | |PCE 3| | | | | ----- | | ----- | | ----- | | | | | | | | | | | | ----| |---- ----| |---- | | | | |BN11+---+BN21| |BN23+---+BN31| | | | | - ----| |---- ----| |---- - | | | | |S| | | | | |D| | | | | - ----| |---- ----| |---- - | | | | |BN12+---+BN22| |BN24+---+BN32| | | | | ----| |---- ----| |---- | | | | | | | | | | | | ---- | | | | ---- | | | | |BN13| | | | | |BN33| | | | -----------+---- ---------------- ----+----------- | | \ / | | \ ---------------- / | | \ | | / | | \ |---- ----| / | | ----+BN41| |BN42+---- | | |---- ----| | | | | | | | ----- | | | | |PCE 4| | | | | ----- | | | | | | | | Domain 4 | | | ---------------- | | | ----------------------------------------------------------------- Figure 1: An example topology The following 11 individual requests are generated by parent PCE (PCE 5) - Palle, et al. Expires August 18, 2014 [Page 5] Internet-Draft PCE-MULTI-SRC-DEST February 2014 Domain 1: S-BN11; S-BN12; S-BN13; Domain 2: BN21-BN23; BN21-BN24; BN22-BN23; BN22-BN24; Domain 3: BN31-D; BN32-D; BN33-D; Domain 4: BN41-BN42; The above requests for each domain, need to be encoded separately even though they are exactly identical. A mechanism to request them together in a single path computation request would be helpful, in which case total 4 requests would be generated by parent PCE. 4. PCEP Requirements Following key requirements are identified for PCEP to enable multiple sources and destinations in a single path computation request: 1. It MUST be possible for a single Path Computation Request to list multiple sources and destinations. 2. It MUST be possible for a single Path Computation Reply to be sent for multiple sources and destinations. 3. It MUST NOT be possible to set different constraints, traffic parameters, or quality-of-service requirements for different source and destination pair within a single computation request. 5. Extension to PCEP This document extends the existing END-POINTS object [RFC5440] and [RFC6006] by defining two new END-POINTS object types. 5.1. The New MP2MP END-POINTS Object The END-POINTS object is used in a PCReq message to specify the source IP address and the destination IP address of the path for which a path computation is requested. This document extends the existing END-POINT object to support multiple sources and destinations in a single path request. Two new MP2MP END-POINTS objects for IPv4 and IPv6 are defined. The format of the MP2MP END-POINTS object body for IPv4 (Object- Type=5 (TBD)) is as follows: Palle, et al. Expires August 18, 2014 [Page 6] Internet-Draft PCE-MULTI-SRC-DEST February 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | No of Sources (2 bytes) | No of Destinations (2 bytes)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source IPv4 address 1 (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ...... ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source IPv4 address m (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination IPv4 address 1 (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ...... ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination IPv4 address n (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: The new MP2MP END-POINTS Object Body Format for IPv4 The format of the MP2MP END-POINTS object body for IPv6 (Object- Type=6 (TBD)) is as follows: Palle, et al. Expires August 18, 2014 [Page 7] Internet-Draft PCE-MULTI-SRC-DEST February 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | No of Sources (2 bytes) | No of Destinations (2 bytes)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Source IPv6 address 1 (16 bytes) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ...... ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Source IPv6 address m (16 bytes) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination IPv6 address 1 (16 bytes) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ...... ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination IPv6 address n (16 bytes) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: The new MP2MP END-POINTS Object Body Format for IPv6 The MP2MP END-POINTS object body has a variable length. These are multiples of 4 bytes for IPv4, and multiples of 16 bytes for IPv6, plus 4 bytes. On receiving MP2MP END-POINTS object, PCE computes m*n P2P paths, i.e, point to point path is computed between each combination of source and destination received in MP2MP END-POINTS object. 6. Other Considerations 6.1. Identification of Source-Destination Pair in PCRep Message Since the END-POINTS object is not carried in the PCRep message ([RFC5440]), the implementation supporting this extension SHOULD encode the source and the destination as the first and the last hop Palle, et al. Expires August 18, 2014 [Page 8] Internet-Draft PCE-MULTI-SRC-DEST February 2014 in the ERO. This is done to easily identify that which ERO corresponds to which source-destination pair. 6.2. Request-ID As per [RFC5440], each request is uniquely identified by a request-id number. Since a single request is used for multiple sources and destinations sharing the same request-id number, along with request and response, the request-id number in RP object used in other PCEP messages (PCNtf, PCErr ...) applies to all sources and destinations (in the single request). 6.3. Backward Compatibility If PCE receives new END-POINTS type in path request and it understands the END-POINTS type, but the PCE is not capable of/ support multiple sources and destinations in a single path request, the PCE MUST send a PCErr message with a PCEP-ERROR Object Error-Type = 4 (Not supported object) [RFC5440]. The path computation request MUST then be cancelled. If the PCE does not understand the new END-POINTS type, then the PCE MUST send a PCErr message with a PCEP-ERROR Object Error-Type = 3 (Unknown object) [RFC5440]. 6.4. Overloading the PCE The new END-POINTS type could be used to issue multiple computations together hence overloading the PCE. The PCE MUST allow for the use of policies to accept/reject such a request. 7. Security Considerations This document defines new END-POINTS types which does not add any new security concerns beyond those discussed in [RFC5440]. 8. Manageability Considerations 8.1. Control of Function and Policy TBD. Palle, et al. Expires August 18, 2014 [Page 9] Internet-Draft PCE-MULTI-SRC-DEST February 2014 8.2. Information and Data Models TBD. 8.3. Liveness Detection and Monitoring TBD. 8.4. Verify Correct Operations TBD. 8.5. Requirements On Other Protocols TBD. 8.6. Impact On Network Operations TBD. 9. IANA Considerations IANA assigns values to PCEP parameters in registries defined in [RFC5440]. IANA is requested to make the following additional assignments. 9.1. New END-POINTS Object Types Two new END-POINTS Object-Types are defined in this document. IANA is requested to make the following Object-Type allocations from the "PCEP Objects" sub-registry: Object-Class Value 4 Name END-POINTS Object-Type 5: MP2MP IPv4 6: MP2MP IPv6 7-15: Unassigned Reference This.I-D 10. Acknowledgments Thanks to Quintin Zhao for his suggestions. 11. References Palle, et al. Expires August 18, 2014 [Page 10] Internet-Draft PCE-MULTI-SRC-DEST February 2014 11.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4657] Ash, J. and J. Le Roux, "Path Computation Element (PCE) Communication Protocol Generic Requirements", RFC 4657, September 2006. 11.2. Informative References [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, August 2006. [RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, March 2009. [RFC5623] Oki, E., Takeda, T., Le Roux, JL., and A. Farrel, "Framework for PCE-Based Inter-Layer MPLS and GMPLS Traffic Engineering", RFC 5623, September 2009. [RFC6006] Zhao, Q., King, D., Verhaeghe, F., Takeda, T., Ali, Z., and J. Meuric, "Extensions to the Path Computation Element Communication Protocol (PCEP) for Point-to-Multipoint Traffic Engineering Label Switched Paths", RFC 6006, September 2010. [RFC6388] Wijnands, IJ., Minei, I., Kompella, K., and B. Thomas, "Label Distribution Protocol Extensions for Point-to- Multipoint and Multipoint-to-Multipoint Label Switched Paths", RFC 6388, November 2011. [RFC6805] King, D. and A. Farrel, "The Application of the Path Computation Element Architecture to the Determination of a Sequence of Domains in MPLS and GMPLS", RFC 6805, November 2012. Palle, et al. Expires August 18, 2014 [Page 11] Internet-Draft PCE-MULTI-SRC-DEST February 2014 Appendix A. Evaluation of Message Size Reduction Consider the domain 2 in Figure 1, where 4 path requests need to be encoded (from 2 entry boundary nodes to 2 exit boundary nodes with the exact same constraints). Following figure illustrates the existing mechanism of carrying multiple requests in single PCReq message (as per [RFC5440]): +--------------+ +--------------+ +--------------+ |RP | |RP | |RP | +-------+ |END-POINTS(8) | |END-POINTS | |END-POINTS | |COMMON |+|BANDWIDTH |+|BANDWIDTH |+|BANDWIDTH | |HEADER | |METRIC | |METRIC | |METRIC | +-------+ |METRIC | |METRIC | |METRIC | +--------------+ +--------------+ +--------------+ 4 Bytes 36 Bytes 36 Bytes 36 Bytes +--------------+ |RP | |END-POINTS(20)| + |BANDWIDTH | = 148 Bytes |METRIC | |METRIC | +--------------+ 36 Bytes Combining multiple requests into a single request by using MP2MP END- POINTS object is illustrated below: +--------------+ |RP | +-------+ |END-POINTS(20)| |COMMON |+|BANDWIDTH | = 54 Bytes |HEADER | |METRIC | +-------+ |METRIC | +--------------+ 4 Bytes 48 Bytes There is message size reduction of 64% in this example for just one domain. Authors' Addresses Palle, et al. Expires August 18, 2014 [Page 12] Internet-Draft PCE-MULTI-SRC-DEST February 2014 Udayasree Palle Huawei Technologies Leela Palace Bangalore, Karnataka 560008 INDIA EMail: udayasree.palle@huawei.com Avantika Huawei Technologies Leela Palace Bangalore, Karnataka 560008 INDIA EMail: avantika.sushilkumar@huawei.com Dhruv Dhody Huawei Technologies Leela Palace Bangalore, Karnataka 560008 INDIA EMail: dhruv.ietf@gmail.com Palle, et al. Expires August 18, 2014 [Page 13]