By request from Nassim in Algeria, a non-technical post on MPLS.

There is multiple ways to use MPLS: Basic MPLS, MPLS-TE, MPLS-VPN, Multicast over MPLS.

The goal of Basic MPLS was to improve packet switching in a network. You could use basic MPLS in an Enterprise Network or in a Provider Network. With MPLS, instead of looking for the IP destination on each router, the first router will decide the path across the network, the other routers will only switch the packet. A path is called a Label Switch Path (LSP).

How it works? Well first, you need a routing protocol (IGP). This IGP, typically IS-IS or OSPF, will synchronize and allow each router to have a complete routing table in memory.

Let’s take a simple network with only two networks (A and B) represented in the routing tables :

Only 2 networks a and B will be used for this demo.

So the IGP will established a routing table in each router :

Basic network after IGP synchronization

The LDP process defines label values for each destination in the routing table. Labels are locally significant. That means significant only for the router that originate those labels.

LDP defines labels

The LDP process exchange the label values between the neighbors at the end of the exchange, we will have this status for LDP information :

LDP Synchronization

Based on the routing table and the LDP table, the routers will established the LSP. For example, R1 knows that B is in the direction of R2 and knows that R2 wants 37 as a label for B. So if R1 needs to send a packet to B. It will impose the label (add the label) 37 and send it to R2.

R3, using the same demonstration, will send a packet destinated to B, to R4 with label 25. But also, R3 knows that other routers will send packets destinated to network B to him with label 25 (it is the same but it could have been different.). So if it receive a packet with label 25, it should switch the label from 25 to 25 and send it to R4 .

Each router will do the same process. At the end to go from A to B, we’ll have :

R5 at the end will pop (remove) the label. When R1 will need to send a packet to B, it will be able to select an LSP up to R5. In fact, R1 will add a label (37) on the packet and send it to R2. R2 will not look at layer 3 information but just swith label to pass it to R3 and so on… In fact, I didn’t explain Penultimate Hop Popping. I might explain it in a future post.

This way of doing MPLS is deprecated. Most service providers want to use MPLS-TE instead. With MPLS-TE, you’ve got more control on the path inside the network and you could do some bandwidth reservation. Also doing basic IP routing is not really common on a MPLS network. People want to use application on top of it, like MPLS-VPN or Multicast over MPLS. But that’s the beginning of the MPLS  explanation. Version française.


About Charles Perroquin

Networking all over the world, Africa, Middle East, Central Asia, Europe. Data Center, Telephony over IP, Security. Mainly with Cisco.
This entry was posted in MPLS and tagged , , , . Bookmark the permalink.

One Response to MPLS

  1. Pingback: MPLS | Networking

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s