Introduction
MPLS is nothing more than another method of encapsulation which is primarily used for L2/L3 VPNs and traffic engineering
Lets imagine a simple IP Transit network
Looking at the diagram we can see that each router needs to know how to reach both Network A and Network B for the endpoints to be able to talk to each other properly. If we were to think further and scale this up to a global network, we would have to install around 1 million IPv4 prefixes along with IPv6 on each of the routers for the internet transit to work properly. This, as you can probably think, comes with financial and convergency downsides
So the main goal of MPLS is to remove unnecessary load from transit routers and the most obvious solution for this is to build a tunnel between Edge routers (R1 and R6) with dynamic routing protocol running in it
Another important point is traffic isolation and to explain this further lets add two more networks to our diagram - network C and network D.
Let's assume that Network A needs to be able to talk to Network B and network B only. And Networks C and D need to be able to talk to each other. Let's also make it a bit more realistic and imagine that:
- Network A is in the same address space as Network B and, at the same time, overlap with Network C and Network D. Here we will need a Layer 2 VPN to isolate those while providing end to end connectivity through the core.
- Network A and B are in different address spaces but still need to be isolated while allowing for traffic delivery. Here we will need Layer 3 VPN through the core
MPLS allows for such segregation and traffic delivery. More on this further

