Consider this scenario: An IP packet is received on any interface of a router. A router is going to receive it at the physical layer. The router is going to hand over that to data link layer. DLL will perform some checking and forward this packet to Network layer for further processing. The network layer is going to decapsulate the packet and check the destination IP Address. Then after looking at the routing table, it will come to know where to forward the packet ie. To which next hop and out of which interface.
Ok cool… But it will happen with all the packet that are received by the router. Even if you are using Fast Switching or CEF; routing table needs to be updated completely otherwise whichever router is not having destination entry in the routing table, is going to drop the packet. If the size of the routing table is small then it’s not a problem.
The problem arises when we talk about the internet. According to APNIC,
“At the start of the year the BGP routing table in AS131072 had 529,880 entries, and at the end of the year, it had 586,918 entries. The routing table grew by 57,038 entries through the year “right?”
You know what that means. It means that if we want to manage the internet we have to handle that much amount of routes. More importantly, each router on the internet and on the customer end has to manage that much of network, which is not a feasible solution. Placing very high-end devices everywhere is going to cost a lot.
But the question is, why all the routers have to manage all the routes? And the answer no, they don’t have to. That’s where MPLS comes in. It got its name because it can work with any protocol like IP, ATM, and frame relay. It is a layer 2.5 protocol which has basically two major responsibilities:
- Map onto any L2 protocol
- Check IP packet when arrived and send it to the other routers but not on the behalf of IP. On the behalf of pre-calculated labels.
Here we are going to list some terminologies and definition that are mostly used in MPLS.
Multi-Protocol Label Switching; It is a packet forwarding technique which uses labels instead of IP to forward the data. Mainly beneficial in VPN, traffic engineering, QoS and AToM.
Forward Equivalence Class; A group of a packet which is forwarded in the same manner, over the same path and with same attributes applied.
4-byte long id used to identify an FEC. There can be multiple labels in a same packet ie. Top label, bottom label.
Label Distribution Protocol; used for distributing the labels in an MPLS domain.
Label Edge Router; A router working as ingress or egress node and is responsible for adding or removing the labels from the packet.
Label Switched Path; a path selected on the basis of labels.
Label Switched Router; A router that forwards the packets on the behalf of their labels.
- Traffic Engineering:
It is the ability to control the selected path based on bandwidth, QoS and so on.
Label Information Base; the MPLS table where router puts all the known labels.
Label forwarding Information Base; a table used by the router to forward labeled packets.
- Provider Router:
A router that is doing label switching only. This router can work without internet routes or customer routes.
- PE Router:
A provider edge router at the customer facing end which has a responsibility of imposing and popping off the MPLS label.
- CE Router:
Customer edge router is that router at customer end which talks to PE router.
- Ingress Node:
Generally, a device that is the entry point of the MPLS network. It adds the label information over the packet.
- Egress Node:
It is the end point of the LSP. It removes the label.
- Penultimate Hop Popping:
A technique where that label is removed on next to the last hop.
Resource Reservation Protocol used in Traffic Engineering to reserve some bandwidth value throughout the LSP.
- Virtual Leased Lines:
Also called as Layer 2 Pseudowire; it is an L2 p2p circuit delivered over MPLS. It can come handy in migrating legacy transport like ATM.
- MPLS Fast-Reroute:
A technique of Pre-calculating the backup paths before the failure actually occurs. These backup paths are pre-programmed in FIB waiting for the activation. If a failure occurs, a switchover can happen in milliseconds.
Shared Risk Link Groups; A technique which allows us to define the links that share common risks. This can force the backup paths to follow different SLRG links.