MPLS is an IETF initiative that integrates Layer 2 information about network links (e.g. bandwidth, latency, utilization) into Layer 3 (IP) within a particular autonomous system, or ISP, in order to simplify and improve IP packet exchange. MPLS gives network operators flexibility to divert and route traffic around link failures, congestion, and bottlenecks.
MPLS works by prefixing packets with an MPLS header, containing one or more labels. An MPLS header frame format is shown in the figure below:
Each label stack entry contains four fields:
1. a 20-bit label value. A label with the value of 1 represents the router alert label.
2. a 3-bit Traffic Class field for QoS (quality of service) priority (experimental) and ECN (Explicit Congestion Notification).
3. a 1-bit bottom of stack flag. If this is set, it signifies that the current label is the last in the stack
4. an 8-bit TTL (time to live) field. Multiprotocol Label Switching (MPLS) is a protocol for speeding up and shaping network traffic flows.
As mentioned previously, MPLS allows packets to be forwarded across the network at Layer 2 (the switching level) rather than having to be passed up to Layer 3 (the routing level). Each packet gets labeled on entry into the service provider's network by the ingress router. All subsequent routing switches perform packet forwarding based only on those labels. Finally, the egress router removes the label and forwards the original IP packet towards its final destination.
MPLS Control and Data Plane Components:
Cisco Express Forwarding (CEF) is the foundation on which MPLS and its services operate on a Cisco router. Therefore, CEF is a prerequisite to implement MPLS on all Cisco platforms except for some older ATM switches. CEF is Cisco proprietary switching technology used on Cisco routers. A brief schematic of the Control and Data planes on a Cisco router are shown in the figure below:
Control plane: The control plane functions include the system configuration, management, and exchange of routing table information. These are performed relatively infrequently. The route controller exchanges the topology information with other routers and constructs a routing table based on a routing protocol, for example, RIP, OSPF, or BGP. The Control plane feeds the forwarding/data plane with what it needs to create its forwarding tables and updates topology changes as they occur.
Data plane: The Data plane contain FIB (short for Forwarding Information Base) and LFIB (Short for Label Forwarding Information Base). FIB contains a mapping of destination networks in the routing table to appropriate next-hop adjacencies. Adjacencies are network nodes that can reach one another with a single hop across the link layer. On the other hand, LFIB contains a local label to next-hop label mapping along with the outgoing interface, which is used to forward labeled packets.
In short, information about reachability to destination networks from routing protocols is used to populate the Routing Information Base (RIB) or the routing table. The routing table, in turn, provides information for the FIB which works in the Data plane, thus reducing the dependency on the core and speeding up the packet switching. The LIB is populated using information from the label distribution protocol and from the LIB along with information from the FIB that is used to populate the LFIB.
Advantages of using MPLS:
1. The label-switching technology offers QoS capabilities.
2. MPLS VPNs are available in Layer-2 as well as Layer-3 designs. Layer-2 typically uses Metro Ethernet, where as Layer-3 connectivity may use a variety of L3 technologies such as EIGRP, OSPF, RIPv2, etc., depending on what the SP could provide.
3. By keeping your traffic on a single vendor using MPLS VPNs give the vendor the ability to offer your company service-level agreements (SLAs) for network performance.
4. MPLS supports many types of access links such as Metro Ethernet, Serial (TDM), ATM, and Frame Relay.
Some of the disadvantages are given below:
1. Your routing protocol choice might be limited.
2. Your end-to-end convergence is controlled primarily by the service provider.
3. The reliability of your L3 MPLS VPN is influenced by the service provider's competence level.
4. Deciding to use MPLS VPN services from a particular service provider also creates a very significant lock-in. It's hard to change the provider when it's operating your network core.