[Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]
Versions: (draft-farrel-pce-vendor-constraints)
00 01 02 03 04 05 06 07 08 09 10 11
RFC 7150
Networking Working Group Greg Bernstein (Ed.)
Internet-Draft Grotto Networking
Intended Status: Standards Track
Created: March 1, 2010 A. Farrel
Expires: September 1, 2010 Old Dog Consulting
Conveying Vendor-Specific Constraints in the Path
Computation Element Protocol
draft-ietf-pce-vendor-constraints-01.txt
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.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and 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.
This Internet-Draft will expire on August 19, 2010.
Farrel and Bernstein [Page 1]
draft-ietf-pce-vendor-constraints-01.txt March 2010
Copyright Notice
Copyright (c) 2010 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.
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 [RFC5440]
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 the 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 [RFC5541]. A core set
of objective functions to be supported in PCEP messages is defined in
the base PCEP requirements [RFC4657], and [RFC5541] defines each of
these functions as an abstract formula.
Farrel and Bernstein [Page 2]
draft-ietf-pce-vendor-constraints-01.txt March 2010
The registry of codepoints used to indicate objective functions is
managed by IANA and can be extended in future documents. PCE
implementations may choose to offer proprietary, vendor-specific
objective functions, and there is scope for this within the codepoint
registry created by [RFC5541]. That is, in the "PCE Objective
Function" code point registry managed by IANA, the rules for the
assignment of objective function code point values are as follows
(using terms defined in [RFC5226])
o Function code values 1 through 1023 are assigned by IANA using
the "IETF Review" policy.
o Function code values 1024 through 32767 are assigned by IANA,
using the "First Come First Served" policy.
o Function code values in the range 32768-65535 are for "Private
Use".
Proprietary objective functions may operate on non-standard
constraints or metrics. The PCEP Metric Object defined in [RFC5440]
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.
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 [RFC5440]. If the P-bit is clear, the object
MAY be used by the PCE or MAY be ignored. The PCC sets the P-bit
according to how it wishes the request to be processed.
The PCE determines how to interpret the Vendor Constraints object by
examining the Enterprise Number it contains.
Farrel and Bernstein [Page 3]
draft-ietf-pce-vendor-constraints-01.txt March 2010
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 can 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 [RFC5541]. Thus, the PCReq message is
encoded as follows using the syntax described in [RFC5511].
<PCReq Message>::= <Common Header>
[ [<OF>] [<metric-list>]
[<vendor-constraint-list>] <SVEC-list> ]
<request-list>
where:
<metric-list>::= <METRIC>
[<metric-list>]
<vendor-constraint-list>::= <VENDOR-CONSTRAINT>
[<vendor-constraint-list>]
<svec-list>::= <SVEC>
[<svec-list>]
<request-list>::= <request>
[<request-list>]
<request>::= <RP>
<END-POINTS>
[<LSPA>]
[<BANDWIDTH>]
[<OF>]
[<metric-list>]
[<vendor-constraint-list>]
[<RRO>]
[<IRO>]
[<LOAD-BALANCING>]
The Vendor Constraints object is included in a PCRep message in
exactly the same way as any other object as defined in [RFC5440].
Farrel and Bernstein [Page 4]
draft-ietf-pce-vendor-constraints-01.txt March 2010
3. Protocol Elements
The Vendor Constraints object conforms to the format for PCEP objects
defined in [RFC5440].
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 can use the information.
Farrel and Bernstein [Page 5]
draft-ietf-pce-vendor-constraints-01.txt March 2010
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. The values here are suggested for use by IANA.
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 SHUOLD allow configuring of various parameters
as described in [RFC5440]. A PCC implementation that uses vendor-
specific constraints MAY make the use of these constraints
configurable either across the whole PCC, per PCE that the PCC uses,
or per path computation request. 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 and 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 [RFC5440].
Farrel and Bernstein [Page 6]
draft-ietf-pce-vendor-constraints-01.txt March 2010
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 [RFC5440].
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.
Mechanisms for verifying the correct operation of computation
algorithms might involve comparing the results returned by more than
one PCE. Scope for this might be limited by the use of vendor
constraints unless multiple PCEs support the same set of constraints.
5.5. Requirements on Other Protocols and Functional Components
This document does not place any new requirements on other network
components or 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
[RFC5440].
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.
Farrel and Bernstein [Page 7]
draft-ietf-pce-vendor-constraints-01.txt March 2010
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 [RFC5440] 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
[RFC5440].
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.
[RFC5440] Vasseur, J.P., Le Roux, J.L., Ayyangar, A., Oki, E.,
Ikejiri, A., Atlas, A., Dolganow, A., "Path Computation
Element (PCE) communication Protocol (PCEP)", RFC 5440,
March 2009.
[RFC5511] Farrel, A., "Reduced Backus-Naur Form (RBNF): A Syntax to
Form Encoding Rules in Various Routing Protocol
Specifications", RFC 5511, April 2007.
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.
Farrel and Bernstein [Page 8]
draft-ietf-pce-vendor-constraints-01.txt March 2010
[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.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
[RFC5541] Le Roux, JL., Vasseur, JP., and Y. Lee, "Objective Function
Encoding in Path Computation Element Communication and
Discovery protocols", RFC 5541, June 2009.
[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-ietf-pce-pcep-
mib, work in progress.
8. Acknowledgements
Thanks to Meral Shirazipour for review and comments.
9. Authors' Addresses
Adrian Farrel
Old Dog Consulting
EMail: adrian@olddog.co.uk
Greg Bernstein
Grotto Networking
EMail: gregb@grotto-networking.com
Farrel and Bernstein [Page 9]
Html markup produced by rfcmarkup 1.129d, available from
https://tools.ietf.org/tools/rfcmarkup/