MPLS

Multi-protocol Layer Switching is a protocol-independent transport. It operates between layer 2 and 3 of OSI and therefore, sometimes is called layer 2.5 protocol. It meant to eliminate 10% overhead of ATM and allows variable size frames. An MPLS header is prepended to a packet:

Label (20 bits)!QoS and ECN (3 bits)Bottom of Stack (1 bit)TTL (8 bits)

Labels used to be processed by routers in the hardware much faster than IP packets in CPUs but their presence must be indicated to the router. In case of Ethernet frames this is done by !EtherType field equaled to 0x8847 and 0x8848 for unicast and multicast frames respectively. Nowadays technology advances allow routing IP traffic at the fabric level by using special memory such as FIB in Cisco routers.

Labels are distributed between Label Switch Routers (LSRs) and Label Edge Routers (LERs) using Label Distribution Protocol (LDP).

Label Switched Paths (LSPs) are established by network operators for a variety of purposes, including MPLS VPNs. LSPs are very similar to PVCs in ATM or Frame Relay but not dependent on L2 technology.

MPLS is capable of traffic engineering meaning that not only the shortest path is used but also the available bandwidth is taken into a consideration, avoiding sending data over congested links.