Multiprotocol Label Switching (MPLS) is a routing technique in telecommunications networks that directs data from one node to the next based on labels rather than network addresses. Whereas network addresses identify endpoints, MPLS labels identify established paths between endpoints. MPLS can encapsulate packets of various network protocols and supports a range of access technologies, including T1/E1, ATM, Frame Relay, and DSL.

MPLS was originally developed to improve packet forwarding by reducing the reliance on complex routing table lookups. With the introduction of hardware-based forwarding engines, forwarding speed is no longer the main reason for deployment, and MPLS today is more often used for traffic engineering, differentiated services quality of service, and BGP/MPLS IP virtual private networks (VPNs).

In an MPLS network, packet-forwarding decisions are made solely on the contents of labels, without the need to examine the packet itself. This allows for the creation of end-to-end connections across any type of transport medium, using any protocol. The primary benefit is to eliminate dependence on a particular OSI data link layer technology, and eliminate the need for multiple layer-2 networks to satisfy different types of traffic. Multiprotocol label switching belongs to the family of packet-switched networks.

MPLS operates at a layer between traditional definitions of OSI Layer 2 (data link layer) and Layer 3 (network layer), and is often referred to as a layer 2.5 protocol. It was designed to provide a unified data-carrying service for both circuit-based clients and packet-switching clients which provide a datagram service model. It can be used to carry many different kinds of traffic, including IP packets, as well as native Asynchronous Transfer Mode (ATM), Frame Relay, Synchronous Optical Networking (SONET) or Ethernet.

MPLS can exist in both an IPv4 and an IPv6 environment, using appropriate routing protocols. The major goal of MPLS development was the increase of routing speed. This goal is no longer relevant because of the usage of newer switching methods such as ASIC, TCAM and CAM-based switching able to forward plain IPv4 as fast as MPLS labeled packets. Now, therefore, the main benefit of MPLS is to implement limited traffic engineering and layer 3 or layer 2 service provider type VPNs over IPv4 networks.

MPLS is standardized by the IETF in . It is deployed to connect as few as two facilities to very large deployments. In practice, MPLS is mainly used to forward IP protocol data units and Virtual Private LAN Service (VPLS) Ethernet traffic. Major applications of MPLS are telecommunications traffic engineering and MPLS VPN. MPLS works in conjunction with the Internet Protocol (IP) and its routing protocols, usually interior gateway protocols (IGPs) and supports the creation of dynamic, transparent virtual networks with support for traffic engineering, the ability to transport layer VPNs with overlapping address spaces, and for layer-2 pseudowires that are capable of transporting a variety of transport payloads (IPv4, IPv6, ATM, Frame Relay, etc.).

History

In 1996 a group from Ipsilon Networks proposed a flow management protocol. Their IP Switching technology, which was defined only to work over ATM, did not achieve market dominance. Cisco Systems introduced a related proposal, not restricted to ATM transmission, called Tag Switching with its Tag Distribution Protocol (TDP). It was a Cisco proprietary proposal, and was renamed Label Switching. It was handed over to the Internet Engineering Task Force (IETF) for open standardization. The IETF formed the MPLS Working Group in 1997. Work involved proposals from other vendors, and development of a consensus protocol that combined features from several vendors' work.

Some time later it was recognized that the work on threaded indices by Girish Chandranmenon and George Varghese had invented the idea of using labels to represent destination prefixes that was central to tag switching.

One original motivation was to allow the creation of simple high-speed switches since for a significant length of time it was considered impractical to forward IP packets entirely in hardware. Advances in VLSI and in forwarding algorithms have made hardware forwarding of IP packets possible and common. The current advantages of MPLS primarily revolve around the ability to support multiple service models and perform traffic management. MPLS also offers a robust recovery framework that goes beyond the simple protection rings of synchronous optical networking (SONET/SDH).

A number of different technologies were previously deployed with essentially identical goals, such as Frame Relay and ATM. Frame Relay and ATM use labels to move frames or cells through a network. The header of the Frame Relay frame and the ATM cell refers to the virtual circuit that the frame or cell resides on. The similarity between Frame Relay, ATM, and MPLS is that at each hop throughout the network, the label value in the header is changed. This is different from the forwarding of IP packets.

MPLS technologies have evolved with the strengths and weaknesses of ATM in mind. MPLS is designed to have lower overhead than ATM while providing connection-oriented services for variable-length frames, and has replaced much use of ATM in the market. MPLS dispenses with the cell-switching and signaling-protocol baggage of ATM. MPLS recognizes that small ATM cells are not needed in the core of modern networks, since modern optical networks are fast enough that even full-length 1500-byte packets do not incur significant real-time queuing delays. At the same time, MPLS attempts to preserve the traffic engineering (TE) and out-of-band control that made Frame Relay and ATM attractive for deploying large-scale networks. MPLS networks replaced SONET/SDHhttps://www.lightwaveonline.com/network-design/dwdm-roadm/article/14206263/nokia-replaces-sdh-with-ip-mpls-and-dwdm-for-red-electrica https://ieeexplore.ieee.org/document/846090/ and have been replaced in many applications by SDWAN and corporate VPN solutions.

