RFC 8694

Applicability of the Path Computation Element to Inter-area and Inter-AS MPLS and GMPLS Traffic Engineering

๐Ÿ“… published December 2019, from ietf

RFC 8694 glow-up time ๐ŸŽ€โœจ

Okay bestie, let's start with the basics. This is RFC 8694, published in December 2019 as an Informational document (so it's published for information, not as a standards-track spec) ๐Ÿ“š. Its ISSN is 2070-1721. The authors are D. King from Old Dog Consulting, and ้ƒ‘ๅฅฝๆฃ‰ (H. Zheng) from ๅŽไธบๆŠ€ๆœฏๆœ‰้™ๅ…ฌๅธ (Huawei Technologies) ๐Ÿค. The title is Applicability of the Path Computation Element to Inter-area and Inter-AS MPLS and GMPLS Traffic Engineering. Nothing is listed as obsoleted or updated in the title block, so this one stands on its own ๐Ÿ’….

Abstract โœจ

The Path Computation Element (PCE) may be used for computing services that traverse multi-area and multi-Autonomous System (multi-AS) Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic-Engineered (TE) networks.

This document looks at how well the PCE architecture, protocols, and protocol extensions fit when you need to compute multi-area and multi-AS paths in MPLS and GMPLS networks ๐Ÿฆ‹.

Status of This Memo ๐Ÿงพ

This document is not an Internet Standards Track specification. It's published for informational purposes ๐Ÿ’œ.

It's a product of the Internet Engineering Task Force (IETF), and it represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). Not every document the IESG approves can be a candidate for any level of Internet Standard, so check Section 2 of RFC 7841 for the details ๐Ÿ™ˆ.

For the latest status, any errata, and how to send feedback, go to https://www.rfc-editor.org/info/rfc8694 ๐Ÿ”—.

Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they're in effect on the date of publication. Please read those carefully, because they spell out your rights and restrictions for this document. Code Components pulled out of this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Simplified BSD License ๐Ÿซถ.

Table of Contents ๐Ÿ—‚๏ธ

1.  Introduction
  1.1.  Domains
  1.2.  Path Computation
    1.2.1.  PCE-Based Path Computation Procedure
  1.3.  Traffic Engineering Aggregation and Abstraction
  1.4.  Traffic-Engineered Label Switched Paths
  1.5.  Inter-area and Inter-AS-capable PCE Discovery
  1.6.  Objective Functions
2.  Terminology
3.  Issues and Considerations
  3.1.  Multihoming
  3.2.  Destination Location
  3.3.  Domain Confidentiality
4.  Domain Topologies
  4.1.  Selecting Domain Paths
  4.2.  Domain Sizes
  4.3.  Domain Diversity
  4.4.  Synchronized Path Computations
  4.5.  Domain Inclusion or Exclusion
5.  Applicability of the PCE to Inter-area Traffic Engineering
  5.1.  Inter-area Routing
    5.1.1.  Area Inclusion and Exclusion
    5.1.2.  Strict Explicit Path and Loose Path
    5.1.3.  Inter-Area Diverse Path Computation
6.  Applicability of the PCE to Inter-AS Traffic Engineering
  6.1.  Inter-AS Routing
    6.1.1.  AS Inclusion and Exclusion
  6.2.  Inter-AS Bandwidth Guarantees
  6.3.  Inter-AS Recovery
  6.4.  Inter-AS PCE Peering Policies
7.  Multi-domain PCE Deployment Options
  7.1.  Traffic Engineering Database and Synchronization
    7.1.1.  Applicability of BGP-LS to PCE
  7.2.  Pre-planning and Management-Based Solutions
8.  Domain Confidentiality
  8.1.  Loose Hops
  8.2.  Confidential Path Segments and Path-Keys
9.  Point to Multipoint
10. Optical Domains
  10.1.  Abstraction and Control of TE Networks (ACTN)
11. Policy
12. Manageability Considerations
  12.1.  Control of Function and Policy
  12.2.  Information and Data Models
  12.3.  Liveness Detection and Monitoring
  12.4.  Verifying Correct Operation
  12.5.  Impact on Network Operation
13. Security Considerations
  13.1.  Multi-domain Security
14. IANA Considerations
15. References
  15.1.  Normative References
  15.2.  Informative References
Acknowledgements
Contributors
Authors' Addresses

1. Introduction ๐ŸŒธ

Computing paths across big multi-domain environments can need special computational components, plus cooperation between entities in different domains that are able to do complex path computation ๐Ÿง .

Routing in multi-domain networks can run into a few issues:

  • There's often no full topology or TE information across domains ๐Ÿ˜ญ.
  • No single node can see enough to work out an optimal, or even feasible, end-to-end path across domains ๐Ÿ’€.
  • It's hard to know how to evaluate and pick the exit point and the next domain boundary out of a domain ๐Ÿค”.
  • It's also unclear how the ingress node decides which domains should be used for the end-to-end path ๐Ÿงญ.

Sharing information across multiple domains is often limited. The reasons are a lack of trust relationship, security issues, or scalability issues, and that can happen even when the domains do trust each other ๐Ÿ”’.

The Path Computation Element (PCE) [RFC4655] gives us an architecture and a set of functional components to tackle the problem space and the issues above ๐Ÿ’….

A PCE may be used to compute end-to-end paths across multi-domain environments using a per-domain path computation technique [RFC5152]. The backward recursive PCE-based computation (BRPC) mechanism [RFC5441] defines a path computation procedure for computing inter-domain constrained Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic-Engineered (TE) networks. But both the per-domain and BRPC techniques assume that the sequence of domains to be crossed from source to destination is already known, either fixed by the network operator or obtained some other way ๐Ÿ—บ๏ธ.

In more advanced deployments, including multi-area and multi-Autonomous System (multi-AS) environments, the sequence of domains may not be known in advance. And choosing domains in the end-to-end domain sequence can be critical to finding an optimal end-to-end path ๐Ÿ‘‘. In that case, the hierarchical PCE [RFC6805] architecture and mechanisms may be used to discover the intra-area path and select the optimal end-to-end domain sequence โœจ.

This document describes the processes and procedures available when using the PCE architecture and protocols to compute inter-area and inter-AS MPLS and GMPLS Traffic-Engineered paths ๐ŸŽ€.

The scope of this document does not include discussions of deployment scenarios for stateful PCE, active PCE, remotely initiated PCE, or PCE as a central controller (PCECC) ๐Ÿ™…โ€โ™€๏ธ.

1.1. Domains ๐Ÿฐ

Generally, a domain is a separate administrative, geographic, or switching environment within the network. A domain can also be described as a zone of routing or computational ability. Under those definitions, a domain might be categorized as an Autonomous System (AS) or an Interior Gateway Protocol (IGP) area (as per [RFC4726] and [RFC4655]) ๐Ÿงฉ.

For the purposes of this document, a domain is a collection of network elements within an area or AS that has a common sphere of address management or path computational responsibility. Wholly or partially overlapping domains are not in scope for this document ๐Ÿšซ.

In the context of GMPLS, a really important example of a domain is the Automatically Switched Optical Network (ASON) subnetwork [G-8080]. Here, computing an end-to-end path means selecting nodes and links within a parent domain, where some of those nodes may actually be subnetworks ๐ŸŒˆ. A domain might also be an ASON routing area [G-7715]. A PCE may perform the path computation function of an ASON Routing Controller, as described in [G-7715-2] ๐Ÿฆ„.

It's assumed that the PCE architecture is not applied to a large group of domains, such as the Internet ๐ŸŒ.

1.2. Path Computation ๐Ÿงฎ

For this document, path computation is assumed to be the sole responsibility of the PCE, as per the architecture defined in [RFC4655] ๐Ÿ’–. When a path is needed, the Path Computation Client (PCC) sends a request to the PCE. The PCE applies the required constraints, computes a path, and returns a response to the PCC ๐Ÿ“ฌ. In this context, the PCE may need to cooperate with other PCEs in adjacent domains (as per BRPC [RFC5441]) or with a parent PCE (as per [RFC6805]) ๐Ÿค.

It's entirely feasible for an operator to compute a path across multiple domains without using a PCE, as long as the relevant domain information is available to the network planner or network management platform ๐Ÿ“‹. What counts as relevant information for this network planning operation, and how that information is discovered and applied, is outside the scope of this document ๐Ÿ™ƒ.

1.2.1. PCE-Based Path Computation Procedure โœจ

As we've seen, the PCE is an entity that can compute an inter-domain TE path when it receives a request from a PCC ๐Ÿงš. There could be a single PCE per domain, or a single PCE responsible for all domains. A PCE may or may not live on the same node as the requesting PCC. A path may be computed by a single PCE node or by a set of distributed PCE nodes that collaborate during the computation ๐Ÿซง.

According to [RFC4655], a PCC should send a path computation request to a particular PCE using [RFC5440] (PCC-to-PCE communication). That means there's no need to broadcast a request to all the PCEs ๐Ÿ“ฃ. Each PCC can keep information about the computation capabilities of the PCEs it knows about. PCC-PCE capability awareness can come from static configuration or from automatic and dynamic PCE discovery procedures ๐Ÿ”.

If a network path is needed, the PCC sends a path computation request to the PCE. A PCE may then compute the end-to-end path if it knows the topology and TE information required to compute the entire path ๐Ÿ’ซ. If the PCE can't compute the entire path, the PCE architecture provides cooperative PCE mechanisms to resolve path computation requests when an individual PCE doesn't have enough TE visibility ๐Ÿค๐Ÿ’….

End-to-end path segments can be kept confidential by applying Path-Keys to protect partial or full path information. A Path-Key is a token that replaces a path segment in an explicit route. The Path-Key mechanism is described in [RFC5520] ๐Ÿ”.

1.3. Traffic Engineering Aggregation and Abstraction ๐Ÿชž

Networks are often built from multiple areas or ASes that are interconnected through multiple interconnect points. To keep the network confidential and scalable, the TE properties of each area and AS are generally not advertised outside that specific area or AS ๐Ÿซฃ.

TE aggregation or abstraction gives us a way to hide information, but it can cause failed path setups or the selection of suboptimal end-to-end paths [RFC4726]. The aggregation process can also have significant scaling issues for networks with many possible routes and multiple TE metrics ๐Ÿ˜ตโ€๐Ÿ’ซ. Flooding TE information breaks confidentiality and does not scale in the routing protocol ๐Ÿšจ.

The PCE architecture and its associated mechanisms provide a solution that avoids using TE aggregation and abstraction altogether ๐Ÿฆ‹๐Ÿ‘‘.


1.4. Traffic-Engineered Label Switched Paths โœจ

okay so this section is about the PCE tricks for setting up TE LSPs (packet and optical) that cross multiple areas (inter-area TE LSP) and multiple ASes (inter-AS TE LSP) ๐Ÿ›ค๏ธ. Quick note: in this doc, every LSP we talk about is constraint based and traffic engineered. No exceptions, bestie ๐Ÿ’…

