rfc-4762

Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling

M. Lasserre (Editor), V. Kompella (Editor)
date2007-01 streamIETF areartg wgl2vpn statusPROPOSED STANDARD pages31 canonicalhttps://www.rfc-editor.org/rfc/rfc4762 doi10.17487/RFC4762 errataview
This document describes a Virtual Private LAN Service (VPLS) solution using pseudowires, a service previously implemented over other tunneling technologies and known as Transparent LAN Services (TLS). A VPLS creates an emulated LAN segment for a given set of users; i.e., it creates a Layer 2 broadcast domain that is fully capable of learning and forwarding on Ethernet MAC addresses and that is closed to a given set of users. Multiple VPLS services can be supported from a single Provider Edge (PE) node. This document describes the control plane functions of signaling pseudowire labels using Label Distribution Protocol (LDP), extending RFC 4447. It is agnostic to discovery protocols. The data plane functions of forwarding are also described, focusing in particular on the learning of MAC addresses. The encapsulation of VPLS packets is described by RFC 4448. [STANDARDS-TRACK]

Extracted elements (27)

design-rationale §10

A full mesh of n*(n-1)/2 PWs creates packet replication overhead that limits large-scale deployment. Hierarchical VPLS (H-VPLS) using hub-and-spoke PWs reduces both signaling overhead and replication requirements by aggregating access devices through bridging-capable MTU-s nodes.

mpls

design-rationale §4.4

A full mesh of PWs is established between PEs so that no PE needs to relay packets through an intermediary, enabling a simple loop-breaking rule (split horizon) rather than a spanning tree protocol.

mpls

design-rationale §7.1

Service-delimiting encapsulation (e.g., a VLAN tag identifying the customer's VPLS instance) is stripped at ingress and may be re-inserted at egress, keeping the frame traversing the VPLS a 'normalized' customer Ethernet frame. These are local PE actions that do not need to be signaled between PEs.

mpls

design-rationale §4.2

Unlike BGP VPNs (RFC 4364), VPLS reachability is not advertised via a control plane but is instead obtained by standard learning bridge functions in the data plane, avoiding the need for address resolution servers or other external servers.

mpls

interoperability-note §Appendix A

Appendix A retains the original VPLS signaling using the PWid FEC Element (FEC type 128) because live deployments use this version. The VCID in this context has global significance across all PEs in the VPLS instance, unlike the point-to-point service identifier use defined in RFC 4447.

mpls

interoperability-note §IESG Note

RFC 4761 and RFC 4762 both implement VPLS using different signaling protocols and are distinct and incompatible with one another, even though each method is commonly referred to as 'VPLS'.

mpls, security

normative-requirement §4.1 MUST

A PE MUST be able to associate a destination MAC address with a PW in order to forward a frame. VPLS-capable PEs SHOULD have the capability to dynamically learn MAC addresses on both ACs and PWs.

mpls

normative-requirement §4.4 MUST NOT

A PE MUST NOT forward traffic from one PW to another PW in the same VPLS mesh (the 'split horizon' rule), preventing loops in the full-mesh topology.

mpls

normative-requirement §8 SHOULD

If a PE is not able to support both Ethernet and Ethernet VLAN PWs simultaneously within the same VPLS, it SHOULD send a Label Release with status code 'Unknown FEC' (per RFC 3036) on the PW type it cannot support.

mpls

normative-requirement §6.2.1 MUST

If a PE receives a MAC Address Withdraw Message and does not understand it, it MUST ignore the message; it will continue using stale MAC associations until they are overwritten by normal learning or aged out.

mpls

normative-requirement §6.2.1 MUST

In the MAC List TLV, the U bit MUST be set to 1, the F bit MUST be set to 0, the Type field MUST be set to 0x0404, and the Length MUST be a multiple of 6.

mpls, registry

normative-requirement §9.1 SHOULD

PEs that learn remote MAC addresses SHOULD have an aging mechanism to remove unused entries associated with a PW label, and the aging timer SHOULD be reset when a packet with that source MAC address is received.

mpls

normative-requirement §7.2 MUST

Qualified learning (each customer VLAN mapped to its own VPLS instance with its own FIB and broadcast domain) is the default mode and MUST be supported. Support of unqualified learning (all VLANs of a customer in one VPLS) is OPTIONAL.

mpls

normative-requirement §5 REQUIRED

The capability to manually configure the addresses of remote PEs is REQUIRED; however, auto-discovery procedures (e.g., RADIUS-based or BGP-based) may be used as an alternative.

mpls

normative-requirement §6.1.1 MUST

The MTU interface parameter in the Generalized PWid FEC Element MUST be the same across all PWs in the VPLS mesh.

mpls

protocol-element §6.2

A MAC Address Withdrawal mechanism is introduced using an LDP Address Withdraw Message containing a MAC List TLV to remove or unlearn dynamically learned MAC addresses for faster convergence after topology changes such as a dual-homed link failure.

mpls

protocol-element §10.1

In H-VPLS, a bridging-capable MTU-s requires only a single spoke PW per VPLS instance regardless of the number of ACs, because it performs local MAC learning and replication. A non-bridging PE-r requires one PW per AC since it performs no bridging functions.

mpls

protocol-element §11

In the Ethernet access network hierarchical model, a Provider VLAN (P-VLAN) tag is added to customer traffic within the Ethernet island to identify the VPLS instance, with a one-to-one correspondence between P-VLAN and VPLS instance. This limits VPLS instances per Ethernet island to 4K.

mpls

protocol-element §10.3

Multi-domain VPLS connects fully meshed VPLS networks via a single inter-domain spoke PW per VPLS service between border PEs, creating a three-tier hierarchy: MTU-s to PE-rs (hub-and-spoke), intra-domain PE-rs full mesh, and inter-domain PE-rs full mesh.

mpls

protocol-element §6.1.1

The Generalized PWid FEC Element (FEC type 129) from RFC 4447 is used for VPLS signaling. The AGI (Attachment Group Identifier) field identifies the VPLS instance; TAII and SAII are null because the PW mesh terminates on MAC learning tables rather than individual attachment circuits.

mpls

registry §15

IANA allocated the MAC List TLV type value 0x0404 for use in LDP Address Withdraw Messages to carry lists of MAC addresses to be unlearned in a VPLS instance.

registry, mpls

security-consideration §14 SHOULD

LDP authentication methods as described in RFC 3036 SHOULD be applied to prevent unauthenticated messages from disrupting a PE in a VPLS. Additionally, some means to limit the number of MAC addresses per site per VPLS that a PE can learn SHOULD be implemented to prevent denial-of-service attacks.

security, mpls

security-consideration §14 SHOULD

Traffic isolation between VPLS domains is guaranteed by per-VPLS L2 FIB tables and per-VPLS PWs. Customer traffic SHOULD be encrypted and/or authenticated before entering the service provider network if security is required.

security, mpls

state-machine §10.2.2

For dual-homed MTU-s failover: upon primary PW failure (detected via LDP hello timeout), MTU-s immediately switches to the secondary PW. The PE terminating the secondary PW then sends a MAC flush message (empty MAC List TLV) to all other PE-rs nodes to purge stale MAC-to-PW associations and accelerate convergence.

mpls

state-machine §6.2.2

MAC Address Withdraw processing: for each MAC in the TLV, remove the association between that MAC and the AC or PW over which the message arrived. For an empty MAC list, remove all MAC addresses associated with the VPLS instance except those learned over the signaling PW that carried the withdrawal.

mpls

wire-format §6.2.1

The MAC List TLV has a 2-byte Type field (0x0404), a 2-byte Length field (must be a multiple of 6), followed by one or more 6-octet IEEE 802 MAC addresses. The U bit MUST be set to 1 (ignore if unknown) and the F bit MUST be set to 0 (do not forward).

mpls

wire-format §Appendix A

The PWid FEC TLV (Appendix A) carries: PW TLV type, C bit, PW Type (Ethernet 0x0005 or Ethernet tagged 0x0004), PW info Length, Group ID (32-bit), PWID (32-bit), and variable-length Interface parameters.

mpls