draft-ietf-teas-pce-central-control-05.txt | rfc8283.txt | |||
---|---|---|---|---|
TEAS Working Group A. Farrel, Ed. | Internet Engineering Task Force (IETF) A. Farrel, Ed. | |||
Internet-Draft Juniper Networks | Request for Comments: 8283 Juniper Networks | |||
Intended status: Informational Q. Zhao, Ed. | Category: Informational Q. Zhao, Ed. | |||
Expires: March 8, 2018 R. Li | ISSN: 2070-1721 R. Li | |||
Huawei Technologies | Huawei Technologies | |||
C. Zhou | C. Zhou | |||
Cisco Systems | Cisco Systems | |||
September 4, 2017 | December 2017 | |||
An Architecture for Use of PCE and PCEP in a Network with Central | An Architecture for Use of PCE and the PCE Communication Protocol (PCEP) | |||
Control | in a Network with Central Control | |||
draft-ietf-teas-pce-central-control-05 | ||||
Abstract | Abstract | |||
The Path Computation Element (PCE) is a core component of Software | The Path Computation Element (PCE) is a core component of Software- | |||
Defined Networking (SDN) systems. It can compute optimal paths for | Defined Networking (SDN) systems. It can compute optimal paths for | |||
traffic across a network and can also update the paths to reflect | traffic across a network and can also update the paths to reflect | |||
changes in the network or traffic demands. | changes in the network or traffic demands. | |||
PCE was developed to derive paths for MPLS Label Switched Paths | PCE was developed to derive paths for MPLS Label Switched Paths | |||
(LSPs) supplying them to the head end of the LSP using the Path | (LSPs), which are supplied to the head end of the LSP using the Path | |||
Computation Element Communication Protocol (PCEP). | Computation Element Communication Protocol (PCEP). | |||
SDN has a broader applicability than signaled MPLS traffic engineered | SDN has a broader applicability than signaled MPLS traffic-engineered | |||
networks, and the PCE may be used to determine paths in a range of | (TE) networks, and the PCE may be used to determine paths in a range | |||
use cases including static LSPs, segment routing, service function | of use cases including static LSPs, segment routing, Service Function | |||
chaining, and most forms of routed or switched network. It is, | Chaining (SFC), and most forms of a routed or switched network. It | |||
therefore, reasonable to consider PCEP as a control protocol for use | is, therefore, reasonable to consider PCEP as a control protocol for | |||
in these environments to allow the PCE to be fully enabled as a | use in these environments to allow the PCE to be fully enabled as a | |||
central controller. | central controller. | |||
This document briefly introduces the architecture for PCE as a | This document briefly introduces the architecture for PCE as a | |||
central controller, examines the motivations and applicability for | central controller, examines the motivations and applicability for | |||
PCEP as a control protocol in this environment, and introduces the | PCEP as a control protocol in this environment, and introduces the | |||
implications for the protocol. A PCE-based central controller can | implications for the protocol. A PCE-based central controller can | |||
simplify the processing of distributed control plane by blending it | simplify the processing of a distributed control plane by blending it | |||
with elements of SDN and without necessarily completely replacing it. | with elements of SDN and without necessarily completely replacing it. | |||
This document does not describe use cases in detail and does not | This document does not describe use cases in detail and does not | |||
define protocol extensions: that work is left for other documents. | define protocol extensions: that work is left for other documents. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at http://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Not all documents | |||
approved by the IESG are a candidate for any level of Internet | ||||
Standard; see Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on March 8, 2018. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc8283. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Architecture . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Architecture . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.1. Resilience and Scaling . . . . . . . . . . . . . . . . . 7 | 2.1. Resilience and Scaling . . . . . . . . . . . . . . . . . 8 | |||
2.1.1. Partitioned Network . . . . . . . . . . . . . . . . . 8 | 2.1.1. Partitioned Network . . . . . . . . . . . . . . . . . 9 | |||
2.1.2. Multiple Parallel Controllers . . . . . . . . . . . . 9 | 2.1.2. Multiple Parallel Controllers . . . . . . . . . . . . 10 | |||
2.1.3. Hierarchical Controllers . . . . . . . . . . . . . . 12 | 2.1.3. Hierarchical Controllers . . . . . . . . . . . . . . 12 | |||
3. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 13 | 3. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
3.1. Technology-Oriented Applicability . . . . . . . . . . . . 14 | 3.1. Technology-Oriented Applicability . . . . . . . . . . . . 14 | |||
3.1.1. Applicability to Control Plane Operated Networks . . 14 | 3.1.1. Applicability to Control-Plane Operated Networks . . 14 | |||
3.1.2. Static LSPs in MPLS . . . . . . . . . . . . . . . . . 14 | 3.1.2. Static LSPs in MPLS . . . . . . . . . . . . . . . . . 14 | |||
3.1.3. MPLS Multicast . . . . . . . . . . . . . . . . . . . 15 | 3.1.3. MPLS Multicast . . . . . . . . . . . . . . . . . . . 15 | |||
3.1.4. Transport SDN . . . . . . . . . . . . . . . . . . . . 15 | 3.1.4. Transport SDN . . . . . . . . . . . . . . . . . . . . 15 | |||
3.1.5. Segment Routing . . . . . . . . . . . . . . . . . . . 15 | 3.1.5. Segment Routing . . . . . . . . . . . . . . . . . . . 15 | |||
3.1.6. Service Function Chaining . . . . . . . . . . . . . . 16 | 3.1.6. Service Function Chaining . . . . . . . . . . . . . . 16 | |||
3.2. High-Level Applicability . . . . . . . . . . . . . . . . 16 | 3.2. High-Level Applicability . . . . . . . . . . . . . . . . 16 | |||
3.2.1. Traffic Engineering . . . . . . . . . . . . . . . . . 16 | 3.2.1. Traffic Engineering . . . . . . . . . . . . . . . . . 16 | |||
3.2.2. Traffic Classification . . . . . . . . . . . . . . . 17 | 3.2.2. Traffic Classification . . . . . . . . . . . . . . . 17 | |||
3.2.3. Service Delivery . . . . . . . . . . . . . . . . . . 17 | 3.2.3. Service Delivery . . . . . . . . . . . . . . . . . . 17 | |||
4. Protocol Implications / Guidance for Solution Developers . . 18 | 4. Protocol Implications / Guidance for Solution Developers . . 18 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | |||
6. Manageability Considerations . . . . . . . . . . . . . . . . 19 | 6. Manageability Considerations . . . . . . . . . . . . . . . . 19 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | |||
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 20 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 20 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 8.2. Informative References . . . . . . . . . . . . . . . . . 21 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 22 | Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 22 | Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
1. Introduction | 1. Introduction | |||
The Path Computation Element (PCE) [RFC4655] was developed to offload | The Path Computation Element (PCE) [RFC4655] was developed to offload | |||
path computation function from routers in an MPLS traffic engineered | path computation function from routers in an MPLS traffic-engineered | |||
network. Since then, the role and function of the PCE has grown to | network. Since then, the role and function of the PCE has grown to | |||
cover a number of other uses (such as GMPLS [RFC7025]) and to allow | cover a number of other uses (such as GMPLS [RFC7025]) and to allow | |||
delegated control [I-D.ietf-pce-stateful-pce] and PCE-initiated use | delegated control [RFC8231] and PCE-initiated use of network | |||
of network resources [I-D.ietf-pce-pce-initiated-lsp]. | resources [RFC8281]. | |||
According to [RFC7399], Software Defined Networking (SDN) refers to a | According to [RFC7399], Software-Defined Networking (SDN) refers to a | |||
separation between the control elements and the forwarding components | separation between the control elements and the forwarding components | |||
so that software running in a centralized system, called a | so that software running in a centralized system, called a | |||
controller, can act to program the devices in the network to behave | controller, can act to program the devices in the network to behave | |||
in specific ways. A required element in an SDN architecture is a | in specific ways. A required element in an SDN architecture is a | |||
component that plans how the network resources will be used and how | component that plans how the network resources will be used and how | |||
the devices will be programmed. It is possible to view this | the devices will be programmed. It is possible to view this | |||
component as performing specific computations to place traffic flows | component as performing specific computations to place traffic flows | |||
within the network given knowledge of the availability of network | within the network given knowledge of the availability of network | |||
resources, how other forwarding devices are programmed, and the way | resources, how other forwarding devices are programmed, and the way | |||
that other flows are routed. This is the function and purpose of a | that other flows are routed. This is the function and purpose of a | |||
PCE, and the way that a PCE integrates into a wider network control | PCE, and the way that a PCE integrates into a wider network control | |||
system (including an SDN system) is presented in [RFC7491]. | system (including an SDN system) is presented in [RFC7491]. | |||
In early PCE implementations, where the PCE was used to derive paths | In early PCE implementations, where the PCE was used to derive paths | |||
for MPLS Label Switched Paths (LSPs), paths were requested by network | for MPLS Label Switched Paths (LSPs), paths were requested by network | |||
elements (known as Path Computation Clients - PCCs) and the results | elements (known as Path Computation Clients (PCCs)), and the results | |||
of the path computations were supplied to network elements using the | of the path computations were supplied to network elements using the | |||
Path Computation Element Communication Protocol (PCEP) [RFC5440]. | Path Computation Element Communication Protocol (PCEP) [RFC5440]. | |||
This protocol was later extended to allow a PCE to send unsolicited | This protocol was later extended to allow a PCE to send unsolicited | |||
requests to the network for LSP establishment | requests to the network for LSP establishment [RFC8281]. | |||
[I-D.ietf-pce-pce-initiated-lsp]. | ||||
SDN has a far broader applicability than just signaled MPLS or GMPLS | SDN has a far broader applicability than just signaled MPLS or GMPLS | |||
traffic engineered networks. The PCE component in an SDN system may | traffic-engineered networks. The PCE component in an SDN system may | |||
be used to determine paths in a wide range of use cases including | be used to determine paths in a wide range of use cases including | |||
static LSPs, segment routing [I-D.ietf-spring-segment-routing], | static LSPs, segment routing [SR-ARCH], SFC [RFC7665], and indeed any | |||
service function chaining (SFC) [RFC7665], and indeed any form of | form of routed or switched network. It is, therefore, reasonable to | |||
routed or switched network. It is, therefore, reasonable to consider | consider PCEP as a general southbound control protocol (i.e., a | |||
PCEP as a general southbound control protocol (i.e., a control | control protocol for communicating from the central controller to | |||
protocol for communicating from the central controller to network | network elements) for use in these environments to allow the PCE to | |||
elements) for use in these environments to allow the PCE to be fully | be fully enabled as a central controller. | |||
enabled as a central controller. | ||||
This document introduces the architecture for PCE as a central | This document introduces the architecture for PCE as a central | |||
controller as an extension of the architecture described in [RFC4655] | controller as an extension of the architecture described in [RFC4655] | |||
and assumes the continued use of PCEP as the protocol used between | and assumes the continued use of PCEP as the protocol used between | |||
PCE and PCC. The document also examines the motivations and | PCE and PCC. This document also examines the motivations and | |||
applicability for PCEP as a southbound interface and introduces the | applicability for PCEP as a Southbound Interface (SBI) and introduces | |||
implications for the protocol used in this way. A PCE-based central | the implications for the protocol used in this way. A PCE-based | |||
controller can simplify the processing of distributed control plane | central controller can simplify the processing of a distributed | |||
by blending it with elements of SDN and without necessarily | control plane by blending it with elements of SDN and without | |||
completely replacing it. | necessarily completely replacing it. | |||
This document does not describe use cases in detail and does not | This document does not describe use cases in detail and does not | |||
define protocol extensions: that work is left for other documents. | define protocol extensions: that work is left for other documents. | |||
2. Architecture | 2. Architecture | |||
The architecture for the use of PCE within centralized control of a | The architecture for the use of PCE within centralized control of a | |||
network is based on the understanding that a PCE can determine how | network is based on the understanding that a PCE can determine how | |||
connections should be placed and how resources should be used within | connections should be placed and how resources should be used within | |||
the network, and that the PCE can then cause those connections to be | the network, and that the PCE can then cause those connections to be | |||
established. Figure 1 shows how this control relationship works in a | established. Figure 1 shows how this control relationship works in a | |||
network with an active control plane. This is a familiar view for | network with an active control plane. This is a familiar view for | |||
those who have read and understood [RFC4655] and | those who have read and understood [RFC4655] and [RFC8281]. | |||
[I-D.ietf-pce-pce-initiated-lsp]. | ||||
In this mode of operation, the central controller is asked to create | In this mode of operation, the central controller is asked to create | |||
connectivity by a network orchestrator, a service manager, an | connectivity by a network orchestrator, a service manager, an | |||
Operations Support System (OSS), a Network Management Station (NMS), | Operations Support System (OSS), a Network Management Station (NMS), | |||
or some other application. The PCE-based controller computes paths | or some other application. The PCE-based controller computes paths | |||
with awareness of the network topology, the available resources, and | with awareness of the network topology, the available resources, and | |||
the other services supported in the network. This information is | the other services supported in the network. This information is | |||
held in the Traffic Engineering Database (TED) and other databases | held in the Traffic Engineering Database (TED) and other databases | |||
available to the PCE. Then the PCE sends a request using PCEP to one | available to the PCE. Then the PCE sends a request using PCEP to one | |||
of the Network Elements (NEs), and that NE uses a control plane to | of the Network Elements (NEs), and that NE uses a control plane to | |||
establish the requested connections and reserve the network | establish the requested connections and reserve the network | |||
resources. | resources. | |||
Note that other databases (such as a database of LSPs - the LSP-DB) | Note that other databases (such as an LSP Database (LSP-DB)) might | |||
might also be used, but for simplicity of illustration, just the TED | also be used, but for simplicity of illustration, just the TED is | |||
is shown. | shown. | |||
-------------------------------------------- | -------------------------------------------- | |||
| Orchestrator / Service Manager / OSS / NMS | | | Orchestrator / Service Manager / OSS / NMS | | |||
-------------------------------------------- | -------------------------------------------- | |||
^ | ^ | |||
| | | | |||
v | v | |||
------------ | ------------ | |||
| | ----- | | | ----- | |||
| PCE-based |<---| TED | | | PCE-Based |<---| TED | | |||
| Controller | ----- | | Controller | ----- | |||
| | | | | | |||
------------ | ------------ | |||
^ | ^ | |||
PCEP| | PCEP| | |||
v | v | |||
---- ---- ---- ---- | ---- ---- ---- ---- | |||
| NE |<--------->| NE |<--->| NE |<--->| NE | | | NE |<--------->| NE |<--->| NE |<--->| NE | | |||
---- Signaling ---- ---- ---- | ---- Signaling ---- ---- ---- | |||
Protocol | Protocol | |||
Figure 1: Architecture for Central Controller with Control Plane | Figure 1: Architecture for the Central Controller with | |||
a Control Plane | ||||
Although the architecture shown in Figure 1 represents a form of SDN, | Although the architecture shown in Figure 1 represents a form of SDN, | |||
one objective of SDN in some environments is to remove the dependency | one objective of SDN in some environments is to remove the dependency | |||
on a control plane. A transition architecture toward this goal is | on a control plane. A transition architecture toward this goal is | |||
presented in [RFC7491] and is shown in Figure 2. In this case, | presented in [RFC7491] and is shown in Figure 2. In this case, | |||
services are still requested in the same way, and the PCE-based | services are still requested in the same way, and the PCE-based | |||
controller still requests use of the network using PCEP. The main | controller still requests use of the network using PCEP. The main | |||
difference is that the consumer of the PCEP messages is a Network | difference is that the consumer of the PCEP messages is a network | |||
Controller that provisions the resources and instructs the data plane | controller that provisions the resources and instructs the data plane | |||
using a Southbound Interface (SBI) that provides an interface to each | using an SBI that provides an interface to each NE. | |||
NE. | ||||
-------------------------------------------- | -------------------------------------------- | |||
| Orchestrator / Service Manager / OSS / NMS | | | Orchestrator / Service Manager / OSS / NMS | | |||
-------------------------------------------- | -------------------------------------------- | |||
^ | ^ | |||
| | | | |||
v | v | |||
------------ | ------------ | |||
| | ----- | | | ----- | |||
| PCE-based |<---| TED | | | PCE-Based |<---| TED | | |||
| Controller | ----- | | Controller | ----- | |||
| | | | | | |||
------------ | ------------ | |||
^ | ^ | |||
| PCEP | | PCEP | |||
v | v | |||
------------ | ------------ | |||
| Network | | | Network | | |||
| Controller | | | Controller | | |||
/------------\ | /------------\ | |||
skipping to change at page 6, line 37 ¶ | skipping to change at page 6, line 47 ¶ | |||
----/ ---- ---- \---- | ----/ ---- ---- \---- | |||
| NE | | NE | | NE | | NE | | | NE | | NE | | NE | | NE | | |||
---- ---- ---- ---- | ---- ---- ---- ---- | |||
Figure 2: Architecture Including a Network Controller | Figure 2: Architecture Including a Network Controller | |||
The approach in Figure 2 delivers the SDN functionality but is overly | The approach in Figure 2 delivers the SDN functionality but is overly | |||
complicated and insufficiently flexible. | complicated and insufficiently flexible. | |||
o The complication is created by the use of two controllers in a | o The complication is created by the use of two controllers in a | |||
hierarchical organization, and the resultant use of two protocols | hierarchical organization and the resultant use of two protocols | |||
in a southbound direction. | in a southbound direction. | |||
o The lack of flexibility arises from the assumed or required lack | o The lack of flexibility arises from the assumed or required lack | |||
of a control plane. | of a control plane. | |||
This document describes an architecture that reduces the number of | This document describes an architecture that reduces the number of | |||
components and is flexible to a number of deployment models and use | components and is flexible to a number of deployment models and use | |||
cases. In this hybrid approach (shown in Figure 3) the network | cases. In this hybrid approach (shown in Figure 3), the network | |||
controller is PCE-enabled and can also speak PCEP as the SBI (i.e., | controller is PCE enabled and can also speak PCEP as the SBI (i.e., | |||
it can communicate with each node along the path using PCEP). That | it can communicate with each node along the path using PCEP). That | |||
means that the controller can communicate with a conventional control | means that the controller can communicate with a conventional | |||
plane-enabled NE using PCEP and can also use the same protocol to | control-plane-enabled NE using PCEP and can also use the same | |||
program individual NEs. In this way the PCE-based controller can | protocol to program individual NEs. In this way, the PCE-based | |||
control a wider range of networks and deliver many different | controller can control a wider range of networks and deliver many | |||
functions as described in Section 3. | different functions as described in Section 3. | |||
There will be a trade-off in different application scenarios. In | There will be a trade-off in different application scenarios. In | |||
some cases the use of a control plane will simplify deployment (for | some cases, the use of a control plane will simplify deployment (for | |||
example, by distributing recovery actions), and in other cases a | example, by distributing recovery actions), and in other cases, a | |||
control plane may add operational complexity. | control plane may add operational complexity. | |||
PCEP is essentially already capable of acting as an SBI and only | PCEP is essentially already capable of acting as an SBI and only | |||
small, use case specific modifications to the protocol are needed to | small, use-case-specific modifications to the protocol are needed to | |||
support this architecture. The implications for the protocol are | support this architecture. The implications for the protocol are | |||
discussed further in Section 4. | discussed further in Section 4. | |||
-------------------------------------------- | -------------------------------------------- | |||
| Orchestrator / Service Manager / OSS / NMS | | | Orchestrator / Service Manager / OSS / NMS | | |||
-------------------------------------------- | -------------------------------------------- | |||
^ | ^ | |||
| | | | |||
v | v | |||
------------ | ------------ | |||
| | ----- | | | ----- | |||
| PCE-based |<---| TED | | | PCE-Based |<---| TED | | |||
| Controller | ----- | | Controller | ----- | |||
| | | | | | |||
/------------\ | /------------\ | |||
PCEP / ^ ^ \ | PCEP / ^ ^ \ | |||
/ | | \ | / | | \ | |||
/ v v \ | / v v \ | |||
/ ---- ---- \ | / ---- ---- \ | |||
/ | NE | | NE | \ | / | NE | | NE | \ | |||
----/ ---- ---- \---- | ----/ ---- ---- \---- | |||
| NE | | NE | | | NE | | NE | | |||
skipping to change at page 7, line 48 ¶ | skipping to change at page 8, line 10 ¶ | |||
:......>| NE |...| NE |<....: | :......>| NE |...| NE |<....: | |||
Signaling Protocol ---- ---- | Signaling Protocol ---- ---- | |||
Figure 3: Architecture for Node-by-Node Central Control | Figure 3: Architecture for Node-by-Node Central Control | |||
2.1. Resilience and Scaling | 2.1. Resilience and Scaling | |||
Systems with central controllers are vulnerable to two problems: | Systems with central controllers are vulnerable to two problems: | |||
failure of the controller or overload of the controller. These | failure of the controller or overload of the controller. These | |||
concerns are not unique to the use of a PCE-based controller, but | concerns are not unique to the use of a PCE-based controller, but | |||
need to be addressed in this document before the PCE-based controller | they need to be addressed in this document before the PCE-based | |||
architecture can be considered for use in all but the smallest | controller architecture can be considered for use in all but the | |||
networks. | smallest networks. | |||
There are three architectural mechanisms that can be applied to | There are three architectural mechanisms that can be applied to | |||
address these issues. The mechanisms are described separately for | address these issues. The mechanisms are described separately for | |||
clarity, but a deployment use may any combination of the approaches. | clarity, but a deployment may use any combination of the approaches. | |||
For simplicity of illustration, these three approaches are shown in | For simplicity of illustration, these three approaches are shown in | |||
the sections that follow without a control plane. However, the | the sections that follow without a control plane. However, the | |||
general, hybrid approach of Figure 3 is applicable in each case. | general, hybrid approach of Figure 3 is applicable in each case. | |||
2.1.1. Partitioned Network | 2.1.1. Partitioned Network | |||
The first and simplest approach to handling controller overload or | The first and simplest approach to handling controller overload or | |||
scalability is to use multiple controllers, each responsible for a | scalability is to use multiple controllers, each responsible for a | |||
part of the network. We can call the resultant areas of control | part of the network. We can call the resultant areas of control | |||
"domains" [RFC4655]. | "domains" [RFC4655]. | |||
This approach is shown in Figure 4. It can clearly address some of | This approach is shown in Figure 4. It can clearly address some of | |||
the scaling and overload concerns since each controller now only has | the scaling and overload concerns since each controller now only has | |||
responsibility for a subset of the network elements. But this comes | responsibility for a subset of the network elements. But this comes | |||
at a cost because end-to-end connections require coordination between | at a cost because end-to-end connections require coordination between | |||
the controllers. Furthermore, this technique does not remove the | the controllers. Furthermore, this technique does not remove the | |||
single-point-of-failure concern even if it does reduce the impact on | concern about a single point-of-failure even if it does reduce the | |||
the network of the failure of a single controller. | impact on the network of the failure of a single controller. | |||
Note that PCEP is designed to work as a PCE-to-PCE protocol as well | Note that PCEP is designed to work as a PCE-to-PCE protocol as well | |||
as a PCE-to-PCC protocol, so it should be possible to use it to | as a PCE-to-PCC protocol, so it should be possible to use it to | |||
coordinate between PCE-based controllers in this model. | coordinate between PCE-based controllers in this model. | |||
-------------------------------------------- | -------------------------------------------- | |||
| Orchestrator / Service Manager / OSS / NMS | | | Orchestrator / Service Manager / OSS / NMS | | |||
-------------------------------------------- | -------------------------------------------- | |||
^ ^ | ^ ^ | |||
| | | | | | |||
v v | v v | |||
------------ Coord- ------------ | ------------ Coordi- ------------ | |||
----- | | ination | | ----- | ----- | | nation | | ----- | |||
| TED |--->| PCE-based |<-------->| PCE-based |<---| TED | | | TED |--->| PCE-Based |<-------->| PCE-Based |<---| TED | | |||
----- | Controller | | Controller | ----- | ----- | Controller | | Controller | ----- | |||
| | :: | | | | | :: | | | |||
/------------ :: ------------\ | /------------ :: ------------\ | |||
/ ^ ^ :: ^ ^ \ | / ^ ^ :: ^ ^ \ | |||
/ | | :: | | \ | / | | :: | | \ | |||
| | | :: | | | | | | | :: | | | | |||
v v v :: v v v | v v v :: v v v | |||
---- ---- ---- :: ---- ---- ---- | ---- ---- ---- :: ---- ---- ---- | |||
| NE | | NE | | NE | :: | NE | | NE | | NE | | | NE | | NE | | NE | :: | NE | | NE | | NE | | |||
---- ---- ---- :: ---- ---- ---- | ---- ---- ---- :: ---- ---- ---- | |||
:: | :: | |||
Domain 1 :: Domain 2 | Domain 1 :: Domain 2 | |||
:: | :: | |||
Figure 4: Multiple Controllers on a Partitioned Network | Figure 4: Multiple Controllers on a Partitioned Network | |||
2.1.2. Multiple Parallel Controllers | 2.1.2. Multiple Parallel Controllers | |||
Multiple controllers may be deployed where each controller is capable | Multiple controllers may be deployed where each controller is capable | |||
of controlling all of the network elements. Thus the failure of any | of controlling all of the network elements. Thus, the failure of any | |||
one controller will not leave the network unmanageable and, in normal | one controller will not leave the network unmanageable and, in normal | |||
circumstances, the load can be distributed across the controllers. | circumstances, the load can be distributed across the controllers. | |||
Multiple parallel controllers may be deployed as shown in Figure 5. | Multiple parallel controllers may be deployed as shown in Figure 5. | |||
Each controller is capable of controlling all of the network elements | Each controller is capable of controlling all of the network | |||
thus the failure of any one controller will not leave the network | elements; thus, the failure of any one controller will not leave the | |||
unmanageable and, in normal circumstances, the load can be | network unmanageable, and in normal circumstances, the load can be | |||
distributed across the controllers. In this model, the orchestrator | distributed across the controllers. In this model, the orchestrator | |||
(or any requester) must select a controller to consume its request. | (or any requester) must select a controller to consume its request. | |||
-------------------------------------------- | -------------------------------------------- | |||
| Orchestrator / Service Manager / OSS / NMS | | | Orchestrator / Service Manager / OSS / NMS | | |||
-------------------------------------------- | -------------------------------------------- | |||
^ ^ | ^ ^ | |||
| ___________________ | | | ___________________ | | |||
| | Synchronization | | | | | Synchronization | | | |||
v v v v | v v v v | |||
------------ ------------ | ------------ ------------ | |||
| | ----- | | | | | ----- | | | |||
| PCE-based |<---| TED |--->| PCE-based | | | PCE-Based |<---| TED |--->| PCE-Based | | |||
| Controller | ----- | Controller | | | Controller | ----- | Controller | | |||
| |__ ...........| | | | |__ ...........| | | |||
------------\ \_:__ :------------ | ------------\ \_:__ :------------ | |||
^ ^ \___: \ .....: ^ ^ | ^ ^ \___: \ .....: ^ ^ | |||
| | .....:\ \_:___ ..: : | | | .....:\ \_:___ ..: : | |||
| |__:___ \___:_ \_:___ : | | |__:___ \___:_ \_:___ : | |||
| ....: | .....: | ..: | : | | ....: | .....: | ..: | : | |||
| : | : | : | : | | : | : | : | : | |||
v v v v v v v v | v v v v v v v v | |||
---- ---- ---- ---- | ---- ---- ---- ---- | |||
| NE | | NE | | NE | | NE | | | NE | | NE | | NE | | NE | | |||
---- ---- ---- ---- | ---- ---- ---- ---- | |||
Figure 5: Multiple Redundant Controllers | Figure 5: Multiple Redundant Controllers | |||
An alternate approach is to present the controllers as a "cluster" | An alternate approach is to present the controllers as a "cluster" | |||
that represents itself externally as a single controller as in | that represents itself externally as a single controller as in | |||
Figure 3 but which is actually comprised of multiple controllers. | Figure 3 but that is actually comprised of multiple controllers. The | |||
The size of the cluster may be varied according to load in the manner | size of the cluster may be varied according to the load in the manner | |||
of network functions virtualization (NFV) and the cluster is | of Network Functions Virtualization (NFV), and the cluster is | |||
responsible for sharing load among the members of the cluster. This | responsible for sharing load among the members of the cluster. This | |||
approach is shown in Figure 6. | approach is shown in Figure 6. | |||
-------------------------------------------- | -------------------------------------------- | |||
| Orchestrator / Service Manager / OSS / NMS | | | Orchestrator / Service Manager / OSS / NMS | | |||
-------------------------------------------- | -------------------------------------------- | |||
^ | ^ | |||
| | | | |||
--------------------------+------------------------- | --------------------------+------------------------- | |||
| Controller ______________|_____________ | | | Controller ______________|_____________ | | |||
| Cluster | | | | | Cluster | | | | |||
| | ___________________ | | | | | ___________________ | | | |||
| | | Synchronization | | | | | | | Synchronization | | | | |||
| v v v v | | | v v v v | | |||
| ------------ ----- ------------ | | | ------------ ----- ------------ | | |||
| | PCE-based |<---| TED |--->| PCE-based | | | | | PCE-Based |<---| TED |--->| PCE-Based | | | |||
| | Controller | ----- | Controller | | | | | Controller | ----- | Controller | | | |||
| | Instance | | Instance | | | | | Instance | | Instance | | | |||
| ------------ ------------ | | | ------------ ------------ | | |||
| ^ ^ | | | ^ ^ | | |||
| |____________________________| | | | |____________________________| | | |||
| | | | | | | | |||
--------------------------+------------------------- | --------------------------+------------------------- | |||
_____________|_____________ | _____________|_____________ | |||
| | | | | | | | | | |||
v v v v | v v v v | |||
---- ---- ---- ---- | ---- ---- ---- ---- | |||
| NE | | NE | | NE | | NE | | | NE | | NE | | NE | | NE | | |||
---- ---- ---- ---- | ---- ---- ---- ---- | |||
Figure 6: Multiple Controllers Presented as a Cluster | Figure 6: Multiple Controllers Presented as a Cluster | |||
To achieve full redundancy and to be able to continue to provide full | To achieve full redundancy and to be able to continue to provide full | |||
function in the event of the failure a controller, the controllers | function in the event of a controller failure, the controllers must | |||
must synchronize with each other. This is nominally a simple task if | synchronize with each other. This is nominally a simple task if | |||
there are just two controllers, but can actually be quite complex if | there are just two controllers but can actually be quite complex if | |||
state changes in the network are not to be lost. Furthermore, if | state changes in the network are not to be lost. Furthermore, if | |||
there are more than two controllers, the synchronization between | there are more than two controllers, the synchronization between | |||
controllers can become a hard problem. | controllers can become a hard problem. | |||
Synchronization issues are often off-loaded as "database | Synchronization issues are often off-loaded as "database | |||
synchronization" problems because distributed database packages have | synchronization" problems, because distributed database packages have | |||
already had to address these challenges, or by using a shared | already had to address these challenges, or by using a shared | |||
database. In networking the problem may also be addressed by | database. In networking, the problem may also be addressed by | |||
collecting the state from the network (effectively using the network | collecting the state from the network (effectively using the network | |||
as a database) using normal routing protocols such as OSPF, IS-IS, | as a database) using normal routing protocols such as OSPF, IS-IS, | |||
and BGP. It should be noted that addressing the synchronization | and BGP. It should be noted that addressing the synchronization | |||
problem through a shared database may be hiding the issues of | problem through a shared database may be hiding the issues of | |||
congestion and of a single point of failure: whole the controllers | congestion and of a single point of failure: while the controllers | |||
may have been made resilient by allowing redundancy, the shared | may have been made resilient by allowing redundancy, the shared | |||
database is still a problem and so the whole system is still | database is still a problem, so the whole system is still vulnerable. | |||
vulnerable. | ||||
2.1.3. Hierarchical Controllers | 2.1.3. Hierarchical Controllers | |||
Figure 7 shows an approach with hierarchical controllers. This | Figure 7 shows an approach with hierarchical controllers. This | |||
approach was developed for PCEs in [RFC6805] and appears in various | approach was developed for PCEs in [RFC6805] and appears in various | |||
SDN architectures where a "parent PCE", an "orchestrator", or "super | SDN architectures where a "parent PCE", an "orchestrator", or a | |||
controller" takes responsibility for a high-level view of the network | "super controller" takes responsibility for a high-level view of the | |||
before distributing tasks to lower level PCEs or controllers. | network before distributing tasks to lower-level PCEs or controllers. | |||
On its own, this approach does little to protect against the failure | On its own, this approach does little to protect against the failure | |||
of a controller, but it can make significant improvements in loading | of a controller, but it can make significant improvements in loading | |||
and scaling of the individual controllers. It also offers a good way | and scaling of the individual controllers. It also offers a good way | |||
to support end-to-end connectivity across multiple administrative or | to support end-to-end connectivity across multiple administrative or | |||
technology-specific domains. | technology-specific domains. | |||
Note that this model can be arbitrarily recursive with a PCE-based | Note that this model can be arbitrarily recursive with a PCE-based | |||
controller being the child of one parent PCE-based controller while | controller being the child of one parent PCE-based controller while | |||
acting as the parent of another set of PCE-based controllers. | acting as the parent of another set of PCE-based controllers. | |||
-------------------------------------------- | -------------------------------------------- | |||
| Orchestrator / Service Manager / OSS / NMS | | | Orchestrator / Service Manager / OSS / NMS | | |||
-------------------------------------------- | -------------------------------------------- | |||
^ | ^ | |||
| | | | |||
v | v | |||
------------ | ------------ | |||
| Parent | ----- | | Parent | ----- | |||
| PCE-based |<---| TED | | | PCE-Based |<---| TED | | |||
| Controller | ----- | | Controller | ----- | |||
| | | | | | |||
------------ | ------------ | |||
^ ^ | ^ ^ | |||
| | | | | | |||
v :: v | v :: v | |||
------------ :: ------------ | ------------ :: ------------ | |||
----- | | :: | | ----- | ----- | | :: | | ----- | |||
| TED |--->| PCE-based | :: | PCE-based |<---| TED | | | TED |--->| PCE-Based | :: | PCE-Based |<---| TED | | |||
----- | Controller | :: | Controller | ----- | ----- | Controller | :: | Controller | ----- | |||
/| | :: | |\ | /| | :: | |\ | |||
/ ------------ :: ------------ \ | / ------------ :: ------------ \ | |||
/ ^ ^ :: ^ ^ \ | / ^ ^ :: ^ ^ \ | |||
/ | | :: | | \ | / | | :: | | \ | |||
/ | | :: | | \ | / | | :: | | \ | |||
| | | :: | | | | | | | :: | | | | |||
v v v :: v v v | v v v :: v v v | |||
---- ---- ---- :: ---- ---- ---- | ---- ---- ---- :: ---- ---- ---- | |||
| NE | | NE | | NE | :: | NE | | NE | | NE | | | NE | | NE | | NE | :: | NE | | NE | | NE | | |||
skipping to change at page 13, line 47 ¶ | skipping to change at page 13, line 47 ¶ | |||
Figure 7: Hierarchical Controllers | Figure 7: Hierarchical Controllers | |||
3. Applicability | 3. Applicability | |||
This section gives a very high-level introduction to the | This section gives a very high-level introduction to the | |||
applicability of a PCE-based centralized controller. There is no | applicability of a PCE-based centralized controller. There is no | |||
attempt to explain each use case in detail, and the inclusion of a | attempt to explain each use case in detail, and the inclusion of a | |||
use case is not intended to suggest that deploying a PCE-based | use case is not intended to suggest that deploying a PCE-based | |||
controller is a mandatory or recommended approach. The sections | controller is a mandatory or recommended approach. The sections | |||
below are provided as a stimulus to discussion of the applicability | below are provided as a stimulus to the discussion of the | |||
of a PCE-based controller and it is expected that separate documents | applicability of a PCE-based controller, and it is expected that | |||
will be written to develop the use cases in which there is interest | separate documents will be written to develop the use cases in which | |||
for implementation and deployment. As described in Section 4 | there is interest for implementation and deployment. As described in | |||
specific enhancements to PCEP may be needed for some of these use | Section 4, specific enhancements to PCEP may be needed for some of | |||
cases and it is expected that the documents that develop each use | these use cases, and it is expected that the documents that develop | |||
case will also address any extensions to PCEP. | each use case will also address any extensions to PCEP. | |||
The rest of this section is divided into two sub-sections. The first | The rest of this section is divided into two sub-sections. The first | |||
approaches the question of applicability from a consideration of the | approaches the question of applicability from a consideration of the | |||
network technology. The second looks at the high-level functions | network technology. The second looks at the high-level functions | |||
that can be delivered by using a PCE-based controller. | that can be delivered by using a PCE-based controller. | |||
As previously mentioned, this section is intended to just make | As previously mentioned, this section is intended to just make | |||
suggestions. Thus the material supplied is very brief. The omission | suggestions. Thus, the material supplied is very brief. The | |||
of a use case is in no way meant to imply some limit on the | omission of a use case is in no way meant to imply some limit on the | |||
applicability of PCE-based control. | applicability of PCE-based control. | |||
3.1. Technology-Oriented Applicability | 3.1. Technology-Oriented Applicability | |||
This section provides a list of use cases based on network | This section provides a list of use cases based on network | |||
technology. | technology. | |||
3.1.1. Applicability to Control Plane Operated Networks | 3.1.1. Applicability to Control-Plane Operated Networks | |||
This mode of operation is the common approach for an active, stateful | This mode of operation is the common approach for an active, stateful | |||
PCE to control a traffic engineered MPLS or GMPLS network | PCE to control a traffic-engineered MPLS or GMPLS network [RFC8231]. | |||
[I-D.ietf-pce-stateful-pce]. Note that the PCE-based controller | Note that the PCE-based controller determines what LSPs are needed | |||
determines what LSPs are needed and where to place them. PCEP is | and where to place them. PCEP is used to instruct the head end of | |||
used to instruct the head end of each LSP, and the head end signals | each LSP, and the head end signals in the control plane to set up the | |||
in the control plane to set up the LSP. | LSP. | |||
In this mode of operation, the PCE may construct its TED in a number | In this mode of operation, the PCE may construct its TED in a number | |||
of ways as described in [RFC4655] including (but not limited to) | of ways as described in [RFC4655], including (but not limited to) | |||
participating in the IGP or receiving information from a network | participating in the IGP or receiving information from a network | |||
element via BGP-LS [RFC7752]. | element via BGP-LS [RFC7752]. | |||
3.1.2. Static LSPs in MPLS | 3.1.2. Static LSPs in MPLS | |||
Static LSPs are provisioned without the use of a control plane. This | Static LSPs are provisioned without the use of a control plane. This | |||
means that they are established using management plane or "manual" | means that they are established using a management plane or "manual" | |||
configuration. | configuration. | |||
Static LSPs can be provisioned as explicit label instructions at each | Static LSPs can be provisioned as explicit label instructions at each | |||
hop on the end-to-end path LSP. Each router along the path must be | hop on the end-to-end path LSP. Each router along the path must be | |||
told what label forwarding instructions to program and what resources | told what label-forwarding instructions to program and what resources | |||
to reserve. The PCE-based controller keeps a view of the network and | to reserve. The PCE-based controller keeps a view of the network and | |||
determines the paths of the end-to-end LSPs just as it does for the | determines the paths of the end-to-end LSPs just as it does for the | |||
use case described in Section 3.1.1, but the controller uses PCEP to | use case described in Section 3.1.1, but the controller uses PCEP to | |||
communicate with each router along the path of the end-to-end LSP. | communicate with each router along the path of the end-to-end LSP. | |||
In this case the PCE-based controller will take responsibility for | In this case, the PCE-based controller will take responsibility for | |||
managing some part of the MPLS label space for each of the routers | managing some part of the MPLS label space for each of the routers | |||
that it controls, and may taker wider responsibility for partitioning | that it controls, and it may taker wider responsibility for | |||
the label space for each router and allocating different parts for | partitioning the label space for each router and allocating different | |||
different uses communicating the ranges to the router using PCEP. | parts for different uses, communicating the ranges to the router | |||
using PCEP. | ||||
3.1.3. MPLS Multicast | 3.1.3. MPLS Multicast | |||
Multicast LSPs may be provisioned with a control plane or as static | Multicast LSPs may be provisioned with a control plane or as static | |||
LSPs. No extra considerations apply above those in Section 3.1.1 and | LSPs. No extra considerations apply above those described in | |||
Section 3.1.2 except, of course, to note that the PCE must also | Sections 3.1.1 and 3.1.2 except, of course, to note that the PCE must | |||
include the instructions about where the LSP branches, i.e., where | also include the instructions about where the LSP branches, i.e., | |||
packets must be copied. | where packets must be copied. | |||
3.1.4. Transport SDN | 3.1.4. Transport SDN | |||
Transport SDN (T-SDN) is the application of SDN techniques to | Transport SDN (T-SDN) is the application of SDN techniques to | |||
transport networks. In this respect a transport network is a network | transport networks. In this respect, a transport network is a | |||
built from any technology below the IP layer and designed to carry | network built from any technology below the IP layer and designed to | |||
traffic transparently in a connection-oriented way. Thus, an MPLS | carry traffic transparently in a connection-oriented way. Thus, an | |||
traffic engineering network is a transport network although it is | MPLS traffic-engineered network is a transport network, although it | |||
more common to consider technologies such as Time Division | is more common to consider technologies such as Time Division | |||
Multiplexing (TDM) and Optical Transport Networks (OTN). | Multiplexing (TDM) and Optical Transport Networks (OTNs) to be | |||
transport networks. | ||||
Transport networks may be operated with or without a control plane | Transport networks may be operated with or without a control plane | |||
and may have point-to-point or point-to-multipoint connections. | and may have point-to-point or point-to-multipoint connections. | |||
Thus, all of the considerations in Section 3.1.1, Section 3.1.2, and | Thus, all of the considerations in Sections 3.1.1, 3.1.2, and 3.1.3 | |||
Section 3.1.3 apply so that the normal PCEP message allow a PCE-based | apply so that the normal PCEP message allows a PCE-based central | |||
central controller to provision a transport network. It is usually | controller to provision a transport network. It is usually the case | |||
the case that additional technology-specific parameters are needed to | that additional technology-specific parameters are needed to | |||
configure the NEs or LSPs in transport networks: parameters such as | configure the NEs or LSPs in transport networks, such as optical | |||
optical characteristic. Such parameters will need to be carried in | characteristic. Such parameters will need to be carried in the PCEP | |||
the PCEP messages: new protocol extensions may be needed, as | messages: new protocol extensions may be needed, as described, for | |||
described, for example,in [I-D.ietf-pce-wson-rwa-ext]. | example, in [PCEP-WSON-RWA]. | |||
3.1.5. Segment Routing | 3.1.5. Segment Routing | |||
Segment routing is described in [I-D.ietf-spring-segment-routing]. | Segment routing is described in [SR-ARCH]. It relies on a series of | |||
It relies on a series of forwarding instructions being placed in the | forwarding instructions being placed in the header of a packet. At | |||
header of a packet. At each hop in the network a router looks at the | each hop in the network, a router looks at the first instruction and | |||
first instruction and may: continue to forward the packet unchanged; | may: continue to forward the packet unchanged; strip the top | |||
strip the top instruction and forward the packet; or strip the top | instruction and forward the packet; or strip the top instruction, | |||
instruction, insert some additional instructions, and forward the | insert some additional instructions, and forward the packet. | |||
packet. | ||||
The segment routing architecture supports operations that can be used | The segment routing architecture supports operations that can be used | |||
to steer packet flows in a network thus providing a form of traffic | to steer packet flows in a network, thus providing a form of traffic | |||
engineering. A PCE-based controller can be responsible for computing | engineering. A PCE-based controller can be responsible for computing | |||
the paths for packet flows in a segment routing network, for | the paths for packet flows in a segment routing network, configuring | |||
configuring the forwarding actions on the routers, and for telling | the forwarding actions on the routers, and telling the edge routers | |||
the edge routers what instructions to attach to packets as they enter | what instructions to attach to packets as they enter the network. | |||
the network. These last two operations can be achieved using PCEP | These last two operations can be achieved using PCEP, and the | |||
and the PCE-based controller will assume responsibility for managing | PCE-based controller will assume responsibility for managing the | |||
the space of labels or path identifiers used to determine how packets | space of labels or path identifiers used to determine how packets are | |||
are forwarded. | forwarded. | |||
3.1.6. Service Function Chaining | 3.1.6. Service Function Chaining | |||
Service Function Chaining (SFC) is described in [RFC7665]. It is the | SFC is described in [RFC7665]. It is the process of directing | |||
process of directing traffic in a network such that it passes through | traffic in a network such that it passes through specific hardware | |||
specific hardware devices or virtual machines (known as service | devices or virtual machines (known as service function nodes) that | |||
function nodes) that can perform particular desired functions on the | can perform particular desired functions on the traffic. The set of | |||
traffic. The set of functions to be performed and the order in which | functions to be performed and the order in which they are to be | |||
they are to be performed is known as a Service Function Chain. The | performed is known as a service function chain. The chain is | |||
chain is enhanced with the locations at which the service functions | enhanced with the locations at which the service functions are to be | |||
are to be performed to derive a Service Function Path (SFP). Each | performed to derive a Service Function Path (SFP). Each packet is | |||
packet is marked as belonging to a specific SFP and that marking lets | marked as belonging to a specific SFP, and that marking lets each | |||
each successive service function node know which functions to perform | successive service function node know which functions to perform and | |||
and to which service function node to send the packet next. | to which service function node to send the packet next. | |||
To operate an SFC network the service function nodes must be | To operate an SFC network, the service function nodes must be | |||
configured to understand the packet markings and the edge nodes must | configured to understand the packet markings, and the edge nodes must | |||
be told how to mark packets entering the network. Additionally it | be told how to mark packets entering the network. Additionally, it | |||
may be necessary to establish tunnels between service function nodes | may be necessary to establish tunnels between service function nodes | |||
to carry the traffic. | to carry the traffic. | |||
Planning an SFC network requires load balancing between service | Planning an SFC network requires load balancing between service | |||
function nodes and traffic engineering across the network that | function nodes and traffic engineering across the network that | |||
connects them. These are operations that can be performed by a PCE- | connects them. These are operations that can be performed by a | |||
based controller, and that controller can use PCEP to program the | PCE-based controller, and that controller can use PCEP to program the | |||
network and install the service function chains and any required | network and install the service function chains and any required | |||
tunnels. | tunnels. | |||
3.2. High-Level Applicability | 3.2. High-Level Applicability | |||
This section provides a list of the high-level functions that can be | This section provides a list of the high-level functions that can be | |||
delivered by using a PCE-based controller. | delivered by using a PCE-based controller. | |||
3.2.1. Traffic Engineering | 3.2.1. Traffic Engineering | |||
According to [RFC2702], Traffic Engineering (TE) is concerned with | According to [RFC2702], TE is concerned with performance optimization | |||
performance optimization of operational networks. In general, it | of operational networks. In general, it encompasses the application | |||
encompasses the application of technology and scientific principles | of technology and scientific principles to the measurement, modeling, | |||
to the measurement, modeling, characterization, control of Internet | characterization, control of Internet traffic, and application of | |||
traffic, and the application of such knowledge and techniques to | such knowledge and techniques to achieve specific performance | |||
achieve specific performance objectives. | objectives. | |||
From a practical point of view this involves having an understanding | From a practical point of view, this involves having an understanding | |||
of the topology of the network, the characteristics of the nodes and | of the topology of the network, the characteristics of the nodes and | |||
links in the network, and the traffic demands and flows across the | links in the network, and the traffic demands and flows across the | |||
network. It also requires that actions can be taken to ensure that | network. It also requires that actions can be taken to ensure that | |||
traffic follows specific paths through the network. | traffic follows specific paths through the network. | |||
PCE was specifically developed to address TE in an MPLS network, and | PCE was specifically developed to address TE in an MPLS network, so a | |||
so a PCE-based controller is well suited to analyze TE problems and | PCE-based controller is well suited to analyze TE problems and supply | |||
supply answers that can be installed in the network using PCEP. PCEP | answers that can be installed in the network using PCEP. PCEP can be | |||
can be responsible for initiating paths across the network through a | responsible for initiating paths across the network through a control | |||
control plane, or for installing state in the network node by node | plane or for installing state in the network node by node such as in | |||
such as in a Segment Routed network (see Section 3.1.5) or by | a segment-routed network (see Section 3.1.5) or by configuring IGP | |||
configuring IGP metrics. | metrics. | |||
3.2.2. Traffic Classification | 3.2.2. Traffic Classification | |||
Traffic classification is an important part of traffic engineering. | Traffic classification is an important part of traffic engineering. | |||
It is the process of looking at a packet to determine how it should | It is the process of looking at a packet to determine how it should | |||
be treated as it is forwarded through the network. It applies in | be treated as it is forwarded through the network. It applies in | |||
many scenarios including MPLS traffic engineering (where it | many scenarios including MPLS traffic engineering (where it | |||
determines what traffic is forwarded onto which LSPs), segment | determines what traffic is forwarded onto which LSPs); segment | |||
routing (where it is used to select which set of forwarding | routing (where it is used to select which set of forwarding | |||
instructions to add to a packet), and service function chaining | instructions to add to a packet); and SFC (where it indicates along | |||
(where it indicates along which service function path a packet should | which service function path a packet should be forwarded). In | |||
be forwarded). In conjunction with traffic engineering, traffic | conjunction with traffic engineering, traffic classification is an | |||
classification is an important enabler for load balancing. | important enabler for load balancing. | |||
Traffic classification is closely linked to the computational | Traffic classification is closely linked to the computational | |||
elements of planning for the network functions just listed because it | elements of planning for the network functions just listed because it | |||
determines how traffic load is balanced and distributed through the | determines how traffic load is balanced and distributed through the | |||
network. Therefore, selecting what traffic classification should be | network. Therefore, selecting what traffic classification should be | |||
performed by a router is an important part of the work done by a PCE- | performed by a router is an important part of the work done by a | |||
based controller. | PCE-based controller. | |||
Instructions can be passed from the controller to the routers using | Instructions can be passed from the controller to the routers using | |||
PCEP. These instructions tell the routers how to map traffic to | PCEP. These instructions tell the routers how to map traffic to | |||
paths or connections. | paths or connections. | |||
3.2.3. Service Delivery | 3.2.3. Service Delivery | |||
Various network services may be offered over a network. These | Various network services may be offered over a network. These | |||
include protection services (including end-to-end protection | include protection services (including end-to-end protection | |||
[RFC4427], restoration after failure, and fast reroute [RFC4090]), | [RFC4427], restoration after failure, and fast reroute [RFC4090]); | |||
Virtual Private Network (VPN) service (such as Layer 3 VPNs [RFC4364] | Virtual Private Network (VPN) services (such as Layer 3 VPNs | |||
or Ethernet VPNs [RFC7432]), or Pseudowires [RFC3985]. | [RFC4364] or Ethernet VPNs [RFC7432]); or Pseudowires [RFC3985]. | |||
Delivering services over a network in an optimal way requires | Delivering services over a network in an optimal way requires | |||
coordination in the way that network resources are allocated to | coordination in the way that network resources are allocated to | |||
support the services. A PCE-based central controller can consider | support the services. A PCE-based central controller can consider | |||
the whole network and all components of a service at once when | the whole network and all components of a service at once when | |||
planning how to deliver the service. It can then use PCEP to manage | planning how to deliver the service. It can then use PCEP to manage | |||
the network resources and to install the necessary associations | the network resources and to install the necessary associations | |||
between those resources. | between those resources. | |||
4. Protocol Implications / Guidance for Solution Developers | 4. Protocol Implications / Guidance for Solution Developers | |||
PCEP is a push-pull protocol that is designed to move requests and | PCEP is a push-pull protocol that is designed to move requests and | |||
responses between a server (the PCE) and clients (the PCCs, i.e., the | responses between a server (the PCE) and clients (the PCCs, i.e., the | |||
network elements). In particular, it has a message (PCInitiate | network elements). In particular, it has a message (the LSP Initiate | |||
[I-D.ietf-pce-pce-initiated-lsp]) that can be sent by the PCE to | Request (PCInitiate); see [RFC8281]) that can be sent by the PCE to | |||
install state or cause actions at the PCC, and a response message | install state or cause actions at the PCC and a response message | |||
(PCRpt) that is used to confirm the request. | (Path Computation State Report (PCRpt)) that is used to confirm the | |||
request. | ||||
As such, there is an expectation that only relatively minor changes | As such, there is an expectation that only relatively minor changes | |||
to PCEP are required to support the concept of a PCE-based | to PCEP are required to support the concept of a PCE-based | |||
controller. The only work expected to be needed is extensions to | controller. The only work expected to be needed is extensions to | |||
existing PCEP messages to carry additional or specific information | existing PCEP messages to carry additional or specific information | |||
elements for the individual use cases, which maintain backward | elements for the individual use cases, which maintain backward | |||
compatibility and do not impact existing PCEP deployments. [RFC5440] | compatibility and do not impact existing PCEP deployments. [RFC5440] | |||
already describes how legacy implementations handle unknown protocol | already describes how legacy implementations handle unknown protocol | |||
extensions and how to use the PCEP Open message to indicate support | extensions and how to use the PCEP Open message to indicate support | |||
for PCEP features. Where possible, consistent with the general | for PCEP features. Where possible, consistent with the general | |||
principles of how protocols are extended, any additions to the | principles of how protocols are extended, any additions to the | |||
protocol should be made in a generic way such that they are open to | protocol should be made in a generic way such that they are open to | |||
use in a range of applications. | use in a range of applications. | |||
It is anticipated that new documents (such as | It is anticipated that new documents (such as [PCEP-CONTROLLER]) will | |||
[I-D.zhao-pce-pcep-extension-for-pce-controller]) will be produced | be produced for each use case dependent on support and demand. Such | |||
for each use case dependent on support and demand. Such documents | documents will explain the use case and define the necessary protocol | |||
will explain the use case and define the necessary protocol | ||||
extensions. | extensions. | |||
Protocol extensions could have impact on existing PCEP deployments | Protocol extensions could have impact on existing PCEP deployments | |||
and the interoperability between different implementations. It is | and the interoperability between different implementations. It is | |||
anticipated that changes of the PCEP protocol or addition of | anticipated that changes of the PCEP protocol or addition of | |||
information elements could require additional testing to ensure | information elements could require additional testing to ensure | |||
interoperability between different PCEP implementations. | interoperability between different PCEP implementations. | |||
It is reasonable to expect that implementations are able to select a | It is reasonable to expect that implementations are able to select a | |||
subset or profile of the protocol extensions and PCEP features that | subset or profile of the protocol extensions and PCEP features that | |||
are relevant for the application scenario in which they will be | are relevant for the application scenario in which they will be | |||
deployed. Identification of these profiles should form part of the | deployed. Identification of these profiles should form part of the | |||
protocol itself so that interoperability can be easily determined and | protocol itself so that interoperability can be easily determined and | |||
so that testing can be limited to the specific profiles. | testing can be limited to the specific profiles. | |||
Note that protocol mechanisms to handle synchronization of state in | Note that protocol mechanisms to handle synchronization of state in | |||
parallel PCE-based controllers will also be required if parallel | parallel PCE-based controllers will also be required if parallel | |||
controllers are used as described in Section 2.1.2. There is a | controllers are used as described in Section 2.1.2. In [RFC8231], | |||
discussion of mechanisms to achieve PCE state synchronization in | there is a discussion of mechanisms to achieve PCE state | |||
[I-D.ietf-pce-stateful-pce]. | synchronization. | |||
5. Security Considerations | 5. Security Considerations | |||
Security considerations for a PCE-based controller are little | Security considerations for a PCE-based controller are little | |||
different from those for any other PCE system. That is, the | different from those for any other PCE system. That is, the | |||
operation relies heavily on the use and security of PCEP and so | operation relies heavily on the use and security of PCEP, so | |||
consideration should be given to the security features discussed in | consideration should be given to the security features discussed in | |||
[RFC5440] and the additional mechanisms described in | [RFC5440] and the additional mechanisms described in [RFC8253]. | |||
[I-D.ietf-pce-pceps]. | ||||
It should be observed that the trust model of a network that operates | It should be observed that the trust model of a network that operates | |||
without a control plane is different from one with a control plane. | without a control plane is different from one with a control plane. | |||
The conventional "chain of trust" used with a control plane is | The conventional "chain of trust" used with a control plane is | |||
replaced by individual trust relationships between the controller and | replaced by individual trust relationships between the controller and | |||
each individual NE. This model may be considerably easier to manage | each individual NE. This model may be considerably easier to manage, | |||
and so is more likely to be operated with a high level of security. | so it is more likely to be operated with a high level of security. | |||
However, an architecture with a central controller has a central | However, an architecture with a central controller has a central | |||
point of failure and this is also a security weakness since the | point of failure, and this is also a security weakness since the | |||
network can be vulnerable to denial of service attacks on the | network can be vulnerable to denial-of-service attacks on the | |||
controller. Similarly, the central controller provides a focus for | controller. Similarly, the central controller provides a focus for | |||
interception and modification of messages sent to individual NEs. In | interception and modification of messages sent to individual NEs. In | |||
short, while the interactions with a PCE-based controller are not | short, while the interactions with a PCE-based controller are not | |||
substantially different to those in any other SDN architecture, the | substantially different to those in any other SDN architecture, the | |||
security implications of SDN have not been fully discussed or | security implications of SDN have not been fully discussed or | |||
described. Therefore, protocol and applicability work around | described. Therefore, protocol and applicability work-around | |||
solutions for this architecture must take proper account of these | solutions for this architecture must take proper account of these | |||
concerns. | concerns. | |||
It is expected that each new document that is produced for a specific | It is expected that each new document that is produced for a specific | |||
use case will also include considerations of the security impacts of | use case will also include considerations of the security impacts of | |||
the use of a PCE-based central controller on the network type and | the use of a PCE-based central controller on the network type and | |||
services being managed. | services being managed. | |||
6. Manageability Considerations | 6. Manageability Considerations | |||
The architecture described in this document is a management | The architecture described in this document is a management | |||
architecture: the PCE-based controller is a management component that | architecture: the PCE-based controller is a management component that | |||
controls the network through a southbound management protocol (PCEP). | controls the network through a southbound control protocol (PCEP). | |||
An implementation of a PCE-based controller will require access to | An implementation of a PCE-based controller will require access to | |||
information about the state of the network, its nodes, and its links. | information about the state of the network, its nodes, and its links. | |||
Some of this will be the TED as is normal for a PCE and can be | Some of this will be the TED as is normal for a PCE and can be | |||
collected using the mechanisms already in place (such as listening to | collected using the mechanisms already in place (such as listening to | |||
the IGPs, using BGP-LS [RFC7752], or northbound export of YANG- | the IGPs, using BGP-LS [RFC7752], or northbound export of | |||
encoded data [I-D.ietf-teas-yang-te-topo] from the network elements | YANG-encoded data [YANG-TE] from the network elements to the | |||
to the controller). More information may be collected in the LSP | controller). More information may be collected in the LSP database | |||
database as described for stateful PCEs as described in [RFC7399] and | for stateful PCEs as described in [RFC7399] and [RFC8231]. | |||
[I-D.ietf-pce-stateful-pce]. Additional information may be needed | Additional information may be needed for other specific use cases and | |||
for other specific use cases and will need to be collected and passed | will need to be collected and passed to the controller. This may | |||
to the controller. This may require protocol extensions for the | require protocol extensions for the mechanisms listed in this | |||
mechanisms listed in this paragraph. | paragraph. | |||
The use of different PCEP options and protocol extensions may have an | The use of different PCEP options and protocol extensions may have an | |||
impact on interoperability, which is a management issue. As noted in | impact on interoperability, which is a management issue. As noted in | |||
Section 4, protocol extensions should be done in a way that makes it | Section 4, protocol extensions should be done in a way that makes it | |||
possible to identify profiles of PCEP to aid interoperability and | possible to identify profiles of PCEP to aid interoperability, and | |||
this will aid deployment and manageability. | this will aid deployment and manageability. | |||
RFC 5440 [RFC5440] contains a substantive manageability | [RFC5440] contains a substantive Manageability Considerations section | |||
considerations section that examines how a PCE-based system and a | that examines how a PCE-based system and a PCE-enabled system may be | |||
PCE-enabled system may be managed. A MIB module for PCEP was | managed. A MIB module for PCEP was published as [RFC7420], and a | |||
published as RFC 7420 [RFC7420] and a YANG module for PCEP has also | YANG module for PCEP has also been proposed [YANG-PCEP]. | |||
been proposed [I-D.pkd-pce-pcep-yang]. | ||||
7. IANA Considerations | 7. IANA Considerations | |||
This document makes no requests for IANA action. | This document does not require any IANA actions. | |||
8. Contributors | ||||
The following people contributed to discussions that led to the | ||||
development of this document: | ||||
Cyril Margaria | ||||
Email: cmargaria@juniper.net | ||||
Sudhir Cheruathur | ||||
Email: scheruathur@juniper.net | ||||
Dhruv Dhody | ||||
Email: dhruv.dhody@huawei.com | ||||
Daniel King | ||||
Email: daniel@olddog.co.uk | ||||
Iftekhar Hussain | ||||
Email: IHussain@infinera.com | ||||
Anurag Sharma | ||||
Email: AnSharma@infinera.com | ||||
Eric Wu | ||||
Email: eric.wu@huawei.com | ||||
9. Acknowledgements | ||||
The ideas in this document owe a lot to the work started by the | ||||
authors of [I-D.zhao-teas-pcecc-use-cases] and | ||||
[I-D.zhao-pce-pcep-extension-for-pce-controller]. The authors of | ||||
this document fully acknowledge the prior work and thank those | ||||
involved for opening the discussion. The individuals concerned are: | ||||
King Ke, Luyuan Fang, Chao Zhou, Boris Zhang, Zhenbin Li. | ||||
This document has benefited from the discussions within a small ad | ||||
hoc design team the members of which are listed as document | ||||
contributors. | ||||
Thanks to Michael Scharf and Andy Malis for a lively discussion of | ||||
this document. | ||||
Thanks to Phil Bedard, Aijun Wang, and Elwyn Davies for last call | ||||
comments on this document. | ||||
Spencer Dawkins, Adam Roach, and Ben Campbell provided helpful | ||||
comments during IESG review. | ||||
10. References | ||||
10.1. Normative References | 8. References | |||
[I-D.ietf-pce-pce-initiated-lsp] | 8.1. Normative References | |||
Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "PCEP | ||||
Extensions for PCE-initiated LSP Setup in a Stateful PCE | ||||
Model", draft-ietf-pce-pce-initiated-lsp-10 (work in | ||||
progress), June 2017. | ||||
[RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation | [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation | |||
Element (PCE)-Based Architecture", RFC 4655, | Element (PCE)-Based Architecture", RFC 4655, | |||
DOI 10.17487/RFC4655, August 2006, <https://www.rfc- | DOI 10.17487/RFC4655, August 2006, | |||
editor.org/info/rfc4655>. | <https://www.rfc-editor.org/info/rfc4655>. | |||
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation | [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation | |||
Element (PCE) Communication Protocol (PCEP)", RFC 5440, | Element (PCE) Communication Protocol (PCEP)", RFC 5440, | |||
DOI 10.17487/RFC5440, March 2009, <https://www.rfc- | DOI 10.17487/RFC5440, March 2009, | |||
editor.org/info/rfc5440>. | <https://www.rfc-editor.org/info/rfc5440>. | |||
10.2. Informative References | ||||
[I-D.ietf-pce-pceps] | ||||
Lopez, D., Dios, O., Wu, Q., and D. Dhody, "Secure | ||||
Transport for PCEP", draft-ietf-pce-pceps-16 (work in | ||||
progress), August 2017. | ||||
[I-D.ietf-pce-stateful-pce] | ||||
Crabbe, E., Minei, I., Medved, J., and R. Varga, "PCEP | ||||
Extensions for Stateful PCE", draft-ietf-pce-stateful- | ||||
pce-21 (work in progress), June 2017. | ||||
[I-D.ietf-pce-wson-rwa-ext] | ||||
Lee, Y. and R. Casellas, "PCEP Extension for WSON Routing | ||||
and Wavelength Assignment", draft-ietf-pce-wson-rwa-ext-06 | ||||
(work in progress), December 2016. | ||||
[I-D.ietf-spring-segment-routing] | [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path | |||
Filsfils, C., Previdi, S., Decraene, B., Litkowski, S., | Computation Element Communication Protocol (PCEP) | |||
and R. Shakir, "Segment Routing Architecture", draft-ietf- | Extensions for PCE-Initiated LSP Setup in a Stateful PCE | |||
spring-segment-routing-12 (work in progress), June 2017. | Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, | |||
<https://www.rfc-editor.org/info/rfc8281>. | ||||
[I-D.ietf-teas-yang-te-topo] | 8.2. Informative References | |||
Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and | ||||
O. Dios, "YANG Data Model for TE Topologies", draft-ietf- | ||||
teas-yang-te-topo-12 (work in progress), July 2017. | ||||
[I-D.pkd-pce-pcep-yang] | [PCECC] Zhao, Q., Li, Z., Khasanov, B., Ke, Z., Fang, L., Zhou, | |||
Dhody, D., Hardwick, J., Beeram, V., and j. | C., Communications, T., Rachitskiy, A., and A. Gulida, | |||
jefftant@gmail.com, "A YANG Data Model for Path | "The Use Cases for Using PCE as the Central | |||
Computation Element Communications Protocol (PCEP)", | Controller(PCECC) of LSPs", Work in Progress, | |||
draft-pkd-pce-pcep-yang-06 (work in progress), July 2016. | draft-zhao-teas-pcecc-use-cases-02, October 2016. | |||
[I-D.zhao-pce-pcep-extension-for-pce-controller] | [PCEP-CONTROLLER] | |||
Zhao, Q., Li, Z., Dhody, D., Karunanithi, S., Farrel, A., | Zhao, Q., Li, Z., Dhody, D., Karunanithi, S., Farrel, A., | |||
and C. Zhou, "PCEP Procedures and Protocol Extensions for | and C. Zhou, "PCEP Procedures and Protocol Extensions for | |||
Using PCE as a Central Controller (PCECC) of LSPs", draft- | Using PCE as a Central Controller (PCECC) of LSPs", Work | |||
zhao-pce-pcep-extension-for-pce-controller-05 (work in | in Progress, draft-zhao-pce-pcep-extension-for-pce- | |||
progress), June 2017. | controller-06, October 2017. | |||
[I-D.zhao-teas-pcecc-use-cases] | [PCEP-WSON-RWA] | |||
Zhao, Q., Li, Z., Khasanov, B., Ke, Z., Fang, L., Zhou, | Lee, Y. and R. Casellas, "PCEP Extension for WSON Routing | |||
C., Communications, T., Rachitskiy, A., and A. Gulida, | and Wavelength Assignment", Work in Progress, | |||
"The Use Cases for Using PCE as the Central | draft-ietf-pce-wson-rwa-ext-07, November 2017. | |||
Controller(PCECC) of LSPs", draft-zhao-teas-pcecc-use- | ||||
cases-02 (work in progress), October 2016. | ||||
[RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J. | [RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J. | |||
McManus, "Requirements for Traffic Engineering Over MPLS", | McManus, "Requirements for Traffic Engineering Over MPLS", | |||
RFC 2702, DOI 10.17487/RFC2702, September 1999, | RFC 2702, DOI 10.17487/RFC2702, September 1999, | |||
<https://www.rfc-editor.org/info/rfc2702>. | <https://www.rfc-editor.org/info/rfc2702>. | |||
[RFC3985] Bryant, S., Ed. and P. Pate, Ed., "Pseudo Wire Emulation | [RFC3985] Bryant, S., Ed. and P. Pate, Ed., "Pseudo Wire Emulation | |||
Edge-to-Edge (PWE3) Architecture", RFC 3985, | Edge-to-Edge (PWE3) Architecture", RFC 3985, | |||
DOI 10.17487/RFC3985, March 2005, <https://www.rfc- | DOI 10.17487/RFC3985, March 2005, | |||
editor.org/info/rfc3985>. | <https://www.rfc-editor.org/info/rfc3985>. | |||
[RFC4090] Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast | [RFC4090] Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast | |||
Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090, | Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090, | |||
DOI 10.17487/RFC4090, May 2005, <https://www.rfc- | DOI 10.17487/RFC4090, May 2005, | |||
editor.org/info/rfc4090>. | <https://www.rfc-editor.org/info/rfc4090>. | |||
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | |||
Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | |||
2006, <https://www.rfc-editor.org/info/rfc4364>. | 2006, <https://www.rfc-editor.org/info/rfc4364>. | |||
[RFC4427] Mannie, E., Ed. and D. Papadimitriou, Ed., "Recovery | [RFC4427] Mannie, E., Ed. and D. Papadimitriou, Ed., "Recovery | |||
(Protection and Restoration) Terminology for Generalized | (Protection and Restoration) Terminology for Generalized | |||
Multi-Protocol Label Switching (GMPLS)", RFC 4427, | Multi-Protocol Label Switching (GMPLS)", RFC 4427, | |||
DOI 10.17487/RFC4427, March 2006, <https://www.rfc- | DOI 10.17487/RFC4427, March 2006, | |||
editor.org/info/rfc4427>. | <https://www.rfc-editor.org/info/rfc4427>. | |||
[RFC6805] King, D., Ed. and A. Farrel, Ed., "The Application of the | [RFC6805] King, D., Ed. and A. Farrel, Ed., "The Application of the | |||
Path Computation Element Architecture to the Determination | Path Computation Element Architecture to the Determination | |||
of a Sequence of Domains in MPLS and GMPLS", RFC 6805, | of a Sequence of Domains in MPLS and GMPLS", RFC 6805, | |||
DOI 10.17487/RFC6805, November 2012, <https://www.rfc- | DOI 10.17487/RFC6805, November 2012, | |||
editor.org/info/rfc6805>. | <https://www.rfc-editor.org/info/rfc6805>. | |||
[RFC7025] Otani, T., Ogaki, K., Caviglia, D., Zhang, F., and C. | [RFC7025] Otani, T., Ogaki, K., Caviglia, D., Zhang, F., and C. | |||
Margaria, "Requirements for GMPLS Applications of PCE", | Margaria, "Requirements for GMPLS Applications of PCE", | |||
RFC 7025, DOI 10.17487/RFC7025, September 2013, | RFC 7025, DOI 10.17487/RFC7025, September 2013, | |||
<https://www.rfc-editor.org/info/rfc7025>. | <https://www.rfc-editor.org/info/rfc7025>. | |||
[RFC7399] Farrel, A. and D. King, "Unanswered Questions in the Path | [RFC7399] Farrel, A. and D. King, "Unanswered Questions in the Path | |||
Computation Element Architecture", RFC 7399, | Computation Element Architecture", RFC 7399, | |||
DOI 10.17487/RFC7399, October 2014, <https://www.rfc- | DOI 10.17487/RFC7399, October 2014, | |||
editor.org/info/rfc7399>. | <https://www.rfc-editor.org/info/rfc7399>. | |||
[RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. | [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. | |||
Hardwick, "Path Computation Element Communication Protocol | Hardwick, "Path Computation Element Communication Protocol | |||
(PCEP) Management Information Base (MIB) Module", | (PCEP) Management Information Base (MIB) Module", | |||
RFC 7420, DOI 10.17487/RFC7420, December 2014, | RFC 7420, DOI 10.17487/RFC7420, December 2014, | |||
<https://www.rfc-editor.org/info/rfc7420>. | <https://www.rfc-editor.org/info/rfc7420>. | |||
[RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., | [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., | |||
Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based | Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based | |||
Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February | Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February | |||
2015, <https://www.rfc-editor.org/info/rfc7432>. | 2015, <https://www.rfc-editor.org/info/rfc7432>. | |||
[RFC7491] King, D. and A. Farrel, "A PCE-Based Architecture for | [RFC7491] King, D. and A. Farrel, "A PCE-Based Architecture for | |||
Application-Based Network Operations", RFC 7491, | Application-Based Network Operations", RFC 7491, | |||
DOI 10.17487/RFC7491, March 2015, <https://www.rfc- | DOI 10.17487/RFC7491, March 2015, | |||
editor.org/info/rfc7491>. | <https://www.rfc-editor.org/info/rfc7491>. | |||
[RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function | [RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function | |||
Chaining (SFC) Architecture", RFC 7665, | Chaining (SFC) Architecture", RFC 7665, | |||
DOI 10.17487/RFC7665, October 2015, <https://www.rfc- | DOI 10.17487/RFC7665, October 2015, | |||
editor.org/info/rfc7665>. | <https://www.rfc-editor.org/info/rfc7665>. | |||
[RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | |||
S. Ray, "North-Bound Distribution of Link-State and | S. Ray, "North-Bound Distribution of Link-State and | |||
Traffic Engineering (TE) Information Using BGP", RFC 7752, | Traffic Engineering (TE) Information Using BGP", RFC 7752, | |||
DOI 10.17487/RFC7752, March 2016, <https://www.rfc- | DOI 10.17487/RFC7752, March 2016, | |||
editor.org/info/rfc7752>. | <https://www.rfc-editor.org/info/rfc7752>. | |||
[RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path | ||||
Computation Element Communication Protocol (PCEP) | ||||
Extensions for Stateful PCE", RFC 8231, | ||||
DOI 10.17487/RFC8231, September 2017, | ||||
<https://www.rfc-editor.org/info/rfc8231>. | ||||
[RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, | ||||
"PCEPS: Usage of TLS to Provide a Secure Transport for the | ||||
Path Computation Element Communication Protocol (PCEP)", | ||||
RFC 8253, DOI 10.17487/RFC8253, October 2017, | ||||
<https://www.rfc-editor.org/info/rfc8253>. | ||||
[SR-ARCH] Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., | ||||
Litkowski, S., and R. Shakir, "Segment Routing | ||||
Architecture", Work in Progress, draft-ietf-spring- | ||||
segment-routing-13, October 2017. | ||||
[YANG-PCEP] | ||||
Dhody, D., Hardwick, J., Beeram, V., and j. | ||||
jefftant@gmail.com, "A YANG Data Model for Path | ||||
Computation Element Communications Protocol (PCEP)", Work | ||||
in Progress, draft-ietf-pce-pcep-yang-05, June 2017. | ||||
[YANG-TE] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and | ||||
O. Dios, "YANG Data Model for Traffic Engineering (TE) | ||||
Topologies", Work in Progress, draft-ietf-teas-yang-te- | ||||
topo-13, October 2017. | ||||
Acknowledgments | ||||
The ideas in this document owe a lot to the work started by the | ||||
authors of [PCECC] and [PCEP-CONTROLLER]. The authors of this | ||||
document fully acknowledge the prior work and thank those involved | ||||
for opening the discussion. The individuals concerned are: King Ke, | ||||
Luyuan Fang, Chao Zhou, Boris Zhang, and Zhenbin Li. | ||||
This document has benefited from the discussions within a small ad | ||||
hoc design team; the members of which are listed as document | ||||
contributors. | ||||
Thanks to Michael Scharf and Andy Malis for a lively discussion of | ||||
this document. | ||||
Thanks to Phil Bedard, Aijun Wang, and Elwyn Davies for last call | ||||
comments on this document. | ||||
Spencer Dawkins, Adam Roach, and Ben Campbell provided helpful | ||||
comments during IESG review. | ||||
Contributors | ||||
The following people contributed to discussions that led to the | ||||
development of this document: | ||||
Cyril Margaria | ||||
Email: cmargaria@juniper.net | ||||
Sudhir Cheruathur | ||||
Email: scheruathur@juniper.net | ||||
Dhruv Dhody | ||||
Email: dhruv.dhody@huawei.com | ||||
Daniel King | ||||
Email: daniel@olddog.co.uk | ||||
Iftekhar Hussain | ||||
Email: IHussain@infinera.com | ||||
Anurag Sharma | ||||
Email: AnSharma@infinera.com | ||||
Eric Wu | ||||
Email: eric.wu@huawei.com | ||||
Authors' Addresses | Authors' Addresses | |||
Adrian Farrel (editor) | Adrian Farrel (editor) | |||
Juniper Networks | Juniper Networks | |||
Email: afarrel@juniper.net | Email: afarrel@juniper.net | |||
Quintin Zhao (editor) | Quintin Zhao (editor) | |||
Huawei Technologies | Huawei Technologies | |||
125 Nagog Technology Park | 125 Nagog Technology Park | |||
Acton, MA 01719 | Acton, MA 01719 | |||
USA | United States of America | |||
Email: quintin.zhao@huawei.com | Email: quintin.zhao@huawei.com | |||
Robin Li | Robin Li | |||
Huawei Technologies | Huawei Technologies | |||
Huawei Bld., No.156 Beiqing Road | Huawei Bld., No.156 Beiqing Road | |||
Beijing 100095 | Beijing 100095 | |||
China | China | |||
Email: lizhenbin@huawei.com | Email: lizhenbin@huawei.com | |||
End of changes. 110 change blocks. | ||||
383 lines changed or deleted | 377 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |