rfc-4090

Fast Reroute Extensions to RSVP-TE for LSP Tunnels

P. Pan (Editor), G. Swallow (Editor), A. Atlas (Editor)
date2005-05 streamIETF areartg wgmpls statusPROPOSED STANDARD pages38 canonicalhttps://www.rfc-editor.org/rfc/rfc4090 doi10.17487/RFC4090 errataview
This document defines RSVP-TE extensions to establish backup label-switched path (LSP) tunnels for local repair of LSP tunnels. These mechanisms enable the re-direction of traffic onto backup LSP tunnels in 10s of milliseconds, in the event of a failure. Two methods are defined here. The one-to-one backup method creates detour LSPs for each protected LSP at each potential point of local repair. The facility backup method creates a bypass tunnel to protect a potential failure point; by taking advantage of MPLS label stacking, this bypass tunnel can protect a set of LSPs that have similar backup constraints. Both methods can be used to protect links and nodes during network failure. The described behavior and extensions to RSVP allow nodes to implement either method or both and to interoperate in a mixed network. [STANDARDS-TRACK]

updated by

Extracted elements (31)

design-rationale §1

An LSR on the path of a protected LSP should always assume it is a merge point because the facility backup method does not signal backups through the bypass tunnel before failure. Without this assumption, the MP would not correctly handle traffic arriving via the bypass tunnel after a failure.

mpls, routing

design-rationale §6.5.2

Global revertive mode is preferred over local revertive mode because the head-end LSR has a more complete view of resources and TE LSP constraints and can reoptimize to a more optimal path. Local revertive mode can cause multiple traffic disruptions due to resource flapping and reverts all LSPs indiscriminately without considering TE attributes.

mpls, routing

design-rationale §4.1

The FAST_REROUTE object uses high-order Class-Num bits '11', causing LSRs that do not understand it to ignore it and pass it forward unchanged. This makes FAST_REROUTE backward compatible with existing LSRs. By contrast, the DETOUR object uses high-order bit '0', deliberately causing non-supporting LSRs to reject Path messages and send a PathErr, since the path-specific one-to-one method requires network-wide DETOUR support to function correctly.

mpls, routing

design-rationale §1.1

Two different fast-reroute methods (one-to-one and facility backup) were independently deployed in operational networks before this document. Vendors experienced compatibility problems interoperating between them. This document rationalizes RSVP signaling for both so any implementation can recognize all fast reroute requests and respond clearly, rather than converging on a single approach given irresolvable topology-dependent tradeoffs.

mpls, routing

interoperability-note §4.1

A C-Type 7 legacy format for FAST_REROUTE (Class-Num 205) is documented for pre-standard implementations. It lacks the Flags byte and has a Reserved byte instead. C-Type 7 is reserved in the IANA registry to avoid breaking these deployments.

mpls, routing

interoperability-note §6.5.2

If a PLR is configured with local revertive mode but the MP is not, any attempt by the PLR to resignal the TE LSP over a restored resource will fail because the MP will not send a Resv message. The LSP will continue using the backup tunnel until re-optimized by the head-end.

mpls, routing

interoperability-note §4.1

LSRs that do not recognize the FAST_REROUTE object (Class-Num 205, high-order bits 11) will ignore and pass it forward unchanged, providing backward compatibility. This means facility backup can be deployed incrementally without requiring all nodes to be upgraded simultaneously.

mpls, routing

normative-requirement §6.1 MUST

A backup path must inherit its LSP ID from the associated protected LSP. The only SENDER_TEMPLATE field that may differ between a backup path and its protected LSP is the 'IPv4 (or IPv6) tunnel sender address'.

mpls, routing

normative-requirement §6.3.2 MUST

A PLR MUST NOT mix messages for the protected and detour LSPs. Resv, ResvTear, and PathErr messages from the detour destination MUST NOT be forwarded upstream. When a PLR receives a PathTear from upstream, it MUST delete both the protected and the detour LSPs and PathTear MUST propagate to both.

mpls, routing

normative-requirement §6.4.4 MUST

During facility backup ERO processing, before sending a Path message via a bypass tunnel, the PLR MUST remove all sub-objects preceding the first address belonging to the MP and replace this first MP address with an IP address of the MP, to avoid the MP rejecting the message due to a bad initial sub-object.

mpls, routing

normative-requirement §6 MUST

Every LSR along a protected LSP (except the egress) MUST follow PLR behavior. Until a PLR has a backup path available, it MUST clear the relevant four RRO flags; whenever a backup is available it MUST set 'local protection available'; it MUST clear 'local protection in use' unless actively redirecting to the backup.

mpls, routing

normative-requirement §6.2 MUST

For backup path computation via CSPF, the backup LSP MUST NOT traverse the downstream node/link whose failure is being protected against, and the destination MUST be the tail-end (for detour LSPs) or the address of the MP (for bypass tunnels).

mpls, routing

normative-requirement §7.1.2 REQUIRED

In the path-specific method, when an LSR (MP) receives multiple Path messages from different interfaces with identical SESSION and SENDER_TEMPLATE, Path state merging is REQUIRED. If Path messages do not share an outgoing interface and next-hop LSR, the MP MUST consider them independent LSPs and MUST NOT merge them.

mpls, routing

normative-requirement §4.2 MUST

LSRs that do not support the DETOUR object MUST reject any Path message containing a DETOUR object and send a PathErr to notify the PLR. This PathErr SHOULD be generated as specified in [RSVP] for unknown objects with Class-Num of form '0bbbbbbb'.

mpls, routing

normative-requirement §4.1 MUST

