Extensions to the Path Computation
Element Communication Protocol (PCEP) to Compute Service-Aware
Label Switched Paths (LSPs)Huawei TechnologiesDivyashree Techno Park, WhitefieldBangaloreKarnataka560066Indiadhruv.ietf@gmail.comHuawei Technologies101 Software Avenue, Yuhua DistrictNanjingJiangsu210012Chinabill.wu@huawei.comNano Sec Co3350 Thomas Rd.Santa ClaraCAUnited States of Americavishwas@nanosec.ioCisco Systemszali@cisco.comKDDI Corporationke-kumaki@kddi.com
Routing
PCE Working GroupPCE, PCEP, service-aware, metric, BU, LBU, LRBUIn certain networks, such as, but not limited to,
financial information networks (e.g., stock market data providers), network
performance criteria (e.g., latency) are becoming as critical to data
path selection as other metrics and constraints. These metrics are associated with the
Service Level Agreement (SLA) between customers and service
providers. The link bandwidth utilization (the total bandwidth of
a link in actual use for the forwarding) is another important
factor to consider during path computation.IGP Traffic Engineering (TE) Metric Extensions describe mechanisms with
which network performance information is distributed via
OSPF and IS-IS, respectively. The Path Computation Element
Communication Protocol (PCEP) provides mechanisms for
Path Computation Elements (PCEs) to perform path computations
in response to Path Computation Client (PCC) requests. This
document describes the extension to PCEP to carry latency,
delay variation, packet loss, and link bandwidth utilization
as constraints for end-to-end path computation.Real-time network performance information is becoming critical in the
path computation in some networks. Mechanisms to measure latency,
delay variation, and packet loss in an MPLS network are
described in .
It is important that latency, delay variation, and packet
loss are considered during the path selection process, even before
the Label Switched Path (LSP) is set up.Link bandwidth utilization based on real-time traffic along
the path is also becoming critical during path
computation in some networks. Thus, it is important that the link
bandwidth utilization is factored in during the path computation.The Traffic Engineering Database (TED) is populated with network
performance information like link latency, delay variation,
packet loss, as well as parameters related
to bandwidth (residual bandwidth, available bandwidth, and utilized
bandwidth) via TE Metric Extensions in OSPF or
IS-IS or via a management system.
describes how a Path Computation Element (PCE)
can use that information for path selection for explicitly routed
LSPs.A Path Computation Client (PCC)
can request a PCE to provide a path
meeting end-to-end network performance criteria. This document
extends the Path Computation Element Communication Protocol (PCEP)
to handle network performance constraints
that include any combination of latency, delay variation,
packet loss, and bandwidth utilization constraints. and
describe various considerations regarding:
Announcement thresholds and filtersAnnouncement suppressionAnnouncement periodicity and network stabilityThe first two provide configurable mechanisms to bound the number
of re-advertisements in IGP. The third provides a way to throttle
announcements. Section 1.2 of also
describes the oscillation and stability considerations while
advertising and considering service-aware information. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 when, and only when, they
appear in all capitals, as shown here.The following terminology is used in this document.Interior Gateway Protocol; either of the
two routing protocols, Open Shortest Path First (OSPF) or
Intermediate System to Intermediate System (IS-IS).Intermediate System to Intermediate SystemLink Bandwidth Utilization (see )Link Reserved Bandwidth Utilization (see )Minimum Packet Loss Path
(see )Maximum Reserved Under-Utilized Path
(see )Maximum Under-Utilized Path
(see )Objective Function; a set of one or more optimization
criteria used for the computation of a single path (e.g.,
path cost minimization) or for the synchronized computation
of a set of paths (e.g., aggregate bandwidth consumption
minimization, etc.). (See .)Open Shortest Path FirstPath Computation Client; any client application
requesting a path computation to be performed by a Path Computation
Element.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.Resource Reservation ProtocolTraffic EngineeringTraffic Engineering DatabaseThis section defines PCEP extensions (see )
for requirements outlined in . The proposed
solution is used to support network performance and service-aware
path computation. The METRIC object is defined in Section 7.8 of ,
comprising metric-value and metric-type (T field), and a flags field, comprising a
number of bit flags (B bit and P bit). This document
defines the following types for the
METRIC object.
T=12: Path Delay metric ()T=13: Path Delay Variation metric ()T=14: Path Loss metric ()T=15: P2MP Path Delay metric ()T=16: P2MP Path Delay Variation metric ()T=17: P2MP Path Loss metric ()The following terminology
is used and expanded along the way.
A network comprises of a set of N links {Li, (i=1...N)}.A path P of a point-to-point (P2P) LSP is a list of K links {Lpi,(i=1...K)}.The Link Delay metric is defined in and
as "Unidirectional Link Delay".
The Path Delay metric type of the METRIC object
in PCEP represents the sum of the Link Delay metric of all links along a P2P
path. Specifically, extending on the above-mentioned terminology:
A Link Delay metric of link L is denoted D(L).A Path Delay metric for the P2P path P = Sum {D(Lpi), (i=1...K)}. This is as per the sum of means composition function (Section 4.2.5 of
). Section 1.2 of
describes oscillation and stability considerations, and Section 2.1 of
describes the calculation of the end-to-end Path Delay metric. Further, Section 4.2.9 of
states when this composition function may fail.Metric Type T=12: Path Delay metric A PCC MAY use the Path Delay metric in a Path Computation Request (PCReq) message to request a path
meeting the end-to-end latency requirement. In this case, the B bit MUST be
set to suggest a bound (a maximum) for the Path Delay metric that must
not be exceeded for the PCC to consider the computed path as acceptable.
The Path Delay metric must be less than or equal to the value specified in the
metric-value field.A PCC can also use this metric to ask PCE to optimize the path delay during
path computation. In this case, the B bit MUST be cleared. A PCE MAY use the Path Delay metric in a Path Computation Reply (PCRep)
message along with a NO-PATH
object in the case where the PCE cannot compute a path meeting this constraint. A PCE
can also use this metric to send the computed Path Delay metric
to the PCC. and
define "Unidirectional Link Delay Sub&nbhy;TLV" to advertise the link delay in microseconds in a 24-bit field.
defines the METRIC object with a 32-bit
metric value encoded in IEEE floating point format
(see ). Consequently, the encoding for the Path Delay metric
value is quantified in units of microseconds and encoded in IEEE floating
point format. The conversion from 24-bit integer to 32-bit IEEE floating point could introduce some loss of precision. The Link Delay Variation metric is defined in
and as "Unidirectional Delay Variation".
The Path Delay Variation metric type of the
METRIC object in PCEP encodes the sum of the Link Delay Variation metric
of all links along the path. Specifically, extending on the above-mentioned
terminology:
A delay variation of link L is denoted DV(L) (average delay variation
for link L).A Path Delay Variation metric for the P2P path P = Sum {DV(Lpi), (i=1...K)}.Section 1.2 of
describes oscillation and stability considerations, and Section 2.1 of
describes the calculation of the end-to-end Path Delay Variation metric. Further, Section 4.2.9 of
states when this composition function may fail.Note that the IGP advertisement for link attributes includes the average delay
variation over a period of time. An implementation, therefore, MAY use the sum of
the average delay variation of links along a path to derive the
delay variation of the path. An end&nbhy;to&nbhy;end bound on delay variation
is typically used as constraint in the path computation.
An implementation MAY also use some enhanced
composition function for computing the delay variation of a path with better accuracy.Metric Type T=13: Path Delay Variation metric A PCC MAY use the Path Delay Variation metric in a PCReq message to request a
path meeting the path delay variation requirement. In this case, the B bit
MUST be set to suggest a bound (a maximum) for the Path Delay Variation
metric that must not be exceeded for the PCC to consider the computed path
as acceptable. The path delay variation must be less than or equal to the value
specified in the metric-value field. A PCC can also use this metric to ask the PCE to optimize the path delay variation
during path computation. In this case, the B flag MUST be cleared. A PCE MAY use the Path Delay Variation metric in a PCRep message along with a
NO-PATH object in the case where the PCE cannot compute a path meeting this constraint.
A PCE can also use this metric to send the computed end-to-end Path Delay
Variation metric to the PCC. and
define "Unidirectional Delay Variation Sub&nbhy;TLV" to advertise the link delay variation in microseconds in a 24-bit field.
defines the METRIC object with a 32-bit metric
value encoded in IEEE floating point format
(see ). Consequently, the encoding for the Path Delay Variation metric
value is quantified in units of microseconds and encoded in IEEE floating
point format. The conversion from 24-bit integer to 32-bit IEEE floating point could introduce some loss of precision. and
define "Unidirectional Link Loss". The Path Loss (as a packet percentage) metric type of the
METRIC object in PCEP encodes a function of the unidirectional loss
metrics of all links along a P2P path. The end-to-end packet loss for the path is represented by this metric.
Specifically, extending on the above
mentioned terminology:
The percentage link loss of link L is denoted PL(L).The fractional link loss of link L is denoted FL(L) = PL(L)/100.The percentage Path Loss metric for the P2P path P = (1 - ((1-FL(Lp1)) *
(1-FL(Lp2)) * .. * (1-FL(LpK)))) * 100 for a path P with links Lp1 to LpK.This is as per the composition function described in Section 5.1.5 of .Metric Type T=14: Path Loss metric A PCC MAY use the Path Loss metric in a PCReq message to request a path
meeting the end-to-end packet loss requirement. In this case, the B bit MUST
be set to suggest a bound (a maximum) for the Path Loss metric
that must not be exceeded for the PCC to consider the computed path as
acceptable. The Path Loss metric must be less than or equal to the value
specified in the metric-value field. A PCC can also use this metric to ask the PCE to optimize the path loss
during path computation. In this case, the B flag MUST be cleared. A PCE MAY use the Path Loss metric in a PCRep message along with a
NO-PATH object in the case where the PCE cannot compute a path meeting this
constraint. A PCE can also use this metric to send the computed
end-to-end Path Loss metric to the PCC. and
define "Unidirectional Link Loss Sub-TLV" to advertise the link loss in percentage in a 24-bit field.
defines the METRIC object with a 32-bit
metric value encoded in IEEE floating point format
(see ). Consequently, the encoding for the Path Loss metric value
is quantified as a percentage and encoded in IEEE floating point format.If a PCE receives a PCReq message containing a METRIC object with a type defined in this document, and
the PCE does not understand or support that metric type, and the P bit is clear in the METRIC object header,
then the PCE SHOULD simply ignore the METRIC object as per the processing specified in .If the PCE does not understand the new METRIC type, and the P bit is set in the METRIC object header, then the PCE MUST
send a PCEP Error (PCErr) message containing a PCEP-ERROR Object with
Error-Type = 4
(Not supported object) and Error-value = 4 (Unsupported parameter) .If the PCE understands but does not support the new METRIC type, and the P bit is set in the METRIC object header,
then the PCE MUST send a PCErr message containing a PCEP-ERROR Object
with Error-Type = 4
(Not supported object) with Error-value = 5 (Unsupported network performance constraint). The path computation
request MUST then be canceled.If the PCE understands the new METRIC type, but the local policy has been configured on the PCE to not
allow network performance constraint, and the P bit is set in the METRIC object header,
then the PCE MUST send a PCErr message containing a PCEP-ERROR Object
with Error-Type = 5
(Policy violation) with Error-value = 8 (Not allowed network performance constraint). The path computation
request MUST then be canceled.As explained in , the METRIC object is
optional and can be used for several purposes. In a PCReq message,
a PCC MAY insert one or more METRIC objects:To indicate the metric that MUST be optimized by the path
computation algorithm (path delay, path delay variation, or path loss).To indicate a bound on the METRIC (path delay,
path delay variation, or path loss) that MUST NOT be exceeded for
the path to be considered as acceptable by the PCC.In a PCRep message, the PCE MAY insert the METRIC object with an Explicit Route Object (ERO) so as
to provide the METRIC (path delay, path delay variation, or path loss) for
the computed path. The PCE MAY also insert the METRIC object with
a NO-PATH object to indicate that the metric constraint could
not be satisfied.The path computation algorithmic aspects used by the PCE to
optimize a path with respect to a specific metric are outside
the scope of this document.All the rules of processing the METRIC object as explained in
are applicable to the new metric types
as well. If a PCC sends a path computation request to a PCE
where the metric to optimize is the path delay and the path loss
must not exceed the value of M, then two METRIC objects are inserted
in the PCReq message:First METRIC object with B=0, T=12, C=1, metric-value=0x0000Second METRIC object with B=1, T=14, metric-value=MAs per , if a path satisfying the set of constraints can be found by the
PCE and there is no policy that prevents the return of the
computed metric, then the PCE inserts one METRIC object with B=0,
T=12, metric-value= computed path delay.
Additionally, the PCE MAY insert a second METRIC object with
B=1, T=14, metric-value=computed path
loss.This section defines the following types for the METRIC
object to be used for the P2MP TE LSPs.The P2MP Path Delay metric type of the METRIC object in PCEP encodes the Path
Delay metric for the destination that observes the worst delay metric
among all destinations of the P2MP tree. Specifically, extending on the
above-mentioned terminology:
A P2MP tree T comprises a set of M destinations {Dest_j, (j=1...M)}.The P2P Path Delay metric of the path to destination Dest_j is denoted by PDM(Dest_j).The P2MP Path Delay metric for the P2MP tree T = Maximum {PDM(Dest_j), (j=1...M)}.The value for the P2MP Path Delay metric type (T) = 15.The P2MP Path Delay Variation metric type of the METRIC object in PCEP encodes the
Path Delay Variation metric for the destination that observes the worst delay
variation metric among all destinations of the P2MP tree. Specifically,
extending on the above-mentioned terminology:
A P2MP tree T comprises a set of M destinations {Dest_j, (j=1...M)}.The P2P Path Delay Variation metric of the path to the destination Dest_j is denoted by PDVM(Dest_j).The P2MP Path Delay Variation metric for the P2MP tree T = Maximum {PDVM(Dest_j), (j=1...M)}.The value for the P2MP Path Delay Variation metric type (T) = 16.The P2MP Path Loss metric type of the METRIC object in PCEP encodes the path packet
loss metric for the destination that observes the worst packet loss metric among all
destinations of the P2MP tree. Specifically, extending on the above-mentioned terminology:
A P2MP tree T comprises of a set of M destinations {Dest_j, (j=1...M)}.The P2P Path Loss metric of the path to destination Dest_j is denoted by PLM(Dest_j).The P2MP Path Loss metric for the P2MP tree T = Maximum {PLM(Dest_j), (j=1...M)}.The value for the P2MP Path Loss metric type (T) = 17.The LBU on a link, forwarding adjacency, or bundled
link is populated in the TED ("Unidirectional Utilized Bandwidth Sub-TLV" in
and ). For a link or forwarding adjacency,
the bandwidth utilization represents the actual utilization of the link
(i.e., as measured in the router). For a bundled link, the bandwidth
utilization is defined to be the sum of the component link bandwidth
utilization. This includes traffic for both RSVP-TE and non-RSVP-TE
label switched path packets.The LBU in percentage is described as the (utilized bandwidth / maximum bandwidth) *
100.The "maximum bandwidth" is defined in and
and "utilized bandwidth" in and .The LRBU on a link, forwarding adjacency,
or bundled link can be calculated from the TED. The utilized bandwidth includes traffic for both RSVP-TE and non-RSVP-TE LSPs; the reserved
bandwidth utilization considers only the RSVP-TE LSPs.The reserved bandwidth utilization can be calculated by using the residual bandwidth, available
bandwidth, and utilized bandwidth described in and .
The actual bandwidth by non&nbhy;RSVP&nbhy;TE traffic can be
calculated by subtracting the available bandwidth from the residual bandwidth ( and ), which is further deducted from utilized bandwidth to get the reserved bandwidth utilization. Thus,reserved bandwidth utilization = utilized bandwidth - (residual bandwidth - available bandwidth)The LRBU in percentage is described as the (reserved bandwidth utilization / maximum reservable
bandwidth) * 100.The "maximum reservable bandwidth" is defined in and
. The "utilized bandwidth", "residual bandwidth", and "available bandwidth" are defined in and .The BU object is used to indicate the upper limit
of the acceptable link bandwidth utilization percentage.The BU object MAY be carried within the PCReq message and PCRep
messages.BU Object-Class is 35.BU Object-Type is 1.The format of the BU object body is as follows:This field MUST be set to zero
on transmission and MUST be ignored on receipt.Represents the bandwidth utilization
type. Two values are currently defined.
Type 1 is LBU (Link Bandwidth Utilization)Type 2 is LRBU (Link Residual Bandwidth Utilization)Represents the
bandwidth utilization quantified as a percentage (as described in
Sections and ) and encoded in IEEE floating point format
(see ).The BU object body has a fixed length of 8 bytes. A PCC that wants the PCE to factor in the bandwidth utilization
during path computation includes a BU object in the PCReq message.
A PCE that supports this object MUST ensure that no
link on the computed path has the LBU or LRBU percentage
exceeding the given value.A PCReq or PCRep message MAY contain multiple BU objects so long as
each is for a different bandwidth utilization type. If a message
contains more than one BU object with the same bandwidth utilization
type, the first MUST be processed by the receiver and subsequent
instances MUST be ignored.If the BU object is unknown/unsupported, the PCE is expected to follow
procedures defined in . That is, if the P bit is set, the
PCE sends a PCErr message with error type 3 or 4 (Unknown / Not
supported object) and error value 1 or 2 (unknown / unsupported
object class / object type), and the related path computation
request will be discarded. If the P bit is cleared, the PCE is
free to ignore the object.If the PCE understands but does not support path computation requests using the BU object, and the P bit is set in the BU object header,
then the PCE MUST send a PCErr message with a PCEP-ERROR
Object Error-Type = 4 (Not supported object) with Error-value = 5
(Unsupported network performance constraint), and the related path
computation request MUST be discarded.If the PCE understands the BU object but the local policy has been configured on the PCE to not
allow network performance constraint, and the P bit is set in the BU object header,
then the PCE MUST send a PCErr message with a PCEP-ERROR
Object Error-Type = 5 (Policy violation) with Error-value = 8
(Not allowed network performance constraint). The path computation request MUST then be
canceled.If path computation is unsuccessful, then a PCE MAY insert a BU object (along with a NO-PATH object) into a PCRep
message to indicate the constraints that could not be satisfied.
Usage of the BU object for P2MP LSPs is outside the scope of this document. defines a mechanism to specify an objective function
that is used by a PCE when it computes a path.
The new metric types for path delay and path delay variation
can continue to use the existing objective function -- Minimum Cost Path (MCP) .
For path loss, the following
new OF is defined.A network comprises a set of N links {Li, (i=1...N)}.A path P is a list of K links {Lpi,(i=1...K)}.The percentage link loss of link L is denoted PL(L).The fractional link loss of link L is denoted FL(L) = PL(L) / 100.The percentage path loss of a path P is denoted PL(P), where PL(P) = (1 -
((1-FL(Lp1)) * (1-FL(Lp2)) * .. * (1-FL(LpK)))) * 100. Two additional objective functions -- namely,
the Maximum Under-Utilized Path (MUP) and the Maximum Reserved
Under-Utilized Path (MRUP) are needed to optimize bandwidth utilization.
These two new objective function codes are defined below.These objective functions are formulated using the following
additional terminology:The bandwidth utilization on link L is denoted u(L).The reserved bandwidth utilization on link L is denoted ru(L).The maximum bandwidth on link L is denoted M(L).The maximum reservable bandwidth on link L is denoted R(L).The description of the two new objective functions is as
follows.These new objective functions are used to optimize paths based on
the bandwidth utilization as the optimization criteria.If the objective functions defined in this document are
unknown/unsupported by a PCE, then the procedure as defined in Section 3.1.1 of is followed. specifies a set of
extensions to PCEP to enable
stateful control of MPLS-TE and GMPLS LSPs via PCEP and the maintaining
of these LSPs at the stateful PCE. It further distinguishes between
an active and a passive stateful PCE. A passive stateful PCE uses LSP state
information learned from PCCs to optimize path computations but does
not actively update LSP state. In contrast, an active stateful PCE
utilizes the LSP delegation mechanism to update LSP parameters in those PCCs that
delegated control over their LSPs to the PCE. describes the setup,
maintenance, and teardown of PCE-initiated LSPs under the stateful PCE
model. The document defines the PCInitiate message that is used by a PCE
to request a PCC to set up a new LSP.The new metric type and objective functions defined in this document can also
be used with the stateful PCE extensions.
The format of PCEP messages described in
and uses
<intended-attribute-list> and <attribute-list>, respectively, (where the <intended-attribute-list> is the attribute-list defined in
Section 6.5 of and extended in of this document) for the purpose
of including the service-aware parameters.The stateful PCE implementation MAY use the extension of
PCReq and PCRep messages as defined in Sections and
to enable the use of service-aware parameters during passive stateful operations.Message formats in this document are expressed using Routing Backus-Naur Form (RBNF) as
used in and defined in .The extensions to the PCReq message are:
new metric types using existing METRIC objecta new optional BU objectnew objective functions using existing OF object The format of the PCReq message (with and as a base) is updated as follows:The extensions to the PCRep message are:
new metric types using existing METRIC objecta new optional BU object (during unsuccessful path
computation, to indicate the bandwidth utilization as
a reason for failure)new objective functions using existing OF object The format of the PCRep message (with and as a base) is updated as follows:A Path Computation LSP State
Report message (also referred to as PCRpt message) is a PCEP message
sent by a PCC to a PCE to report the current state or delegate control
of an LSP.
The BU object in a PCRpt message specifies the upper limit set at the PCC
at the time of LSP delegation to an active stateful PCE.The format of the PCRpt message is described in , which uses
the <intended-attribute-list>, which is the attribute-list defined in
Section 6.5 of and extended by PCEP extensions.The PCRpt message can use the updated <attribute-list> (as extended in ) for the purpose of including the BU object. describes the Backward Recursive
PCE-Based Computation (BRPC) procedure to compute an end-to-end
optimized inter-domain path by cooperating PCEs. The new metric
types
defined in this document can be applied to end-to-end path
computation, in a similar manner to the existing IGP or TE metrics.
The new BU object
defined in this document can be applied to end-to-end path
computation, in a similar manner to a METRIC object with its B bit set to 1.All domains should have the same understanding of the METRIC
(path delay variation, etc.) and the BU object for end-to-end inter-domain path computation
to make sense. Otherwise, some form of metric normalization as
described in MUST be applied.The IGP in each neighbor domain can advertise its inter-domain
TE link capabilities. This has been described in
(IS-IS) and (OSPF). The network performance
link properties are described in and
. The same properties must be advertised
using the mechanism described in (OSPF) and
(IS-IS). provides a framework for PCE-based inter-layer
MPLS and GMPLS traffic engineering. Lower-layer LSPs that are advertised
as TE links into the higher-layer network form a Virtual Network Topology
(VNT). The advertisement into the higher-layer network should include network performance
link properties based on the end&nbhy;to&nbhy;end metric of the lower-layer LSP. Note that
the new metrics defined in this document are applied to end-to-end path computation,
even though the path may cross multiple layers. defines the measurement of loss, delay,
and related metrics over LSPs. A PCC can
utilize these measurement techniques. In case it detects a degradation
of network performance parameters relative to the value of the constraint it gave when the
path was set up, or relative to an implementation-specific
threshold, it MAY ask the PCE to reoptimize the path by sending a PCReq with the R bit set in the RP
object, as per .A PCC may also detect the degradation of an LSP without making any direct measurements,
by monitoring the TED (as populated by the IGP) for changes in the network performance
parameters of the links that carry its LSPs. The PCC can issue a reoptimization request
for any impacted LSPs.
For example, a PCC can monitor the link bandwidth utilization along the
path by monitoring changes in the bandwidth utilization parameters of
one or more links on the path in the TED. If the bandwidth utilization
percentage of any of the links in the path changes to a value less
than that required when the path was set up, or otherwise less
than an implementation-specific threshold, then the PCC can issue a reoptimization
request to a PCE.A stateful PCE can also determine which LSPs should be reoptimized
based on network events or triggers from external monitoring systems.
For example, when a particular link deteriorates and its loss
increases, this can trigger the stateful PCE to automatically determine
which LSPs are impacted and should be reoptimized.IANA maintains the "Path Computation Element Protocol (PCEP) Numbers"
registry at <http://www.iana.org/assignments/pcep>. Within this
registry, IANA maintains a subregistry for "METRIC Object T Field".
Six new metric types are defined in this document for the METRIC
object (specified in ). IANA has made the following allocations:IANA maintains Object-Types within the "PCEP Objects" registry.
IANA has made the following allocation:IANA has created a new subregistry, named "BU Object
Type Field", within the "Path Computation Element Protocol
(PCEP) Numbers" registry to manage the Type field of the BU
object. New values are to be assigned by Standards Action .
Each value should be tracked with the following qualities:
TypeNameReferenceThe following values are defined in this document:IANA maintains the "Objective Function" subregistry (described in ) within the "Path Computation Element Protocol (PCEP)
Numbers" registry. Three new objective functions have been
defined in this document.IANA has made the following allocations:IANA maintains a registry of Error-Types and Error-values for use in
PCEP messages. This is maintained as the "PCEP-ERROR Object Error
Types and Values" subregistry of the "Path Computation Element
Protocol (PCEP) Numbers" registry.IANA has made the following allocations: Two new Error-values are defined for the Error-Type "Not supported object" (type 4) and "Policy violation" (type 5).This document defines new METRIC types, a new BU object, and new OF codes that do not add any new
security concerns beyond those discussed in
and in itself. Some deployments may find the
service-aware information like delay and packet loss to be extra sensitive
and could be used to influence path computation and setup with adverse effect.
Additionally, snooping of PCEP messages with such data or using PCEP messages for network
reconnaissance may give an attacker
sensitive information about the operations of the network.
Thus, such deployment should employ suitable PCEP security mechanisms like TCP Authentication Option (TCP-AO)
or . The procedure based on Transport Layer Security (TLS) in is considered a security enhancement and thus
is much better suited for the sensitive service-aware information.The only configurable item is the support of the new constraints on
a PCE, which MAY be controlled by a policy module on an individual basis. If the new
constraint is not supported/allowed on a PCE, it MUST send a PCErr
message accordingly. describes the PCEP MIB. There are no new MIB Objects
for this document.The mechanisms defined in this document do not imply any new liveness detection
and monitoring requirements in addition to those already listed in
.The mechanisms defined in this document do not imply any new operation
verification requirements in addition to those already listed in
.The PCE requires the TED to be populated with network performance
information like link latency, delay variation, packet loss,
and utilized bandwidth.
This mechanism is described in
and .The mechanisms defined in this document do not have any impact on
network operations in addition to those already listed in
.Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE
PCEP Extensions for PCE-initiated LSP Setup in a Stateful PCE Model
The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Clients (PCCs) requests. The extensions for stateful PCE provide stateful control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSP) via PCEP, for a model where the PCC delegates control over one or more locally configured LSPs to the PCE. This document describes the creation and deletion of PCE-initiated LSPs under the stateful PCE model.
Secure Transport for PCEP
The Path Computation Element Communication Protocol (PCEP) defines the mechanisms for the communication between a Path Computation Client (PCC) and a Path Computation Element (PCE), or among PCEs. This document describe the usage of Transport Layer Security (TLS) to enhance PCEP security, hence the PCEPS acronym proposed for it. The additional security mechanisms are provided by the transport protocol supporting PCEP, and therefore they do not affect the flexibility and extensibility of PCEP.
Standard for Binary Floating-Point Arithmetic
IEEEEnd-to-end service optimization based on latency, delay variation,
packet loss, and link bandwidth utilization are key requirements
for service providers. The following associated key requirements are
identified for PCEP: A PCE supporting this specification MUST have the capability to compute
end-to-end paths with latency, delay variation, packet loss,
and bandwidth utilization
constraints. It MUST also support the combination of network
performance constraints (latency, delay variation, loss,...)
with existing constraints (cost, hop-limit,...).A PCC MUST be able to specify any network performance constraint
in a PCReq message to be applied during the path computation.A PCC MUST be able to request that a PCE optimizes a path using any network performance criteria. A PCE that supports this specification is not required to provide
service-aware path computation to any PCC at any time.
Therefore, it MUST be possible for a PCE to reject a PCReq
message with a reason code that indicates service-aware path
computation is not supported. Furthermore, a PCE that does not
support this specification will either ignore or reject such
requests using pre-existing mechanisms; therefore, the requests
MUST be identifiable to legacy PCEs, and rejections by legacy
PCEs MUST be acceptable within this specification.A PCE SHOULD be able to return end-to-end network performance
information of the computed path in a PCRep message.A PCE SHOULD be able to compute multi-domain (e.g., Inter-AS,
Inter-Area, or Multi-Layer) service-aware paths. Such constraints are only meaningful if used
consistently: for instance, if the delay of a computed path segment is
exchanged between two PCEs residing in different domains, a consistent
way of defining the delay must be used.We would like to thank Alia Atlas, John E. Drake, David Ward,
Young Lee, Venugopal Reddy, Reeja Paul, Sandeep Kumar Boina,
Suresh Babu, Quintin Zhao, Chen Huaimo, Avantika, and Adrian Farrel for their
useful comments and
suggestions.Also, the authors gratefully acknowledge reviews and feedback
provided by Qin Wu,
Alfred Morton, and Paul Aitken during performance directorate
review.Thanks to Jonathan Hardwick for shepherding this document and
providing valuable comments. His help in fixing the editorial
and grammatical issues is also appreciated.Thanks to Christian Hopps for the routing directorate review.Thanks to Jouni Korhonen and Alfred Morton for the operational directorate review.Thanks to Christian Huitema for the security directorate review.Thanks to Deborah Brungard for being the responsible AD.Thanks to Ben Campbell, Joel Jaeggli, Stephen Farrell, Kathleen Moriarty, Spencer Dawkins, Mirja Kuehlewind, Jari Arkko, and Alia Atlas for the IESG reviews.