• United States

Understanding MPLS Label Stacking

Jan 29, 20083 mins
Cisco SystemsMPLS

In the last two posts I discussed the role of FECs in MPLS networks, and implicit and explicit null labels. In this brief post I’d like to discuss MPLS label stacking, as a preliminary to a couple of posts on MPLS VPNs.

Label stacking is the encapsulation of an MPLS packet inside another MPLS packet – that is, adding an MPLS header “on top of” (hence stacking) an existing MPLS header. The result of stacking is the ability to tunnel one MPLS LSP inside another LSP.

Figure 1 (click here to see Figure 1) shows an example of label stacking. LSP 1 is tunneled inside LSP 2; the ingress, transit, and egress routers for LSP 2 are shown. At the ingress router, an MPLS packet (belonging to LSP 1) arrives with a label of 22. Rather than the SWAP that an MPLS switching table would normally perform, in this case the table specifies a PUSH: An MPLS encapsulation. So a header is added with a label of 18 and the packet is forwarded out interface 1 to the next router.

Notice that across LSP 2 all the switching is performed on the outer label; the inner label is never observed or changed until the outer header is removed and the packet egresses LSP 2.

So why is label stacking important?

One reason is in order to take advantage of the positive aspects of both of the LSP signaling protocols, Label Distribution Protocol (LDP) and Resource Reservation Protocol with Traffic Engineering Extensions (RSVP-TE).

The primary advantage of LDP is that is scales well. It signals LSPs hop-by-hop, and so routers along the path do not have to maintain state for each LSP. Therefore LDP is useful in edge applications such as VPNs where hundreds or thousands of LSPs are originated and terminated. But LDP has no traffic engineering capabilities; it just follows the IGP shortest path to find LSP end-points.

RSVP-TE, on the other hand, supports traffic engineering, enabling efficient infrastrucure resource utilization and some very useful link and node protection features (perhaps the subject of a future post). You can specify a number of constraints on the path an LSP takes, diverging from the IGP shortest path. To do this, RSVP-TE signals LSPs end-to-end; and as the name implies, it reserves infrastructure resources. And those reservations mean that the routers must keep state for each of the LSPs it maintains (ingress, transit, or egress), and thus RSVP-TE does not scale as well as LDP.

Large-scale MPLS networks can take advantage of the best characteristics of both of these protocols by using LDP for the large numbers of service- and customer-specific LSPs originating and terminating at the network edge, using RSVP-TE to create traffic-engineering LSPs between PoPs, and then tunneling the LDP-signaled edge LSPs inside of the RSVP-signaled core LSPs.

Another application for label stacking is in the creation of MPLS VPNs. That’s really the point of covering stacking in this post, and the subject of the next couple of posts. Stay tuned.