rfc-8232

Optimizations of Label Switched Path State Synchronization Procedures for a Stateful PCE

E. Crabbe, I. Minei, J. Medved, R. Varga, X. Zhang, D. Dhody
date2017-09 streamIETF areartg wgpce statusPROPOSED STANDARD pages26 canonicalhttps://www.rfc-editor.org/rfc/rfc8232 doi10.17487/RFC8232
A stateful Path Computation Element (PCE) has access to not only the information disseminated by the network's Interior Gateway Protocol (IGP) but also the set of active paths and their reserved resources for its computation. The additional Label Switched Path (LSP) state information allows the PCE to compute constrained paths while considering individual LSPs and their interactions. This requires a State Synchronization mechanism between the PCE and the network, the PCE and Path Computation Clients (PCCs), and cooperating PCEs. The basic mechanism for State Synchronization is part of the stateful PCE specification. This document presents motivations for optimizations to the base State Synchronization procedure and specifies the required Path Computation Element Communication Protocol (PCEP) extensions.

Extracted elements (25)

design-rationale §4.1

Incremental (delta) LSP-DB State Synchronization is introduced to reduce overhead when only a small number of LSPs changed during a PCEP session outage. Full synchronization wastes bandwidth and time when the majority of LSPs are unchanged, particularly over low-bandwidth in-band control channels.

routing, mpls

design-rationale §5.1

PCE-Triggered Initial Synchronization allows the PCE to control the timing of initial State Synchronization to avoid overloading limited-bandwidth control channels (e.g., in-band overhead in optical transport networks) when a large amount of state must be synchronized upon session restart.

routing, mpls

design-rationale §3.1

State Synchronization is not always necessary following a PCEP session restart. If the state of both PCEP peers did not change, the synchronization phase may be skipped, resulting in significant savings in both control-plane data exchanges and the time it takes for the stateful PCE to become fully operational.

routing, mpls

design-rationale §3.2.1

When a PCC's or PCE's IP address changes during PCEP session re-establishment (e.g., line card change or VNF migration), the SPEAKER-ENTITY-ID TLV is used to recognize a previously connected peer, enabling state synchronization optimizations to be applied to the re-established session.

routing, mpls

normative-requirement §6.2 MUST

For PCE-triggered resynchronization of a single LSP, the PCC MUST respond with a PCRpt with the LSP state, SYNC=0, and MUST include the SRP-ID-number of the triggering PCUpd. If the LSP is not found, the PCC MUST also set the R (remove) flag in the LSP object.

routing, mpls

normative-requirement §4.2 MUST

If a PCC finds it does not have sufficient information to complete incremental synchronization after advertising the capability, it MUST send a PCErr with Error-type=20 and Error-value=5 and terminate the session. The PCC SHOULD re-establish the session with the D bit set to 0.

routing, mpls

normative-requirement §3.3.2 MUST

If a PCEP speaker receives the SPEAKER-ENTITY-ID on a new PCEP session that matches an existing alive PCEP session, the PCEP speaker MUST send a PCErr with Error-type=20 and Error-value=7 'Received an invalid Speaker Entity Identifier', and close the PCEP session.

routing, mpls

normative-requirement §3.2 MUST

If both PCEP speakers include the LSP-DB-VERSION TLV in the OPEN object and the TLV values match, the PCC MAY skip State Synchronization. Otherwise, the PCC MUST perform full State Synchronization or incremental State Synchronization.

routing, mpls

normative-requirement §3.2 MUST

If both PCEP speakers set the S flag in the OPEN object's STATEFUL-PCE-CAPABILITY TLV to 1, the PCC MUST include the LSP-DB-VERSION TLV in each LSP object of the PCRpt message. If missing, the PCE generates an error with Error-type=6 and Error-value=12 'LSP-DB-VERSION TLV missing', and closes the session.

routing, mpls

normative-requirement §3.2 MUST

If either reserved LSP-DB Version Number value (0 or 0xFFFFFFFFFFFFFFFF) is used during LSP State (re)Synchronization, the PCE speaker receiving this value MUST send back a PCErr with Error-type=20 and Error-value=6 'Received an invalid LSP-DB Version Number', and close the PCEP session.

routing, mpls

normative-requirement §3.2 MUST

If the PCC attempts to skip State Synchronization when a version mismatch exists, the PCE MUST send back a PCErr with Error-type=20 and Error-value=2 'LSP-DB version mismatch', and close the PCEP session.

routing, mpls

normative-requirement §5.2 MUST