The FAST_REROUTE object MUST only be inserted into a PATH message by the head-end LER and MUST NOT be changed by downstream LSRs. If a head-end LSR signals a FAST_REROUTE object, it MUST be stored for Path refreshes.

mpls, routing

normative-requirement §6.5.2 SHOULD

The globally revertive mode SHOULD always be used. When local revertive mode is not used, head-end LSRs SHOULD react to RSVP error messages and/or IGP indications in order to make a timely response to failures.

mpls, routing

normative-requirement §5 MUST

The head-end LSR of a protected LSP MUST support the additional bandwidth and node protection flags in the RRO IPv4/IPv6 sub-objects and MUST support the RRO Label sub-object. If local protection is newly desired, this SHOULD be signaled via make-before-break.

mpls, routing

normative-requirement §5 MUST

To indicate that an LSP should be locally protected, the head-end LSR MUST either set the 'local protection desired' flag in SESSION_ATTRIBUTE or include a FAST_REROUTE object (or both). The head-end LSR of a protected LSP MUST set the 'label recording desired' flag in the SESSION_ATTRIBUTE object.

mpls, routing

normative-requirement §7.2 MUST

When a downstream LSR detects a local link failure, Path and Resv state for protected LSPs routed over the failed link MUST NOT be cleared, and PathTear/ResvErr messages MUST NOT be sent immediately. The LSR SHOULD reset refresh timers as if just refreshed. State MUST be removed if not refreshed before the timer expires.

mpls, routing

normative-requirement §6.3 MUST

When signaling a detour LSP, the PLR MUST clear SESSION_ATTRIBUTE flags 'Local protection desired', 'Bandwidth protection desired', and 'Node protection desired', MUST remove the FAST_REROUTE object from the detour's PATH message, and MUST generate an EXPLICIT_ROUTE object toward the egress. The detour MUST use the same reservation style as the protected LSP.

mpls, routing

normative-requirement §6.3.3 MUST

When the PLR detects a failure on the protected LSP, it MUST rapidly switch packets to the backup LSP within tens of milliseconds. The goal is to effect the redirection with no path computation or signaling delays.

mpls, routing

protocol-element §3.2

The facility backup method creates a single bypass tunnel that protects multiple LSPs sharing a common path segment. By using MPLS label stacking, the PLR pushes the bypass tunnel label onto packets rerouted through it, and the merge point pops it and forwards based on the inner label.

mpls, routing

protocol-element §3.1

The one-to-one backup method creates a separate detour LSP for each protected LSP at each PLR. A detour intersects the original LSP downstream of the potential failure and traffic is switched onto it in tens of milliseconds when a failure is detected.

mpls, routing

protocol-element §4.4

Two new RRO IPv4/IPv6 sub-object flags: 'Bandwidth protection' (0x04) indicates the backup path guarantees the desired bandwidth; 'Node protection' (0x08) indicates the backup path protects against failure of the immediate downstream node. PLRs set or clear these to report actual protection status.

mpls, routing

protocol-element §4.3

Two new SESSION_ATTRIBUTE flags: 'Bandwidth protection desired' (0x08) requests a backup path with a bandwidth guarantee equal to the protected LSP bandwidth or the value in FAST_REROUTE; 'Node protection desired' (0x10) requests a backup that bypasses at least the next node of the protected LSP.

mpls, routing

registry §10.2

IANA assigned Class-Num 205 for the FAST_REROUTE object. C-Type 1 is the standards-defined format; C-Type 7 is reserved for pre-standard implementations. C-Types 0–127 by Standards Action; 128–191 by Expert Review; 192–255 for Vendor Private Use (first four octets must be the Vendor's SMI Enterprise Code).

registry, mpls

registry §10.1

IANA assigned Class-Num 63 for the DETOUR object. C-Types 7 (IPv4) and 8 (IPv6) are defined. C-Types 0–127 are assigned by Standards Action; 128–191 by Expert Review; 192–255 reserved for Vendor Private Use (first four octets after C-Type must be the Vendor's SMI Private Enterprise Code).

registry, mpls

security-consideration §9

This document does not introduce new security issues; the security considerations of the base RSVP protocol remain relevant. However, the facility backup method requires that a PLR and its selected merge point trust RSVP messages received from each other, as the PLR forwards protected LSP control traffic through the bypass tunnel.

security, mpls

wire-format §4.2.1

DETOUR object for IPv4 (Class-Num 63, C-Type 7): variable-length list of (PLR_ID, Avoid_Node_ID) pairs, each 4 bytes (IPv4). PLR_ID identifies the PLR beginning the detour; Avoid_Node_ID identifies the immediate downstream node being avoided. High-order bit of Class-Num is 0, so LSRs that do not support it MUST reject and send PathErr.

mpls, routing

wire-format §4.2.2

DETOUR object for IPv6 (Class-Num 63, C-Type 8): variable-length list of (PLR_ID, Avoid_Node_ID) pairs, each 16 bytes (IPv6 128-bit unicast host address). Any local address on the PLR or downstream node may be used.

mpls, routing

wire-format §4.1

FAST_REROUTE object (Class-Num 205, C-Type 1): 20 bytes total, containing Setup Priority (1 byte), Hold Priority (1 byte), Hop-limit (1 byte), Flags (1 byte, 0x01=one-to-one desired, 0x02=facility backup desired), Bandwidth (4-byte IEEE float, bytes/sec), Include-any (4 bytes), Exclude-any (4 bytes), Include-all (4 bytes). High-order bits of Class-Num are 11, causing unknown nodes to ignore and forward unchanged.

mpls, routing