Path Computation Element communication
Protocol extension for associating Policies and LSPsHuawei TechnologiesDivyashree Techno Park, WhitefieldBangaloreKarnataka560066Indiadhruv.ietf@gmail.comCisco Systems, Inc.2000 Innovation DriveKanataOntarioK2K 3E8Canadamsiva@cisco.comOrangestephane.litkowski@orange.comIndividualjefftant.ietf@gmail.comMetaswitch Networks100 Church StreetEnfieldMiddlesexUKJonathan.Hardwick@metaswitch.com
Routing
PCE Working Group
This document introduces a simple mechanism to associate policies to
a group of Label Switched Paths (LSPs) via an extension to the Path Computation
Element (PCE) Communication Protocol (PCEP). describes the Path Computation Element
communication Protocol (PCEP) which enables the communication between
a Path Computation Client (PCC) and a Path Control Element (PCE),
or between two PCEs based on the PCE architecture
.
provides additional details on policy within the PCE architecture and
also provides context for the support of PCE Policy. PCEP Extensions
for Stateful PCE Model
describes a set of extensions to PCEP to
enable active control of Multiprotocol Label Switching Traffic Engineering (MPLS-TE) and Generalzied MPLS (GMPLS) tunnels.
describes the setup and teardown of
PCE-initiated LSPs under the active stateful PCE model, without the
need for local configuration on the PCC, thus allowing for a dynamic
network. Currently, the LSPs can either be signaled via Resource Reservation Protocol Traffic Engineering (RSVP-TE) or can be
segment routed as specified in . introduces a generic
mechanism to create a grouping of LSPs which can then be used to
define associations between a set of LSPs and a set of attributes (such
as configuration parameters or behaviors) and is equally applicable
to stateful PCE (active and passive modes) and stateless PCE.This document specifies a PCEP extension to associate one or
more LSPs with policies using the generic association mechanism.A PCEP speaker may want to influence the PCEP peer with respect
to path selection and other policies. This document describes a
PCEP extension to associate policies by creating Policy Association
Group (PAG) and encoding this association in PCEP messages. The
specification is applicable to both stateful and stateless
PCEP sessions.
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.As described in , the combination of the mandatory fields Association type, Association
ID and Association Source in the ASSOCIATION object uniquely identify
the association group. If the optional TLVs - Global Association
Source or Extended Association ID are included, then they MUST be
included in combination with mandatory fields to uniquely identifying
the association group.As described in , the ASSOCIATION object MAY
include other optional TLVs based on
the association types, that provides 'information' related to the
association type.Label Switch Router.Label Switch Router.Multiprotocol Label Switching.Policy Association Group.Path 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.Path Computation Element Communication Protocol.Paths computed using PCE MAY be subjected to various policies on
both PCE and PCC. For example, in a centralized traffic engineering
scenario, network operators may instantiate LSPs and specifies
policies for traffic steering, path monitoring, etc., for some LSPs
via the stateful PCE. Similarly, a PCC may request a user- or
service-specific policy to be applied at the PCE, such as constraints relaxation to
meet optimal QoS and resiliency. PCEP speaker can use the generic mechanism as per
to associate a set
of LSPs with policy, without the need to know the
details of such policies, which simplifies network operations, avoids
frequent software upgrades, as well provides an ability to introduce
new policy faster.In the context of policy-enabled path computation
, path computation policies may be applied
at both a PCC and a PCE. Consider an Label Switch Router (LSR) with
a policy enabled PCC, it receives a service request via signaling,
including over a Network-Network Interface (NNI) or User Network
Interface (UNI) reference point, or receives a configuration request
over a management interface to establish a service. The PCC may also
apply user- or service-specific policies to decide how the path
selection process should be constrained, that is, which constraints,
diversities, optimization criterion, and constraint relaxation
strategies should be applied in order for the service LSP(s) to have
a likelihood to be successfully established and provide necessary
QoS and resilience against network failures. The user- or
service-specific policies applied to PCC and are then passed to
the PCE along with the Path computation request, in the form of
constraints . PCEP speaker can use the generic mechanism as per
to associate a set
of LSPs with policy and its resulting path computation constraints.
This would simplify the path computation message exchanges in PCEP.As per , LSPs
are associated with other LSPs with which they interact by adding
them to a common association group. Grouping can also be used to
define association between LSPs
and policies associated to them.
One new Association Type is defined in this document,
based on the generic Association object -
Association type = TBD1 ("Policy
Association Type") for Policy Association Group (PAG) This Association-Type is operator-configured association in nature and
created by the operator manually on the PCEP peers. The LSP belonging to
this associations is conveyed via PCEP messages to the PCEP peer.
Operator-configured
Association Range SHOULD NOT be set for this association-type, and MUST be ignored, so that the full
range of association identifier can be utilized.A PAG can have one or more LSPs and its associated policy(s).
The association parameters including association identifier, type (Policy), as well as the association source IP address is manually
configured by the operator and is used to identify the PAG as described in .As per the processing rules specified in section 5.4 of
, if a PCEP speaker
does not support this Policy
association-type, it MUST return a PCErr message with Error-Type 26 (Early allocation by IANA)
"Association Error" and Error-Value 1 "Association-type is not
supported". Since the PAG is opaque in nature, the PAG and the policy
MUST be configured on the PCEP peers as per the operator-configured association procedures.
All processing is as per section 5.4 of
.
If a PCE speaker receives PAG in a PCEP message, and the
association information is not configured, it MUST return
a PCErr message with Error-Type TBD "Association Error" and Error-
Value 4 "Association unknown". If some of the
association information (the TLVs defined in this document)
received from the peer does not match the local configured values, the
PCEP speaker will reject the PCEP message and send a PCErr message with Error-Type 26 (Early allocation by IANA)
"Association Error" and Error-Value 5 "Operator-configured
association information mismatch". Association groups
and their memberships are defined using the ASSOCIATION object defined in
. Two object types for IPv4 and IPv6
are defined. The ASSOCIATION object includes "Association type" indicating
the type of the association group. This document add a new Association type - Association type = TBD1 ("Policy
Association Type") for PAG.PAG may carry optional TLVs including but not limited to -POLICY-PARAMETERS-TLV: Used to communicate opaque information useful to apply the policy, described in .VENDOR-INFORMATION-TLV: Used to communicate arbitrary vendor specific behavioral
information, described in .The POLICY-PARAMETERS-TLV is an optional TLV that can be carried in ASSOCIATION object (with "Policy Association Type") to carry opaque information needed to apply the policy at the PCEP peer.
In some cases to apply a PCE policy successfully, it is required to also associate some policy parameters that needs to be evaluated to successfully apply the said policy. This TLV is used to
carry those policy parameters. The TLV could include one or more policy related parameter. The encoding format and the order MUST be known to the PCEP peers, this could be done during configuration of policy and association parameters for the PAG.
The TLV format is as per the format of all PCEP TLVs, as defined in , and shown in .
Only one POLICY-PARAMETERS-TLV can be carried and only the first occurrence is processed and any others MUST be ignored.The type of the POLICY-PARAMETERS-TLV is TBD2 and it has a
variable length. The Value field is variable field padded to a 4-bytes alignment; padding is not included in 'Len' field. The 'Len' field is 1-byte followed by the opaque variable. The PCEP peer implementation need to be aware of the encoding format, order, and meaning of the 'Policy Parameters' well in advance based on the policy. Note that from the protocol point of view this data is opaque and can be used to carry parameters in any format understood by the PCEP peers and associated to the policy.
The exact use of this TLV is beyond the scope of this document. If the PCEP peer is unaware of the policy parameters associated with the policy and it receives the POLICY-PARAMETERS-TLV, it MUST ignore the TLV and SHOULD log this event.
Further, if one or more parameters received in the POLICY-PARAMETERS-TLV received by the PCEP speaker are considered as unacceptable in the context of the associated policy (e.g. out of range value, badly encoded value...), the PCEP speaker MUST NOT apply the received policy and SHOULD log this event.Note that, the vendor specific behavioral information is encoded in VENDOR-INFORMATION-TLV which can be used along with this TLV.This document defines one new type for association, which do not add any new
security concerns beyond those discussed in ,
and in itself. Some deployments may find policy associations and their implications
as extra sensitive
and thus should employ suitable PCEP security mechanisms like .
Also extra care needs to be taken by the implementation with respect to POLICY-PARAMETERS-TLV while decoding, verifying and applying these policy variables. This document defines the following new association type originally
defined in .The following TLV Type Indicator values are requested within
the "PCEP TLV Type Indicators" subregistry of the "Path Computation
Element Protocol (PCEP) Numbers" registry:
An operator MUST be allowed to configure the policy associations at PCEP peers
and associate it with the LSPs. They MAY also allow configuration to related policy parameters, in which case
the an operator MUST also be allowed to set the encoding format and order to parse the associated policy parameters TLV.An implementation SHOULD allow the operator to view the PAG configured. Further implementation SHOULD allow to view the current set of LSPs in the PAG. To serve this purpose, the PCEP YANG module includes association groups and can be used for PAG.Mechanisms defined in this document do not imply any new liveness detection
and monitoring requirements in addition to those already listed in
.Mechanisms defined in this document do not imply any new operation
verification requirements in addition to those already listed in
.Mechanisms defined in this document do not imply any new requirements
on other protocols.Mechanisms defined in this document do not have any impact on
network operations in addition to those already listed in
.A special thanks to author of
, this document borrow
some of the text from it.