The Label Distribution Protocol (LDP) is used to establish MPLS transport LSPs when traffic engineering is not required. It establishes LSPs that follow the existing IP routing table, and is particularly well suited for establishing a full mesh of LSPs between all of the routers on the network.
LDP can operate in many modes to suit different requirements; however the most common usage is unsolicited mode, which sets up a full mesh of tunnels between routers.
- In solicited mode, the ingress router sends an LDP label request to the next hop router, as determined from its IP routing table. This request is forwarded on through the network hop-by-hop by each router. Once the request reaches the egress router, a return message is generated. This message confirms the LSP and tells each router the label mapping to use on each link for that LSP.
- In unsolicited mode, the egress routers broadcast label mappings for each external link to all of their neighbors. These broadcasts are fanned across every link through the network until they reach the ingress routers. Across each hop, they inform the upstream router of the label mapping to use for each external link, and by flooding the network they establish LSPs between all of the external links.
The main advantage of LDP over RSVP is the ease of setting up a full mesh of tunnels using unsolicited mode, so it is most often used in this mode to set up the underlying mesh of tunnels needed by Layer 2 and Layer 3 VPNs.
LDP for MPLS Services
LDP is used to establish MPLS service LSPs. The basic service is a pseudowire, which as its name implies, can be used to simulate any type of wired service. A pseudowire can carry almost any kind of traffic, Layer 2 packets (for example Ethernet), L3 packets, ATM cells, Frame Relay, TDM circuits etc. Given this flexibility, pseudowires are widely used in Carrier Ethernet and Mobile Backhaul.
Simple pseudowires are bi-directional point-to-point. However, they can be extended simply to provide point-to-multipoint capability. For example, a Layer 2 VPN is created by establishing a mesh of pseudowires between VPN end points and using Ethernet switching to route packets into the correct pseudowire.
Metaswitch's MPLS software, DC-MPLS, fully supports LDP in both solicited and unsolicited modes.