Multipoint LSP

Multipoint LSP

The Internet Draft introduces the Label Distribution Protocol (LDP) extensions for point-to-multipoint (P2MP) and multipoint-to-multipoint (MP2MP) Label Switched Paths (LSPs) in MPLS networks. These extensions are also called mLDP or Multipoint LDP. Of the various applications for multipoint LSPs, one is support for multicast in MPLS VPN. Previously, this was achieved through mVPN.

LDP RFC introduced the mechanism to setup point-to-point LSP (P2P) in the MPLS network where there is a single source and single destination. However, a P2MP LSP allows traffic from a single ingress router (root node) to be delivered to multiple egress routers (leaf nodes). A MP2MP LSP allows traffic from multiple ingress routers to multiple egress routers. At any point, a single copy of packet is sent to any LSP without any multicast routing protocol in the network.

Setting up a P2MP LSP with LDP

Traditionally, LDP-signaled LSPs are initiated by the egress router. The egress (receiving) router initiates the label propagation and is propagated throughout the MPLS network. All LSRs maintain a forwarding state towards the egress router following the shortest IGP path, and any LSR can act as an ingress LSR. This, essentially, sets up a multipoint-to-point (MP2P) LSP as multiple senders can send traffic to a single receiver.

In contrast, a P2MP LSP has a single ingress (root) node and one or more egress (leaf) nodes. The transit nodes provide reachability to the root node. Leaf nodes initiate P2MP LSP setup. The leaf nodes should be aware of the ingress router. Also, the leaf nodes should be able to identify the correct P2MP LSP as several P2MP LSPs could be originated from the ingress router. A new Capability Parameter is introduced for P2MP capability which is exchanged using LDP Initialization message. A new P2MP FEC Element is defined which carries the IPv4 address of the root and an Opaque value (also called tree identifier and is manually configured VPN ID). This combination uniquely identifies a P2MP LSP within the MPLS network.

Leaf node allocates a label and advertises its P2MP Label Mapping {Root IP Address, Opaque Value, Label} to the upstream LDP node on the shortest path to the root. The upstream node creates its own Label Mapping on receiving this from its downstream node. When the root node receives this P2MP Label Mapping from its downstream (transit) node, it checks the forwarding state for {Root IP Address, Opaque Value}. If not, it creates the forwarding state and pushes this "Label" onto all traffic that is forwarded over this P2MP LSP.

In P2MP LSP, the rule for distribution is to advertise a label only towards the neighbor that lies on the IGP best path to the root. Thus the sender of the label determines the best path to the root.

Setting up a MP2MP LSP with LDP

A MP2MP LSP is similar to P2MP with a single root and one or more leaf nodes acting equally as ingress or egress nodes. A leaf node participates in MP2MP LSP by establishing a downstream LSP and an upstream LSP. The downstream LSP is like a P2MP LSP from the root while the upstream LSP is used to send traffic towards the root and other leaf nodes. Traffic from a leaf node follows the upstream LSP path to the root node and branches downward along the downstream LSP as required to reach other leaf nodes.

Two new FEC elements are defined for the setup of MP2MP LSP with LDP- the MP2MP downstream FEC and the MP2MP upstream FEC Element.

The leaf node determines its Upstream LSR for {Root IP Address, Opaque Value}, allocates a label and sends the label {Root IP Address, Opaque Value, Label} to it. This is also called MP2MP-D Label Map and this is same as in P2MP LSP. In return, it expects a response to MP2MP-D Label Map.

The Transit node (Upstream node) checks whether it has a forwarding state for {Root IP Address, Opaque Value}. If not, it allocates a label. It then responds with a MP2MP-U Label Map to its downstream node. It follows the same process with its upstream node until it reaches the root node. The root node will send all traffic over MP2MP LSP with the label value assigned by its downstream router.

Further reading:

  1. http://tools.ietf.org/html/draft-ietf-mpls-ldp-p2mp-04#page-12
  2. http://blog.ine.com/2010/02/08/the-long-road-to-m-lsps/
  3. http://blog.ine.com/2010/03/08/using-mpls-and-m-ldp-signaling-for-multicast-vpns/comment-page-1/#comment-108787