PCE Working Group | Avantika |
Internet-Draft | U. Palle |
Intended status: Experimental | Huawei Technologies |
Expires: June 21, 2014 | December 18, 2013 |
PCEP Extensions for Supporting Multiple Sources and Destinations
draft-avantika-pce-multi-src-dest-00
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.
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 June 21, 2014.
Copyright (c) 2013 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.
[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 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 message. 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 message. In some scenarios (refer Section 3) one should wait for responses for all requests 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]).
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].
The following terminology is used in this document.
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.
In these scenarios, a mechanism to request path computation between multiple sources and destinations in a single path computation request would be helpful.
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 | | | ---------------- | | | -----------------------------------------------------------------
An example topology
The following 11 individial requests are generated by parent PCE (PCE 5) -
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.
Following key requirements are identified for PCEP to enable multiple sources and destinations in a single path computation request:
This document extends the existing END-POINTS object [RFC5440] and [RFC6006] by defining two new END-POINTS object types.
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:
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) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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:
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) | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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.
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 in the ERO. This is done to easily identify which ERO corresponds to which source-destination pair.
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).
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].
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.
This document defines new END-POINTS types which does not add any new security concerns beyond those discussed in [RFC5440].
TBD.
TBD.
TBD.
TBD.
TBD.
TBD.
IANA assigns values to PCEP parameters in registries defined in [RFC5440]. IANA is requested to make the following additional assignments.
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
Thanks to Quintin Zhao for his suggestions.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC4657] | Ash, J. and J.L. Le Roux, "Path Computation Element (PCE) Communication Protocol Generic Requirements", RFC 4657, September 2006. |
Dhruv Dhody Huawei Technologies Leela Palace Bangalore, Karnataka 560008 INDIA EMail: dhruv.ietf@gmail.com