During my CCIE R&S studies I purposely avoided creating any content related to MPLS (Multiprotocol Label Switching). The problem with MPLS is that once you start talking about it, you are opening the doors to a much larger and deeper discussion on various other technologies. At the time, I didn’t feel quite prepared to embark on this path but after spending several months exploring this technology, I think I can bring some valuable input on the matter. This will be the first out of several posts on MPLS.
I still remember first hearing about MPLS from other engineers back when I was still new in the networking industry. They explained to me that it could do VPN’s, traffic engineering, advanced switching, guarantee bandwidth and basically solve any problem I’ve ever had or would ever have. I was really impressed by all of this and wanted to learn more so I looked it up on my good old search engine to find some more information. To my surprise, the only information I could find on MPLS was that it was some kind of technique to direct packets based on labels. I did find a lot of other documentation talking about MPLS and MP-BGP, VRF’s, RSVP, LDP/TDP, etc. but all of that was way over my head and too complicated for me at the time. Fast forward a couple of years and I wish that at the time those network engineers would have explained MPLS to me in a clearer manner for me to grasp. Let me attempt to explain MPLS in the way I think they should of.
What is MPLS?
Multiprotocol Label Switching (MPLS) is, like I said before, a technique to direct packets based on labels. The key word to remember in this sentence is “technique” and note that technique does not mean it is a service. What i’m trying to say here is that MPLS doesn’t really do anything on its own, it is simply a way to enable services using other technologies and protocols. In fact, the real use case of MPLS is that it creates a new forwarding paradigms that is not available in conventional IP routing. The role of this paradigm is to de-couple IP packet forwarding from the information carried in the packet header itself thus allowing us to forward packets based on labels.
So if MPLS is just a technique and does not do anything on its own, why should I care to implement it in my network?
Well the benefits of MPLS, using this new forwarding paradigm, is that it enables you to create new services for your network. Some of these services are:
-VPN’s: VPLS, EoMPLS, L3 MPLS, MVPN, 6PE, 6VPE
-Traffic Engineering and congestion management: MPLS-TE, RSVP-TE
-Failover services: FRR, Link and Node protection
How does it work?
This is what an MPLS label looks like:
Pretty simple isn’t it? This label is inserted between the Layer 2 Header and Layer 3 portion of a packet by using protocol’s like Label Distribution Protocol (LDP) or Tag Distribution Protocol (TDP) as below:
Once packets are tagged or labeled, there are different ways to create MPLS services by using BGP, RSVP, VRF’s and other protocols but I will cover this in future blogs.
The important point to remember from all of this is that MPLS is a technique that creates a new forwarding paradigm and uses several other protocols and technologies to enable services used in today’s modern networks. In my next post, I will go over one of the more popular use-cases for MPLS right now: MPLS L3VPN’s.