ietf-corpus

rfc-4447

Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP)

L. Martini (Editor), E. Rosen, N. El-Aawar, T. Smith, G. Heron
date2006-04 streamIETF areartg wgpwe3 statusPROPOSED STANDARD pages33 canonicalhttps://www.rfc-editor.org/rfc/rfc4447 doi10.17487/RFC4447 errataview
Layer 2 services (such as Frame Relay, Asynchronous Transfer Mode, and Ethernet) can be "emulated" over an MPLS backbone by encapsulating the Layer 2 Protocol Data Units (PDU) and transmitting them over "pseudowires". It is also possible to use pseudowires to provide low-rate Time Division Multiplexed and a Synchronous Optical NETworking circuit emulation over an MPLS-enabled network. This document specifies a protocol for establishing and maintaining the pseudowires, using extensions to Label Distribution Protocol (LDP). Procedures for encapsulating Layer 2 PDUs are specified in a set of companion documents. [STANDARDS-TRACK]

obsoleted by

updated by

Extracted elements (29)

design-rationale §5.2

The Interface Parameters sub-TLV is part of the FEC in the PWid element, making it impossible to change after PW setup. This is by design: only static interface parameters (like MTU) belong there, while dynamic information (like status) must use optional parameter TLVs.

mpls

design-rationale §5.3.2.2

The PW Grouping TLV is separate from the Attachment Group Identifier (AGI) and has no relation to it. The Group ID / PW Grouping TLV is purely an operational convenience for wildcard withdrawals or status notifications, while the AGI is part of the pseudowire identity used for forwarding.

mpls

design-rationale §5

Two FEC element types are defined rather than one: the PWid FEC (0x80) for simpler cases where both endpoints are pre-provisioned with a 32-bit PW ID, and the Generalized PWid FEC (0x81) for structured endpoint identifiers supporting auto-discovery and more complex provisioning models such as VPLS.

mpls

interoperability-note §5.4.3

If a PW Status TLV is not supported by the remote peer, the peer automatically ignores it because the I (ignore) bit is set in the TLV. The absence of PW Status TLV in the remote's Label Mapping causes both PEs to revert to the label withdraw method for PW status signaling.

mpls

interoperability-note §5.5

Unknown interface parameter sub-TLVs MUST be silently ignored to allow forward compatibility. Processing of interface parameters should continue when unknown types are encountered.

mpls

normative-requirement §6.3 REQUIRED

All PEs implementing the wildcard withdraw or wildcard status notification procedures are REQUIRED to accept such messages, but are not required to send them.

mpls

normative-requirement §8.2 MUST NOT

An incoming LDP session request MUST NOT be accepted unless its IP source address is known to be from an eligible LDP peer, either pre-configured or dynamically discovered via a trusted auto-discovery protocol.

mpls, security

normative-requirement §6.1 MUST

For PW types requiring a control word, Label Mapping messages MUST have C=1. When a Label Mapping for such a PW type is received with C=0, a Label Release MUST be sent with an 'Illegal C-bit' status code and the PW will not be enabled.

mpls

normative-requirement §6.2 MUST

For PW types where the control word is not mandatory, each PW endpoint MUST be configurable with a parameter specifying whether control word use is PREFERRED or NOT PREFERRED, and there MUST be a default value for this parameter.

mpls

normative-requirement §3 MUST

LDP MUST be used in downstream unsolicited mode, and LDP's liberal label retention mode SHOULD be used for PW label distribution.

mpls

normative-requirement §5.4.1 MUST

PEs MUST send Label Mapping Messages to peers as soon as the PW is configured and administratively enabled, regardless of attachment circuit state. If the label-to-PW binding is not available, the PW MUST be considered in the down state.

mpls

normative-requirement §5.5 REQUIRED

The Interface MTU sub-TLV is REQUIRED for PW types transporting packets; if the MTU parameter does not match in both directions of a specific PW, that PW MUST NOT be enabled.

mpls

normative-requirement §8.2 MUST

The LDP MD5 authentication key option (RFC 3036 section 2.9) MUST be implemented and, for greater security, must be used. This provides integrity and authentication for LDP messages and eliminates source address spoofing.

mpls, security, crypto

normative-requirement §3 MUST

The same PW ID and PW type MUST be assigned for a given circuit in both directions. The Group ID MUST NOT be required to match in both directions. PW labels MUST be allocated from the per-platform label space.

mpls

normative-requirement §5.4.3 MUST

When a PW is first set up, PEs MUST attempt to negotiate the usage of the PW Status TLV by including it in the initial Label Mapping message. If the remote PE does not include a PW Status TLV in its Label Mapping, both PEs revert to the label withdraw method for signaling PW status.

