Multiprotocol Label Switching (MPLS) is a routing technique that augments speed and control of the network traffic by directing data from one node to the next node based on short path labels. Instead of being routed using long network addresses, the data packets are routed through path labels that identify virtual paths between the nodes rather than endpoints. MPLS speeds up traffic flows by avoiding complex lookups in the routing table at each node as in conventional routing algorithms.
MPLS is a scalable and protocol-independent routing technique. It works with Internet Protocol (IP), Ethernet, Frame Relay and Asynchronous Transport Mode (ATM). Despite the advent of newer technologies, it remains relevant due to its features like security, flexibility and traffic engineering.
MPLS works by prefixing 32-bit labels with the MPLS header. The 32-bit label contains four fields −
Label value field of 20-bits
Traffic class field of 3-bits for QoS (quality of service)
Bottom of stack flag of 1-bit (1 value denotes that the current label is the last one in the stack)
TTL (time to live) field of 8-bits
When an IP packet enters the MPLS network, the 32-bit MPLS label is added by the ingress router, which is a label edge router (LER). LER decides the virtual path called label-switched path (LSP) that the packet will follow until it reaches its destination.
The subsequent label-switching routers (LSRs) along the LSP, forwards the packet based upon only the MPLS labels. They do not look beyond the MPLS label to the IP header.
When the packet reaches the egress router (also an LER), the MPLS labels are removed and the original IP packet is forwarded towards the final destination. The mechanism is depicted in the following diagram −