ietf-corpus

rfc-6378

MPLS Transport Profile (MPLS-TP) Linear Protection

Y. Weingarten (Editor), S. Bryant, E. Osborne, N. Sprecher, A. Fulignoli (Editor)
date2011-10 streamIETF areartg wgmpls statusPROPOSED STANDARD pages45 canonicalhttps://www.rfc-editor.org/rfc/rfc6378 doi10.17487/RFC6378
This document is a product of a joint Internet Engineering Task Force (IETF) / International Telecommunications Union Telecommunications Standardization Sector (ITU-T) effort to include an MPLS Transport Profile within the IETF MPLS and Pseudowire Emulation Edge-to-Edge (PWE3) architectures to support the capabilities and functionalities of a packet transport network as defined by the ITU-T. This document addresses the functionality described in the MPLS-TP Survivability Framework document (RFC 6372) and defines a protocol that may be used to fulfill the function of the Protection State Coordination for linear protection, as described in that document. [STANDARDS-TRACK]

updated by

Extracted elements (30)

design-rationale §4.1

PSC messages are restricted to the protection path to avoid interfering with normal data traffic and to eliminate race conditions from dual-path transmission. Three rapid messages are sent on state change to allow fast switching even if one or two packets are lost.

mpls, routing

design-rationale §3.6.1

The local/remote state distinction is maintained by the PSC Control logic because the same protection domain state (e.g., Unavailable) can be reached by different causes (local LO vs. remote LO), and the reaction to subsequent inputs differs accordingly.

mpls, routing

design-rationale §4.3.1

The PSC protocol is single-phased: the initiating LER performs the protection switchover and informs the far-end LER without waiting for acknowledgement. This means there is a short window during one-sided triggers when the two endpoints may be selecting from different paths, which self-corrects once the remote message is received.

mpls, routing

interoperability-note §1.2

The scope of this document covers 1:1 bidirectional protection and 1+1 bidirectional/unidirectional protection. Applicability to 1:1 unidirectional, 1:n protection, and point-to-multipoint paths is explicitly out of scope and deferred to future documents.

mpls, routing

interoperability-note §4.3.3 MUST

When a LER in a remote state receives a contradictory PSC message from the far-end (e.g., in remote Unavailable state receiving a remote FS(1,1) message), the PSC Control logic SHALL reevaluate all inputs as if the LER is in Normal state to resolve the inconsistency.

mpls, routing

normative-requirement §4.2 MUST

Both Reserved1 and Reserved2 fields MUST be set to 0 on transmission and ignored upon receipt. The Ver field SHALL be set to 1 for this version of the protocol.

mpls, routing

normative-requirement §4.1 MUST

Both the default frequency of the three rapid messages and the default frequency of continual message transmission SHALL be configurable by the operator. For management purposes, the operator SHOULD be able to retrieve current default and per-LSP actual frequency values.

mpls, routing

normative-requirement §4.2.7 MUST

For basic PSC protocol operation, the TLV Length field MUST be 0. Optional TLVs are defined for future extensions and MUST include a header indicating total length in bytes.

mpls, routing

normative-requirement §4.1 RECOMMENDED

For protection switching within 50 ms, it is RECOMMENDED that the default interval of the first three rapid PSC messages SHOULD be no longer than 3.3 ms. Subsequent messages SHOULD be continuously transmitted with a default interval of 5 seconds.

mpls, routing

normative-requirement §4.3.3.4 SHOULD

In Protecting failure state, to prevent flapping due to intermittent faults, the LER SHOULD employ a Wait-to-Restore timer to delay return to Normal state until the network has stabilized after an SF condition is cleared.

mpls, routing

normative-requirement §4.1 MUST

PSC control packets SHALL be transmitted over the protection path only. This avoids affecting normal data traffic in the prevalent Normal state and prevents race conditions that could arise if messages were sent on both paths.

mpls, routing

normative-requirement §3.1 MUST

The operator commands Forced Switch, Manual Switch, Clear, and Lockout of protection MUST be supported by the Local Request logic. The hold-off timer for server-layer alarm indication SHOULD be configurable by the network operator.

mpls, routing

normative-requirement §4.2.3 MUST

The PT field inconsistency between endpoints SHALL cause an alarm to be sent to the management system. If the Revertive (R) field is inconsistent between endpoints (one revertive, one non-revertive), the management system SHOULD be notified.

mpls, routing

normative-requirement §4.3.3.6 MUST

To revert from Do-not-Revert state back to Normal state, the administrator SHALL issue a Lockout of protection command followed by a Clear command. The protection domain SHALL remain in Do-not-Revert state until such a command sequence or a new trigger.

mpls, routing

normative-requirement §4.3.3.1 MUST

When the LER transitions into Normal state, the PSC Control Process SHALL check the persistent state of local triggers to decide if it should further transition into a new state. In Normal state, the end point SHALL transmit an NR(0,0) message.