Dates

1994: Toshiba presented Cell Switch Router (CSR) ideas to IETF BOF 1995: George Varghese and Girish Chandranmenon published paper on threaded indices, a form of label switching, at ACM SIGCOMM annual conference 1996: Ipsilon, Cisco and IBM announced label-switching plans 1997: Formation of the IETF MPLS working group 1999: First MPLS VPN (L3VPN) and TE deployments 2000: MPLS Traffic Engineering 2001: First MPLS Request for Comments (RFC) published 2002: AToM (L2VPN) 2004: GMPLS; Large-scale L3VPN 2006: Large-scale TE "Harsh" 2007: Large-scale L2VPN 2009: Label Switching Multicast 2011: MPLS transport profile

Operation MPLS works by prefixing packets with an MPLS header, containing one or more labels. This is called a label stack.

Each entry in the label stack contains four fields:

These MPLS-labeled packets are switched based on the label instead of a lookup in the IP routing table. When MPLS was conceived, label switching was faster than a routing table lookup because switching could take place directly within the switched fabric and avoided CPU and software involvement.

The presence of such a label has to be indicated to the switch. In the case of Ethernet frames this is done through the use of EtherType values 0x8847 and 0x8848, for unicast and multicast connections respectively.

Equipment

Label switch router An MPLS router that performs routing based only on the label is called a label switch router (LSR) or transit router. This is a type of router located in the middle of an MPLS network. It is responsible for switching the labels used to route packets.

When an LSR receives a packet, it uses the label included in the packet header as an index to determine the next hop on the label-switched path (LSP) and a corresponding label for the packet from a Label Information Base. The old label is then removed from the header and replaced with the new label before the packet is routed forward.

Label edge router A label edge router (LER, also edge LSR (which is "technically more correct") or simply edge router) is a router that operates at the edge of an MPLS network and acts as the entry and exit points for the network. LERs push an MPLS label onto an incoming packet and pop it off an outgoing packet. Alternatively, under penultimate hop popping this function may instead be performed by the LSR directly connected to the LER.

When forwarding an IP datagram into the MPLS domain, a LER uses routing information to determine the appropriate label to be affixed, labels the packet accordingly, and then forwards the labeled packet into the MPLS domain. Likewise, upon receiving a labeled packet that is destined to exit the MPLS domain, the LER strips off the label and forwards the resulting IP packet using normal IP forwarding rules.

Provider router In the specific context of an MPLS-based virtual private network (VPN), LERs that function as ingress or egress routers to the VPN are often called provider edge (PE) routers. Devices that function only as transit routers are similarly called provider (P) routers. The job of a P router is significantly easier than that of a PE router.

Label Distribution Protocol Labels may be distributed between LERs and LSRs using the Label Distribution Protocol (LDP) or Resource Reservation Protocol (RSVP). LSRs in an MPLS network regularly exchange label and reachability information with each other using standardized procedures in order to build a complete picture of the network so that they can then use that information to forward the packets.

Label-switched paths Label-switched paths (LSPs) are established by the network operator for a variety of purposes, such as to create network-based IP virtual private networks or to route traffic along specified paths through the network. In many respects, LSPs are not different from permanent virtual circuits (PVCs) in ATM or Frame Relay networks, except that they are not dependent on a particular layer-2 technology.

Routing When an unlabeled packet enters the ingress router and needs to be passed on to an MPLS tunnel, the router first determines the forwarding equivalence class (FEC) for the packet and then inserts one or more labels in the packet's newly created MPLS header. The packet is then passed on to the next hop router for this tunnel.

From an OSI model perspective, the MPLS Header is added between the network layer header and link layer header.Savecall telecommunication consulting company Germany Savecall - MPLS

When a labeled packet is received by an MPLS router, the topmost label is examined. Based on the contents of the label a swap, push or pop operation is performed on the packet's label stack. Routers can have prebuilt lookup tables that tell them which kind of operation to do based on the topmost label of the incoming packet so they can process the packet very quickly. In a swap operation the label is swapped with a new label, and the packet is forwarded along the path associated with the new label. In a push operation a new label is pushed on top of the existing label, effectively encapsulating the packet in another layer of MPLS. This allows hierarchical routing of MPLS packets. Notably, this is used by MPLS VPNs. In a pop operation the label is removed from the packet, which may reveal an inner label below. This process is called decapsulation. If the popped label was the last on the label stack, the packet leaves the MPLS tunnel. This can be done by the egress router, or at the penultimate hop.