There are three signaling options for setting up an inter-area or inter-AS LSP [RFC4726] ๐Ÿฆ‹:

  • Contiguous LSP
  • Stitched LSP
  • Nested LSP

All three work with the architectures and procedures in this document. Iconic โœจ

1.5. Inter-area and Inter-AS-capable PCE Discovery ๐Ÿ”

when a PCE-based approach is doing inter-area or inter-AS path computation, a PCE in one area or AS might need to learn about inter-AS-capable PCEs sitting in other ASes ๐Ÿ‘€. That's where PCE discovery comes in. The mechanisms in [RFC5088] and [RFC5089] help PCEs find each other and share info about inter-area and inter-AS-capable PCEs ๐Ÿซถ.

1.6. Objective Functions ๐ŸŽฏ

An Objective Function (OF) [RFC5541] (or a whole set of OFs) spells out what the path computation is trying to achieve, and that's what "optimal" means for a given computation request ๐Ÿ’œ.

An OF tells you the outcome you want. It does NOT say how to get there, so it doesn't pick an algorithm. An implementation can use any algorithm or combo of algorithms to hit the result the OF asks for ๐Ÿงš. A bunch of general OFs are defined in [RFC5541] โœจ.

Different OFs can go into the PCE computation request so it matches the policies configured at the PCC ๐Ÿ“‹. A PCE can also be subject to its own policy when deciding whether it can meet the OFs in the request, or whether it should apply its own OFs instead ๐Ÿ™ˆ.

During inter-domain path computation, three things can each have their own OFs and policies: picking the domain sequence, computing each per-domain path fragment, and deciding the end-to-end path ๐ŸŒˆ.

2. Terminology ๐Ÿ“–

this doc also uses the terms from [RFC4655] and [RFC5440], plus a few extra ones ๐Ÿ’…:

  • ABR: IGP Area Border Router. A router attached to more than one IGP area ๐ŸŒธ.
  • ASBR: Autonomous System Border Router. A router that connects ASes of the same or different Service Provider through one or more inter-AS links ๐Ÿ”—.
  • Inter-area TE LSP: A TE LSP whose path goes through two or more IGP areas ๐Ÿ›ค๏ธ.
  • Inter-AS MPLS TE LSP: A TE LSP whose path goes through two or more ASes or sub-ASes (BGP confederations) ๐Ÿ‘‘.
  • SRLG: Shared Risk Link Group ๐Ÿ’€.
  • TED: Traffic Engineering Database. It holds the topology and resource info for the domain. The TED can be fed by Interior Gateway Protocol (IGP) extensions, or possibly by other means ๐Ÿง .

3. Issues and Considerations ๐Ÿค”

3.1. Multihoming ๐Ÿ 

Networks built from multiple areas or multiple ASes often have several interconnect points (multihoming) ๐Ÿชข. End-to-end path computations may need to use different interconnect points so that one single-point failure doesn't take out both the primary and backup services ๐Ÿ›ก๏ธ.

3.2. Destination Location ๐Ÿ“

A PCC asking for an inter-domain path computation usually knows who the destination node is ๐Ÿ‘€. If the PCC knows the destination domain, it can include that domain info in the path computation request ๐Ÿ’–. But if the PCC doesn't know the destination domain, that info has to be figured out some other way ๐Ÿคทโ€โ™€๏ธ.

3.3. Domain Confidentiality ๐Ÿ”

When the end-to-end path crosses multiple domains, each domain (AS or area) could be run by a different Service Provider ๐Ÿข. So if a PCE hands a path segment over to a PCE in another domain, it could break confidentiality rules and leak AS-internal topology info ๐Ÿ˜ญ.

If confidentiality is required between domains (ASes and areas) that belong to different Service Providers, then cooperating PCEs cannot exchange path segments. Otherwise, the receiving PCE or PCC can see every individual hop through the other domain ๐Ÿ‘๏ธ.

We dig deeper into this topic in Section 8 of this document ๐Ÿ“š.

4. Domain Topologies ๐Ÿ—บ๏ธ

Constraint-based inter-domain path computation is a must-have for running traffic-engineered MPLS [RFC3209] and GMPLS [RFC3473] networks across inter-area and inter-AS (multi-domain) setups ๐ŸŒ. Path computation across multi-domain networks is seriously complex, so it needs computational cooperational entities like the PCE ๐Ÿงšโ€โ™€๏ธ.

4.1. Selecting Domain Paths ๐Ÿงญ

When you already know the sequence of domains in advance, there are several ways to get an optimal multi-domain path โœจ. If the domains connect in a simple path with no branches and single links between every pair, or if the preferred interconnection points are already known, the per-domain path computation [RFC5152] technique can be used ๐Ÿช„. If there are multiple connections between domains and no preference for which interconnection points to use, BRPC [RFC5441] can be used to derive an optimal path ๐ŸŽ€.

When the sequence of domains isn't known ahead of time, or the end-to-end path has to navigate a mesh of small domains (which is super common in optical networks), the optimum path can be derived by applying a hierarchical PCE [RFC6805] ๐Ÿฆ‹.

4.2. Domain Sizes ๐Ÿ“

Network domains are very often made up of dozens or hundreds of network elements ๐Ÿ“. These elements are usually connected in a partial-mesh fashion so they survive dual failures and can use the traffic-engineering capabilities of MPLS and GMPLS protocols ๐Ÿ’œ. Feedback from network operators during the development of this document showed that node degree (the number of neighbors per node) typically ranges from 3 to 10, and 4-5 is quite common ๐Ÿ“Š.

4.3. Domain Diversity ๐ŸŒˆ

Domain and path diversity may also be needed when computing end-to-end paths ๐Ÿ‘ฏ. Domain diversity should help you pick paths that share ingress and egress domains but don't share transit domains. That means there must be a way to include or exclude specific domains when computing end-to-end paths ๐Ÿ™Œ.

4.4. Synchronized Path Computations โฑ๏ธ

Sometimes it helps a lot for the operator to rely on the PCE's ability to do synchronized path computation ๐Ÿ’….

Synchronized path computations, called Synchronization VECtors (SVECs), are used for dependent path computations. SVECs are defined in [RFC5440], and [RFC6007] gives an overview of how the PCE SVEC list is used for synchronized path computations when you're computing dependent requests ๐Ÿ“.

In hierarchical PCE (H-PCE) deployments, a child PCE can ask its parent PCE for both dependent and synchronized domain-diverse end-to-end paths ๐Ÿ‘‘.

4.5. Domain Inclusion or Exclusion ๐Ÿšช

A domain sequence is an ordered list of domains you go through to reach the destination domain ๐Ÿ›ฃ๏ธ. You can supply a domain sequence during path computation to guide the PCEs, or it can be derived using hierarchical PCE (H-PCE) ๐Ÿงฉ.

During multi-domain path computation, a PCC can ask for specific domains to be included or excluded in the domain sequence, using the Include Route Object (IRO) [RFC5440] and the Exclude Route Object (XRO) [RFC5521] ๐ŸŽ€. The use of Autonomous Number (AS) as an abstract node representing a domain is defined in [RFC3209] ๐ŸŒธ. [RFC7897] defines new subobjects for including or excluding domains like an IGP area or a 4-byte AS number ๐Ÿฆ„.

An operator might also need to avoid a path that goes through certain nodes for administrative reasons ๐Ÿ™…โ€โ™€๏ธ. And if a connectivity service needs 1+1 protection, two separate disjoint paths have to be set up ๐Ÿ›ก๏ธโœจ. A mechanism called Shared Risk Link Group (SRLG) information can be used to make sure the paths stay diverse ๐Ÿ’–.

5. Applicability of the PCE to Inter-area Traffic Engineering ๐Ÿง 

As networks grow in size and complexity, you might need scaling methods that cut down on the info flooded through the network and keep it manageable ๐Ÿ“ˆ. An IGP hierarchy helps IGP scalability by splitting the IGP domain into areas and limiting the flooding scope of topology info to inside area boundaries ๐Ÿงฑ. The catch is that this restricts a router's visibility to its own area ๐Ÿ‘€. If a router needs a route to a destination in another area, there has to be a method for computing a path across area boundaries ๐ŸŒ‰.

To support multiple vendors in a network where data or control-plane technologies can't interoperate, it helps to split the network into vendor domains ๐Ÿท๏ธ. Each vendor domain is an IGP area, and the flooding scope of the topology (and any other relevant info) stays within the area boundaries ๐Ÿซง.

Per-domain path computation [RFC5152] exists as a way to do inter-area path computation ๐Ÿช„. The per-domain solution is based on loose hop routing, with Explicit Route Object (ERO) expansion on each Area Border Router (ABR) ๐Ÿ”. This lets an LSP be set up along a constrained path. But at least two issues come with it ๐Ÿ˜ฌ:

  • This method does not guarantee an optimal constrained path ๐Ÿ“‰.
  • The method may need several crankback signaling messages, as described in [RFC4920]. That adds signaling traffic and delays the LSP setup ๐Ÿข.

The PCE-based architecture [RFC4655] is designed to solve inter-area path computation problems โœจ. The limited topology visibility issue gets solved by introducing path computation entities that can cooperate to set up LSPs whose source and destinations sit in different areas ๐Ÿซถ.

5.1. Inter-area Routing ๐Ÿ›ฃ๏ธ

An inter-area TE-LSP is an LSP that transits through at least two IGP areas ๐Ÿฆ‹. In a multi-area network, topology visibility stays local to a given area, for scaling and privacy reasons ๐Ÿ”’. A node in one area can't compute an end-to-end path across multiple areas without a PCE ๐Ÿ™ˆ.

5.1.1. Area Inclusion and Exclusion ๐Ÿšง

The BRPC method [RFC5441] gives a more optimal way to specify including or excluding an ABR ๐ŸŽฏ. With the BRPC procedure, an end-to-end path is recursively computed in reverse, from the destination domain back toward the source domain ๐Ÿ”„. Using this method, an operator can decide whether an area must be included or excluded from the inter-area path computation ๐Ÿ’œ.

5.1.2. Strict Explicit Path and Loose Path ๐Ÿงต

A strict explicit path is a set of strict hops, while a loose path is a set of at least one loose hop plus zero or more strict hops ๐Ÿชก. It can be useful to say whether a strict explicit path is required when making the path computation request ๐Ÿ“. An inter-area path can be strictly explicit or loose (for example, a list of ABRs as loose hops) ๐ŸŒธ.

A PCC request to a PCE can indicate whether a strict explicit path across specific areas ([RFC7897]) is required or desired, or whether the path request is loose ๐Ÿ’….

Okay bestie, let's get into it ๐Ÿ’– Picking up right where we left off!

5.1.3. Inter-Area Diverse Path Computation โœจ

5.1.3. Inter-Area Diverse Path Computation

Okay so sometimes you need a path that's partly or totally different from one you already computed ๐Ÿฆ‹. Why? To stop your primary service and its backup from fate sharing, which is just a fancy way of saying they both die together when one thing breaks ๐Ÿ’€. There are different levels of diversity when you're working across areas:

  • Per-area diversity: the intra-area path segments are link, node, or SRLG disjoint ๐ŸŒธ.
  • Inter-area diversity: the end-to-end inter-area paths are link, node, or SRLG disjoint ๐Ÿ’œ.

Here's the tea ๐Ÿต: two paths can be disjoint in the backbone but NOT in the peripheral areas. And two paths can be node disjoint inside each area but still share ABRs, which means the segments are node disjoint but the end-to-end paths aren't ๐Ÿ™ˆ. Lowkey tricky!! But the good news is that Per-domain [RFC5152], BRPC [RFC5441], and H-PCE [RFC6805] mechanisms all support computing diverse paths across multi-area topologies ๐Ÿงšโœจ.

6. Applicability of the PCE to Inter-AS Traffic Engineering ๐Ÿ‘‘

As we talked about in Section 5 (Applicability of the PCE to Inter-area Traffic Engineering), the network has to be split into smaller administrative domains, aka ASes ๐ŸŒˆ. If an LSR inside an AS needs a path that crosses an AS boundary, it MUST also use an inter-AS computation technique. [RFC5152] defines mechanisms for computing inter-domain TE LSPs, using the network elements along the signaling paths to compute per-domain constrained path segments ๐Ÿ’….

The PCE was built to compute MPLS and GMPLS paths across AS boundaries, and this section breaks down the features of a PCE-enabled solution for inter-AS paths ๐ŸŽ€.

6.1. Inter-AS Routing ๐Ÿฆ‹

6.1.1. AS Inclusion and Exclusion

[RFC5441] lets you specify AS or ASBR inclusion or exclusion. With this, an operator can decide whether an AS MUST be included or excluded from the inter-AS path computation ๐Ÿ’–. Inclusion or exclusion can also be specified at any step of the LSP path computation process by a PCE (within the BRPC algorithm), but the best practice would be to specify them at the edge โœจ. Unlike strict and loose paths, AS inclusion or exclusion doesn't impose topology disclosure, because ASes and their interconnections are public entities ๐Ÿซถ.

6.2. Inter-AS Bandwidth Guarantees ๐Ÿ”ฅ

Lots of operators with multi-AS domains have deployed MPLS-TE Diffserv either across their whole network or at the domain edges on CE-PE links ๐Ÿ“. When strict QoS bounds are required, admission control inside the network may also be needed ๐Ÿ’….

When the propagation delay can be bounded, performance targets like maximum one-way transit delay may be guaranteed by providing bandwidth guarantees along the Diffserv-enabled path ๐ŸŒธ. These requirements are described in [RFC4216].

A typical example from [RFC4216] is providing bandwidth guarantees over an end-to-end path for VoIP traffic classified as an EF (Expedited Forwarding) class in a Diffserv-enabled network ๐Ÿ“ž. When the EF path stretches across multiple ASes, an inter-AS bandwidth guarantee is required ๐Ÿ’œ.

Another case for an inter-AS bandwidth guarantee is guaranteeing a certain amount of transit bandwidth across one or multiple ASes ๐ŸŒˆ.

6.3. Inter-AS Recovery ๐Ÿ›ก๏ธ

During a path computation process, a PCC request may contain the requirement to compute a backup LSP to protect the primary LSP, such as 1+1 protection ๐Ÿฆ‹. A single LSP or multiple backup LSPs may also cover a group of primary LSPs, which is typically known as m:n protection โœจ.

Other inter-AS recovery mechanisms include [RFC4090], which adds Fast Reroute (FRR) protection to an LSP ๐Ÿ’–. So the PCE could be used to trigger computation of backup tunnels to protect inter-AS connectivity ๐Ÿงš.

Inter-AS recovery clearly requires backup LSPs for service protection. It's also advisable to have multiple PCEs deployed for path computation redundancy, especially for service restoration after a catastrophic network failure ๐Ÿ˜ญ.

6.4. Inter-AS PCE Peering Policies ๐Ÿค

Just like BGP peering policies, inter-AS PCE peering policies are required for an operator ๐Ÿ’…. In an inter-AS BRPC process, the PCE MUST cooperate in order to compute the end-to-end LSP. So the AS path must not only follow technical constraints, e.g., bandwidth availability, but also the policies defined by the operator ๐Ÿ‘‘.

Typically, PCE interconnections at the AS level must follow the agreed contract obligations, also known as peering agreements ๐Ÿ“œ. The PCE peering policies are the result of contract negotiation and govern the relationship between the different PCEs ๐Ÿซถ.

7. Multi-domain PCE Deployment Options ๐ŸŒธ

7.1. Traffic Engineering Database and Synchronization

An optimal path computation needs knowledge of the available network resources, including nodes and links, constraints, link connectivity, available bandwidth, and link costs ๐Ÿง . The PCE operates on a view of the network topology as presented by a TED. As discussed in [RFC4655], the TED used by a PCE may be learned by the relevant IGP extensions ๐Ÿ’–.

So the PCE may operate its TED by participating in the IGP running in the network ๐Ÿฆ‹. In an MPLS-TE network, this would require OSPF-TE [RFC3630] or ISIS-TE [RFC5305]. In a GMPLS network, it would use the GMPLS extensions to OSPF and IS-IS defined in [RFC4203] and [RFC5307]. Inter-AS connectivity information may be populated via [RFC5316] and [RFC5392] ๐ŸŒˆ.

An alternative way to provide network topology and resource information is offered by [RFC7752], which is described in the following section โœจ.

7.1.1. Applicability of BGP-LS to PCE

The exchange of TE information between Autonomous Systems (ASes) is discussed in [RFC7752] ๐ŸŒ. The information exchanged this way could be the full TE information from the AS, an aggregation of that information, or a representation of the potential connectivity across the AS. That info could be updated frequently (for example, for every new LSP set up across the AS) or only at threshold-crossing events ๐Ÿ’….

In an H-PCE deployment, the parent PCE needs the inter-domain topology and link status between child domains ๐Ÿ‘‘. This information may be learned by a BGP-LS speaker and provided to the parent PCE. Link-state performance, including delay, available bandwidth, and utilized bandwidth, may also be provided to the parent PCE for optimal path link selection ๐ŸŽ€.

7.2. Pre-planning and Management-Based Solutions ๐Ÿ“‹

Offline path computation is performed ahead of time, before LSP setup is requested. That means it is requested by, or performed as part of, an Operation Support System (OSS) management application ๐Ÿ› ๏ธ. This model can be seen in Section 5.5 of [RFC4655].

The offline model is especially appropriate for long-lived LSPs (like those in a transport network) or for planned responses to network failures ๐ŸŒ™. In these scenarios, more planning is normally a feature of LSP provisioning.

The management system may also use a PCE and BRPC to pre-plan an AS sequence, and the source domain PCE and per-domain path computation to be used when the actual end-to-end path is required ๐Ÿงš. This model may also be used where the operator wants full manual control over LSP placement, using the PCE only as a computation tool to assist the operator and not as part of an automated network ๐Ÿซถ.

In environments where operators peer with each other to provide end-to-end paths, the operator responsible for each domain MUST agree on the extent to which paths must be pre-planned or manually controlled ๐Ÿค.

8. Domain Confidentiality ๐Ÿ”’

This section talks about the techniques cooperating PCEs can use to compute inter-domain paths without each domain disclosing sensitive internal topology information (like explicit nodes or links within the domain) to the other domains ๐Ÿ’œ.

Confidentiality typically applies to inter-provider (inter-AS) PCE communication. When a TE LSP crosses multiple domains (ASes or areas), the path may be computed by multiple PCEs that cooperate, with each local PCE responsible for computing a segment of the path ๐Ÿฆ‹. With each local PCE responsible for computing a segment of the path.

In situations where ASes are administered by separate Service Providers, it would break confidentiality rules for a PCE to supply path segment details to a PCE responsible for another domain, thus disclosing AS-internal or area topology information ๐Ÿšจ.

8.1. Loose Hops ๐ŸŽ€

A method for preserving the confidentiality of a path segment is for the PCE to return a path containing a loose hop in place of the segment that must be kept confidential โœจ. The concept of loose and strict hops for the route of a TE LSP is described in [RFC3209].

[RFC5440] supports the use of paths with loose hops. Whether it returns a full explicit path with strict hops or uses loose hops is a local policy decision at a PCE ๐Ÿ’…. A path computation request may require an explicit path with strict hops or may allow loose hops, as detailed in [RFC5440] ๐ŸŒธ.

8.2. Confidential Path Segments and Path-Keys ๐Ÿ—๏ธ

[RFC5520] defines the concept and mechanism of a Path-Key. A Path-Key is a token that replaces the path segment information in an explicit route ๐Ÿงฉ. The Path-Key lets the explicit route information be encoded, and it is contained in the Path Computation Element Communication Protocol (PCEP) ([RFC5440]) messages exchanged between the PCE and PCC ๐Ÿ’œ.

This Path-Key technique lets explicit route information be used for end-to-end path computation without disclosing internal topology information between domains ๐Ÿซถ.

9. Point to Multipoint ๐ŸŒณ

For inter-domain point-to-multipoint application scenarios using MPLS-TE LSPs, the complexity of domain sequences, domain policies, and the choice and number of domain interconnects is magnified compared to point-to-point path computations ๐Ÿ˜ต. As the network grows, the number of leaves and branches increases, which further increases the complexity of the overall path computation problem. A solution for managing point-to-multipoint path computations may be achieved using the PCE inter-domain point-to-multipoint path computation [RFC7334] procedure ๐ŸŒŸ.

10. Optical Domains ๐ŸŒˆ

okay so the ITU is the one who wrote the ASON architecture in [G-8080] ๐Ÿง  and [G-7715] is where the routing side comes in, with a hierarchy ๐Ÿ‘‘ where a parent (higher-level) Routing Area can hold a bunch of child RAs. the lower RAs' connectivity is visible up at the parent level, which is so organized it's giving ๐Ÿ“

in ASON land, asking for a path computation is called a route query ๐Ÿซถ. it happens before signaling sets up an LSP, which is called a Switched Connection (SC) or a Soft Permanent Connection (SPC) โœจ. [G-7715-2] is where the requirements and architecture live for what Routing Controllers (RC) do during remote route queries. and an RC is just another name for a PCE ๐Ÿ’–

so an RC that's in charge of an RA can chat with its neighbor RC to ask for an end-to-end path across several RAs ๐Ÿ’… the moving parts are:

  • Remote route query. an operation where one Routing Controller talks to another Routing Controller that doesn't have the same set of layer resources, so they can work out a routing path together ๐Ÿค
  • Route query requester. the connection controller or RC that sends a route query message to a Routing Controller, asking for one or more routing paths that satisfy a set of routing constraints ๐ŸŽ€
  • Route query responder. an RC that does the path computation once it gets a route query message from a Routing Controller or connection controller, then sends the answer back when it's done ๐Ÿฆ‹

when they're building an end-to-end connection, the route can come from one RC or from several RCs working together. those two cases are a centralized remote route query model and a distributed remote route query model ๐ŸŒธ RCs in ASON can also use the hierarchical PCE [RFC6805] model, which lines up perfectly with the ASON hierarchical routing model ๐Ÿงš

10.1. Abstraction and Control of TE Networks (ACTN) ๐Ÿฆ‹

if one operator runs multiple TE domains (optical ones included), the Abstraction and Control of TE Networks (ACTN) framework [RFC8453] can be used to make an abstracted, virtualized view of the domains that are interconnected at the underlay ๐ŸŒ that underlay connectivity then gets exposed to higher-layer control entities and applications ๐Ÿ’œ

ACTN describes how the per-domain Provisioning Network Controllers (PNCs), which may be PCEs, get coordinated through a hierarchical model. the goal is setting up end-to-end connections across interconnected TE domains ๐Ÿซถ

11. Policy ๐Ÿ’…

policy is a big deal when new services are being deployed and when the network is being run day to day โœจ [RFC5394] gives a framework for PCE-based, policy-enabled path computation ๐ŸŽ€ that framework is built on the Policy Core Information Model (PCIM) defined in [RFC3060], and [RFC3460] extends it further ๐ŸŒˆ

when a PCE is used to compute inter-domain paths, policy can be invoked by specifying the following:

  • Each PCC must select which computations it will request from a PCE.
  • Each PCC must select which PCEs it will use.
  • Each PCE must determine which PCCs are allowed to use its services and for what computations.
  • The PCE must determine how to collect the information in its TED, whom to trust for that information, and how to refresh/update the information.
  • Each PCE must determine which objective functions and algorithms to apply.

12. Manageability Considerations ๐ŸŽ€

general PCE management stuff is covered in [RFC4655] ๐Ÿ“– if you've got multiple domains inside one service provider network, that same service provider would most likely be the one handling management for each PCE ๐Ÿ  but if you've got multiple ASes spread across different service provider networks, each PCE will likely need to be configured and managed separately by each participating service provider. policy then gets implemented based on a set of principles that everyone agreed on beforehand ๐Ÿค

12.1. Control of Function and Policy ๐Ÿ”ง

as per [RFC5440], the PCEP implementation lets the user configure a bunch of PCEP session parameters โš™๏ธ those are detailed in Section 8.1 of [RFC5440] ๐Ÿ’–

in H-PCE deployments, the administrative entity running the parent PCEs for multi-areas would typically be one single service provider ๐Ÿ‘‘ with multiple ASes managed by different service providers, it may be necessary for a third party to manage the parent PCE ๐Ÿซฃ

12.2. Information and Data Models ๐Ÿ“Š

a PCEP MIB module is defined in [RFC7420], and it describes managed objects for modeling PCEP communication, including:

  • PCEP client configuration and status.
  • PCEP peer configuration and information.
  • PCEP session configuration and information.
  • Notifications to indicate PCEP session changes.

a YANG module for PCEP has also been proposed [PCEP-YANG] ๐Ÿง

an H-PCE MIB module or YANG data model will be required to report parent PCE and child PCE information, including:

  • Parent PCE configuration and status.
  • Child PCE configuration and information.
  • Notifications to indicate session changes between parent PCEs and child PCEs.
  • Notification of parent PCE TED updates and changes.

12.3. Liveness Detection and Monitoring ๐Ÿ’“

PCEP has a keepalive mechanism to check that a PCEP peer is still alive ๐Ÿ’— it also has a notification procedure that lets a PCE tell a PCC when it's overloaded ๐Ÿ™ˆ in a multi-domain environment, [RFC5886] gives the procedures for monitoring the liveliness and performance of a given PCE chain ๐Ÿ”

12.4. Verifying Correct Operation โœ…

checking that PCEP is working correctly is a must-do ๐Ÿซถ [RFC5440] specifies monitoring of key parameters, and those parameters are detailed in [RFC5520] ๐Ÿ“ˆ

12.5. Impact on Network Operation ๐ŸŒŠ

[RFC5440] says that, to avoid any unacceptable impact on network operations, a PCEP implementation should allow a limit to be placed on the number of sessions that can be set up on a PCEP speaker ๐Ÿ›‘ it also says it may be practical to put a limit on the rate of messages sent by a PCC and received by the PCE ๐Ÿšฆ

13. Security Considerations ๐Ÿ”

PCEP security is covered in [RFC5440] and [RFC6952] ๐Ÿ›ก๏ธ the potential vulnerabilities are spoofing, snooping, falsification, and using PCEP as a mechanism for denial of service attacks ๐Ÿ˜ญ this is serious, bestie ๐Ÿ’€

PCEP runs over TCP, so it can make use of TCP security encryption mechanisms like Transport Layer Security (TLS) and TCP Authentication Option (TCP-AO) ๐Ÿ”’ how to use those security mechanisms for PCEP is described in [RFC8253], and recommendations and best current practices are in [RFC7525] ๐Ÿ“š

13.1. Multi-domain Security ๐ŸŒ

any multi-domain operation has to involve exchanging information across domain boundaries ๐Ÿšง that represents a significant security and confidentiality risk ๐Ÿšจ

PCEP is expected to be used between PCCs and PCEs that belong to the same administrative authority, while also using one of the encryption mechanisms mentioned above ๐Ÿ” and PCEP lets individual PCEs keep the confidentiality of their domain path information by using path-keys ๐Ÿ—๏ธโœจ

14. IANA Considerations ๐Ÿฆ‹

this document has no IANA actions ๐ŸŒธ

15. References ๐Ÿ“š

15.1. Normative References ๐Ÿ’ซ

[RFC3209]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
           and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
           Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
           <https://www.rfc-editor.org/info/rfc3209>.

[RFC3473]  Berger, L., Ed., "Generalized Multi-Protocol Label
           Switching (GMPLS) Signaling Resource ReserVation Protocol-
           Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
           DOI 10.17487/RFC3473, January 2003,
           <https://www.rfc-editor.org/info/rfc3473>.

[RFC4216]  Zhang, R., Ed. and J.-P. Vasseur, Ed., "MPLS Inter-
           Autonomous System (AS) Traffic Engineering (TE)
           Requirements", RFC 4216, DOI 10.17487/RFC4216, November
           2005, <https://www.rfc-editor.org/info/rfc4216>.

[RFC4655]  Farrel, A., Vasseur, J.-P., and J. Ash, "A Path
           Computation Element (PCE)-Based Architecture", RFC 4655,
           DOI 10.17487/RFC4655, August 2006,
           <https://www.rfc-editor.org/info/rfc4655>.

[RFC4726]  Farrel, A., Vasseur, J.-P., and A. Ayyangar, "A Framework
           for Inter-Domain Multiprotocol Label Switching Traffic
           Engineering", RFC 4726, DOI 10.17487/RFC4726, November
           2006, <https://www.rfc-editor.org/info/rfc4726>.

[RFC5152]  Vasseur, JP., Ed., Ayyangar, A., Ed., and R. Zhang, "A
           Per-Domain Path Computation Method for Establishing Inter-
           Domain Traffic Engineering (TE) Label Switched Paths
           (LSPs)", RFC 5152, DOI 10.17487/RFC5152, February 2008,
           <https://www.rfc-editor.org/info/rfc5152>.

[RFC5440]  Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
           Element (PCE) Communication Protocol (PCEP)", RFC 5440,
           DOI 10.17487/RFC5440, March 2009,
           <https://www.rfc-editor.org/info/rfc5440>.

[RFC5441]  Vasseur, JP., Ed., Zhang, R., Bitar, N., and JL. Le Roux,
           "A Backward-Recursive PCE-Based Computation (BRPC)
           Procedure to Compute Shortest Constrained Inter-Domain
           Traffic Engineering Label Switched Paths", RFC 5441,
           DOI 10.17487/RFC5441, April 2009,
           <https://www.rfc-editor.org/info/rfc5441>.

[RFC5520]  Bradford, R., Ed., Vasseur, JP., and A. Farrel,
           "Preserving Topology Confidentiality in Inter-Domain Path
           Computation Using a Path-Key-Based Mechanism", RFC 5520,
           DOI 10.17487/RFC5520, April 2009,
           <https://www.rfc-editor.org/info/rfc5520>.

[RFC5541]  Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of
           Objective Functions in the Path Computation Element
           Communication Protocol (PCEP)", RFC 5541,
           DOI 10.17487/RFC5541, June 2009,
           <https://www.rfc-editor.org/info/rfc5541>.

[RFC6805]  King, D., Ed. and A. Farrel, Ed., "The Application of the
           Path Computation Element Architecture to the Determination
           of a Sequence of Domains in MPLS and GMPLS", RFC 6805,
           DOI 10.17487/RFC6805, November 2012,
           <https://www.rfc-editor.org/info/rfc6805>.

15.2. Informative References โœจ

okay bestie, these are the "go read this if you want the deep lore" references ๐Ÿ“š๐Ÿค“ They're not required reading to implement, but they're where the PCE and traffic engineering drama lives ๐Ÿ’…


Acknowledgements ๐Ÿ’–

Huge thanks to Adrian Farrel ๐Ÿซถ for reviewing this, and to Meral Shirazipour and Francisco Javier Jimรฉnez Chico ๐Ÿ’œ for their comments.

Contributors ๐ŸŒˆ

Let's give a shoutout to the people who helped shape this one. ๐ŸŽ€

Dhruv Dhody

Huawei Technologies
Divyashree Techno Park, Whitefield
Bangalore 560066
Karnataka
India

Email: dhruv.ietf@gmail.com

Quintin Zhao

Huawei Technologies
125 Nagog Technology Park
Acton, MA 01719
United States of America

Email: qzhao@huawei.com

Julien Meuric

France Telecom
2, avenue Pierre-Marzin
22307 Lannion Cedex
France

Email: julien.meuric@orange.com

Olivier Dugeon

France Telecom
2, avenue Pierre-Marzin
22307 Lannion Cedex
France

Email: olivier.dugeon@orange.com

Jon Hardwick

Metaswitch Networks
100 Church Street
Enfield
EN2 6BQ
United Kingdom

Email: jonathan.hardwick@metaswitch.com

ร“scar Gonzรกlez de Dios

Telefonica I+D
Emilio Vargas 6
Madrid
Spain

Email: oscar.gonzalezdedios@telefonica.com

Authors' Addresses ๐Ÿฆ‹

Daniel King

Old Dog Consulting

Email: daniel@olddog.co.uk

Haomian Zheng

Huawei Technologies
H1, Huawei Xiliu Beipo Village, Songshan Lake
Dongguan
Guangdong, 523808
China

Email: zhenghaomian@huawei.com

Additional contact information:

้ƒ‘ๅฅฝๆฃ‰
ไธญๅ›ฝ
523808
ๅนฟไธœ ไธœ่Žž
ๆพๅฑฑๆน–ๅŽไธบๆบชๆต่ƒŒๅกๆ‘H1
ๅŽไธบๆŠ€ๆœฏๆœ‰้™ๅ…ฌๅธ
๐Ÿ“ฆ where this page comes from