MPLS: Multiprotocol Label Switching
MPLS (Multiprotocol Label Switching) is a relatively new data transmission technology, developed to solve most of the existing problems in data packet forwarding for communication between devices over mixed transmission infrastructures.
The problems associated with communication solutions over ATM (Asynchronous Transfer Mode) networks, such as expansion over a virtual topology, as well as the complexity of managing two separate and technologically different networks, are solved with MPLS, by combining the intelligence of routing with the speed of switching (packet switching) n a single technology.
MPLA operates between layers 2 (Data Link) and 3 (Network) of the OSI model, and is designed to unify the data transport service between circuit-based and packet-based networks. It can be considered as a technological evolution to build and manage IP networks according to today's needs.
The primary purpose of MPLS is to standardize a base technology that integrates label exchange during packet forwarding with the current network routing system. The main features of the MPLS standard can be summarized as:
- It works on any transport technology, not only ATM.
- It supports both unicast and multicast packet forwarding.
- It allows the constant growth of the Internet.
- It is compatible with current IP network operation, administration and maintenance procedures.
MPLS Concepts
MPLS is an IP packet switching standard, which attempts to provide some of the features of connection-oriented networks to non-connection-oriented networks.
In traditional IP routing, the destination address, along with other header parameters, is examined each time the packet passes through a router. The route of the packet is adapted according to the state of the routing tables of each node, but, as this cannot be predicted, routing table searches cause each node to lose some time, which increases according to the length of the table, which can influence the quality of service (QoS).
However, MPLS allows each node, whether a switch or a router, to assign a label to each of the elements in the table and communicate it to its neighboring nodes. This label is a short, fixed-size value carried in the IP packet header to identify its Forward Equivalence Class (FEC), a term used to describe a set of packets with similar or identical characteristics that can be forwarded in the same way, i.e., they can be bound to the same label and forwarded over the same path through the network, even if their final destinations are different.
The label is a connection identifier that has only local meaning and establishes an association between traffic and a specific FEC. This label is assigned to the IP packet based on its destination address, type of service parameters, belonging to a VPN (Virtual Private Networks), or some other criteria.
Elements of an MPLS Network
In MPLS, a very important concept is the Label Switched Path (LSP), which consists of constructing traffic routes through the network, based on Forwarding Equivalence Classes (FEC) criteria, and using, fundamentally, Label Distribution Protocols (LDP).
The LDP, or Label Distribution Protocol, enables MPLS nodes to discover and communicate with each other in order to inform each other of the value and meaning of the labels that will be used on their neighboring links.
In other words, LDP establishes a path through the MPLS network, and reserves the physical resources necessary to satisfy the service requirements previously defined for the data path.
An MPLS network is composed of two main types of nodes: Label Edge Routers (LERs) and Label Switching Routers (LSRs). Both types coexist in the same network device (a router or a switch), which incorporates the MPLS software, being its administrator the one who configures it for one or the other working mode.
MPLS nodes, like regular IP routers, exchange network topology information using standard routing protocols such as OSPF (Open Shortest Path First), RIP (Routing Information Protocol) and BGP (Border Gateway Protocol), from which they build routing tables.
Taking into account these tables, which indicate the IP address of the next node to which the packet will be sent so that it can reach its final destination, the MPLS labels are established and, therefore, the LSPs or Label Routing Paths that the packets will follow.
LERs or Label Edge Routers are located at the edge of the MPLS network, to perform traditional routing functions and provide connectivity to their users, usually other conventional IP routers.
The LER analyzes and classifies the incoming IP packet (up to layer 3 of the OSI Model), considering the destination IP address and the demanded Quality of Service (QoS), adds the MPLS label that identifies on which LSP or Label Switched Path the packet is. In other words, instead of deciding the next hop, as a conventional IP router would operate, the LER determines the entire path along the network that the packet should follow.
Once the MPLS header is assigned, the LER forwards the packet to an LSR or Label Switch Router, which is located in the core of the MPLS network to perform high-performance routing based on label switching (considering only up to level 2 of the OSI Model).
When a packet arrives at an LSR network adapter, the LSR reads the value of the incoming label of the MPLS header, looks in the switching table for the outgoing label and interface, and forwards the packet along the predefined path by writing a new MPLS header. If an LSR detects that it must send a packet to an LER, it extracts the MPLS header, since the last LER does not route the packet, thus reducing unnecessary headers.
Because of the complexity of concepts of each element of an MPLS network, a summary of each can be expressed as:
- FEC (Forwarding Equivalence Class): name of the traffic that is routed under a label. Set of packets processed in the same way by the switch.
- LSP (Label Switched Path): generic name of an MPLS path (for certain traffic or FEC), i.e., an MPLS path established between endpoints, in a unidirectional manner.
- LDP (Label Distribution Protocol): enables MPLS nodes to discover and communicate with each other in order to inform each other of the value and meaning of the labels that will be used on their neighboring links.
- LER (Label Edge Router): element that initiates or terminates an MPLS path (extracts and inserts headers), i.e., the entry/exit element to the MPLS network.
- LSR (Label Switching Router): element located inside the MPLS network, which performs the high-performance routing of the packet, i.e. it reads the label header, searches for it in its routing table, and sends it along the predefined path.
MPLS Implementations
There are different types of MPLS implementations, among others: MPLS as an IP over Ethernet, IP over ATM, and IP over Frame Relay solution.
The implementation of MPLS as an IP over Ethernet, Fast Ethernet or Gigabit Ethernet solution is known as pure IP. Since IP is a protocol designed much earlier than MPLS, in this case, the MPLS label is located after the Layer 2 header and before the IP header (in the OSI Reference Model). LSRs are able to switch using the MPLS label instead of using the IP header.
Another widespread implementation of MPLS is an IP over ATM solution. It should be noted that MPLS was not developed to replace ATM, but to complement it. The main difference between MPLS and other IP over ATM solutions is that MPLS connections are established using LDP, rather than traditional ATM signaling protocols, and MPLS eliminates the complexity of matching IP addressing and routing information directly in ATM switching tables.
Finally, MPLS has also been developed as an IP over Frame Relay solution. In this case, the MPLS label is the Data Link Control Identifier (DLCI) of the Frame Relay header.
MPLS Benefits
MPLS emerged in order to incorporate the switching speed from layer 2 to layer 3 (of the OSI Reference Model) through label switching. However, this advantage currently is not considered to be the main benefit, since gigarouters are capable of performing route searches in IP tables at sufficient speed to support all types of interfaces.
The benefits that MPLS provides to IP networks are: performing traffic engineering (TE), carrying traffic with different qualities of service (QoS), and creating IP-based virtual private networks or VPNs.
Traffic Engineering allows Internet Service Providers (ISPs) to move part of the data traffic from the shortest path calculated by the routing protocols to other physical paths that are less congested or less prone to failures.
In other words, MPLS has become the main application for the paths that the data flow will follow, in order to balance the traffic load between all the links in the network: routers and switches, so that none of these resources are underutilized or overloaded, and thus cope with the increasing and unpredictable growth in the demand for network resources.
MPLS also offers ISPs great flexibility in terms of the different types of services it can provide to its customers, in this sense, it facilitates not only the adoption of traffic engineering techniques, but also traffic classification, depending on the bandwidth and delay tolerance needs of the different applications.
Finally, MPLS also offers a simple and flexible mechanism for creating VPNs. A VPN simulates the operation of a private WAN (Wide Area Network) over the public Internet. To offer a viable VPN service to its customers, the ISP must address data security issues and support the use of non-unique private IP addresses within the VPN. Since MPLS allows the creation of virtual circuits or tunnels across an IP network, it is logical for ISPs to use MPLS as a way to isolate traffic.