mpls, routing

normative-requirement §4.1 MUST

When the protection domain state changes due to a local input, three PSC messages SHALL be transmitted as quickly as possible. After the three rapid messages, the LER MUST retransmit the most recently transmitted PSC message on a continual basis.

mpls, routing

normative-requirement §3.5 MUST

When the WTR timer expires prior to being stopped, it SHALL generate a WTR Expires local signal. If a Stop command is issued while the timer is running, it SHALL reset and stop the timer but SHALL NOT generate a WTR Expires signal.

mpls, routing

normative-requirement §3.2 MUST NOT

When using 1+1 unidirectional protection, an LER that receives a remote request SHALL NOT perform any protection switching action; it will continue to select traffic from the working path and transport traffic on both paths.

mpls, routing

protocol-element §4.2.5

The FPath field (8 bits) identifies which path is in fault or affected by an administrative command: 0=protection path anomaly, 1=working path anomaly. Values 2-255 are for future extensions and SHALL be ignored. The Path field (8 bits) indicates whether user data is on the protection path: 0=protection path not carrying user traffic, 1=protection path substituting for working path.

mpls, routing

protocol-element §4.2.3

The Protection Type (PT) field (2 bits) indicates the configured protection architecture: 3=bidirectional switching with permanent bridge (1+1), 2=bidirectional switching with selector bridge (1:1), 1=unidirectional switching with permanent bridge, 0=reserved. It SHOULD be validated for consistency across both endpoints.

mpls, routing

protocol-element §4.2

The PSC channel type assigned by IANA is PSC-CT=0x0024, carried in the G-ACh as specified by RFC 5586. There is a single channel type for all PSC messages; the actual message function is identified by the Request field of the ACH payload.

mpls, routing, registry

protocol-element §4.2.2

The PSC Request field is 4 bits encoding the current protection condition: 0=No Request, 1=Do-not-Revert, 4=Wait-to-Restore, 5=Manual Switch, 7=Signal Degrade, 10=Signal Fail, 12=Forced Switch, 14=Lockout of protection. All other values are reserved for future extensions and SHALL be ignored upon receipt.

mpls, routing, registry

registry §5.1

IANA assigned Pseudowire Associated Channel Type 0x0024 (no TLV follows) for the Protection State Coordination Protocol Channel Type (PSC-CT) in the 'Pseudowire Associated Channel Types' registry, requiring IETF Review.

mpls, routing, registry

registry §5.2

IANA created the 'MPLS PSC Request Registry' under MPLS OAM Parameters, allocating 4-bit values via Standards Action. Initial assignments: 0=No Request, 1=Do-not-Revert, 4=Wait-to-Restore, 5=Manual Switch, 7=Signal Degrade, 10=Signal Fail, 12=Forced Switch, 14=Lockout of protection.

mpls, routing, registry

registry §5.3

IANA created the 'MPLS PSC TLV Registry' under MPLS OAM Parameters for optional TLV extensions to the PSC protocol. Code points are allocated via the IETF Review procedure. No TLV units are defined for basic PSC operation in this document.

mpls, routing, registry

security-consideration §6

Accidental corruption of PSC messages (through faulty implementations or random corruption) is a concern, particularly changes to the Request, FPath, and Path fields which would alter peer endpoint behavior. However, state transitions are designed to converge on a known stable behavior even in the presence of messages that do not match reality.

mpls, security, routing

security-consideration §6

The G-ACh can be used as a covert channel providing end-to-end connectivity that SHOULD NOT be policed by transit nodes, making it impossible to simply prevent arbitrary traffic between consenting nodes. Injection or modification of PSC control messages requires subversion of a transit node, which is considered hard in MPLS networks and not addressable at the protocol level.

mpls, security, routing

state-machine §4.3.2

Priority of inputs from highest to lowest: Clear, Lockout of protection, Forced Switch, Signal Fail on protection, Signal Fail on working, Signal Degrade on working, Clear Signal Fail/Degrade, Manual Switch, WTR Expires, No Request. Remote messages are assigned priority just below the analogous local input.

mpls, routing

state-machine §3.6

The PSC Control logic maintains six protection domain states: Normal, Unavailable, Protecting failure, Protecting administrative, Wait-to-Restore, and Do-not-Revert. Transitions are triggered by local inputs (OAM, operator commands, WTR timer) or remote PSC messages from the far-end LER, with priority rules governing which input drives the state change.

mpls, routing

wire-format §4.2

The PSC packet is encapsulated in a G-ACh header followed by a 32-bit PSC payload word containing: Ver (2 bits), Request (4 bits), PT (2 bits), R (1 bit), Reserved1 (7 bits), FPath (8 bits), Path (8 bits); a second 32-bit word holds TLV Length (16 bits) and Reserved2 (16 bits); optional TLVs follow.

mpls, routing