ietf-corpus

rfc-9270

GMPLS Signaling Extensions for Shared Mesh Protection

J. He, I. Busi, J. Ryoo, B. Yoon, P. Park
date2022-08 streamIETF areartg wgteas statusPROPOSED STANDARD pages13 canonicalhttps://www.rfc-editor.org/rfc/rfc9270 doi10.17487/RFC9270
ITU-T Recommendation G.808.3 defines the generic aspects of a Shared Mesh Protection (SMP) mechanism, where the difference between SMP and Shared Mesh Restoration (SMR) is also identified. ITU-T Recommendation G.873.3 defines the protection switching operation and associated protocol for SMP at the Optical Data Unit (ODU) layer. RFC 7412 provides requirements for any mechanism that would be used to implement SMP in a Multi-Protocol Label Switching - Transport Profile (MPLS-TP) network. This document updates RFCs 4872 and 4873 to provide extensions for Generalized Multi-Protocol Label Switching (GMPLS) signaling to support the control of the SMP mechanism.

updates

Extracted elements (26)

design-rationale §1

SMP differs from SMR in that SMP activates a protecting LSP via the Automatic Protection Switching (APS) protocol in the data plane when a working LSP fails, while SMR activates via control plane signaling. This distinction necessitates a new LSP Protection Type so nodes can behave appropriately during recovery.

mpls, routing

design-rationale §3

SMP preconfigures protecting LSPs by pre-reserving resources without activating them (e.g., cross-connects are not preestablished), allowing link and node resources to be shared by protecting LSPs of multiple disjoint working LSPs. SMP is always revertive.

mpls, routing

design-rationale §5.4

SMP preemption priority is distinct from the GMPLS Setup and Holding priorities in the SESSION_ATTRIBUTE object. Using separate priorities avoids the complexity of defining a unified policy that serves both GMPLS control plane LSP preemption and SMP shared resource competition resolution.

mpls, routing

interoperability-note §5.6

APS configuration between adjacent nodes along the protecting LSP path must be done by means other than GMPLS signaling, before any protecting LSP is set up. The APS protocol may use different identifiers than GMPLS signaling to identify the protecting LSP, and these identifiers are expected to be technology-specific or vendor-specific.

mpls, routing

interoperability-note §6.1

The rules in Section 14.2 of RFC 4872 ensure that all nodes along an SMP LSP are SMP-aware (via the Protection Type check during signaling), so there are no backward-compatibility issues with the new 0x20 Protection Type value.

mpls, routing

normative-requirement §5.4 MUST NOT

A preempted LSP MUST NOT be terminated even after its resources have been deallocated. End nodes MUST keep refreshing both working and protecting LSPs regardless of failure or preemption status.

mpls, routing

normative-requirement §5.3 MUST

After protection switching completes, the protecting LSP MUST be signaled with S bit=0 and O bit=1 in the PROTECTION object, at which point link and node resources MUST be allocated for the LSP, which becomes a primary LSP ready to carry traffic.

mpls, routing

normative-requirement §4 MUST

If an intermediate node fails to allocate a protection resource during protection switching, it MUST send a Notify message to notify the requesting end node, which will then stop bridging/selecting traffic and proceed to remove the protection allocation per the APS protocol.

mpls, routing

normative-requirement §5.2 MUST

Primary working LSPs are signaled with the PROTECTION object S bit=0, P bit=0, N bit=1, and the ASSOCIATION object Association ID set to the associated secondary protecting LSP_ID. The N bit indicates protection switching signaling is done via the data plane.

mpls, routing

normative-requirement §5.3 MUST

Resources for the secondary LSP MUST be pre-reserved but not committed at the data plane level, meaning switch internals need not be established until explicit activation. Activation is performed by the APS protocol in the data plane.

mpls, routing

normative-requirement §5.3 MUST

Secondary protecting LSPs are signaled with the PROTECTION object S bit=1, P bit=1, N bit=1, and the ASSOCIATION object Association ID set to the primary working LSP_ID, which MUST be known before signaling the secondary LSP. The Path message MUST include at least one PRIMARY_PATH_ROUTE object.

mpls, routing

normative-requirement §5.1 MUST

To associate a secondary protecting LSP with its primary working LSP, both LSPs MUST use the same SESSION object. The LSP ID, however, MUST be different to distinguish between them.

mpls, routing

normative-requirement §5.5 MUST

Upon receipt of a 'Shared resources unavailable' Notify message, the end node MUST stop sending and selecting traffic to/from its protecting LSP and try switching traffic to another protecting LSP, if available.

mpls, routing

normative-requirement §5.5 MUST

When a lower-priority protecting LSP is preempted, the intermediate node MUST send a Notify message with error code 25 ('Notify Error') and error sub-code 17 ('Shared resources unavailable') to the end nodes of that protecting LSP.

mpls, routing

normative-requirement §5.5 MUST

When a protecting LSP occupies shared resources making them unavailable, the intermediate node MUST send a 'Shared resources unavailable' Notify message to all end nodes of protecting LSPs with lower SMP preemption priorities. If the shared resources fail, the same message MUST be sent to all end nodes of protecting LSPs configured to use those resources.

mpls, routing

normative-requirement §5.4 MUST

When an intermediate node on the protecting LSP receives a Path message, the SMP preemption priority value in the Preemption Priority field MUST be stored for that protecting LSP, to be used by the APS protocol when resolving resource competition.

mpls, routing

normative-requirement §5.5 MUST

When shared resources become available, a Notify message with error code 25 and error sub-code 18 ('Shared resources available') MUST be generated by the intermediate node and sent to the end nodes of lower-priority preempted protecting LSPs.

mpls, routing

protocol-element §6.1

A new LSP Protection Type 'Shared Mesh Protection' (0x20) is added to the LSP Flags field of the PROTECTION object. This value is only applicable to bidirectional LSPs as required by G.808.3.

mpls, routing

protocol-element §6.2

The Notification (N) bit in the PROTECTION object is updated: when set to 1, it indicates control plane message exchange is only used for notification during protection switching (not for actual switching). When the LSP Protection Type is 0x20 (SMP), the N bit MUST be set to 1; otherwise it MUST be set to 0 for types other than 0x04, 0x08, 0x10, or 0x20.

mpls, routing

protocol-element §6.2

The Operational (O) bit in the PROTECTION object is updated: when set to 1, it indicates the protecting LSP is carrying traffic after protection switching. The O bit is only applicable when the P bit is set to 1 and the LSP Protection Type is 0x04, 0x08, 0x10, or 0x20.

mpls, routing

registry §7

IANA added two new error value sub-codes to the 'Sub-Codes - 25 Notify Error' subregistry of the 'Resource Reservation Protocol (RSVP) Parameters' registry: value 17 ('Shared resources unavailable') and value 18 ('Shared resources available'), both referencing RFC 9270.

registry, mpls, routing

security-consideration §8

Security threats from RFC 4872 apply to this document due to its use of RSVP Notify messages. It is important to use the security mechanisms defined in RFC 4872.

security, mpls, routing

security-consideration §8

SMP preemption introduces an indirect attack vector: an attacker can disrupt traffic on one protecting LSP by targeting a link used by a higher-priority primary LSP elsewhere in the network, causing preemption of the protecting LSP. Detailed knowledge of network topology, routes, and LSP priorities can significantly improve attack efficacy.

security, mpls, routing

state-machine §4

During SMP protection switching: on failure detection (SF/SD), end node sends APS request to adjacent intermediate node; if resource available, intermediate sends confirmation upstream and forwards request downstream, triggering cross-connect setup; if resource unavailable (used by higher-priority LSP), intermediate sends 'Shared resources unavailable' Notify; if intermediate fails to allocate, it notifies end node which stops bridging and removes protection allocation.

mpls, routing

wire-format §6.3

The Preemption Priority (Preempt Prio) field is an 8-bit field allocated from the formerly reserved bits in the 32-bit PROTECTION object header (as modified by RFC 4873). It indicates the SMP preemption priority of a protecting LSP; a lower value indicates a higher priority.

mpls, routing

wire-format §6.3

The updated 32-bit field in the PROTECTION object has the layout: I(1 bit) | R(1 bit) | Reserved(6 bits) | Seg.Flags(6 bits) | Reserved(8 bits) | Preempt Prio(8 bits). The Preemption Priority field occupies bits 24-31 of this 32-bit word.

mpls, routing