mpls

protocol-element §5.3.1

Attachment identifiers in the Generalized PWid FEC consist of an Attachment Group Identifier (AGI), a Source Attachment Individual Identifier (SAII), and a Target Attachment Individual Identifier (TAII). The AGI must be the same at both endpoints; the combination of PE router IP address and AI must be globally unique.

mpls

protocol-element §5

LDP is used in downstream unsolicited mode to distribute PW label bindings. Two new FEC element types are defined: 0x80 (PWid FEC Element) and 0x81 (Generalized PWid FEC Element). Each FEC TLV must contain exactly one FEC element, and the Generic Label TLV must be used.

mpls, vpn

protocol-element §5.4.2

Wildcard PW status notifications and label withdrawals use Group ID (PWid FEC) or PW Grouping ID TLV (Generalized ID FEC) by setting PW info length to 0 and omitting the PW ID/AGI/SAII/TAII. This enables a single message to affect all PWs in a group upon port failure.

mpls

registry §7.2

Eight new LDP status codes are registered in the 'STATUS CODE NAME SPACE' (RFC 3036): 0x00000024 Illegal C-Bit, 0x00000025 Wrong C-Bit, 0x00000026 Incompatible bit-rate, 0x00000027 CEP-TDM mis-configuration, 0x00000028 PW Status, 0x00000029 Unassigned/Unrecognized TAI, 0x0000002A Generic Misconfiguration Error, 0x0000002B Label Withdraw PW Status Method Not Supported.

mpls, registry

registry §7.1

Three new LDP TLV types are registered: 0x096A (PW Status TLV), 0x096B (PW Interface Parameters TLV), and 0x096C (Group ID TLV), in the existing 'TLV TYPE NAME SPACE' registry defined by RFC 3036.

mpls, registry

registry §7.3

Two new FEC element types, 0x80 and 0x81, are allocated from the 'FEC Type Name Space' registry for the Label Distribution Protocol (LDP RFC 3036).

mpls, registry

security-consideration §8.2

LDP MD5 authentication (RFC 3036 section 2.9) MUST be implemented to provide integrity and authentication for LDP control messages; it does not protect against replay attacks due to its reliance on pre-shared keys, and does not provide privacy.

mpls, security, crypto

security-consideration §8.1

The MPLS-enabled network SHOULD be isolated so it is not possible to insert MPLS packets from outside, preventing spoofing, alteration, and inspection of PW PDUs. The specified encapsulations do not by themselves authenticate the encapsulator, assure packet integrity, or ensure privacy.

mpls, security

state-machine §6.2

The C-bit negotiation state machine for optional control word PW types: if received C=0, send C=0 (no control word); if received C=1 and local preference is preferred, send C=1; if received C=1 and local preference is not preferred, send according to local config and wait. On mismatch (sent C=1, received C=0), send Label Withdraw with 'Wrong C-Bit' then a new Label Mapping with C=0.

mpls

wire-format §5.3.2

The Generalized PWid FEC Element (type 0x81) encodes a C-bit, 15-bit PW type, PW info length, and variable-length AGI, SAII, and TAII fields each preceded by a type byte and length byte. If PW info length is 0, it references all PWs using the specified grouping ID with no AGI/SAII/TAII present.

mpls

wire-format §5.5

The Interface Parameters Sub-TLV has a 1-byte Sub-TLV Type, a 1-byte Length (inclusive of type and length fields), and a variable-length Value. The Interface MTU sub-TLV carries a 2-octet MTU value excluding encapsulation overhead; the Optional Interface Description string is 0–80 octets in UTF-8.

mpls

wire-format §5.3.2.2

The PW Grouping ID TLV (type 0x096C) carries a 32-bit arbitrary value representing a group of PWs. It is used with the Generalized PWid FEC element to enable wildcard label withdrawals or status notifications upon physical port failure.

mpls

wire-format §5.4.2

The PW Status TLV (type 0x096A) carries a 4-octet status code bit field, where each bit can be set individually to indicate one or more failures simultaneously. It is transported via the LDP Notification message with the Status TLV status code set to 0x00000028.

mpls

wire-format §5.2

The PWid FEC Element (type 0x80) encodes: a 1-bit C (control word) flag, a 15-bit PW type, an 8-bit PW info length, a 32-bit Group ID, a 32-bit PW ID, and variable-length Interface Parameter Sub-TLVs. The PW ID is a non-zero value that together with the PW type identifies a particular PW.

mpls