The Multiprotocol Label Switching (MPLS) protocol is used on Internet Protocol (IP) backbone networks. MPLS uses connection-oriented label switching on connectionless IP networks. By combining Layer 3 routing technologies and Layer 2 switching technologies, MPLS leverages the flexibility of IP routing and the simplicity of Layer 2 switching.
MPLS is based on Internet Protocol version 4 (IPv4). The core MPLS technology can be extended to multiple network protocols, such as Internet Protocol version 6 (IPv6), Internet Packet Exchange (IPX), and Connectionless Network Protocol (CLNP). "Multiprotocol" in MPLS means that multiple network protocols are supported.
MPLS is used for tunneling but not a service or an application. MPLS supports multiple protocols and services. Moreover, it ensures security of data transmission.
IP-based routing serves well on the Internet in the mid 90s, but IP technology can be inefficient at forwarding packets because software must search for routes using the longest match algorithm. As a result, the forwarding capability of IP technology can act as a bottleneck.
In contrast, Asynchronous transfer mode (ATM) technology uses labels of fixed length and maintains a label table that is much smaller than a routing table. Compared to IP, ATM is more efficient at forwarding packets. ATM is a complex protocol, however, with high deployment costs, that hinder its widespread use.
Because traditional IP technology is simple and costs little to deploy, a combination of IP and ATM capabilities would be ideal. This has sparked the emergence of MPLS technology.
MPLS was created to increase forwarding rates. Unlike IP routing and forwarding, MPLS analyzes a packet header only on the edge of the network and not at each hop. MPLS therefore reduces packet processing time.
The use of hardware-based functions based on application-specific integrated circuits (ASICs) has made IP routing far more efficient, so MPLS is no longer needed for its high-speed forwarding advantages. However, MPLS supports multi-layer labels, and its forwarding plane is connection-oriented. For these reasons, MPLS is widely used for virtual private network (VPN), traffic engineering (TE), and quality of service (QoS).