rfc-8685

Path Computation Element Communication Protocol (PCEP) Extensions for the Hierarchical Path Computation Element (H-PCE) Architecture

F. Zhang, Q. Zhao, O. Gonzalez de Dios, R. Casellas, D. King
date2019-12 streamIETF areartg wgpce statusPROPOSED STANDARD pages27 canonicalhttps://www.rfc-editor.org/rfc/rfc8685 doi10.17487/RFC8685
The Hierarchical Path Computation Element (H-PCE) architecture is defined in RFC 6805. It provides a mechanism to derive an optimum end-to-end path in a multi-domain environment by using a hierarchical relationship between domains to select the optimum sequence of domains and optimum paths across those domains. This document defines extensions to the Path Computation Element Communication Protocol (PCEP) to support H-PCE procedures.

updated by

Extracted elements (27)

design-rationale §6.1

Discovery of parent-child PCE relationships is intentionally excluded from scope. Advertising or querying PCE locations across domain or provider boundaries is considered undesirable for security, scaling, commercial, and confidentiality reasons; configuration is expected instead.

routing, mpls, security

design-rationale §2.4

Domain diversity (paths avoiding common transit domains) is motivated not only by fate-sharing avoidance but also by security, geopolitical, and commercial policy reasons. MCTD and the SVEC O-bit allow minimizing shared domains when full diversity is unachievable.

routing, mpls

design-rationale §6.1.2

Multi-party shared key authentication schemes are explicitly not recommended for inter-domain PCE relationships due to the potential for impersonation and repudiation, and operational difficulties when revocation is required.

routing, mpls, security, crypto

interoperability-note §3.1

H-PCE extensions defined in this document are also applicable to PCC-PCE communications (not only child-parent PCE), allowing a PCC to request multi-domain paths using the same RP object TLVs, OF codes, and H-PCE capability exchange.

routing, mpls

interoperability-note §3.2.1.1

Per RFC 5440 Section 7.1, unrecognized TLVs MUST be ignored. A PCE that does not support RFC 8685 will ignore the H-PCE-CAPABILITY TLV and will not include it in its own Open message, so no H-PCE relationship is created but the session proceeds normally.

routing, mpls

normative-requirement §3.2.1 MUST

If a PCE understands an H-PCE PCReq but did not advertise its H-PCE capability, it MUST send a PCErr with Error-Type=28 (H-PCE Error) and Error-Value=1 (H-PCE Capability not advertised).

routing, mpls

normative-requirement §3.2.1 MUST

If both PCEP peers attempt to set the P-flag in the H-PCE-CAPABILITY TLV, session establishment MUST fail and the responding speaker MUST send a PCErr with Error-Type=1 (PCEP session establishment failure).

routing, mpls

normative-requirement §3.2.1 MUST

The child PCE MUST include the H-PCE-CAPABILITY TLV in its OPEN object and MUST set the P-flag. The parent PCE MUST include this TLV and MUST unset the P-flag.

routing, mpls

normative-requirement §6.1.2 MUST

The parent PCE MUST only accept PCReq messages from authorized child PCEs. Requests from unauthorized child PCEs SHOULD be dropped, and the parent PCE MUST be able to cryptographically authenticate requests from child PCEs.

routing, mpls, security

normative-requirement §3.4.2 MUST

The parent PCE MUST use the first OF code from the OF-List TLV in the OF object when sending intra-domain PCReq messages to child PCEs.

routing, mpls

normative-requirement §3.2.1 MUST

Unassigned bits in the H-PCE-CAPABILITY TLV Flags field MUST be set to 0 on transmission and MUST be ignored on receipt. The same rule applies to the H-PCE-FLAG TLV.

routing, mpls

normative-requirement §3.6 MUST

When the Domain Diverse O-bit is set in the SVEC object, the computed paths corresponding to the synchronized requests MUST NOT have any transit domains in common.

routing, mpls

normative-requirement §3.4.2 MUST

When the OF-List TLV is included inside the OF object, the OF code in the OF object MUST be one of the H-PCE OFs (MTD/MBN/MCTD), and the OF code in the OF-List TLV MUST NOT be an H-PCE OF. Violation requires a PCErr with Error-Type=10, Error-Value=23 (Incompatible OF codes in H-PCE).

routing, mpls

protocol-element §3.6

A new Domain Diverse O-bit (bit 18) is added to the SVEC object Flags field. When set, computed paths must not share any transit domains; other diversity bits (L, N, S) remain applicable within shared ingress/egress domains.

routing, mpls

protocol-element §3.7.1

A new H-PCE Error-Type 28 is defined with two Error-Values: Error-Value=1 (H-PCE Capability not advertised) and Error-Value=2 (Parent PCE Capability cannot be provided). Error-Value=23 is added to existing Error-Type=10 for incompatible OF codes in H-PCE.

routing, mpls

protocol-element §3.8

Four new NO-PATH-VECTOR TLV bit flags are defined to communicate multi-domain path failure reasons: bit 22 (destination domain unknown), bit 21 (unresponsive child PCE(s)), bit 20 (no available resources in one or more domains), and bit 19 (destination not found in indicated domain).

routing, mpls

protocol-element §3.4.1

Three new multi-domain Objective Functions are defined: MTD (OF code 12, Minimize Transit Domains), MBN (OF code 13, Minimize Border Nodes), and MCTD (OF code 14, Minimize Common Transit Domains). MCTD applies to synchronized PCReq sets to maximize domain diversity.

routing, mpls

protocol-element §4.2

To obtain only a domain sequence (not a full end-to-end path), a child PCE sets the S bit (Domain Sequence bit) in the H-PCE-FLAG TLV of the RP object. The parent PCE then returns the domain sequence in the ERO of a PCRep message, or a NO-PATH object on failure.

routing, mpls

protocol-element §3.5

Two new METRIC object types are defined: T=20 (Domain Count metric, number of domains crossed) and T=21 (Border Node Count metric, number of border nodes crossed). If a domain is re-entered, it is double counted.

routing, mpls

registry §7.5

IANA allocated three new Objective Function codes in the PCEP 'Objective Function' subregistry: code 12 (MTD), code 13 (MBN), and code 14 (MCTD). A new 'H-PCE-FLAG TLV Flag Field' subregistry was also created with allocation policy Standards Action.

routing, mpls, registry

registry §7.6

IANA allocated two new METRIC object T-field values (T=20 Domain Count, T=21 Border Node Count), Error-Type 28 with two Error-Values, Error-Value=23 under Error-Type=10, four new NO-PATH-VECTOR TLV bit flags (bits 19–22), and SVEC bit 18 (Domain Diverse O-bit).

routing, mpls, registry

registry §7.1

IANA created the 'H-PCE-CAPABILITY TLV Flag Field' subregistry (allocation policy: Standards Action) and the 'Domain-ID TLV Domain Type' subregistry (allocation policy: IETF Review) within the PCEP Numbers registry. Three new TLV type indicators (13, 14, 15) were also allocated.

routing, mpls, registry

security-consideration §8

H-PCE inherits PCEP security considerations from RFC 5440 and may use TCP-AO or TLS (RFC 8253, RFC 8446). Multi-domain operation involves cross-domain information exchange, creating confidentiality risks especially when child domains belong to different commercial entities; path-keys (RFC 5520) can be used to preserve topology confidentiality.

routing, mpls, security, tls

state-machine §4.1

During OPEN procedure, a child PCE sets the P-flag in H-PCE-CAPABILITY TLV to request parent role. If the parent accepts, the H-PCE relationship is established; if neither entity sends the TLV, no H-PCE relationship is created. If both set P-flag, the session fails.

routing, mpls

wire-format §3.2.2

The Domain-ID TLV (Type=14, variable length) identifies PCE-managed domains. It encodes an 8-bit Domain Type (1=2-byte AS, 2=4-byte AS, 3=4-byte OSPF area, 4=variable IS-IS area) followed by a 24-bit Reserved field and a variable-length Domain ID padded to a 4-byte boundary.

routing, mpls

wire-format §3.2.1

The H-PCE-CAPABILITY TLV (Type=13, Length=4) is carried in the OPEN object to advertise H-PCE support. Its 32-bit Flags field contains the P bit (bit 31): when set by a child PCE, it requests the peer to act as a parent PCE.

routing, mpls

wire-format §3.3.1

The H-PCE-FLAG TLV (Type=15, Length=4) is carried in the RP object to control H-PCE path computation options. Its 32-bit Flags field includes the D bit (bit 30, disallow domain re-entry) and the S bit (bit 31, request domain sequence only).

routing, mpls