Friday, June 28, 2013

Why MPLS



For describing purposes lets divide Internet Service Providers into three categories. They are:
  • Layer 1 (e.g.: SLT)
  • Layer 2 (e.g.: Etisalat, Mobitel, Dialog)
  • Layer 3 (not present in Sri Lanka)
In IP routing, Router maintains two tables for routing purposes. Namely RIB (Router Information Base) and RIFB (Router Information Forwarding Base). First router looks at all the networks connected to it. Then build up the RIB including all the IPs of externally connected networks. Using RIB router builds another table called RIFB. That table includes shortest/best path of a particular source and destination. When a packet arrives to a Router, router will first check the RIFB for the destination IP. Then it will do another router lookup to find out next hop. So for each packet two router lookups needed. If this packet goes through thousands of routers in the internet it will take lot of time. Additionally at each hop source and destination MAC (Media Access Control) addresses changed. To speed up the process of packet traversing in the internet we use MPLS. 

Using Label Distribution Protocol (LDP) routers distribute their labels. LDP is not a routing protocol as OSPF (Open Shortest Path First) or IS-IS (Intermediate System to Intermediate System). As in previous case (in IP routing) in MPLS routers build two tables namely LIB (Label Information Base) and LIFB (Label Information Forwarding Base). LIB consists of labels of connected networks. And LIFB consist of label mapping of the networks. No data loss occurs as in previous case, only label switching happens. Now a large table with labels build up. To overcome, we can use a protocol like BGP (Border Gateway Protocol). Following figure will give you an idea of how a LFIB - MPLS table looks like.