If the TRIGGERED-INITIAL-SYNC capability is not advertised by a PCE and the PCC receives a PCUpd with SYNC=1, the PCC MUST send a PCErr with Error-type=20 and Error-value=4 'Attempt to trigger a synchronization when the PCE triggered synchronization capability has not been advertised'.

routing, mpls

normative-requirement §4.2 MUST

Incremental State Synchronization proceeds only when both the D bit (DELTA-LSP-SYNC-CAPABILITY) and S bit (INCLUDE-DB-VERSION) are set to 1 by both PCC and PCE. Other combinations of D and S flags result in full LSP-DB synchronization.

routing, mpls

normative-requirement §3.2 MUST

Prior to completing the initialization phase when State Synchronization is required, the PCE MUST mark any LSPs in the LSP-DB that were previously reported by the PCC as stale. After receiving the end-of-synchronization marker, the PCE MUST purge any LSPs from the LSP-DB that are still marked as stale.

routing, mpls

normative-requirement §3.2 MUST

The LSP-DB Version Number MUST be incremented by 1 for each successive change in the PCC's LSP-DB. It MUST start at 1 and may wrap around. Values 0 and 0xFFFFFFFFFFFFFFFF are reserved.

routing, mpls

normative-requirement §3.2 MUST

The LSP-DB-VERSION TLV MUST be included in the end-of-synchronization PCRpt message (PLSP-ID=0, SYNC=0). If a PCEP speaker's LSP-DB did not survive a restart or the database is empty at startup, the PCEP speaker MUST NOT include the LSP-DB-VERSION TLV in the OPEN object.

routing, mpls

normative-requirement §5.2 MUST

To enable PCE-triggered initial synchronization, both PCEP speakers MUST set the F bit (TRIGGERED-INITIAL-SYNC) to 1 in the OPEN message. The PCE triggers synchronization by sending a PCUpd with PLSP-ID=0 and SYNC=1; the PCC MUST NOT trigger State Synchronization on its own when this capability is advertised.

routing, mpls

normative-requirement §6.2 MUST

To trigger resynchronization of the entire LSP-DB, the PCE MUST first mark all LSPs previously reported by the PCC as stale, then send a PCUpd with PLSP-ID=0, SYNC=1, and an empty ERO. After receiving the end-of-synchronization marker, the PCE will purge LSPs not refreshed.

routing, mpls

protocol-element §7

Four new capability flags are defined in the STATEFUL-PCE-CAPABILITY TLV: S bit (bit 30, INCLUDE-DB-VERSION), D bit (bit 27, DELTA-LSP-SYNC-CAPABILITY), F bit (bit 26, TRIGGERED-INITIAL-SYNC), and T bit (bit 28, TRIGGERED-RESYNC). Each must be advertised during session establishment.

routing, mpls

registry §8.3

IANA has allocated four new flag bits in the 'STATEFUL-PCE-CAPABILITY TLV Flag Field' registry: bit 26 (TRIGGERED-INITIAL-SYNC), bit 27 (DELTA-LSP-SYNC-CAPABILITY), bit 28 (TRIGGERED-RESYNC), and bit 30 (INCLUDE-DB-VERSION).

registry, routing

registry §8.1

IANA has allocated new error values in the 'PCEP-ERROR Object Error Types and Values' registry: Error-type=6, Error-value=12 (LSP-DB-VERSION TLV missing); Error-type=20, Error-values=2,3,4,6,7 for various LSP State Synchronization errors defined by this document.

registry, routing

registry §8.2

IANA has allocated two new values in the 'PCEP TLV Type Indicators' registry: Type=23 for LSP-DB-VERSION TLV and Type=24 for SPEAKER-ENTITY-ID TLV.

registry, routing

security-consideration §10 RECOMMENDED

This document introduces new attack vectors: an attacker could spoof the SPEAKER-ENTITY-ID to impersonate another PCEP speaker, or flood a PCC with triggered resynchronization requests to exhaust its processing capacity. Securing the PCEP session using TLS (PCEPS) as per RFC 7525 is RECOMMENDED, and the Speaker Entity Identifier could be exposed in a certificate for peer identity verification.

security, routing, tls

wire-format §3.3.1

The LSP-DB-VERSION TLV has Type=23 and a fixed Length=8 octets. The value field contains a 64-bit unsigned integer in network byte order representing the LSP-DB Version Number.

routing, mpls

wire-format §3.3.2

The SPEAKER-ENTITY-ID TLV has Type=24 and a variable length greater than 0. The value contains the Speaker Entity Identifier, padded to 4-octet alignment (padding not included in the Length field).

routing, mpls