In the previous MPLS Components post, we discussed the many benefits that MPLS can bring to the network, and we detailed the typical components found in a Layer 3 MPLS VPN design. In this post, we will provide more details for the MPLS components and their important, inner workings. We will make reference to the previous diagram in this post as well:
When PE1 receives a packet from CE1, it will engage in what we call a Push operation. PE1 is considered the ingress PE router and engages in label imposition. (Notice that we like to speak in fancy terminology here; when we add a label to a packet, it is termed a push or an imposition).
The P routers in the scenario will move the packets by simply swapping labels. How are the labels used in the Label Switch Path (LSP) learned by all of the routers? This is the job of the Label Distribution Protocol, or other existing protocols, but that is for later blog posts.
At the egress PE2 device, we have label disposition, or what we call a Pop of the label. (Fancy language for the removal of the label). If the second to last device in the path removes the label for us, this is termed Penultimate Hop Popping (PHP) and is the default Cisco implementation.
So we have pointed out that our example relies upon the Label Distribution Protocol (LDP) for the assignment of labels through the Label Switch Path (LSP). But how does LDP assign these labels? On what does it base its information?
It turns out that LDP relies upon the underlying IGP to build the best path for the LSP through the network. In fact, it also relies upon the IGP for loop free pathing.
This relationship between LDP and the IGP has many interesting aspects. For example, if the IGP reconverges on a new best path, so will the LSP through LDP. If there is a loop created or a blackhole situation created by the IGP reconvergence, this will also impact the LSP. Also, consider convergence times. LDP is certainly bound by the convergence time of the underlying IGP. Finally, consider the fact that this reliance brings up the need for inter-AS MPLS mechanisms for LDP.
The last point I want to discuss in this part is the fact that we often have label stacking with MPLS. In the case of our Layer 3 MPLS VPNs in the R&S track, the outer label (or transport label), is used to move the packet through the LSP, while the inner label is used to identify the VPN site. This is often called the VPN label.
Well, I certainly hope you are enjoying the posts on MPLS and there will be many more to come.