Networking Working Group A. Farrel (Ed.) Internet-Draft Old Dog Consulting Intended Status: Standards Track Created: May 7, 2008 Greg Bernstein Expires: November 7, 2008 Grotto Networking Conveying Vendor-Specific Constraints in the Path Computation Element Protocol draft-farrel-pce-vendor-constraints-01.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract The Path Computation Element Protocol (PCEP) is used to convey path computation requests and responses between Path Computation Clients (PCCs) and Path Computation Elements (PCEs), and also between cooperating PCEs. In PCEP the path computation requests carry details of the constraints and objective functions that the PCC wishes the PCE to apply in its computation. The mechanisms defined for indicating objective functions include the capability to convey vendor-specific objective functions. This document defines a facility to carry vendor-specific constraints in PCEP. Farrel and Bernstein [Page 1] draft-farrel-pce-vendor-constraints-01.txt May 2008 Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [RFC2119]. 1. Introduction A Path Computation Element (PCE) is 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. An architecture for the use of PCEs is defined in [RFC4655]. The Path Computation Element Protocol (PCEP) is defined in [PCEP] to exchange path computation requests and responses between Path Computation Clients (PCCs) and PCEs. It is also used between cooperating PCEs. Path computations performed by a PCE depend on a set of constraints indicated by the PCC. These constraints include the end points of the path to compute (source and destination), and may include other simple constraints such as bandwidth requirements and metric maxima (for example, a maximum threshold for the hop count or the TE metric of computed path). The PCE also needs to use some objective function to qualify the path it selects as meeting the requirements of the PCC. The PCE may have a default objective function, but the PCC can also indicate which objective function it wants applied by placing an Objective Function object in the path computation request message [PCEP-OF]. A core set of objective functions to be supported in PCEP messages is defined in the base PCEP requirements [RFC4657], and [PCEP-OF] defines each of these functions as abstract formulae. The registry of codepoints used to indicate objective functions is managed by IANA and can be extended in future documents. PCE implementations may choose offer to offer proprietary, vendor- specific objective functions, and there is scope for this within the codepoint registry. Proprietary objective functions may operate on non-standard constraints or metrics. The PCEP Metric Object defined in [PCEP] has scope for the definition of new, standardized metrics, but no facility for the definition of vendor-specific metrics. At the same time, there is no mechanism in PCEP for carrying other, more complex, vendor-specific constraints. This document defines a new PCEP object, the Vendor Constraints object that can be used to carry arbitrary constraint information. Farrel and Bernstein [Page 2] draft-farrel-pce-vendor-constraints-01.txt May 2008 2. Procedures A PCC that wants to convey proprietary or vendor-specific constraints or metrics to a PCE does so by including a Vendor Constraints object in the PCReq message. The contents and format of the object are described in Section 3, but it is important to note that the object includes an Enterprise Number that is a unique identifier of an organization responsible for the definition of the content and meaning of the object. A PCE that receives a PCReq message containing a Vendor Constraints object MUST act according to the P-bit in the object header. That is, if the P-bit is set, the object MUST be treated as mandatory and the request must either be processed using the contents of the object or rejected as defined in [PCEP]. If the P-bit is clear, the object can either be used by the PCE or ignored. The PCC sets the P-bit according to how it wishes the request to be processed. The PCE can determine how to interpret the Vendor Constraints object by examining the Enterprise Number it contains. The Vendor Constraints object is optional in a PCReq message. Multiple instances of the object may be used on a single PCReq message and each MUST be treated according to its P-bit setting. The object may be present in two places within the PCReq message to enable it to apply to a single path computation request or to a set of synchronized requests. This usage mirrors the usage of the Objective Function object [PCEP-OF]. Thus, the PCReq message is encoded as follows. ::= [ [] [] [] ] where: ::= [] ::= [] ::= [] ::= [] Farrel and Bernstein [Page 3] draft-farrel-pce-vendor-constraints-01.txt May 2008 ::= [] [] [] [] [] [] [] [] The Vendor Constraints object may be included in a PCRep message in exactly the same way as any other object as defined in [PCEP]. 3. Protocol Elements The Vendor Constraints object conforms to the format for PCEP objects defined in [PCEP]. VENDOR-CONSTRAINT Object-Class is to be assigned by IANA (recommended value=23). VENDOR-CONSTRAINT Object-Type is to be assigned by IANA (recommended value=1) The format of the VENDOR-CONSTRAINT object body 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Enterprise Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Enterprise-Specific Information ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Enterprise Number A unique identifier of an organization encoded as a 32-bit integer. Enterprise Numbers are assigned by IANA and managed through an IANA registry [RFC2578]. Enterprise-Specific Information The detailed enterprise-specific constraint information carried by the object. The format and interpretation of this information is a matter for the enterprise identified by the Enterprise Number. Such formats and interpretation may be published by the enterprise (possibly through an informational RFC or through commercial documentation) so that PCCs or PCEs that are not part of the organization may use the information. Farrel and Bernstein [Page 4] draft-farrel-pce-vendor-constraints-01.txt May 2008 4. IANA Considerations IANA maintains a registry of PCEP parameters. This includes a sub- registry for PCEP Objects. IANA is requested to make an allocation from the sub-registry as follows. Object Name Reference Class 23 VENDOR-CONSTRAINT [This.I-D] Object-Type 1: Vendor-Specific Constraints [This.I-D] 5. Management Considerations This section follows the guidance of [MANAGE]. 5.1. Control of Function and Policy A PCEP implementation should allow configuring of various parameters as described in [PCEP]. A PCC implementation that uses vendor- specific constraints MAY make the use of these constraints configurable either across the whole PCC or on a per-PCE or per- request basis. A PCE that supports vendor-specific constraints MAY make the support of these constraints configurable, and MAY allow configuration of policies for the use of the constraints. 5.2. Information and Data Models A PCEP MIB module is defined in [PCE-MIB] that describes managed objects for modeling of PCEP communications. It is NOT RECOMMENDED that standard MIB modules are extended to include detailed information about the content of the Vendor Constaints object. However, the standard MIB module MAY be extended to report the use of the Vendor Specific object an the Enterprise Numbers that the objects contain. 5.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 [PCEP]. Farrel and Bernstein [Page 5] draft-farrel-pce-vendor-constraints-01.txt May 2008 5.4. Verifying Correct Operation This document makes no change to the basic operation of PCEP and so there are no changes to the requirements or techniques for monitoring the correct operation of the protocol out in [RFC4657] and [PCEP]. Note that "correct operation" in this context referes to the operation of the protocol itself, and not to the operation of the computation algorithms which are out of scope for all PCEP work. 5.5. Requirements on Other Protocols and Functional Components This document does not place any new requirements on other network components of protocols. However, it may be beneficial to consider whether a PCE should advertise the enterprise numbers and vendor constraints it supports. This advertisement could be within PCE Discovery ([RFC5088], [RFC5089]) or through extensions to PCEP [PCEP]. Extensions for discovery and advertisement are outside the scope of this document. 5.6. Impact on Network Operation The availability of vendor constraints in PCEP messages may facilitate more complex and detailed path computations that may enhance the way in which the network is operated. On the other hand, the presence of additional vendor-specific information in PCEP messages may congest the operation of the protocol especially if the PCE does not support the constraints supplied by the PCC. Thus, a PCC SHOULD monitor the capabilities of a PCE either by discovery mechanisms as described in Section 5.5, or through the receipt of negative responses. A PCC SHOULD NOT include vendor constraints in a PCReq message to a PCE that it believes does not support the constraints and that will not forward the request to some other PCE that does support the constraints. 6. Security Considerations The protocol extensions defined in this document do not substantially change the nature of PCEP. Therefore, the security considerations set out in [PCEP] apply unchanged. Operators should note that an attack on PCEP may involve making PCEP messages as large as possible in order to consume bandwidth and processing power. The Vendor Constraints object may provide a mechanism for this type of attack. It may be protected against by using the authentication and integrity procedures described in [PCEP]. Farrel and Bernstein [Page 6] draft-farrel-pce-vendor-constraints-01.txt May 2008 7. References 7.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [PCEP] Vasseur, J.P., Le Roux, J.L., Ayyangar, A., Oki, E., Ikejiri, A., Atlas, A., Dolganow, A., "Path Computation Element (PCE) communication Protocol (PCEP)", draft-ietf- pce-pcep, work in progress. 7.2. Informative References [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC4655] Farrel, A., Vasseur, J.P., Ash, J., "Path Computation Element (PCE) Architecture", RFC 4655, August 2006. [RFC4657] Ash, J. and J. Le Roux, "Path Computation Element (PCE) Communication Protocol Generic Requirements", RFC 4657, September 2006. [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. [MANAGE] Farrel, A., "Inclusion of Manageability Sections in PCE Working Group Drafts", draft-ietf-pce-manageability- requirements, work in progress. [PCE-MIB] Stephan, E. and K. Koushik, "PCE Communication Protocol (PCEP) Management Information Base", draft-kkoushik-pce- pcep-mib, work in progress. [PCEP-OF] Le Roux, JL., Vasseur, JP., and Y. Lee, "Objective Function Encoding in Path Computation Element Communication and Discovery protocols", draft-ietf-pce-of, work in progress. 8. Acknowledgements Thanks to Meral Shirazipour for review and comments. Farrel and Bernstein [Page 7] draft-farrel-pce-vendor-constraints-01.txt May 2008 9. Authors' Addresses Adrian Farrel Old Dog Consulting EMail: adrian@olddog.co.uk Greg Bernstein Grotto Networking EMail: gregb@grotto-networking.com Full Copyright Statement Copyright (C) The IETF Trust (2008). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Farrel and Bernstein [Page 8]