$linuxjunkies
>

MPLS

also: Label Switching, LSR, LSP

Multiprotocol Label Switching (MPLS) is a forwarding mechanism that uses labels instead of traditional IP routing to direct data packets through a network, enabling faster packet processing and traffic engineering.

MPLS inserts short fixed-length labels between the data link layer and network layer, allowing routers (called Label Switch Routers or LSRs) to forward packets based on label lookups rather than complex IP routing table searches. This approach decouples packet forwarding from IP routing, making it more efficient for large networks.

When a packet enters an MPLS domain, an ingress router assigns it a label based on its destination, QoS requirements, or other policies. Each subsequent router examines only the label (not the full IP header) to determine the next hop, then swaps the label before forwarding. This creates a Label Switched Path (LSP)—a predetermined route through the network.

A common use case is in service provider networks for traffic engineering and implementing Virtual Private Networks (VPNs). For example, an ISP might use MPLS to guarantee bandwidth for a customer's video traffic by assigning it a specific labeled path separate from best-effort traffic, ensuring consistent quality of service.

Related terms