draft-ietf-pce-policy-enabled-path-comp-04.txt | rfc5394.txt | |||
---|---|---|---|---|
Internet Draft Igor Bryskin (Adva Optical) | ||||
Category: Informational Dimitri Papadimitriou (Alcatel) | ||||
Expiration Date: April 31, 2009 Lou Berger (LabN Consulting) | ||||
Jerry Ash (AT&T) | ||||
October 31, 2008 | Network Working Group I. Bryskin | |||
Request for Comments: 5394 Adva Optical | ||||
Category: Informational D. Papadimitriou | ||||
Alcatel | ||||
L. Berger | ||||
LabN Consulting | ||||
J. Ash | ||||
AT&T | ||||
December 2008 | ||||
Policy-Enabled Path Computation Framework | Policy-Enabled Path Computation Framework | |||
draft-ietf-pce-policy-enabled-path-comp-04.txt | Status of This Memo | |||
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/1id-abstracts.html | ||||
The list of Internet-Draft Shadow Directories can be accessed at | ||||
http://www.ietf.org/shadow.html | ||||
This Internet-Draft will expire on April 31, 2009. | This memo provides information for the Internet community. It does | |||
not specify an Internet standard of any kind. Distribution of this | ||||
memo is unlimited. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (C) The IETF Trust (2008). | Copyright (c) 2008 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. | ||||
Abstract | Abstract | |||
The Path Computation Element (PCE) Architecture introduces the | The Path Computation Element (PCE) architecture introduces the | |||
concept of policy in the context of path computation. This document | concept of policy in the context of path computation. This document | |||
provides additional details on policy within the PCE Architecture and | provides additional details on policy within the PCE architecture and | |||
also provides context for the support of PCE Policy. This document | also provides context for the support of PCE Policy. This document | |||
introduces the use of the Policy Core Information Model (PCIM) as a | introduces the use of the Policy Core Information Model (PCIM) as a | |||
framework for supporting path computation policy. This document also | framework for supporting path computation policy. This document also | |||
provides representative scenarios for the support of PCE Policy. | provides representative scenarios for the support of PCE Policy. | |||
Table of Contents | Table of Contents | |||
1 Introduction .............................................. 3 | 1. Introduction ....................................................2 | |||
1.1 Terminology ............................................... 4 | 1.1. Terminology ................................................3 | |||
2 Background ................................................ 4 | 2. Background ......................................................4 | |||
2.1 Motivation ................................................ 5 | 2.1. Motivation .................................................4 | |||
2.2 Policy Attributes ......................................... 7 | 2.2. Policy Attributes ..........................................6 | |||
2.3 Representative Policy Scenarios ........................... 8 | 2.3. Representative Policy Scenarios ............................7 | |||
2.3.1 Scenario: Policy Configured Paths ......................... 8 | 2.3.1. Scenario: Policy Configured Paths ...................7 | |||
2.3.2 Scenario: Provider Selection Policy ....................... 11 | 2.3.2. Scenario: Provider Selection Policy ................10 | |||
2.3.3 Scenario: Policy Based Constraints ........................ 12 | 2.3.3. Scenario: Policy Based Constraints .................12 | |||
2.3.4 Scenario: Advanced Load Balancing (ALB) Example .......... 15 | 2.3.4. Scenario: Advanced Load Balancing (ALB) Example ....14 | |||
3 Requirements .............................................. 16 | 3. Requirements ...................................................16 | |||
4 Path Computation Policy Information Model (PCPIM) ......... 18 | 4. Path Computation Policy Information Model (PCPIM) ..............18 | |||
5 Policy-Enabled Path Computation Framework Components ...... 20 | 5. Policy-Enabled Path Computation Framework Components ...........20 | |||
6 Policy Component Configurations ........................... 21 | 6. Policy Component Configurations ................................21 | |||
6.1 PCC-PCE Configurations .................................... 21 | 6.1. PCC-PCE Configurations ....................................21 | |||
6.2 Policy Repositories ....................................... 23 | 6.2. Policy Repositories .......................................24 | |||
6.3 Cooperating PCE Configurations ............................ 25 | 6.3. Cooperating PCE Configurations ............................25 | |||
6.4 Policy Configuration Management ........................... 26 | 6.4. Policy Configuration Management ...........................27 | |||
7 Inter-Component Communication ............................. 26 | 7. Inter-Component Communication ..................................27 | |||
7.1 Policy Communication ..................................... 26 | 7.1. Policy Communication ......................................27 | |||
7.2 PCE Discovery Policy Considerations ....................... 28 | 7.2. PCE Discovery Policy Considerations .......................29 | |||
8 Path Computation Sequence of Events ....................... 29 | 8. Path Computation Sequence of Events ............................29 | |||
8.1 Policy-enabled PCC, Policy-enabled PCE .................... 29 | 8.1. Policy-Enabled PCC, Policy-Enabled PCE ....................29 | |||
8.2 Policy-ignorant PCC, Policy-enabled PCE ................... 30 | 8.2. Policy-Ignorant PCC, Policy-Enabled PCE ...................31 | |||
9 Introduction of New Constraints ........................... 32 | 9. Introduction of New Constraints ................................32 | |||
10 Security Considerations ................................... 32 | 10. Security Considerations .......................................33 | |||
11 Acknowledgments ........................................... 33 | 11. Acknowledgments ...............................................33 | |||
12 IANA Considerations ....................................... 33 | 12. References ....................................................34 | |||
13 References ................................................ 33 | 12.1. Normative References .....................................34 | |||
13.1 Normative References ...................................... 33 | 12.2. Informative References ...................................34 | |||
13.2 Informative References .................................... 34 | ||||
14 Authors' Addresses ........................................ 35 | ||||
15 Full Copyright Statement .................................. 36 | ||||
16 Intellectual Property ..................................... 36 | ||||
1. Introduction | 1. Introduction | |||
The Path Computation Element (PCE) Architecture is introduced in | The Path Computation Element (PCE) Architecture is introduced in | |||
[RFC4655]. This document describes the impact of policy-based | [RFC4655]. This document describes the impact of policy-based | |||
decision making when incorporated into the PCE architecture and | decision making when incorporated into the PCE architecture and | |||
provides additional details on, and context for applying policy | provides additional details on, and context for, applying policy | |||
within the PCE Architecture. | within the PCE architecture. | |||
Policy-based Management (PBM), see [RFC3198], is a network management | Policy-based Management (PBM), see [RFC3198], is a network management | |||
approach that enables a network to automatically perform actions in | approach that enables a network to automatically perform actions in | |||
response to network events or conditions based on pre-established | response to network events or conditions based on pre-established | |||
rules, also denoted as policies, from a network administrator. PBM | rules, also denoted as policies, from a network administrator. PBM | |||
enables network administrators to operate in a high-level manner | enables network administrators to operate in a high-level manner | |||
through rule-based strategy (policies can be defined as a set of | through rule-based strategy (policies can be defined as a set of | |||
rules and actions); the latter are translated automatically (i.e., | rules and actions); the latter are translated automatically (i.e., | |||
dynamically, without human interference) into individual device | dynamically, without human interference) into individual device | |||
configuration directives, aimed at controlling a network as a whole. | configuration directives, aimed at controlling a network as a whole. | |||
Two IETF Working Groups have considered policy networking in the | Two IETF Working Groups have considered policy networking in the | |||
past: The Resource Allocation Protocol (RAP) working group and the | past: The Resource Allocation Protocol (RAP) working group and the | |||
Policy Framework working group. | Policy Framework working group. | |||
A framework for policy-based admission control [RFC2753] was defined | A framework for policy-based admission control [RFC2753] was defined | |||
and a protocol for use between Policy Enforcement Points (PEP) and | and a protocol for use between Policy Enforcement Points (PEP) and | |||
Policy Decision Points (PDP) was specified: Common Open Policy | Policy Decision Points (PDP) was specified: Common Open Policy | |||
Service (COPS) [RFC2748]. This document uses the terms PEP and PDP to | Service (COPS) [RFC2748]. This document uses the terms PEP and PDP | |||
refer to the functions defined in the COPS context. This document | to refer to the functions defined in the COPS context. This document | |||
makes no assumptions nor requires that the actual COPS protocol be | makes no assumptions nor does it require that the actual COPS | |||
used. Any suitable policy exchange protocol (for example, SOAP | protocol be used. Any suitable policy exchange protocol (for | |||
[W3CSOAP]) may be substituted. | example, Simple Object Access Protocol (SOAP) [W3CSOAP]) may be | |||
substituted. | ||||
The IETF has also produced a general framework for representing, | The IETF has also produced a general framework for representing, | |||
managing, sharing, and reusing policies in a vendor-independent, | managing, sharing, and reusing policies in a vendor-independent, | |||
interoperable, and scalable manner. It has also defined an extensible | interoperable, and scalable manner. It has also defined an | |||
information model for representing policies, called the Policy Core | extensible information model for representing policies, called the | |||
Information Model (PCIM) [RFC3060]; and an extension to this model to | Policy Core Information Model (PCIM) [RFC3060], and an extension to | |||
address the need for QoS management, called the QoS Policy | this model to address the need for QoS management, called the Quality | |||
Information Model (QPIM) [RFC3644]. However, additional mechanisms | of Service (QoS) Policy Information Model (QPIM) [RFC3644]. However, | |||
are needed in order to specify policies related to the path | additional mechanisms are needed in order to specify policies related | |||
computation logic as well as its control. | to the path computation logic as well as its control. | |||
In Section 2, this document presents policy related background and | In Section 2, this document presents policy-related background and | |||
scenarios to provide a context for this work. Section 3 provides | scenarios to provide a context for this work. Section 3 provides | |||
requirements that must be addressed by mechanisms and protocols that | requirements that must be addressed by mechanisms and protocols that | |||
enable policy-based control over path computation requests and | enable policy-based control over path computation requests and | |||
decisions. Section 4 introduces PCIM as a core component in a | decisions. Section 4 introduces PCIM as a core component in a | |||
framework for providing policy-enabled path computation. Section 5 | framework for providing policy-enabled path computation. Section 5 | |||
introduces a set of components that may be used to support policy- | introduces a set of components that may be used to support policy- | |||
enabled path computation. Sections 6, 7 and 8 provide details on | enabled path computation. Sections 6, 7, and 8 provide details on | |||
possible component configurations, communication and events. Section | possible component configurations, communication, and events. | |||
10 discusses the ability to introduce new constraints with minimal | Section 10 discusses the ability to introduce new constraints with | |||
impact. It should be noted that this document, in Section 4, only | minimal impact. It should be noted that this document, in Section 4, | |||
introduces PCIM, specific PCIM definitions to support path | only introduces PCIM; specific PCIM definitions to support path | |||
computation will be discussed in a separate document. | computation will be discussed in a separate document. | |||
1.1. Terminology | 1.1. Terminology | |||
The reader is assumed to be familiar with the following terms: | The reader is assumed to be familiar with the following terms: | |||
BEEP: Blocks Extensible Exchange Protocol, see [RFC3080]. | BEEP: Blocks Extensible Exchange Protocol, see [RFC3080]. | |||
CIM: Common Information Model, see [DMTF]. | CIM: Common Information Model, see [DMTF]. | |||
COPS: Common Open Policy Service, see [RFC2748]. | COPS: Common Open Policy Service, see [RFC2748]. | |||
CSPF: Constraint-based Shortest Path First, see [RFC3630]. | CSPF: Constraint-based Shortest Path First, see [RFC3630]. | |||
LSP: Label Switched Path, see [RFC3031]. | LSP: Label Switched Path, see [RFC3031]. | |||
LSR: Label Switching Router, see [RFC3031]. | LSR: Label Switching Router, see [RFC3031]. | |||
PBM: Policy-based Management, see [RFC3198]. | PBM: Policy-Based Management, see [RFC3198]. | |||
PC: Path Computation. | PC: Path Computation. | |||
PCC: Path Computation Client, see [RFC4655]. | PCC: Path Computation Client, see [RFC4655]. | |||
PCCIM: Path Computation Core Information Model. | PCCIM: Path Computation Core Information Model. | |||
PCE: Path Computation Element, see [RFC4655]. | PCE: Path Computation Element, see [RFC4655]. | |||
PCEP: Path Computation Element Communication Protocol, | PCEP: Path Computation Element Communication Protocol, | |||
see [PCEP]. | see [PCEP]. | |||
PCIM: Policy Core Information Model, see [RFC3060]. | PCIM: Policy Core Information Model, see [RFC3060]. | |||
PDP: Policy Decision Points, see [RFC2753]. | PDP: Policy Decision Point, see [RFC2753]. | |||
PEP: Policy Enforcement Points, see [RFC2753]. | PEP: Policy Enforcement Point, see [RFC2753]. | |||
QPIM: QoS Policy Information Model, see [RFC3644]. | QPIM: QoS Policy Information Model, see [RFC3644]. | |||
SLA: Service Level Agreement. | SLA: Service Level Agreement. | |||
SOAP: Simple Object Access Protocol, see [W3CSOAP]. | SOAP: Simple Object Access Protocol, see [W3CSOAP]. | |||
TE: Traffic Engineering, see [RFC3209] and [RFC3473]. | TE: Traffic Engineering, see [RFC3209] and [RFC3473]. | |||
TED: Traffic Engineering Database, see [RFC3209] and [RFC3473]. | TED: Traffic Engineering Database, see [RFC3209] and [RFC3473]. | |||
TE LSP: Traffic Engineering MPLS Label Switched Path, see | TE LSP: Traffic Engineering MPLS Label Switched Path, see | |||
[RFC3209] and [RFC3473]. | [RFC3209] and [RFC3473]. | |||
WDM: Wavelength Division Multiplexing | ||||
2. Background | 2. Background | |||
This section provides some general background on the use of policies | This section provides some general background on the use of policies | |||
within the PCE architecture. It presents the rationale behind the use | within the PCE architecture. It presents the rationale behind the | |||
of policies in the TE path computation process, as well as | use of policies in the TE path computation process, as well as | |||
representative policies usage scenarios. This information is intended | representative policies usage scenarios. This information is | |||
to provide context for the presented PCE policy framework. This | intended to provide context for the presented PCE policy framework. | |||
section does not attempt to present an exhaustive list of rationales | This section does not attempt to present an exhaustive list of | |||
or scenarios. | rationales or scenarios. | |||
2.1. Motivation | 2.1. Motivation | |||
The PCE architecture as introduced in [RFC4655] includes policy as an | The PCE architecture as introduced in [RFC4655] includes policy as an | |||
integral part of the PCE architecture. This section presents some of | integral part of the PCE architecture. This section presents some of | |||
the rationale for this inclusion. | the rationale for this inclusion. | |||
Network operators require a certain level of flexibility to shape the | Network operators require a certain level of flexibility to shape the | |||
TE path computation process, so that the process can be aligned with | TE path computation process, so that the process can be aligned with | |||
their business and operational needs. Many aspects of the path | their business and operational needs. Many aspects of the path | |||
computation may be governed by policies. For example, a PCC may use | computation may be governed by policies. For example, a PCC may use | |||
policies configured by the operator to decide which optimization | policies configured by the operator to decide which optimization | |||
criteria, constraints, diversities and their relaxation strategies to | criteria, constraints, diversities and their relaxation strategies to | |||
request while computing path(s) for a particular service. Depending | request while computing path(s) for a particular service. Depending | |||
on SLAs, TE and cost/performance ratio goals, path computation | on SLAs, TE and cost/performance ratio goals, path computation | |||
requests may be issued differently for different services. A given | requests may be issued differently for different services. A given | |||
Service A, for instance, may require two SRLG-disjoint paths for | Service A, for instance, may require two Shared Risk Link Group | |||
building end-to-end recovery scheme, while for a Service B link- | (SRLG)-disjoint paths for building end-to-end recovery scheme, while | |||
disjoint paths may be sufficient. Service A may need paths with | for a Service B link-disjoint paths may be sufficient. Service A may | |||
minimal end-to-end delay, while Service B may be looking for shortest | need paths with minimal end-to-end delay, while Service B may be | |||
(minimal-cost) paths. Different constraint relaxation strategies may | looking for shortest (minimal-cost) paths. Different constraint | |||
be applied while computing paths for Service A and for Service B, and | relaxation strategies may be applied while computing paths for | |||
so forth. So based on distinct service requirements distinct or | Service A and for Service B, and so forth. So, based on distinct | |||
similar policies may be adopted when issuing/handling path | service requirements, distinct or similar policies may be adopted | |||
computation requests. | when issuing/handling path computation requests. | |||
Likewise, a PCE may apply policies to decide which algorithm(s) to | Likewise, a PCE may apply policies to decide which algorithm(s) to | |||
use while performing path computations requested from a particular | use while performing path computations requested from a particular | |||
PCC or for a particular domain, see [RFC4927]; whether to seek the | PCC or for a particular domain, see [RFC4927]; whether to seek the | |||
cooperation of other PCEs to satisfy a particular request or to | cooperation of other PCEs to satisfy a particular request or to | |||
handle a request on its own (possibly responding with non explicit | handle a request on its own (possibly responding with non-explicit | |||
paths); or how the request should be modified before being sent to | paths), or how the request should be modified before being sent to | |||
other member(s) of a group of cooperating PCEs, etc. | other member(s) of a group of cooperating PCEs, etc. | |||
Additional motivation for supporting policies within the PCE | Additional motivation for supporting policies within the PCE | |||
architecture can be described as follows. Historically, a path | architecture can be described as follows. Historically, a path | |||
computation entity was an intrinsic part of an LSR's control plane | computation entity was an intrinsic part of an LSR's control plane | |||
and always co-located with the LSR's signaling and routing | and always co-located with the LSR's signaling and routing | |||
subsystems. This approach allowed for unlimited flexibility in | subsystems. This approach allowed for unlimited flexibility in | |||
providing various path computation enhancements, such as: adding new | providing various path computation enhancements, such as: adding new | |||
types of constraints, diversities and their relaxation strategies, | types of constraints, diversities and their relaxation strategies, | |||
adopting new objective functions and optimization criteria, etc. All | adopting new objective functions and optimization criteria, etc. All | |||
skipping to change at page 6, line 14 | skipping to change at page 5, line 45 | |||
PCE's new capabilities, new advertising and signaling objects may | PCE's new capabilities, new advertising and signaling objects may | |||
need to be standardized, all PCCs may need to be upgraded with new | need to be standardized, all PCCs may need to be upgraded with new | |||
software, and new interoperability problems may need to be resolved, | software, and new interoperability problems may need to be resolved, | |||
etc. | etc. | |||
Within the context of the PCE architecture, it is therefore highly | Within the context of the PCE architecture, it is therefore highly | |||
desirable to find a way to introduce new path computation | desirable to find a way to introduce new path computation | |||
capabilities without requiring modifying either the | capabilities without requiring modifying either the | |||
discovery/communication protocols or the PCC software. One way to | discovery/communication protocols or the PCC software. One way to | |||
achieve this objective is to consider path selection constraints, | achieve this objective is to consider path selection constraints, | |||
their relaxations and objective functions, as path computation | their relaxations, and objective functions, as path computation | |||
request-specific policies. Furthermore, such policies may be | request-specific policies. Furthermore, such policies may be | |||
configured and managed by a network operator as any other policies | configured and managed by a network operator as any other policies | |||
and may be interpreted in real time by PCCs and PCEs. | and may be interpreted in real time by PCCs and PCEs. | |||
There are a number of advantages and useful by-products of such an | There are a number of advantages and useful by-products of such an | |||
approach: | approach: | |||
- New path computation capabilities may be introduced without | - New path computation capabilities may be introduced without | |||
changing PCE-PCC communication and discovery protocols or PCC | changing PCE-PCC communication and discovery protocols or PCC | |||
software. Only the PCE module providing the path computation | software. Only the PCE module providing the path computation | |||
capabilities (referred to in this document as a path | capabilities (referred to in this document as a path computation | |||
computation engine) needs to be updated. | engine) needs to be updated. | |||
- Existing constraints, objective functions and their relaxations | - Existing constraints, objective functions and their relaxations may | |||
may be aggregated and otherwise associated, thus producing new, | be aggregated and otherwise associated, thus producing new, more | |||
more complex objective functions that do not require a change | complex objective functions that do not require a change of code | |||
of code even on the PCEs supporting the functions. | even on the PCEs supporting the functions. | |||
- Different elements such as conditions, actions, variables, | - Different elements such as conditions, actions, variables, etc., | |||
etc., may be re-used by multiple constraints, diversities, and | may be reused by multiple constraints, diversities, and | |||
optimizations. | optimizations. | |||
- PCCs and PCEs need to handle other (that is, not request- | - PCCs and PCEs need to handle other (that is, not request-specific) | |||
specific) policies. Path computation-related policies of all | policies. Path computation-related policies of all types can be | |||
types can be placed within the same policy repositories, can be | placed within the same policy repositories, managed by the same | |||
managed by the same policy management tools, and can be | policy management tools, and interpreted using the same mechanisms. | |||
interpreted using the same mechanisms. Also policies need to be | Also, policies need to be supported by PCCs and PCEs independent of | |||
supported by PCCs and PCEs independent of the peculiarities of a | the peculiarities of a specific PCC-PCE communication protocol, see | |||
specific PCC-PCE communication protocol, see [PCEP]. Thus, | [PCEP]. Thus, introducing a new (request-specific) type of policy | |||
introducing a new (request-specific) type of policies describing | describing constraints and other elements of a path computation | |||
constraints and other elements of a path computation request | request will be a natural and relatively inexpensive addition to | |||
will be a natural and relatively inexpensive addition to the | the policy-enabled path computation architecture. | |||
policy-enabled path computation architecture. | ||||
2.2. Policy Attributes | 2.2. Policy Attributes | |||
This section provides a summary listing of the policy attributes that | This section provides a summary listing of the policy attributes that | |||
may be included in the policy exchanges described in the scenarios | may be included in the policy exchanges described in the scenarios | |||
that follow. This list is provided for guidance and is not intended | that follow. This list is provided for guidance and is not intended | |||
to be exclusive. Implementation of this framework might include | to be exclusive. Implementation of this framework might include | |||
additional policy attributes not listed here. | additional policy attributes not listed here. | |||
Identities | Identities | |||
skipping to change at page 7, line 48 | skipping to change at page 7, line 32 | |||
- holding priority | - holding priority | |||
- preexisting LSP route | - preexisting LSP route | |||
Requested path computation behavior | Requested path computation behavior | |||
- objective function | - objective function | |||
- other LSPs to be considered | - other LSPs to be considered | |||
Additional policy information | Additional policy information | |||
- Transparent policy information as received in RSVP-TE | - Transparent policy information as received in Resource | |||
Reservation Protocol (RSVP)-TE | ||||
2.3. Representative Policy Scenarios | 2.3. Representative Policy Scenarios | |||
This section provides example scenarios of how policies may be | This section provides example scenarios of how policies may be | |||
applied using the PCE policy framework within the PCE architecture | applied using the PCE policy framework within the PCE architecture | |||
context. Actual networks may deploy one of the scenarios discussed, | context. Actual networks may deploy one of the scenarios discussed, | |||
some combination of the presented scenarios, or other scenarios (not | some combination of the presented scenarios, or other scenarios (not | |||
discussed). This section should not be viewed as limiting other | discussed). This section should not be viewed as limiting other | |||
applications of policies within the PCE architecture. | applications of policies within the PCE architecture. | |||
skipping to change at page 8, line 25 | skipping to change at page 8, line 7 | |||
A very simple usage scenario for PCE policy would be to use PCE to | A very simple usage scenario for PCE policy would be to use PCE to | |||
centrally administer configured paths. Configured paths are composed | centrally administer configured paths. Configured paths are composed | |||
of strict and loose hops in the form of Explicit Route Objects | of strict and loose hops in the form of Explicit Route Objects | |||
(EROs), see [RFC3209], and are used by one or more LSPs. Typically, | (EROs), see [RFC3209], and are used by one or more LSPs. Typically, | |||
such paths are configured at the LSP ingress. In the context of | such paths are configured at the LSP ingress. In the context of | |||
policy-enabled path computation, an alternate approach is possible. | policy-enabled path computation, an alternate approach is possible. | |||
In particular, service-specific policies can be installed that will | In particular, service-specific policies can be installed that will | |||
provide configured path(s) for a specific service request. The | provide configured path(s) for a specific service request. The | |||
request may be identified based on service parameters such as end- | request may be identified based on service parameters such as | |||
points, requested QoS, or even a token that identifies the initiator | endpoints, requested QoS, or even a token that identifies the | |||
of a service request. The configured path(s) would then be used as | initiator of a service request. The configured path(s) would then be | |||
input to the path computation process, which would return explicit | used as input to the path computation process, which would return | |||
routes by expanding of all specified loose hops. | explicit routes by expanding of all specified loose hops. | |||
Example of policy: | Example of policy: | |||
if(service_destination matches 10.132.12.0/24) | if(service_destination matches 10.132.12.0/24) | |||
use path: 10.125.13.1=>10.125.15.1=>10.132.12.1 | Use path: 10.125.13.1 => 10.125.15.1 => 10.132.12.1. | |||
else | else | |||
compute path dynamically | Compute path dynamically. | |||
---------------------- | ---------------------- | |||
| ----- | | | ----- | | |||
| | TED |<-+------------> | | | TED |<-+------------> | |||
| ----- | TED synchronization | | ----- | TED synchronization | |||
| | | mechanism (e.g., routing protocol) | | | | mechanism (e.g., routing protocol) | |||
| | | | | | | | |||
| v | | | v | | |||
| ------ ----- | Inter-PCE Request/Response | | ------ ----- | Inter-PCE Request/Response | |||
| |Policy|<-->| PCE |<.+...........> (when present) | | |Policy|<-->| PCE |<.+...........> (when present) | |||
| ------ ----- | | | ------ ----- | | |||
skipping to change at page 9, line 28 | skipping to change at page 8, line 43 | |||
v | v | |||
Service ------------- Signaling | Service ------------- Signaling | |||
Request |[PCC][Policy]| Protocol | Request |[PCC][Policy]| Protocol | |||
<------>| Node |<-------> | <------>| Node |<-------> | |||
or Signaling ------------- | or Signaling ------------- | |||
Protocol | Protocol | |||
Figure 1: Policy Enabled PCC and PCE | Figure 1: Policy Enabled PCC and PCE | |||
Path computation policies may be applied at either a PCC or a PCE, | Path computation policies may be applied at either a PCC or a PCE, | |||
see Figure 1. In the PCC case, the configured path would be processed | see Figure 1. In the PCC case, the configured path would be | |||
at the PCC and then passed to the PCE along with the PCE request, | processed at the PCC and then passed to the PCE along with the PCE | |||
probably in the form of (inclusion) constraints. When applied at the | request, probably in the form of (inclusion) constraints. When | |||
PCE, the configured path would be used locally. Both cases require | applied at the PCE, the configured path would be used locally. Both | |||
some method to configure and manage policies. In the PCC case, the | cases require some method to configure and manage policies. In the | |||
real benefit would come when there is an automated policy | PCC case, the real benefit would come when there is an automated | |||
distribution mechanism. | policy distribution mechanism. | |||
------------------ ------------------- | ------------------ ------------------- | |||
| | | | | | | | | | |||
| PCE | | PCE | | | PCE | | PCE | | |||
| | | | | | | | | | |||
| ------ ----- | | ----- ------ | | | ------ ----- | | ----- ------ | | |||
| |Policy| | TED | | | | TED | |Policy| | | | |Policy| | TED | | | | TED | |Policy| | | |||
| ------ ----- | | ----- ------ | | | ------ ----- | | ----- ------ | | |||
------------------ ------------------- | ------------------ ------------------- | |||
^ ^ | ^ ^ | |||
| Request/ | Request/ | | Request/ | Request/ | |||
| Response | Response | | Response | Response | |||
v v | v v | |||
Service -------- Signaling ------------ Signaling ------------ | Service -------- Signaling ------------ Signaling ------------ | |||
Request|Head-End| Protocol |Intermediate| Protocol |Intermediate| | Request|Head-End| Protocol |Intermediate| Protocol |Intermediate| | |||
---->| Node |<--------->| Node |<--------->| Node | | ---->| Node |<--------->| Node |<--------->| Node | | |||
-------- ------------ ------------ | -------- ------------ ------------ | |||
Figure 2. Multiple PCE Path Computation | Figure 2: Multiple PCE Path Computation | |||
------------------ ------------------ | ------------------ ------------------ | |||
| | Inter-PCE Request/Response | | | | | Inter-PCE Request/Response | | | |||
| PCE |<-------------------------->| PCE | | | PCE |<-------------------------->| PCE | | |||
| | | | | | | | | | |||
| ------ ----- | | ------ ----- | | | ------ ----- | | ------ ----- | | |||
| |Policy| | TED | | | |Policy| | TED | | | | |Policy| | TED | | | |Policy| | TED | | | |||
| ------ ----- | | ------ ----- | | | ------ ----- | | ------ ----- | | |||
------------------ ------------------ | ------------------ ------------------ | |||
^ | ^ | |||
| Request/ | | Request/ | |||
| Response | | Response | |||
v | v | |||
Service ---------- Signaling ---------- Signaling ---------- | Service ---------- Signaling ---------- Signaling ---------- | |||
Request| Head-End | Protocol | Adjacent | Protocol | Adjacent | | Request| Head-End | Protocol | Adjacent | Protocol | Adjacent | | |||
---->| Node |<---------->| Node |<---------->| Node | | ---->| Node |<---------->| Node |<---------->| Node | | |||
---------- ---------- ---------- | ---------- ---------- ---------- | |||
Figure 3. Multiple PCE Path Computation with Inter-PCE Communication | Figure 3: Multiple PCE Path Computation with Inter-PCE Communication | |||
Policy-configured paths may also be used in environments with | Policy-configured paths may also be used in environments with | |||
multiple (more than one) cooperating PCEs (see Figures 2 and 3). For | multiple (more than one) cooperating PCEs (see Figures 2 and 3). For | |||
example, consider the case when there is limited TE visibility and | example, consider the case when there is limited TE visibility and | |||
independent PCEs are used to determine path(s) within each area of | independent PCEs are used to determine path(s) within each area of | |||
the TE visibility. In such a case, it may not be possible (or | the TE visibility. In such a case, it may not be possible (or | |||
desirable) to configure entire explicit path(s) on a single PCE. | desirable) to configure entire explicit path(s) on a single PCE. | |||
However, it is possible to configure explicit path(s) for each area | However, it is possible to configure explicit path(s) for each area | |||
of the TE visibility and each responsible PCE. One by one, the PCEs | of the TE visibility and each responsible PCE. One by one, the PCEs | |||
would then map an incoming signaling request to appropriate | would then map an incoming signaling request to appropriate | |||
configured path(s). Note that to make such a scenario work it would | configured path(s). Note that to make such a scenario work, it would | |||
likely be necessary to start and finish the configured paths on TE | likely be necessary to start and finish the configured paths on TE | |||
domain boundary nodes. Clearly, consistent PCE Policy Repositories | domain boundary nodes. Clearly, consistent PCE Policy Repositories | |||
are also critical in this example. | are also critical in this example. | |||
2.3.2. Scenario: Provider Selection Policy | 2.3.2. Scenario: Provider Selection Policy | |||
A potentially more interesting scenario is applying PC policies in | A potentially more interesting scenario is applying PC policies in | |||
multi-provider topologies. There are numerous interesting policy | multi-provider topologies. There are numerous interesting policy | |||
applications in such topologies. A rudimentary example is simple | applications in such topologies. A rudimentary example is simple | |||
access control, that is, deciding which PCCs are permitted to request | access control, that is, deciding which PCCs are permitted to request | |||
inter-domain path computation. | inter-domain path computation. | |||
A more complicated example is applying policy to determine which | A more complicated example is applying policy to determine which | |||
domain or network provider will be used to support a particular PCE | domain or network provider will be used to support a particular PCE | |||
request. Consider the topology presented in Figure 4. In this example | request. Consider the topology presented in Figure 4. In this | |||
there are multiple transit domains available to provide a path from a | example, there are multiple transit domains available to provide a | |||
source domain to a destination domain. Furthermore, each transit | path from a source domain to a destination domain. Furthermore, each | |||
domain may have one or more options for reaching a particular domain. | transit domain may have one or more options for reaching a particular | |||
Each domain will need to select which of the multiple available paths | domain. Each domain will need to select which of the multiple | |||
will be used to satisfy a particular PCE request. | available paths will be used to satisfy a particular PCE request. | |||
In today's typical path computation process, TE reachability, | In today's typical path computation process, TE reachability, | |||
availability and metric are the basic criteria for path selection. | availability, and metric are the basic criteria for path selection. | |||
However, policies can provide an important added consideration in the | However, policies can provide an important added consideration in the | |||
decision process. For example, transit domain A may be more expensive | decision process. For example, transit domain A may be more | |||
and provide lower delay or loss than transit domain B. Likewise, a | expensive and provide lower delay or loss than transit domain B. | |||
transit domain may wish to treat PCE requests from its own customers | Likewise, a transit domain may wish to treat PCE requests from its | |||
differently than requests from other providers. In both cases, | own customers differently than requests from other providers. In | |||
computation based on traffic engineering databases will result in | both cases, computation based on traffic engineering databases will | |||
multiple transit domain that provide reachability, and policies can | result in multiple transit domains that provide reachability, and | |||
be used to govern which PCE requests get better service. | policies can be used to govern which PCE requests get better service. | |||
+-------+ | +-------+ | |||
+----------+Transit+----------+ | +----------+Transit+----------+ | |||
+---+---+ | Domain| +---+---+ | +---+---+ | Domain| +---+---+ | |||
|Transit| | C | |Transit| | |Transit| | C | |Transit| | |||
+--------+ Domain| +---+---+ | Domain+--------+ | +--------+ Domain| +---+---+ | Domain+--------+ | |||
| | A +--+ | +--+ F | | | | | A +--+ | +--+ F | | | |||
+--+---+ +---+---+ | | | +---+---+ +--+---+ | +--+---+ +---+---+ | | | +---+---+ +--+---+ | |||
|Source| | | +---+---+ | | |Target| | |Source| | | +---+---+ | | |Target| | |||
|Domain| | +---+Transit+---+ | |Domain| | |Domain| | +---+Transit+---+ | |Domain| | |||
skipping to change at page 12, line 30 | skipping to change at page 11, line 30 | |||
| |Transit| | | | |Transit| | | |||
+----------+ Domain+----------+ | +----------+ Domain+----------+ | |||
| E | | | E | | |||
+-------+ | +-------+ | |||
Figure 4: Multi-Domain Network with Multiple Transit Options | Figure 4: Multi-Domain Network with Multiple Transit Options | |||
There are multiple options for differentiating which PCE requests use | There are multiple options for differentiating which PCE requests use | |||
a particular transit domain and get a particular (better or worse) | a particular transit domain and get a particular (better or worse) | |||
level of service. For example, a PCE in the source domain may use | level of service. For example, a PCE in the source domain may use | |||
user and request-specific policies to determine the level of service | user- and request-specific policies to determine the level of service | |||
to provide. A PCE in the source domain may also use domain-specific | to provide. A PCE in the source domain may also use domain-specific | |||
policies to choose which transit domains are acceptable. A PCE in a | policies to choose which transit domains are acceptable. A PCE in a | |||
transit domain may use request-specific policies to determine if a | transit domain may use request-specific policies to determine if a | |||
request is from a direct customer or another provider, and then use | request is from a direct customer or another provider, and then use | |||
domain-specific policies to identify how the request should be | domain-specific policies to identify how the request should be | |||
processed. | processed. | |||
Example of policy: | Example of policy: | |||
if(path computation request issued by a PCC within Source Domain) | if(path computation request issued by a PCC within Source Domain) | |||
route the path through Transit Domain A | Route the path through Transit Domain A. | |||
else | else | |||
route the path through Transit Domain B | Route the path through Transit Domain B. | |||
2.3.3. Scenario: Policy Based Constraints | 2.3.3. Scenario: Policy Based Constraints | |||
Another usage scenario is the use of policy to provide constraints in | Another usage scenario is the use of policy to provide constraints in | |||
a PCE request. Consider an LSR with a policy enabled PCC, as shown in | a PCE request. Consider an LSR with a policy enabled PCC, as shown | |||
Figure 1, which receives a service request via signaling, including | in Figure 1, which receives a service request via signaling, | |||
over a NNI or UNI reference point, or receives a configuration | including over a Network-Network Interface (NNI) or User Network | |||
request over a management interface to establish a service. In either | Interface (UNI) reference point, or receives a configuration request | |||
case the path(s) needed to support the service are not explicitly | over a management interface to establish a service. In either case, | |||
the path(s) needed to support the service are not explicitly | ||||
specified in the message/request, and hence path computation is | specified in the message/request, and hence path computation is | |||
needed. | needed. | |||
In this case, the PCC may apply user or service-specific policies to | In this case, the PCC may apply user- or service-specific policies to | |||
decide how the path selection process should be constrained, that is, | decide how the path selection process should be constrained, that is, | |||
which constraints, diversities, optimization criterion and constraint | which constraints, diversities, optimization criterion, and | |||
relaxation strategies should be applied in order for the service | constraint relaxation strategies should be applied in order for the | |||
LSP(s) to have a likelihood to be successfully established and | service LSP(s) to have a likelihood to be successfully established | |||
provide necessary QoS and resilience against network failures. When | and provide necessary QoS and resilience against network failures. | |||
deciding on the set of constraints the PCC uses as an input all | When deciding on the set of constraints, the PCC uses as an input all | |||
information it knows about the user and service, such as the contents | information it knows about the user and service, such as the contents | |||
of the received message, port ID over which message was received, | of the received message, port ID over which message was received, | |||
associated VPN ID, signaling/reference point type, request time, etc. | associated VPN ID, signaling/reference point type, request time, etc. | |||
Once the constraints and other parameters of the required path | Once the constraints and other parameters of the required path | |||
computation are determined, the PCC generates a path computation | computation are determined, the PCC generates a path computation | |||
request which includes the request-specific policies that describe | request that includes the request-specific policies that describe the | |||
the determined set of constraints, optimizations, and other | determined set of constraints, optimizations, and other parameters | |||
parameters that indicate how the request is to be considered in the | that indicate how the request is to be considered in the path | |||
path computation process. | computation process. | |||
Example of policy: | Example of policy: | |||
if(LSP belongs to a WDM layer network) | if(LSP belongs to a WDM layer network) | |||
Compute the path with wavelength continuity constraint with the | Compute the path with wavelength continuity constraint with the | |||
maximum OSNR at the path end optimization | maximum Optical Signal Noise Ratio (OSNR) at the path end | |||
optimization. | ||||
else if(LSP belongs to a connection oriented Ethernet layer network) | else if(LSP belongs to a connection oriented Ethernet layer network) | |||
Compute the path with minimum end-to-end delay | Compute the path with minimum end-to-end delay. | |||
else | else | |||
Compute the shortest path | Compute the shortest path. | |||
The PCC may also apply server-specific policies in order to select | The PCC may also apply server-specific policies in order to select | |||
which PCE to use from the set of known (i.e., discovered or | which PCE to use from the set of known (i.e., discovered or | |||
configured) PCEs. The PCC may also use server-specific policies to | configured) PCEs. The PCC may also use server-specific policies to | |||
form the request to match the PCE's capabilities so that the request | form the request to match the PCE's capabilities so that the request | |||
will not be rejected and has a higher likelihood of being satisfied | will not be rejected and has a higher likelihood of being satisfied | |||
in an efficient way. An example of a request modification as the | in an efficient way. An example of a request modification as the | |||
result of a server-specific policy is removing a constraint not | result of a server-specific policy is removing a constraint not | |||
supported by the PCE. Once the policy processing is completed at the | supported by the PCE. Once the policy processing is completed at the | |||
PCC, and the path computation request resulting from the original | PCC, and the path computation request resulting from the original | |||
service request is updated by the policy processing, the request is | service request is updated by the policy processing, the request is | |||
sent to the PCE. | sent to the PCE. | |||
Example of policy: | Example of policy: | |||
if(LSP belongs to a WDM layer network) | if(LSP belongs to a WDM layer network) | |||
Identify a PCE supporting wavelength continuity and optical | Identify a PCE supporting wavelength continuity and optical | |||
impairment constraints; send a request to such PCE, requesting | impairment constraints; | |||
path computation with the following constraints: | Send a request to such PCE, requesting path computation with the | |||
following constraints: | ||||
a) wavelength continuity; | a) wavelength continuity; | |||
b) maximum PMD at the path end. | b) maximum Polarization Mode Dispersion (PMD) at the path end. | |||
if(the path computation fails) | if(the path computation fails) remove the maximum PMD constraint | |||
remove the maximum PMD constraint and try the computation again | and try the computation again. | |||
The PCE that receives the request validates and otherwise processes | The PCE that receives the request validates and otherwise processes | |||
the request, applying the policies found in the request as well as | the request, applying the policies found in the request as well as | |||
any policies that are available at the PCE, e.g., client and domain- | any policies that are available at the PCE, e.g., client- and domain- | |||
specific polices. As a result of the policy processing, the PCE may | specific policies. As a result of the policy processing, the PCE may | |||
decide to reject the request. | decide to reject the request. | |||
Example of policy: | Example of policy: | |||
Authenticate the PCC requesting the path computation using the | Authenticate the PCC requesting the path computation using the | |||
PCC ID found in the path computation request; | PCC ID found in the path computation request; | |||
Reject the request if the authentication fails | Reject the request if the authentication fails. | |||
It The PCE also may decide to respond with one or several pre- | The PCE also may decide to respond with one or several pre-computed | |||
computed paths if user or client specific polices instruct the PCE to | paths if user- or client-specific policies instruct the PCE to do so. | |||
do so. If the PCE decides to satisfy the request by performing a path | If the PCE decides to satisfy the request by performing a path | |||
computation, it determines if it needs the cooperation of other PCEs | computation, it determines if it needs the cooperation of other PCEs | |||
and defines parameters for path computations to be performed locally | and defines parameters for path computations to be performed locally | |||
and remotely. After that, the PCE instructs a co-located path | and remotely. After that, the PCE instructs a co-located path | |||
computation engine to perform the local path computation(s) and, if | computation engine to perform the local path computation(s) and, if | |||
necessary, sends path computation requests to one or more other PCEs. | necessary, sends path computation requests to one or more other PCEs. | |||
It then waits for the responses from the local path computation | It then waits for the responses from the local path computation | |||
engine and, when used, the remote PCE. It then combines the resulting | engine and, when used, the remote PCE. It then combines the | |||
paths and sends the result back to the requesting PCC. The response | resulting paths and sends the result back to the requesting PCC. The | |||
may indicate policies describing the resulting paths, their | response may indicate policies describing the resulting paths, their | |||
characteristics (summary cost, expected end-to-end delay, etc.). as | characteristics (summary cost, expected end-to-end delay, etc.), as | |||
well as additional information related to the request, e.g., which | well as additional information related to the request, e.g., which | |||
constraints were honored, which were dismissed, and which were | constraints were honored, which were dismissed, and which were | |||
relaxed and in what way. | relaxed and in what way. | |||
Example of policy: | Example of policy: | |||
if(the path destination belongs to domain A) | if(the path destination belongs to domain A) | |||
Instruct local path computation engine to perform the path | Instruct local path computation engine to perform the path | |||
computation; | computation; | |||
else | else | |||
Identify the PCE supporting the destination domain; | Identify the PCE supporting the destination domain; | |||
Send path computation request to such PCE; | Send path computation request to such PCE; | |||
Wait for and process the response | Wait for and process the response. | |||
Send the path computation response to the requesting PCC | Send the path computation response to the requesting PCC. | |||
The PCC processes the response and instructs the LSR to encode the | The PCC processes the response and instructs the LSR to encode the | |||
received path(s) into the outgoing signaling message(s). | received path(s) into the outgoing signaling message(s). | |||
2.3.4. Scenario: Advanced Load Balancing (ALB) Example | 2.3.4. Scenario: Advanced Load Balancing (ALB) Example | |||
Figure 5 illustrates a problem that stems from the coupling between | Figure 5 illustrates a problem that stems from the coupling between | |||
BGP and IGP in the BGP decision process. If a significant portion of | BGP and IGP in the BGP decision process. If a significant portion of | |||
the traffic destined to the data center (or customer network) enters | the traffic destined for the data center (or customer network) enters | |||
a PCE-enabled network from AS 1 and all IGP links weights are the | a PCE-enabled network from AS 1 and all IGP links' weights are the | |||
same, then both PE3 and PE4 will prefer to reach the data center | same, then both PE3 and PE4 will prefer to reach the data center | |||
using the routes advertised by PE2. PE5 will use the router-IDs of | using the routes advertised by PE2. PE5 will use the router-IDs of | |||
PE1 and PE2 to break the tie and might therefore also select to use | PE1 and PE2 to break the tie and might therefore also select to use | |||
the path through PE2 (if the router ID of PE2 is smaller than that of | the path through PE2 (if the router ID of PE2 is smaller than that of | |||
PE1). Either way the net result is that the link between PE2 and CE | PE1). Either way, the net result is that the link between PE2 and CE | |||
will carry most of the traffic while the link between PE1 and CE will | will carry most of the traffic while the link between PE1 and the | |||
be mostly idle. | Customer Edge (CE) will be mostly idle. | |||
.............................. | .............................. | |||
. AS 1 . | . AS 1 . | |||
. . | . . | |||
. +---+ +---+ +----+ . | . +---+ +---+ +----+ . | |||
....|PE8|...|PE9|...|PE10|.... | ....|PE8|...|PE9|...|PE10|.... | |||
+---+ +---+ +----+ | +---+ +---+ +----+ | |||
| | | | | | | | |||
+---+ +---+ +---+ | +---+ +---+ +---+ | |||
......|PE3|...|PE4|...|PE5|...... | ......|PE3|...|PE4|...|PE5|...... | |||
skipping to change at page 15, line 47 | skipping to change at page 15, line 31 | |||
.............. +---+ |P3| | |PCE| . by all | .............. +---+ |P3| | |PCE| . by all | |||
. +--+ | x===x . AS0 nodes | . +--+ | x===x . AS0 nodes | |||
. AS 0 +---+ . | . AS 0 +---+ . | |||
..................|PE7|.......... | ..................|PE7|.......... | |||
+---+ | +---+ | |||
Figure 5: Advanced Load Balancing | Figure 5: Advanced Load Balancing | |||
This is a common problem for providers and customers alike. Analysis | This is a common problem for providers and customers alike. Analysis | |||
of Netflow records, see [IRSCP], for a large ISP network on a typical | of Netflow records, see [IRSCP], for a large ISP network on a typical | |||
day has shown that for 71.8% of multi-homed customers there is a | day has shown that for 71.8% of multi-homed customers, there is a | |||
complete imbalance, where the most loaded link carries all the | complete imbalance, where the most loaded link carries all the | |||
traffic and the least loaded link carries none. | traffic and the least loaded link carries none. | |||
PCE policies can address this problem by basing the routing decision | PCE policies can address this problem by basing the routing decision | |||
at the ingress routers on the offered load towards the multi-homed | at the ingress routers on the offered load towards the multi-homed | |||
customer. For example, in Figure 5 PCE policies could be configured | customer. For example, in Figure 5, PCE policies could be configured | |||
such that traffic load is monitored (e.g., based on Netflow data) at | such that traffic load is monitored (e.g., based on Netflow data) at | |||
ingress routers PE3 to PE7 towards the data center prefixes served by | ingress routers PE3 to PE7 towards the data center prefixes served by | |||
egress routers PE1 and PE2. Using this offered load information, the | egress routers PE1 and PE2. Using this offered load information, the | |||
path computations returned by PCE, based on the enabled PCE policies, | path computations returned by PCE, based on the enabled PCE policies, | |||
can direct traffic to the appropriate egress router, on a per-ingress | can direct traffic to the appropriate egress router, on a per-ingress | |||
router basis. For example, the PCE path computation might direct | router basis. For example, the PCE path computation might direct | |||
traffic from both PE4 and PE5 to egress PE1, thus overriding the | traffic from both PE4 and PE5 to egress PE1, thus overriding the | |||
default IGP based selection. Alternatively, traffic from each | default IGP based selection. Alternatively, traffic from each | |||
ingress router to each egress link could be split 50-50. | ingress router to each egress link could be split 50-50. | |||
This scenario is a good example of how a policy governed PCE can | This scenario is a good example of how a policy-governed PCE can | |||
account for some information that was not or cannot be advertised as | account for some information that was not or cannot be advertised as | |||
TE link/node attributes, and, therefore, cannot be subject for | TE link/node attributes, and, therefore, cannot be subject for | |||
explicit path computation constraints. More generally, such | explicit path computation constraints. More generally, such | |||
information can be pretty much anything. For example, traffic demand | information can be pretty much anything. For example, traffic demand | |||
forecasts, flow monitoring feedback, any administrative policies, | forecasts, flow monitoring feedback, any administrative policies, | |||
etc. Further examples are described in [IRSCP] of how PCE policies | etc. Further examples are described in [IRSCP] of how PCE policies | |||
might address certain network routing problems, such as selective | might address certain network routing problems, such as selective | |||
DDoS blackholing, planned maintenance, and VPN gateway selection. | distributed denial-of-service (DDoS) blackholing, planned | |||
maintenance, and VPN gateway selection. | ||||
Example of policy: | Example of policy: | |||
for(all traffic flows destined to Customer Network) | for(all traffic flows destined to Customer Network) | |||
if(flow ingresses on PE3, PE4 or PE5) | if(flow ingresses on PE3, PE4, or PE5) | |||
route the flow over PE1 | Route the flow over PE1. | |||
else | else | |||
route the flow over PE2 | Route the flow over PE2. | |||
3. Requirements | 3. Requirements | |||
The following requirements must be addressed by mechanisms and | The following requirements must be addressed by mechanisms and | |||
protocols that enable policy-based control over path computation | protocols that enable policy-based control over path computation | |||
requests and decisions: | requests and decisions: | |||
- (G)MPLS path computation-specific | - (G)MPLS path computation-specific | |||
The mechanisms must meet the policy-based control requirements | The mechanisms must meet the policy-based control requirements | |||
specific to the problem of path computation using RSVP-TE as the | specific to the problem of path computation using RSVP-TE as the | |||
signaling protocol on MPLS and GMPLS LSRs. | signaling protocol on MPLS and GMPLS LSRs. | |||
- Support for non-(G)MPLS PCCs | - Support for non-(G)MPLS PCCs | |||
The mechanisms must be sufficiently generic to support | The mechanisms must be sufficiently generic to support non-(G)MPLS | |||
non-(G)MPLS (LSR) clients such as an NMS, or network planner, | (LSR) clients such as a Network Management System (NMS), or network | |||
etc. | planner, etc. | |||
- Support for many policies | - Support for many policies | |||
The mechanisms must include support for many policies and policy | The mechanisms must include support for many policies and policy | |||
configurations. In general, the determination and configuration | configurations. In general, the determination and configuration of | |||
of viable policies are the responsibility of the service | viable policies are the responsibility of the service provider. | |||
provider. | ||||
- Provision for monitoring and accounting information | - Provision for monitoring and accounting information | |||
The mechanisms must include support for monitoring policy state, | The mechanisms must include support for monitoring policy state and | |||
and provide access information. In particular, mechanisms must | provide access information. In particular, mechanisms must provide | |||
provide usage and access information that may be used for | usage and access information that may be used for accounting | |||
accounting purposes. | purposes. | |||
- Fault tolerance and recovery | - Fault tolerance and recovery | |||
The mechanisms must include provisions for fault tolerance and | The mechanisms must include provisions for fault tolerance and | |||
recovery from failure cases such as failure of PCC/PCE PDPs, | recovery from failure cases such as failure of PCC/PCE PDPs, | |||
disruption in communication that separate a PCC/PCE PDP from its | disruption in communication that separate a PCC/PCE PDP from its | |||
associated PCC/PCE PEPs. | associated PCC/PCE PEPs. | |||
- Support for policy-ignorant nodes | - Support for policy-ignorant nodes | |||
The mechanisms should not be mandatory for every node in a | The mechanisms should not be mandatory for every node in a network. | |||
network. Policy based path computation control may be enforced at | Policy-based path computation control may be enforced at a subset | |||
a subset of nodes, for example, on boundary nodes within an | of nodes, for example, on boundary nodes within an administrative | |||
administrative domain. These policy-capable nodes will function | domain. These policy-capable nodes will function as trusted nodes | |||
as trusted nodes from the point of view of the policy-ignorant | from the point of view of the policy-ignorant nodes in that | |||
nodes in that administrative domain. Alternatively, policy may be | administrative domain. Alternatively, policy may be applied solely | |||
applied solely on PCEs with all PCCs being policy-ignorant nodes. | on PCEs with all PCCs being policy-ignorant nodes. | |||
- Scalability | - Scalability | |||
One of the important requirements for the mechanisms is | One of the important requirements for the mechanisms is | |||
scalability. The mechanisms must scale at least to the same | scalability. The mechanisms must scale at least to the same extent | |||
extent that RSVP-TE signaling scales in terms of accommodating | that RSVP-TE signaling scales in terms of accommodating multiple | |||
multiple LSPs and network nodes in the path of an LSP. There are | LSPs and network nodes in the path of an LSP. There are several | |||
several sensitive areas in terms of scalability of policy based | sensitive areas in terms of scalability of policy-based path | |||
path computation control. First, not every policy aware node in | computation control. First, not every policy-aware node in an | |||
an infrastructure should be expected to contact a remote | infrastructure should be expected to contact a remote PDP. This | |||
PDP. This would cause potentially long delays in verifying | would cause potentially long delays in verifying requests. | |||
requests. Additionally, the policy control architecture must | Additionally, the policy control architecture must scale at least | |||
scale at least as well as RSVP-TE protocol based on factors such | as well as RSVP-TE protocol based on factors such as the size of | |||
as the size of RSVP-TE messages, the time required for the | RSVP-TE messages, the time required for the network to service an | |||
network to service an RSVP-TE request, local processing time | RSVP-TE request, local processing time required per node, and local | |||
required per node, and local memory consumed per node. These | memory consumed per node. These scaling considerations are of | |||
scaling considerations are of particular importance during | particular importance during re-routing of a set of LSPs. | |||
re-routing of a set of LSPs. | ||||
- Security and denial of service considerations | - Security and denial-of-service considerations | |||
The policy control architecture, protocols and mechanisms must be | The policy control architecture, protocols, and mechanisms must be | |||
secure as far as the following aspects are concerned: | secure as far as the following aspects are concerned: | |||
o First, the mechanisms proposed must minimize theft and denial | o First, the mechanisms proposed must minimize theft and denial- | |||
of service threats. | of-service threats. | |||
o Second, it must be ensured that the entities (such as PEPs | o Second, it must be ensured that the entities (such as PEPs and | |||
and PDPs) involved in policy control can verify each other's | PDPs) involved in policy control can verify each other's | |||
identity and establish necessary trust before communicating. | identity and establish necessary trust before communicating. | |||
- Inter-AS and inter-area requirements | - Inter-AS and inter-area requirements | |||
There are several inter-AS policy related requirements discussed | There are several inter-AS policy-related requirements discussed in | |||
in [RFC4216] and [INTERAS-PCEP], and inter-area policy related | [RFC4216] and [RFC5376], and inter-area policy-related requirements | |||
requirements discussed in [RFC4927]. These requirements | discussed in [RFC4927]. These requirements must be addressed by | |||
must be addressed by policy-enabled PCE mechanisms and protocols. | policy-enabled PCE mechanisms and protocols. | |||
It should be noted that this document only outlines the communication | It should be noted that this document only outlines the communication | |||
elements and mechanisms needed to allow a wide variety of possible | elements and mechanisms needed to allow a wide variety of possible | |||
policies to be applied for path computation control. It does not | policies to be applied for path computation control. It does not | |||
include any discussion of any specific policy behavior. Nor does it | include any discussion of any specific policy behavior, nor does it | |||
define or require use of specific policies. | define or require use of specific policies. | |||
4. Path Computation Policy Information Model (PCPIM) | 4. Path Computation Policy Information Model (PCPIM) | |||
The Policy Core Information Model (PCIM) introduced in [RFC3060] and | The Policy Core Information Model (PCIM) introduced in [RFC3060] and | |||
expanded in [RFC3460] presents the object-oriented information model | expanded in [RFC3460] presents the object-oriented information model | |||
for representing general policy information. | for representing general policy information. | |||
This model defines two hierarchies of object classes: | This model defines two hierarchies of object classes: | |||
- Structural classes representing policy information and control of | - Structural classes representing policy information and control of | |||
policies. | policies. | |||
- Association classes that indicate how instances of the structural | - Association classes that indicate how instances of the structural | |||
classes are related to each other. | classes are related to each other. | |||
These classes can be mapped to various concrete implementations, for | These classes can be mapped to various concrete implementations, for | |||
example, to a directory that uses LDAPv3 as its access protocol. | example, to a directory that uses Lightweight Directory Access | |||
Protocol version 3 (LDAPv3) as its access protocol. | ||||
Figure 6 shows an abstract from the class inheritance hierarchy for | Figure 6 shows an abstract from the class inheritance hierarchy for | |||
PCIM. | PCIM. | |||
ManagedElement (abstract) | ManagedElement (abstract) | |||
| | | | |||
+--Policy (abstract) | +--Policy (abstract) | |||
| | | | | | |||
| +---PolicySet (abstract) | | +---PolicySet (abstract) | |||
| | | | | | | | |||
skipping to change at page 19, line 51 | skipping to change at page 20, line 14 | |||
Policy models for application-specific areas such as the Path | Policy models for application-specific areas such as the Path | |||
Computation Service may extend the PCIM in several ways. The | Computation Service may extend the PCIM in several ways. The | |||
preferred way is to use the PolicyGroup, PolicyRule, and | preferred way is to use the PolicyGroup, PolicyRule, and | |||
PolicyTimePeriodCondition classes directly as a foundation for | PolicyTimePeriodCondition classes directly as a foundation for | |||
representing and communicating policy information. Then, specific | representing and communicating policy information. Then, specific | |||
subclasses derived from PolicyCondition and PolicyAction can capture | subclasses derived from PolicyCondition and PolicyAction can capture | |||
application-specific definitions of conditions and actions of | application-specific definitions of conditions and actions of | |||
policies. | policies. | |||
Policy Quality of Service Information Model [RFC3644] further extends | The Policy Quality of Service Information Model [RFC3644] further | |||
the PCIM to represent QoS policy information for large-scale policy | extends the PCIM to represent QoS policy information for large-scale | |||
domains. New classes introduced in this document describing QoS and | policy domains. New classes introduced in this document describing | |||
RSVP related variables, conditions and actions can be used as a | QoS- and RSVP-related variables, conditions, and actions can be used | |||
foundation for the PCPIM. | as a foundation for the PCPIM. | |||
Detailed description of the PCPIM will be provided in a separate | Detailed description of the PCPIM will be provided in a separate | |||
documents. | document. | |||
5. Policy-Enabled Path Computation Framework Components | 5. Policy-Enabled Path Computation Framework Components | |||
The following components are defined as part of the framework to | The following components are defined as part of the framework to | |||
support policy-enabled path computation: | support policy-enabled path computation: | |||
- PCE Policy Repository | - PCE Policy Repository | |||
A database from which PCE policies are available in the form of | A database from which PCE policies are available in the form of | |||
instances of PCPIM classes. PCE Policies are configured and | instances of PCPIM classes. PCE Policies are configured and | |||
managed by PCE Policy Management Tools; | managed by PCE Policy Management Tools; | |||
- PCE Policy Decision Point (PCE-PDP) | - PCE Policy Decision Point (PCE-PDP) | |||
A logical entity capable of retrieving relevant path computation | A logical entity capable of retrieving relevant path computation | |||
policies from one or more Policy Repositories and delivering the | policies from one or more Policy Repositories and delivering the | |||
information to associated PCE-PEP(s); | information to associated PCE-PEP(s); | |||
- PCE Policy Enforcement Point (PCE-PEP) | - PCE Policy Enforcement Point (PCE-PEP) | |||
A logical entity capable of issuing device specific Path | A logical entity capable of issuing device-specific Path | |||
Computation Engine configuration requests for the purpose of | Computation Engine configuration requests for the purpose of | |||
enforcing the policies; | enforcing the policies; | |||
- PCC Policy Decision Point (PCC-PDP) | - PCC Policy Decision Point (PCC-PDP) | |||
A logical entity capable of retrieving relevant path computation | A logical entity capable of retrieving relevant path computation | |||
policies from one or more Policy Repositories and delivering the | policies from one or more Policy Repositories and delivering the | |||
information to associated PCC-PEP(s); | information to associated PCC-PEP(s); | |||
- PCC Policy Enforcement Point (PCC-PEP) | - PCC Policy Enforcement Point (PCC-PEP) | |||
A logical entity capable of issuing device specific Path | A logical entity capable of issuing device-specific Path | |||
Computation Service User configuration requests for the purpose | Computation Service User configuration requests for the purpose of | |||
of enforcing the policies. | enforcing the policies. | |||
From the policy perspective a PCC is logically decomposed into two | From the policy perspective a PCC is logically decomposed into two | |||
parts: PCC-PDP and PCC-PEP. When present, a PCC-PEP is co-located | parts: PCC-PDP and PCC-PEP. When present, a PCC-PEP is co-located | |||
with a Path Computation Service User entity that requires remote path | with a Path Computation Service User entity that requires remote path | |||
computation (for example, the GMPLS control plane of an LSR). The | computation (for example, the GMPLS control plane of an LSR). The | |||
PCC-PEP and PCC-PDP may be physically co-located (as per [RFC2748]) | PCC-PEP and PCC-PDP may be physically co-located (as per [RFC2748]) | |||
or separated. In the later case they talk to each other via such | or separated. In the latter case, they talk to each other via such | |||
protocols as SOAP [W3CSOAP] or BEEP [RFC3080]. | protocols as SOAP [W3CSOAP] or BEEP [RFC3080]. | |||
Likewise, a PCE is logically decomposed into two parts: PCE-PEP and | Likewise, a PCE is logically decomposed into two parts: PCE-PEP and | |||
PCE-PDP. When present, PCE-PEP is co-located with a Path Computation | PCE-PDP. When present, PCE-PEP is co-located with a Path Computation | |||
Engine entity that actually provides the Path Computation Service | Engine entity that actually provides the Path Computation Service | |||
(that is, runs path computation algorithms). PCE-PEP and PCE-PDP may | (that is, runs path computation algorithms). PCE-PEP and PCE-PDP may | |||
be physically co-located or separated. In the later case they | be physically co-located or separated. In the later case, they | |||
communicate using such protocols as SOAP and/or BEEP. | communicate using such protocols as SOAP and/or BEEP. | |||
PCC-PDP/PCE-PDP may be co-located with, or separated from, an | PCC-PDP/PCE-PDP may be co-located with, or separated from, an | |||
associated PCE Policy Repository. In the latter case, the PDPs use | associated PCE Policy Repository. In the latter case, the PDPs use | |||
some access protocol (for example, LDAPv3 or SNMP). The task of PDPs | some access protocol (for example, LDAPv3 or SNMP). The task of PDPs | |||
is to retrieve policies from the repository(ies) and convey them to | is to retrieve policies from the repository (or repositories) and | |||
respective PEPs either in unsolicited way or upon the PEPs requests. | convey them to respective PEPs either in an unsolicited way or upon | |||
the PEP's requests. | ||||
A PCC-PEP may receive policy information not only from PCC-PDPs(s) | A PCC-PEP may receive policy information not only from PCC-PDP(s) but | |||
but also from PCE-PEP(s) via PCC-PCE communication and/or PCE | also from PCE-PEP(s) via PCC-PCE communication and/or PCE discovery | |||
discovery protocols. Likewise, a PCE-PEP may receive policy | protocols. Likewise, a PCE-PEP may receive policy information not | |||
information not only from PCE-PDPs(s) but also from PCC-PEP(s), via | only from PCE-PDP(s) but also from PCC-PEP(s), via the PCC-PCE | |||
the PCC-PCE communication protocol [PCEP]. | communication protocol [PCEP]. | |||
Any given policy can be interpreted (that is, translated into a | Any given policy can be interpreted (that is, translated into a | |||
sequence of concrete device specific configuration requests) either | sequence of concrete device specific configuration requests) either | |||
on a PDP or on the associated PEP or partly on the PDP and partly on | on a PDP or on the associated PEP or partly on the PDP and partly on | |||
the PEP. | the PEP. | |||
Generally speaking, the task of the PCC-PEP is to select the PCE and | Generally speaking, the task of the PCC-PEP is to select the PCE and | |||
build path computation requests applying service-specific policies | build path computation requests applying service-specific policies | |||
provided by the PCC-PDP. The task of the PCE-PEP is to control path | provided by the PCC-PDP. The task of the PCE-PEP is to control path | |||
computations by applying request-specific policies found in the | computations by applying request-specific policies found in the | |||
requests as well as client-specific and domain-specific policies | requests as well as client-specific and domain-specific policies | |||
supplied by the PCE-PDP. | supplied by the PCE-PDP. | |||
6. Policy Component Configurations | 6. Policy Component Configurations | |||
6.1. PCC-PCE Configurations | 6.1. PCC-PCE Configurations | |||
The PCE policy architecture supports policy being applied at a PCC | The PCE policy architecture supports policy being applied at a PCC | |||
and at a PCE. While the architecture supports policy being applied at | and at a PCE. While the architecture supports policy being applied | |||
both, there is no requirement for policy to always be applied at | at both, there is no requirement for policy to always be applied at | |||
both, or even at either. The use of policy in a network, on PCCs and | both, or even at either. The use of policy in a network, on PCCs, | |||
on PCEs, is a specific network design choice. Some networks may | and on PCEs, is a specific network design choice. Some networks may | |||
choose to apply policy only at PCCs (Figure 7), some at PCEs (Figure | choose to apply policy only at PCCs (Figure 7), some at PCEs (Figure | |||
8), and others at both PCCs and PCEs (Figure 9). Regardless of where | 8), and others at both PCCs and PCEs (Figure 9). Regardless of where | |||
policy is applied it must be applied in a consistent fashion in order | policy is applied, it must be applied in a consistent fashion in | |||
to achieve the intended results. | order to achieve the intended results. | |||
......................... | ......................... | |||
. . | . . | |||
. PCE Policy Management . | . PCE Policy Management . | |||
. . | . . | |||
......................... | ......................... | |||
. | . | |||
. | . | |||
--------- Policy ----------------------- | --------- Policy ----------------------- | |||
| PCC-PDP |<--------- | PCE Policy Repository | | | PCC-PDP |<--------- | PCE Policy Repository | | |||
--------- ----------------------- | --------- ----------------------- | |||
^ | ^ | |||
| e.g., SOAP | | e.g., SOAP | |||
v | v | |||
--------- PCEP --------- | --------- PCEP --------- | |||
| PCC-PEP |<------------------------------------------->| PCE | | | PCC-PEP |<------------------------------------------->| PCE | | |||
--------- PCC-PCE Communication Protocol --------- | --------- PCC-PCE Communication Protocol --------- | |||
Figure 7: Policies Applied On PCC Only | Figure 7: Policies Applied on PCC Only | |||
Along with supporting flexibility in where policy may be applied, the | Along with supporting flexibility in where policy may be applied, the | |||
PCE architecture is also flexible in terms of where specific types of | PCE architecture is also flexible in terms of where specific types of | |||
policies may be applied. Also the PCE architecture allows for the | policies may be applied. Also, the PCE architecture allows for the | |||
application of only a subset of policy types. [RFC4655] defines | application of only a subset of policy types. [RFC4655] defines | |||
several PC policy types. Each of these may be applied at either a PCC | several PC policy types. Each of these may be applied at either a | |||
or a PCE or both. Clearly when policy is only applied at PCCs or at | PCC or a PCE or both. Clearly, when policy is only applied at PCCs | |||
PCEs, all PCE policy types used in the network must be applied at | or at PCEs, all PCE policy types used in the network must be applied | |||
those locations. | at those locations. | |||
......................... | ......................... | |||
. . | . . | |||
. PCE Policy Management . | . PCE Policy Management . | |||
. . | . . | |||
......................... | ......................... | |||
. | . | |||
. | . | |||
----------------------- Policy --------- | ----------------------- Policy --------- | |||
| PCE Policy Repository | -------->| PCE-PDP | | | PCE Policy Repository | -------->| PCE-PDP | | |||
----------------------- --------- | ----------------------- --------- | |||
^ | ^ | |||
e.g., SOAP | | e.g., SOAP | | |||
v | v | |||
--------- PCEP --------- | --------- PCEP --------- | |||
| PCC |<------------------------------------------->| PCE-PEP | | | PCC |<------------------------------------------->| PCE-PEP | | |||
--------- PCC-PCE Communication Protocol --------- | --------- PCC-PCE Communication Protocol --------- | |||
Figure 8: Policies Applied On Only | Figure 8: Policies Applied on Only | |||
In the case where policy is only applied at a PCE, it is expected | In the case where policy is only applied at a PCE, it is expected | |||
that the PCC will pass to the PCE all information about the service | that the PCC will pass to the PCE all information about the service | |||
that it can gather in the path computation request (most likely in | that it can gather in the path computation request (most likely in | |||
the form of PCPIM policy variables). The PCE is expected to | the form of PCPIM policy variables). The PCE is expected to | |||
understand this information and apply appropriate policies while | understand this information and apply appropriate policies while | |||
defining the actual parameters of the path computation to be | defining the actual parameters of the path computation to be | |||
performed. Note that in this scenario the PCC cannot apply server- | performed. Note that in this scenario, the PCC cannot apply server- | |||
specific or any other policies, and PCE selection is static. | specific or any other policies, and PCE selection is static. | |||
When applying policy at both PCC and PCE, it is necessary to select | When applying policy at both the PCC and PCE, it is necessary to | |||
which types of policies are applied at each. In such configurations, | select which types of policies are applied at each. In such | |||
it is likely that the application of policy types will be distributed | configurations, it is likely that the application of policy types | |||
across PCC and PCE rather than applying all of them at both. For | will be distributed across the PCC and PCE rather than applying all | |||
example, user-specific and server-specific policies may be applied at | of them at both. For example, user-specific and server-specific | |||
a PCC, request and client specific policies may be applied at a PCE, | policies may be applied at a PCC, request- and client-specific | |||
while domain-specific policies may be applied at both the PCC and | policies may be applied at a PCE, while domain-specific policies may | |||
PCE. | be applied at both the PCC and PCE. | |||
In the case when policy is only applied at a PCC, the PCC must apply | In the case when policy is only applied at a PCC, the PCC must apply | |||
all the types of required policies, for example user, service, server | all the types of required policies, for example user-, service-, | |||
and domain-specific policies. The PCC uses the policies to construct | server-, and domain-specific policies. The PCC uses the policies to | |||
a path computation request that appropriately represents the applied | construct a path computation request that appropriately represents | |||
policies. The request will necessarily be limited to the set of | the applied policies. The request will necessarily be limited to the | |||
"basic" (that is, non-policy capable) constraints explicitly defined | set of "basic" (that is, non-policy capable) constraints explicitly | |||
by the PCC-PCE communication protocol. | defined by the PCC-PCE communication protocol. | |||
6.2. Policy Repositories | 6.2. Policy Repositories | |||
Within the policy-enabled path computation framework policy | Within the policy-enabled path computation framework policy | |||
repositories may be used in a single or multiple PCE policy | repositories may be used in a single or multiple PCE policy | |||
repository configuration: | repository configuration: | |||
o) Single PCE Policy Repository | o) Single PCE Policy Repository | |||
In this configuration there is a single PCE Policy Repository shared | In this configuration, there is a single PCE Policy Repository shared | |||
between PCCs and PCEs. | between PCCs and PCEs. | |||
......................... | ......................... | |||
. . | . . | |||
. PCE Policy Management . | . PCE Policy Management . | |||
. . | . . | |||
......................... | ......................... | |||
. | . | |||
. | . | |||
--------- Policy a ----------------------- Policy b --------- | --------- Policy a ----------------------- Policy b --------- | |||
skipping to change at page 25, line 13 | skipping to change at page 25, line 33 | |||
Figure 10: Multiple PCE/PCC Policy Repositories | Figure 10: Multiple PCE/PCC Policy Repositories | |||
6.3. Cooperating PCE Configurations | 6.3. Cooperating PCE Configurations | |||
The previous section shows the relationship between PCCs and PCEs. A | The previous section shows the relationship between PCCs and PCEs. A | |||
parallel relationship exists between cooperating PCEs, and, in fact, | parallel relationship exists between cooperating PCEs, and, in fact, | |||
this relationship can be viewed as the same as the relationship | this relationship can be viewed as the same as the relationship | |||
between PCCs and PCEs. The one notable difference is that there will | between PCCs and PCEs. The one notable difference is that there will | |||
be cases where having a shared PCE Policy Repository will not be | be cases where having a shared PCE Policy Repository will not be | |||
desirable, for example, when the PCEs are managed by different | desirable, for example, when the PCEs are managed by different | |||
entities. Note that in this case it still remains necessary for the | entities. Note that in this case, it still remains necessary for the | |||
policies to be consistent across the domains in order to identify | policies to be consistent across the domains in order to identify | |||
usable paths. The other notable difference is that a PCE, while | usable paths. The other notable difference is that a PCE, while | |||
processing a path computation request, may need to apply requester- | processing a path computation request, may need to apply requester- | |||
specific (that is, client-specific) policies in order to modify the | specific (that is, client-specific) policies in order to modify the | |||
request before sending it to other cooperating PCE(s). This | request before sending it to other cooperating PCE(s). This | |||
relationship is particularly important as the PCE Architecture allows | relationship is particularly important as the PCE architecture allows | |||
for configuration where all PCCs are not policy-enabled. | for configuration where all PCCs are not policy-enabled. | |||
The following are example configurations. These examples do not | The following are example configurations. These examples do not | |||
represent an exhaustive list and other configurations are expected. | represent an exhaustive list and other configurations are expected. | |||
o) Single Policy Repository | o) Single Policy Repository | |||
In this configuration there is a single PCE Policy repository shared | In this configuration, there is a single PCE Policy Repository shared | |||
between PCEs. This configuration is likely to be useful within a | between PCEs. This configuration is likely to be useful within a | |||
single administrative domain where multiple PCEs are provided for | single administrative domain where multiple PCEs are provided for | |||
redundancy or load distribution purposes. | redundancy or load distribution purposes. | |||
......................... | ......................... | |||
. . | . . | |||
. PCE Policy Management . | . PCE Policy Management . | |||
. . | . . | |||
......................... | ......................... | |||
. | . | |||
skipping to change at page 26, line 4 | skipping to change at page 26, line 25 | |||
^ ^ | ^ ^ | |||
| e.g., SOAP e.g., SOAP | | | e.g., SOAP e.g., SOAP | | |||
v v | v v | |||
--------- --------- | --------- --------- | |||
| PCE-PEP |<------------------------------------------->| PCE-PEP | | | PCE-PEP |<------------------------------------------->| PCE-PEP | | |||
--------- PCE-PCE Communication Protocol --------- | --------- PCE-PCE Communication Protocol --------- | |||
Figure 11: Single PCC Policy Repository | Figure 11: Single PCC Policy Repository | |||
o) Multiple Policy Repositories | o) Multiple Policy Repositories | |||
The repositories in this case may be fully or partially synchronized | The repositories in this case may be fully or partially synchronized | |||
by some discovery/synchronization management protocol(s) or may be | by some discovery/synchronization management protocol(s) or may be | |||
completely independent. In the multi-domain case it is expected that | completely independent. In the multi-domain case, it is expected | |||
the repositories will be distinct, providing, however. consistent | that the repositories will be distinct, providing, however, | |||
policies. | consistent policies. | |||
-------------- -------------- | -------------- -------------- | |||
| PCE Policy | | PCE Policy | | | PCE Policy | | PCE Policy | | |||
---| Repository A | | Repository B |--- | ---| Repository A | | Repository B |--- | |||
| -------------- -------------- | | | -------------- -------------- | | |||
| | | | | | |||
| Policy a Policy b | | | Policy a Policy b | | |||
| | | | | | |||
v v | v v | |||
--------- --------- | --------- --------- | |||
skipping to change at page 26, line 34 | skipping to change at page 27, line 9 | |||
--------- PCEP --------- | --------- PCEP --------- | |||
| PCE-PEP |<------------------------------------------->| PCE-PEP | | | PCE-PEP |<------------------------------------------->| PCE-PEP | | |||
--------- PCC-PCE Communication Protocol --------- | --------- PCC-PCE Communication Protocol --------- | |||
Figure 12: Multiple PCC Policy Repositories | Figure 12: Multiple PCC Policy Repositories | |||
6.4. Policy Configuration Management | 6.4. Policy Configuration Management | |||
The management of path computation policy information used by PCCs | The management of path computation policy information used by PCCs | |||
and PCEs is largely out of scope of the described framework. The | and PCEs is largely out of scope of the described framework. The | |||
framework assumes that such information is installed, removed and | framework assumes that such information is installed, removed, and | |||
otherwise managed using typical policy management techniques. Policy | otherwise managed using typical policy management techniques. Policy | |||
Repositories may be populated and managed via static configuration, | Repositories may be populated and managed via static configuration, | |||
standard and proprietary policy management tools, or even dynamically | standard and proprietary policy management tools, or even dynamically | |||
via policy management/discovery protocols and applications. | via policy management/discovery protocols and applications. | |||
7. Inter-Component Communication | 7. Inter-Component Communication | |||
7.1. Policy Communication | 7.1. Policy Communication | |||
Flexibility in the application of policy types is imperative from the | Flexibility in the application of policy types is imperative from the | |||
architecture perspective. However, this commodity implies added | architecture perspective. However, this commodity implies added | |||
complexity on the part of the PCE related communication protocols. | complexity on the part of the PCE-related communication protocols. | |||
One added complexity is that PCE communication protocols must carry | One added complexity is that PCE communication protocols must carry | |||
certain information to support various policy types that may be | certain information to support various policy types that may be | |||
applied. For example, in the case where policy is only applied at a | applied. For example, in the case where policy is only applied at a | |||
PCE, a PCC-PCE request must carry sufficient information for the PCE | PCE, a PCC-PCE request must carry sufficient information for the PCE | |||
to apply service or user-specific policies. This does imply that a | to apply service- or user-specific policies. This does imply that a | |||
PCC must have sufficient understanding of what policies can be | PCC must have sufficient understanding of what policies can be | |||
applied at the PCE. Such information may be obtained via local | applied at the PCE. Such information may be obtained via local | |||
configuration, static coding or even via a PCE discovery mechanism. | configuration, static coding, or even via a PCE discovery mechanism. | |||
The PCC must also have sufficient understanding to properly encode | The PCC must also have sufficient understanding to properly encode | |||
the required information for each policy type. | the required information for each policy type. | |||
Another added complexity is that PCE communication protocols must | Another added complexity is that PCE communication protocols must | |||
also be able to carry information that may result from a policy | also be able to carry information that may result from a policy | |||
decision. For example, user or service-specific policy applied at a | decision. For example, user- or service-specific policy applied at a | |||
PCC may result in policy related information that must be carried | PCC may result in policy-related information that must be carried | |||
along with the request for use by a PCE. This complexity is | along with the request for use by a PCE. This complexity is | |||
particularly important as it may be used to introduce new path | particularly important as it may be used to introduce new path | |||
computation parameters (e.g., constraints, objection functions, etc.) | computation parameters (e.g., constraints, objection functions, etc.) | |||
without modification of the core PCC and PCE. This communication will | without modification of the core PCC and PCE. This communication | |||
likely simply require the PCE communication protocols to support | will likely simply require the PCE communication protocols to support | |||
opaque policy related information elements. | opaque policy-related information elements. | |||
A final added complexity is that PCE communication protocols must | A final added complexity is that PCE communication protocols must | |||
also be able to support updated or unsolicited responses from a PCE. | also be able to support updated or unsolicited responses from a PCE. | |||
For example, changes in PCE policy may force a change to a previously | For example, changes in PCE policy may force a change to a previously | |||
provided path. Such updated or unsolicited responses may contain | provided path. Such updated or unsolicited responses may contain | |||
information that the PCC must act on, and may contain policy | information that the PCC must act on, and may contain policy | |||
information that must be provided to a PCC. | information that must be provided to a PCC. | |||
PCC-PEP and PCE-PEP or a pair of PCE-PEPs communicate via a request- | PCC-PEP and PCE-PEP or a pair of PCE-PEPs communicate via a request- | |||
response type PCC-PCE Communication Protocol, i.e., [PCEP]. This | response type PCC-PCE Communication Protocol, i.e., [PCEP]. This | |||
skipping to change at page 27, line 40 | skipping to change at page 28, line 14 | |||
PCC-PEP and PCE-PEP or a pair of PCE-PEPs communicate via a request- | PCC-PEP and PCE-PEP or a pair of PCE-PEPs communicate via a request- | |||
response type PCC-PCE Communication Protocol, i.e., [PCEP]. This | response type PCC-PCE Communication Protocol, i.e., [PCEP]. This | |||
document makes no assumptions as to what exact protocol is used to | document makes no assumptions as to what exact protocol is used to | |||
support this communication. This document does assume that the | support this communication. This document does assume that the | |||
semantics of a path computation request are sufficiently abstract and | semantics of a path computation request are sufficiently abstract and | |||
general, and support both PCE-PCC and PCE-PCE communication. | general, and support both PCE-PCC and PCE-PCE communication. | |||
From a policy perspective, a path computation request should include | From a policy perspective, a path computation request should include | |||
at a minimum: | at a minimum: | |||
o One or more source addresses; | o One or more source addresses; | |||
o One or more destination addresses; | o One or more destination addresses; | |||
o Computation type (P2P, P2MP, MP2P, etc.); | o Computation type (P2P (point to point), P2MP (point to multipoint), | |||
MP2P (multipoint to point), etc.); | ||||
o Number of required paths; | o Number of required paths; | |||
o Zero or more policy descriptors in the following format: | o Zero or more policy descriptors in the following format: | |||
<policy name>, | <policy name>, | |||
<policy variable1 name>, <param11>, <param12>,...,<param1N> | <policy variable1 name>, <param11>, <param12>,...,<param1N> | |||
<policy variable2 name>, <param21>, <param12>,...,<param2N> | <policy variable2 name>, <param21>, <param12>,...,<param2N> | |||
... | ... | |||
<policy variableM name>, <paramM1>, <paramM2>,...,<paramMN> | <policy variableM name>, <paramM1>, <paramM2>,...,<paramMN> | |||
A successful path computation response, at minimum, should include | A successful path computation response, at minimum, should include | |||
the list of computed paths and may include policies (in the form of | the list of computed paths and may include policies (in the form of | |||
skipping to change at page 28, line 17 | skipping to change at page 28, line 41 | |||
PCC-PCE Communication Protocol provides transport for policy | PCC-PCE Communication Protocol provides transport for policy | |||
information and should not understand nor make any assumptions about | information and should not understand nor make any assumptions about | |||
the semantics of policies specified in path computation requests and | the semantics of policies specified in path computation requests and | |||
responses. | responses. | |||
Note: This document explicitly allows for (but does not require) the | Note: This document explicitly allows for (but does not require) the | |||
PCC to decide that all necessary constraints, objective functions, | PCC to decide that all necessary constraints, objective functions, | |||
etc. pertinent to the computation of paths for the service in | etc. pertinent to the computation of paths for the service in | |||
question are to be determined by the PCE performing the computation. | question are to be determined by the PCE performing the computation. | |||
In this case the PCC will use a set of policies (more precisely, | In this case, the PCC will use a set of policies (more precisely, | |||
PCPIM policy variables) describing the service-specific information. | PCPIM policy variables) describing the service-specific information. | |||
These policies may be placed within the path computation request and | These policies may be placed within the path computation request and | |||
delivered to the PCE via a PCC-PCE communication protocol such as | delivered to the PCE via a PCC-PCE communication protocol such as | |||
[PCEP]. The PCE (more precisely, PCE-PEP) is expected to understand | [PCEP]. The PCE (more precisely, PCE-PEP) is expected to understand | |||
this information and use it to determine the constraints and | this information and use it to determine the constraints and | |||
optimization functions applying local policies (that is, policies | optimization functions applying local policies (that is, policies | |||
locally configured or provided by the associated PCE-PDP(s)). | locally configured or provided by the associated PCE-PDP(s)). | |||
7.2. PCE Discovery Policy Considerations | 7.2. PCE Discovery Policy Considerations | |||
Dynamic PCE discovery allows for PCCs and PCEs to automatically | Dynamic PCE discovery allows for PCCs and PCEs to automatically | |||
discover a set of PCEs (including information required for the PCE | discover a set of PCEs (including information required for the PCE | |||
selection). It also allows for PCCs and PCEs to dynamically detect | selection). It also allows for PCCs and PCEs to dynamically detect | |||
new PCEs or any modification of PCEs status. Policy can be applied in | new PCEs or any modification of PCEs status. Policy can be applied | |||
two ways in this context: | in two ways in this context: | |||
1. Restricting the scope of information distribution for the | 1. Restricting the scope of information distribution for the | |||
mandatory set of information (in particular the PCE presence | mandatory set of information (in particular the PCE presence and | |||
and location). | location). | |||
2. Restricting the type and nature of the optional information | 2. Restricting the type and nature of the optional information | |||
distributed by the discovery protocol. The latter is also | distributed by the discovery protocol. The latter is also subject | |||
subject to policy since the PCE architecture allows for | to policy since the PCE architecture allows for distributing this | |||
distributing this information using either PCE discovery | information using either PCE discovery protocol(s) or PCC-PCE | |||
protocol(s) or PCC-PCE communication protocol(s). One important | communication protocol(s). One important policy decision in this | |||
policy decision in this context is the nature of the information | context is the nature of the information to be distributed, | |||
to be distributed, especially, when this information is not | especially, when this information is not strictly speaking | |||
strictly speaking a "discovery" information, rather, the PCE | "discovery" information, rather, the PCE state changes. Client- | |||
state changes. Client-specific and domain-specific policies may | specific and domain-specific policies may be applied when deciding | |||
be applied when deciding whether this information should be | whether this information should be distributed and to which | |||
distributed and to which clients of the path computation service | clients of the path computation service (that is, which PCCs | |||
(that is, which PCCs and/or PCEs) | and/or PCEs). | |||
Another place where policy applies is at the administrative | Another place where policy applies is at the administrative | |||
boundaries. In multi-domain networks multiple PCEs will communicate | boundaries. In multi-domain networks, multiple PCEs will communicate | |||
with each other and across administrative boundaries. In such cases, | with each other and across administrative boundaries. In such cases, | |||
domain-specific polices would be applied to 1) filter the information | domain-specific policies would be applied to 1) filter the | |||
exchanged between peering PCEs during the discovery process (to the | information exchanged between peering PCEs during the discovery | |||
bare minimum in most cases if at all allowed by the security policy) | process (to the bare minimum in most cases if at all allowed by the | |||
and 2) limit the content of information being passed in path | security policy) and 2) limit the content of information being passed | |||
computation request and responses. | in path computation request and responses. | |||
8. Path Computation Sequence of Events | 8. Path Computation Sequence of Events | |||
This section presents a non-exhaustive list of representative | This section presents a non-exhaustive list of representative | |||
scenarios. | scenarios. | |||
8.1. Policy-enabled PCC, Policy-enabled PCE | 8.1. Policy-Enabled PCC, Policy-Enabled PCE | |||
When a GMPLS LSR receives a Setup (RSVP Path) message from an | When a GMPLS LSR receives a Setup (RSVP Path) message from an | |||
upstream LSR, the LSR may decide to use a remote Path Computation | upstream LSR, the LSR may decide to use a remote Path Computation | |||
Entity. The following sequence of events occurs in this case: | Entity. The following sequence of events occurs in this case: | |||
- A PCC-PEP co-located with the LSR applies the service-specific | - A PCC-PEP co-located with the LSR applies the service-specific | |||
policies to select a PCE for the service path computation as | policies to select a PCE for the service path computation as well | |||
well as to build the path computation request (that is, to | as to build the path computation request (that is, to select a list | |||
select a list of policies, their variables, conditions and | of policies, their variables, conditions and actions expressing | |||
actions expressing constraints, diversities, objective functions | constraints, diversities, objective functions and relaxation | |||
and relaxation strategies appropriate for the service path | strategies appropriate for the service path computation). The | |||
computation). The policies may be: | policies may be: | |||
a) Statically configured on the PCC-PEP; | a) Statically configured on the PCC-PEP; | |||
b) Communicated to the PCC-PEP by a remote or local PCC-PDP | b) Communicated to the PCC-PEP by a remote or local PCC-PDP via | |||
via protocol such as SOAP either pro-actively (most of the | protocol such as SOAP either proactively (most of the cases) or | |||
cases) or upon an explicit request by the PCC-PEP in case when | upon an explicit request by the PCC-PEP in cases when some | |||
some specifics of the new service have not been covered yet by | specifics of the new service have not been covered yet by the | |||
the policies so far known to the PCC-PEP) | policies so far known to the PCC-PEP). | |||
The input for the decision process on the PCC-PEP is the | The input for the decision process on the PCC-PEP is the | |||
information found in the signaling message as well as any other | information found in the signaling message as well as any other | |||
service-specific information such as port ID over which the message | service-specific information such as port ID over which the message | |||
was received, associated VPN ID, the reference point type (UNI, E- | was received, associated VPN ID, the reference point type (UNI, | |||
NNI, etc.) and so forth. After the path computation request is | E-NNI, etc.) and so forth. After the path computation request is | |||
built it is sent directly to the PCE-PEP using the PCC-PCE | built, it is sent directly to the PCE-PEP using the PCC-PCE | |||
Communication Protocol, e.g., [PCEP]. | Communication Protocol, e.g., [PCEP]. | |||
- PCE-PEP validates and otherwise processes the request applying | - PCE-PEP validates and otherwise processes the request applying the | |||
the policies found in the request as well as client and domain | policies found in the request- as well as client- and domain- | |||
specific polices. The latter, again, may be either statically | specific policies. The latter, again, may be either statically | |||
configured on the PCE-PEP or provided by the associated local or | configured on the PCE-PEP or provided by the associated local or | |||
remote PCE-PDP via a protocol such as SOAP. The outcome of the | remote PCE-PDP via a protocol such as SOAP. The outcome of the | |||
decision process is the following information: | decision process is the following information: | |||
a) Whether the request should be satisfied, rejected or | a) Whether the request should be satisfied, rejected, or dismissed. | |||
dismissed. | ||||
b) The sets of sources and destinations for which paths should | b) The sets of sources and destinations for which paths should be | |||
be locally computed. | locally computed. | |||
c) The set of constraints, diversities, optimization functions | c) The set of constraints, diversities, optimization functions, and | |||
and relaxations to be considered in each of locally performed | relaxations to be considered in each of locally performed path | |||
path computation. | computation. | |||
d) The address of the next-in-chain PCE. | d) The address of the next-in-chain PCE. | |||
e) The path computation request to be sent to the | e) The path computation request to be sent to the next-in-chain | |||
next-in-chain PCE. | PCE. | |||
The PCE-PEP instructs a co-located path computation engine to | The PCE-PEP instructs a co-located path computation engine to | |||
perform the local path computation(s) and, if necessary, sends the | perform the local path computation(s) and, if necessary, sends the | |||
path computation request to the next-in-chain PCE using a PCC-PCE | path computation request to the next-in-chain PCE using a PCC-PCE | |||
Communication Protocol. Then it waits for the responses from the | Communication Protocol. Then, it waits for the responses from the | |||
local path computation engine and the remote PCE, combines the | local path computation engine and the remote PCE, combines the | |||
resulting paths and sends them back to the PCC-PEP using the PCC- | resulting paths, and sends them back to the PCC-PEP using the PCC- | |||
PCE Communication Protocol. The response contains the resulting | PCE Communication Protocol. The response contains the resulting | |||
paths as well as policies describing some additional information | paths as well as policies describing some additional information | |||
(for example, which of constraints were honored, which were | (for example, which of constraints were honored, which were | |||
dismissed and which were relaxed and in what way) | dismissed, and which were relaxed and in what way). | |||
- PCC-PEP instructs the signaling sub-system of the GMPLS LSR to | - PCC-PEP instructs the signaling subsystem of the GMPLS LSR to | |||
encode the received path(s) into the outgoing Setup message(s). | encode the received path(s) into the outgoing Setup message(s). | |||
8.2. Policy-ignorant PCC, Policy-enabled PCE | 8.2. Policy-Ignorant PCC, Policy-Enabled PCE | |||
This case parallels the previous example, but the user and service- | This case parallels the previous example, but the user- and service- | |||
specific policies should be applied at the PCE as the PCC is policy | specific policies should be applied at the PCE as the PCC is policy | |||
ignorant. Again, when a GMPLS LSR has received a Setup (RSVP Path) | ignorant. Again, when a GMPLS LSR has received a Setup (RSVP Path) | |||
message from an upstream LSR, the LSR may decide to use a non co- | message from an upstream LSR, the LSR may decide to use a non-co- | |||
located Path Computation Entity. The following sequence of events | located Path Computation Entity. The following sequence of events | |||
occurs in this case: | occurs in this case: | |||
- The PCC constructs a PCE request using information found in the | - The PCC constructs a PCE request using information found in the | |||
signaling/provisioning message as well as any other service | signaling/provisioning message as well as any other service- | |||
specific information such as port ID over which the message was | specific information such as port ID over which the message was | |||
received, associated VPN ID, the reference point type (UNI, E- | received, associated VPN ID, the reference point type (UNI, E-NNI, | |||
NNI, etc.) and so forth. This information is encoded in the | etc.) and so forth. This information is encoded in the request in | |||
request in the form of policy variables. After the request is | the form of policy variables. After the request is built, it is | |||
built it is sent directly to the PCE-PEP using a PCC-PCE | sent directly to the PCE-PEP using a PCC-PCE Communication | |||
Communication Protocol. | Protocol. | |||
- PCE-PEP validates and otherwise processes the request | - PCE-PEP validates and otherwise processes the request interpreting | |||
interpreting the policy variables found in the request and | the policy variables found in the request and applying user-, | |||
applying user, service- and also client- and domain- specific | service-, client-, and domain-specific policies to build the actual | |||
polices to build the actual path computation request. The | path computation request. The policies, again, may be either | |||
policies, again, may be either statically configured on the | statically configured on the PCE-PEP or provided by the associated | |||
PCE-PEP or provided by the associated local or remote PCE-PDP via | local or remote PCE-PDP via a protocol such as SOAP. The outcome | |||
a protocol such as SOAP. The outcome of the decision process is | of the decision process is the following information: | |||
the following information: | ||||
a) Whether the request should be satisfied, rejected or | a) Whether the request should be satisfied, rejected, or dismissed. | |||
dismissed. | ||||
b) The sets of sources and destinations for which paths should | b) The sets of sources and destinations for which paths should be | |||
be locally computed. | locally computed. | |||
c) The set of constraints, diversities, optimization functions | c) The set of constraints, diversities, optimization functions, and | |||
and relaxations to be considered in each of locally performed | relaxations to be considered in each of locally performed path | |||
path computation. | computation. | |||
d) The address of the next-in-chain PCE. | d) The address of the next-in-chain PCE. | |||
e) The path computation request to be sent to the next-in- | e) The path computation request to be sent to the next-in-chain | |||
chain PCE. | PCE. | |||
The PCE-PEP instructs a co-located path computation engine to | The PCE-PEP instructs a co-located path computation engine to | |||
perform the local path computation(s) and, if necessary, sends the | perform the local path computation(s) and, if necessary, sends the | |||
path computation request to the next-in-chain PCE using the PCC-PCE | path computation request to the next-in-chain PCE using the PCC-PCE | |||
Communication Protocol. Then it waits for the responses from the | Communication Protocol. Then, it waits for the responses from the | |||
local path computation engine and the remote PCE, combines the | local path computation engine and the remote PCE, combines the | |||
resulting paths and sends them back to the PCC-PEP using the PCC- | resulting paths, and sends them back to the PCC-PEP using the PCC- | |||
PCE Communication Protocol. The response contains the resulting | PCE Communication Protocol. The response contains the resulting | |||
paths as well as policies describing some additional information | paths as well as policies describing some additional information | |||
(for example, which of constraints were honored, which were | (for example, which of constraints were honored, which were | |||
dismissed and which were relaxed and in what way) | dismissed, and which were relaxed and in what way) | |||
- PCC-PEP instructs the signaling sub-system of the GMPLS LSR to | - PCC-PEP instructs the signaling sub-system of the GMPLS LSR to | |||
encode the received path(s) into the outgoing Setup message(s). | encode the received path(s) into the outgoing Setup message(s). | |||
9. Introduction of New Constraints | 9. Introduction of New Constraints | |||
An important aspect of the policy-enable path computation framework | An important aspect of the policy-enabled path computation framework | |||
discussed above is the ability to introduce new constraints with | discussed above is the ability to introduce new constraints with | |||
minimal impact. In particular, only those components and mechanisms | minimal impact. In particular, only those components and mechanisms | |||
that will use a new constraint need to be updated in order to support | that will use a new constraint need to be updated in order to support | |||
the new constraint. Importantly, those components and mechanisms that | the new constraint. Importantly, those components and mechanisms | |||
will not use the new constraint, must not require any change in order | that will not use the new constraint must not require any change in | |||
for the new constraint to be utilized. For example, the PCE | order for the new constraint to be utilized. For example, the PCE | |||
communication protocols must not require any changes to support new | communication protocols must not require any changes to support new | |||
constraints. Likewise, PCC and PCEs that will not process new | constraints. Likewise, PCC and PCEs that will not process new | |||
constraints must not require any modification. | constraints must not require any modification. | |||
Consider the case where a PCE has been upgraded with software | Consider the case where a PCE has been upgraded with software | |||
supporting optical physical impairment constraint, such as | supporting optical physical impairment constraint, such as | |||
Polarization Mode Dispersion (PMD), that previously was not supported | Polarization Mode Dispersion (PMD), that previously was not supported | |||
in the domain. In this case, one or more new policies will be | in the domain. In this case, one or more new policies will be | |||
installed in the PCE Policy Repository (associated with the PCE) | installed in the PCE Policy Repository (associated with the PCE) | |||
defining the constraint (rules that determine application criteria, | defining the constraint (rules that determine application criteria, | |||
set of policy variables, conditions, actions, etc.) and its | set of policy variables, conditions, actions, etc.) and its | |||
relaxation strategy(ies). The new policies will be also propagated | relaxation strategy (or strategies). The new policies will be also | |||
into other PCE Policy Repositories within the domain via discovery | propagated into other PCE Policy Repositories within the domain via | |||
and synchronization protocols or via local configuration. PCE-PDPs | discovery and synchronization protocols or via local configuration. | |||
and PCC-PDPs will then retrieve the corresponding policies from the | PCE-PDPs and PCC-PDPs will then retrieve the corresponding policies | |||
repository(ies). From then on PCC-PDPs will instruct associated PCC- | from the repository (or repositories). From then on, PCC-PDPs will | |||
PEPs to add the new policy information into path computation requests | instruct associated PCC-PEPs to add the new policy information into | |||
for services with certain parameters (for example, for services | path computation requests for services with certain parameters (for | |||
provisioned in the OCh layer). | example, for services provisioned in the optical channel (OCh) | |||
layer). | ||||
It is important to note that policy-enabled path computation model | It is important to note that policy-enabled path computation model | |||
naturally solves the PCE capability discovery issues. Suppose a PCE | naturally solves the PCE capability discovery issues. Suppose a PCE | |||
working in a single PCE Policy Repository configuration starts to | working in a single PCE Policy Repository configuration starts to | |||
support a new constraint. Once a corresponding policy installed in | support a new constraint. Once a corresponding policy installed in | |||
the repository, it automatically becomes available for all repository | the repository, it automatically becomes available for all repository | |||
users, that is, PCCs. In the multi-repository case some policy | users, that is, PCCs. In the multi-repository case some policy | |||
synchronization must be provided, however, this problem is one of the | synchronization must be provided; however, this problem is one of the | |||
management plane which is solved already. | management plane which is solved already. | |||
10. Security Considerations | 10. Security Considerations | |||
This document adds to the policy security considerations mentioned in | This document adds to the policy security considerations mentioned in | |||
[RFC4655]. In particular it is now necessary to consider the security | [RFC4655]. In particular, it is now necessary to consider the | |||
issues related to policy information maintained in PCE Policy | security issues related to policy information maintained in PCE | |||
Repositories and policy related transactions. The most notable | Policy Repositories and policy-related transactions. The most | |||
issues, some of which are also listed in [RFC4655], are: | notable issues, some of which are also listed in [RFC4655], are: | |||
- Unauthorized access to the PCE Policy Repositories; | - Unauthorized access to the PCE Policy Repositories; | |||
- Interception of policy information when it is retrieved from | ||||
the repositories and/or transported from PDPs to PEPs; | ||||
- Interception of policy related information in path computation | - Interception of policy information when it is retrieved from the | |||
repositories and/or transported from PDPs to PEPs; | ||||
- Interception of policy-related information in path computation | ||||
requests and responses; | requests and responses; | |||
o Impersonation of user and client identities; | o Impersonation of user and client identities; | |||
o Falsification of policy information and/or PCE capabilities; | o Falsification of policy information and/or PCE capabilities; | |||
o Denial of service attacks on policy related communication | o Denial-of-service attacks on policy-related communication | |||
mechanisms. | mechanisms. | |||
As with [RFC4655], it is expected that PCE solutions will address the | As with [RFC4655], it is expected that PCE solutions will address the | |||
PCE aspects of these issues in detail. | PCE aspects of these issues in detail. | |||
11. Acknowledgments | 11. Acknowledgments | |||
Adrian Farrel contributed significantly to this document. We would | Adrian Farrel contributed significantly to this document. We would | |||
like to thank Bela Berde for fruitful discussions on PBM and Policy- | like to thank Bela Berde for fruitful discussions on PBM and policy- | |||
driven path computation. We would also like to thank Kobus Van der | driven path computation. We would also like to thank Kobus Van der | |||
Merwe for providing insights and examples regarding PCE policy | Merwe for providing insights and examples regarding PCE policy | |||
applications. | applications. | |||
12. IANA Considerations | 12. References | |||
None. | ||||
13. References | ||||
13.1. Normative References | 12.1. Normative References | |||
[RFC2753] R. Yavatkar, D. Pendarakis, R. Guerin, A Framework for | [RFC2753] Yavatkar, R., Pendarakis, D., and R. Guerin, "A Framework | |||
Policy Based Admission Control, RFC 2753, January 2000. | for Policy-based Admission Control", RFC 2753, January | |||
2000. | ||||
[RFC3060] B. Moore, et al., Policy Core Information Model -- | [RFC3060] Moore, B., Ellesson, E., Strassner, J., and A. Westerinen, | |||
Version 1 Specification, RFC 3060, February 2001. | "Policy Core Information Model -- Version 1 | |||
Specification", RFC 3060, February 2001. | ||||
[RFC3209] Awduche, D., et al., "Extensions to RSVP for LSP | [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | |||
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | ||||
Tunnels", RFC 3209, December 2001. | Tunnels", RFC 3209, December 2001. | |||
[RFC3460] Moore, B. Ed., "Policy Core Information Model (PCIM) | [RFC3460] Moore, B., Ed., "Policy Core Information Model (PCIM) | |||
Extensions", RFC 3460, January 2003. | Extensions", RFC 3460, January 2003. | |||
[RFC3473] Berger, L., et al., "Generalized Multi-Protocol Label | [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label | |||
Switching (GMPLS) Signaling Resource ReserVation | Switching (GMPLS) Signaling Resource ReserVation | |||
Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC | Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC | |||
3473, January 2003. | 3473, January 2003. | |||
[RFC3644] Y. Snir, et al., Policy Quality of Service (QoS) | [RFC3644] Snir, Y., Ramberg, Y., Strassner, J., Cohen, R., and B. | |||
Information Model, RFC 3644, November 2003. | Moore, "Policy Quality of Service (QoS) Information | |||
Model", RFC 3644, November 2003. | ||||
[RFC4216] Zhang, R., Vasseur, J-P., Eds., "MPLS Inter-Autonomous | [RFC4216] Zhang, R., Ed., and J.-P. Vasseur, Ed., "MPLS Inter- | |||
System (AS) Traffic Engineering (TE) Requirements", | Autonomous System (AS) Traffic Engineering (TE) | |||
RFC4216, November 2005. | Requirements", RFC 4216, November 2005. | |||
[RFC4655] Farrel, A., Vasseur, JP., Ash, J., "Path Computation | [RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path | |||
Element (PCE) Architecture", RFC 4655, August 2006. | Computation Element (PCE)-Based Architecture", RFC 4655, | |||
August 2006. | ||||
[RFC4927] Le Roux, J-L., Ed., "PCE Communication Protocol | [RFC4927] Le Roux, J.-L., Ed., "Path Computation Element | |||
(PCECP) Specific Requirements for Inter-Area | Communication Protocol (PCECP) Specific Requirements for | |||
MPLS and GMPLS Traffic Engineering", June 2007. | Inter-Area MPLS and GMPLS Traffic Engineering", RFC 4927, | |||
June 2007. | ||||
13.2. Informative References | 12.2. Informative References | |||
[DMTF] Common Information Model (CIM) Schema, version 2.x. | [DMTF] Common Information Model (CIM) Schema, version 2.x. | |||
Distributed Management Task Force, Inc. The components | Distributed Management Task Force, Inc. The components of | |||
of the CIM v2.x schema are available via links on the | the CIM v2.x schema are available via links on the | |||
following DMTF web page: | following DMTF web page: | |||
http://www.dmtf.org/standards/standard_cim.php. | http://www.dmtf.org/standards/standard_cim.php. | |||
[IRSCP] Van der Merwe, J., et al., "Dynamic Connectivity | [IRSCP] Van der Merwe, J., et al., "Dynamic Connectivity | |||
Management with an Intelligent Route Service Control | Management with an Intelligent Route Service Control | |||
Point," ACM SIGCOMM Workshop on Internet Network | Point," ACM SIGCOMM Workshop on Internet Network | |||
Management (INM), Pisa, Italy, September 11, 2006. | Management (INM), Pisa, Italy, September 11, 2006. | |||
[PCEP] Vasseur, J., Le Roux, J., Eds., "Path Computation Element | [PCEP] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation | |||
(PCE) Communication Protocol (PCEP)", Work in Progress, | Element (PCE) Communication Protocol (PCEP)", Work in | |||
draft-ietf-pce-pcep-16.txt, October 14, 2008. | Progress, November 2008. | |||
[RFC2748] D. Durham, et al., The COPS (Common Open Policy Service) | [RFC2748] Durham, D., Ed., Boyle, J., Cohen, R., Herzog, S., Rajan, | |||
protocol, RFC 2748, IETF, January 2000. | R., and A. Sastry, "The COPS (Common Open Policy Service) | |||
Protocol", RFC 2748, January 2000. | ||||
[RFC3031] Rosen, E,. Viswanathan, V. Callon, R., "Multiprotocol | [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol | |||
Label Switching Architecture", RFC 3031, January 2001. | Label Switching Architecture", RFC 3031, January 2001. | |||
[RFC3080] Rose, M., "The Blocks Extensible Exchange Protocol | [RFC3080] Rose, M., "The Blocks Extensible Exchange Protocol Core", | |||
Core", RFC 3080, March 2001. | RFC 3080, March 2001. | |||
[RFC3198] Westerinen, A., et al., "Terminology for Policy-Based | [RFC3198] Westerinen, A., Schnizlein, J., Strassner, J., Scherling, | |||
M., Quinn, B., Herzog, S., Huynh, A., Carlson, M., Perry, | ||||
J., and S. Waldbusser, "Terminology for Policy-Based | ||||
Management", RFC 3198, November 2001. | Management", RFC 3198, November 2001. | |||
[RFC3630] Katz, D., Kompella, K., Yeung., D., "Traffic Engineering | [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering | |||
(TE) Extensions to OSPF Version 2", RFC 3630, September | (TE) Extensions to OSPF Version 2", RFC 3630, September | |||
2003. | 2003. | |||
[INTERAS-PCEP] Bitar, N., Zhang, R., Kumaki, K., Eds., "Inter-AS | [RFC5376] Bitar, N., Zhang, R., and K. Kumaki, "Inter-AS | |||
Requirements for the Path Computation Element | Requirements for the Path Computation Element | |||
Communication Protocol (PCECP)", February 2006. | Communication Protocol (PCECP)", RFC 5376, November 2008. | |||
[W3CSOAP] Hadley, M., Mendelsohn, N., Moreau, J., Nielsen, H., | [W3CSOAP] Hadley, M., Mendelsohn, N., Moreau, J., Nielsen, H., and | |||
and Gudgin, M., "SOAP Version 1.2 Part 1: Messaging | Gudgin, M., "SOAP Version 1.2 Part 1: Messaging | |||
Framework", W3C REC REC-soap12-part1-20030624, June | Framework", W3C REC REC-soap12-part1-20030624, June 2003. | |||
2003. | ||||
14. Authors' Addresses | Authors' Addresses | |||
Igor Bryskin | Igor Bryskin | |||
ADVA Optical | ADVA Optical | |||
7926 Jones Branch Drive | 7926 Jones Branch Drive | |||
Suite 615 | Suite 615 | |||
McLean, VA 22102 | McLean, VA 22102 | |||
Email: ibryskin@advaoptical.com | EMail: ibryskin@advaoptical.com | |||
Dimitri Papadimitriou (Alcatel) | Dimitri Papadimitriou | |||
Alcatel | ||||
Fr. Wellesplein 1, | Fr. Wellesplein 1, | |||
B-2018 Antwerpen, Belgium | B-2018 Antwerpen, Belgium | |||
Phone: +32 3 240-8491 | Phone: +32 3 240-8491 | |||
Email: dimitri.papadimitriou@alcatel.be | EMail: dimitri.papadimitriou@alcatel.be | |||
Lou Berger | Lou Berger | |||
LabN Consulting, LLC | LabN Consulting, LLC | |||
Phone: +1 301 468 9228 | Phone: +1 301 468 9228 | |||
Email: lberger@labn.net | EMail: lberger@labn.net | |||
Jerry Ash | Jerry Ash | |||
AT&T | AT&T | |||
Email: gash5107@yahoo.com | EMail: gash5107@yahoo.com | |||
15. 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. | ||||
16. 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. | ||||
Acknowledgement | ||||
Funding for the RFC Editor function is provided by the IETF | ||||
Administrative Support Activity (IASA). | ||||
Generated on: Tue Oct 28 19:31:33 EDT 2008 | ||||
End of changes. 173 change blocks. | ||||
467 lines changed or deleted | 471 lines changed or added | |||
This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |