rfc-8282

Extensions to the Path Computation Element Communication Protocol (PCEP) for Inter-Layer MPLS and GMPLS Traffic Engineering

E. Oki, T. Takeda, A. Farrel, F. Zhang
date2017-12 streamIETF areartg wgpce statusPROPOSED STANDARD pages22 canonicalhttps://www.rfc-editor.org/rfc/rfc8282 doi10.17487/RFC8282
The Path Computation Element (PCE) provides path computation functions in support of traffic engineering in Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks. MPLS and GMPLS networks may be constructed from layered service networks. It is advantageous for overall network efficiency to provide end-to-end traffic engineering across multiple network layers through a process called inter-layer traffic engineering. PCE is a candidate solution for such requirements. The PCE Communication Protocol (PCEP) is designed as a communication protocol between Path Computation Clients (PCCs) and PCEs. This document presents PCEP extensions for inter-layer traffic engineering.

Extracted elements (25)

design-rationale §4.1

Multiple OF objects MAY be present in a PCReq to allow different Objective Functions to be applied within different network layers. The first OF object specifies an objective function for the higher-layer network, and subsequent OF objects specify objective functions for the subsequent lower-layer networks.

routing, mpls

design-rationale §3.1

The I and M flags differ in key ways: when I=0, virtual TE links must not be used and loose hops spanning lower-layer networks must not be specified. When I=1 and M=0 and T=1, virtual TE links are allowed and loose hops spanning the lower-layer may be specified, which will initiate lower-layer LSP setup even though the path computation result includes hops from the same layer only.

routing, mpls

design-rationale §4.2

When the SERVER-INDICATION object is included in a PCRep, the PCRep includes at least two sets of ERO information in the path-list: one for the client-layer path and one for the server-layer path. This allows the PCC (e.g., NMS or ingress node) to trigger signaling to set up LSPs at both layers according to computed paths.

routing, mpls

interoperability-note §4.3

The objects defined in this document (INTER-LAYER, SWITCH-LAYER, REQ-ADAP-CAP, SERVER-INDICATION) are applicable to stateful PCE messages (PCRpt, PCUpd) and PCE-initiated LSP messages (PCInitiate) consistent with RFC 8231 and RFC 8281, using the extended <attribute-list> defined in Section 5.

routing, mpls

normative-requirement §3.1 MUST

A PCE that forwards a path computation request to other PCEs MUST preserve the settings of reserved bits in the PCReq messages it sends and in the PCRep messages it forwards to PCCs.

routing, mpls

normative-requirement §3.2 MUST

If no INTER-LAYER object is present in a PCReq, the PCE MUST process the SWITCH-LAYER object as though inter-layer path computation had been explicitly disallowed, and in such a case the SWITCH-LAYER object MUST NOT have more than one LSP Encoding Type and Switching Type with the I flag set.

routing, mpls

normative-requirement §4.1 MUST NOT

The SWITCH-LAYER object MUST NOT be present in a PCReq unless the INTER-LAYER object is also present.

routing, mpls

normative-requirement §4.1 MUST

When metric type 18 is used in a PCReq, path computation MUST minimize or bound the number of adaptations on a path; when metric type 19 is used, path computation MUST minimize or bound the number of layers involved.

routing, mpls

normative-requirement §4.2 MUST

When the C flag of the METRIC object in a PCReq is set, the METRIC object MUST be included in the PCRep to provide the computed metric value, as specified in RFC 5440.

routing, mpls

normative-requirement §3.1 MUST NOT

When the I flag is clear (zero) in a PCRep, the path returned MUST NOT be an inter-layer path. If the I flag is clear, the T flag has no meaning and MUST be ignored.

routing, mpls

normative-requirement §3.1 MUST NOT

When the I flag is set, the M flag is clear, and the T flag is clear, triggered signaling is not allowed; virtual TE links that have not been pre-signaled MUST NOT be used in path computation, and loose hops spanning the lower-layer network MUST NOT be specified.

routing, mpls

normative-requirement §3.1 MUST

When the INTER-LAYER object is absent from a PCReq message, the receiving PCE MUST process as though inter-layer path computation had been explicitly disallowed (I-bit set to zero).

routing, mpls

protocol-element §3.1

The INTER-LAYER object (Object-Class 36, Object-Type 1) is a 32-bit object containing three flags (I, M, T) used in PCReq and PCRep messages to indicate whether inter-layer path computation is allowed, whether a mono-layer or multi-layer path is requested/returned, and whether triggered signaling is allowed/required.

routing, mpls

protocol-element §3.3

The REQ-ADAP-CAP object (Object-Class 38, Object-Type 1) is optional and specifies the requested adaptation capability for both ends of the lower-layer LSP, using Switching Capability (8 bits) and Encoding (8 bits) fields based on RFC 6001 semantics.

routing, mpls

protocol-element §3.5

The SERVER-INDICATION object (Object-Class 39, Object-Type 1) is optional and indicates that ERO path information is server-layer information, specifying the server layer's Switching Capability (8 bits), Encoding (8 bits), and optional TLVs for additional server-layer path information.

routing, mpls

protocol-element §3.2

The SWITCH-LAYER object (Object-Class 37, Object-Type 1) is optional on PCReq messages and specifies switching layers (as switching type and encoding type per RFC 3471) in which a path MUST or MUST NOT be established. Each row contains LSP Encoding Type (8 bits), Switching Type (8 bits), Reserved, and an I flag (1 bit).

routing, mpls

protocol-element §3.4

Two new metric types are defined for the PCEP METRIC object: metric type 18 indicates 'Number of adaptations on a path' and metric type 19 indicates 'Number of layers on a path'. These can be used to minimize or bound adaptation count and layer count in computed paths.

routing, mpls

registry §7.1

IANA has assigned four new PCEP Object-Classes in the 'PCEP Objects' subregistry: INTER-LAYER (36), SWITCH-LAYER (37), REQ-ADAP-CAP (38), and SERVER-INDICATION (39), each with Object-Type 1 as the active type and types 2-15 unassigned.

registry, routing

registry §7.3

IANA has assigned two new values in the 'Metric Object T Field' registry: value 18 for 'Number of adaptations on a path' and value 19 for 'Number of layers on a path', both defined by RFC 8282 with IETF Review registration procedure.

registry, routing

registry §7.2

IANA has created a new 'Inter-Layer Object Path Property Bits' subregistry for the INTER-LAYER object Flag field, with bits 0-28 unassigned, bit 29 (T) for Triggered Signaling Allowed, bit 30 (M) for Multi-Layer Requested, and bit 31 (I) for Inter-Layer Allowed. New bits require IETF Review.

registry, routing

security-consideration §8

Inter-layer traffic engineering with PCE may raise new security issues when PCE-PCE communication is done between different layer networks, and when a single PCE is granted full visibility of TE information across multiple layers. The Path-Key-based mechanism defined in RFC 5520 MAY be applied to address topology confidentiality between different layers.

security, routing, mpls

wire-format §3.1

The INTER-LAYER object body is a single 32-bit word with Reserved bits in bits 0-28, T flag at bit 29, M flag at bit 30, and I flag at bit 31. All reserved bits MUST be transmitted as zero and SHOULD be ignored on receipt.

routing, mpls

wire-format §3.3 MUST

The REQ-ADAP-CAP object body is a single 32-bit word: Switching Capability (8 bits) from RFC 4203, Encoding (8 bits) from RFC 3471, and Reserved (16 bits). When only Switching Capability is specified, Encoding MUST be set to zero.

routing, mpls

wire-format §3.5

The SERVER-INDICATION object body contains Switching Capability (8 bits), Encoding (8 bits), Reserved (16 bits), followed by optional TLVs that may specify traffic parameters or other server-layer path details.

routing, mpls

wire-format §3.2

The SWITCH-LAYER object body contains one or more 32-bit rows, each with LSP Encoding Type (8 bits), Switching Type (8 bits), Reserved (15 bits), and I flag (1 bit). When I=1, the path MUST traverse a layer with that switching/encoding type; when I=0, the path MUST NOT enter or traverse any layer with that combination.

routing, mpls