One of the reasons is actually MPLS VPN layer 3. That was the killer app. This was the app, or the service, that made MPLS so popular and made every service provider out there use MPLS.
So, what are the benefits of MPLS? Well, one thing it is not: it is not about the faster forwarding of packets. It’s not because we put a label on top of the packet that the lookup will happen faster than an IP lookup. So, forget about this one. This one is just not true. These days, we can forward IP packets, or even IP(IN)IP packets as fast as we can forward MPLS packets. The ASIC’s out there, the hardware forwarding, makes sure these days that the IP forwarding is as fast as MPLS forwarding. A big benefit is the use of the unified network infrastructure. So, basically today, we can forward IP, IPv4, IPv6, all kinds of layer 2 frames like Ethernet and Frame Relay, ATM cells and so on over a unified infrastructure. So if this network is running MPLS, it can forward all of these services. A big benefit back in those days was the better IP over ATM integration. They tried a few times to have IP integrated over ATM; none of the attempts were very successful. With MPLS, it was much better. But guess what, ATM just died very quickly so now we are just left with MPLS and no ATM. A big benefit to service providers is a BGP-free core. As we see in the past, they had to run BGP on all of their routers. Now, they will just need to run BGP on the edge routers and no longer in the core. Another benefit is the optimal traffic flow. Instead of working with virtual circuits and forwarding the traffic in a non-optimal traffic flow, if the service provider deploys MPLS, the traffic flow will always be optimal throughout the network. And then the big one- the big benefit is really the peer-to-peer model that is used by MPLS VPN layer 3 as we will see on the next slides. And then finally, traffic engineering, or source-routing, is about forwarding the traffic through the network but not on the shortest path.
So what about the BGP-free core? Well, as I mentioned in the past, a service provider had to deploy BGP and make sure it was running on all of their routers so that the traffic typically toward the internet could be forwarded by every router in the network. But once the service provider deploys MPLS in the network, this is no longer needed. If the service provider deploys MPLS, he just needs to make sure that BGP is running on the edge routers. Because if we are forwarding traffic through the network, let’s say from router A to router B, the edge router will do an IP lookup of the destination IP address, of course, will find the BGP router in the routing table and there will be a next stop associated with that BGP prefix. The BGP next stop is typically the loopback IP address of the remote edge router so the egress router in the MPLS network. And that lookback address is typically known throughout the network in the IGP or the interior gateway protocol. OSPF, ISIS, EIGRP, and so on. The edge router will then slam one or more labels on top of the packet and the core routers will be forwarding the packets based on the label lookup and no longer on an IP lookup. So because they don’t do an IP lookup, these core routers, they don’t need to have the route, the BGP route, and the routing table hence they do not need to run BGP at all.
So, when you have a look at the packet forwarding through the network, when we receive an IP packet, this edge router will slam one or more MPLS labels on top of the IP packet and the packet will be forwarded through the network and the egress route will just remove the MPLS labels and forward the packet as an IP packet. These core routers only do a lookup of the MPLS label in a special table. They will no longer do an IP lookup through the routing table.
Optimal traffic flow… In the past, we had WAN protocols running here: ATM, frame relay, X25, and so on. And typically, this service was built by using virtual circuits. And virtual circuits were typically very costly. That’s why, if a customer wanted to transport its traffic over the service provider network, it typically opted for getting as least amount of virtual circuits as possible. But it typically went for a hub-and-spoke solution, where we had all of the virtual circuits towards a hub side, that we have here, router B. That meant that all the traffic was going from the spokes to the hub and from the hubs to the spoke. But in some cases, we might have traffic going from spoke to spoke while the traffic had to go through the hub and back out through the core of the network towards the remote spoke. So this is not really optimal.
With MPLS, we will always have optimal traffic flow. So from any side to any other side, the traffic flow through the MPLS core will take the least-cost path or the optimal path.
And then the big one- the peer-to-peer model for MPLS VPN layer 3. Again, in the past, we had WAN protocols here. We had ATM, Frame Relay, X25, and so on with virtual circuits deployed in the core of the network. This meant, however, that when we connect the customer to the service provider network, these customer routers did not peer at layer 3 with the provider routers. The customer routers, router A, B, and C in this case, they had layer 3 adjacency, or routing protocol adjacency, directly between them, over the virtual circuits, over the service provider network.
However, with MPLS VPN and MPLS VPN layer 3 specifically, the customer routers A, B, and C, they now peer directly layer 3 wise with their connected provided edge router, here. So we have a layer 3 adjacency or routing protocol adjacency between the customer router and the service provider router that we have here.
What are the benefits of this? Well, there are many benefits or advantages of this. First of all, again, we have the optimal traffic flow throughout the network, even without a full mesh virtual circuits as we had with WAN protocols. A big one is the better manageability. When a customer added one router in the past with the WAN protocols, the service provider had to deploy several virtual circuits from the newly deployed side to the existing side. And this was a pain to keep track of. Now with MPLS VPN layer 3, the service provider just needs to hook up one provider edge router and create a layer 3 adjacency or routing protocol adjacency with a directly connected customer router. So that’s much easier. So, provisioning-wise, this was much easier for the service provider. And also the scalability is a lot better because we don’t have to deal with virtual circuits anymore. Now, to be fair, this is also a disadvantage for the peer-to-peer model. It is that the service provider needs to participate in the routing with the customer. So, the service provider needs to set up a routing protocol adjacency with the customer edge routing. It also means, of course, that it receives all of the routes and prefixes onto its edge routers.
And the final one is traffic engineering or source routing. If you look at this network, then in the past it was impossible for router A and B to forward traffic to router E and make sure the traffic took the bottom path. Why? Because the top path is the shortest path. So, if the traffic was IP traffic, then router C, no matter what would always do an IP lookup of the destination address in its routing table and forward the traffic over the top path. With MPLS, we can do something else, we can do source routing. Router A and B can put labels on top of the package so that router C is forced to forward the traffic over the bottom path. Router C is just a lookup of a label and forwards the traffic based on that. It no longer does an IP lookup. And this gives us the possibility of doing source routing or traffic engineering.