Why MPLS? (High-Level Detail)
Multiprotocol label switching architecture, as discussed in IETF RFC 3031, combines the benefits of the hardware packet switching approach of ATM and the Layer 3 approach of IP. The MPLS architecture separates the control information for packets required for packet transfer itself; that is, it separates the control and data planes. In traditional IP routing, a packet is assigned in each router to a particular flow corresponding to a class of routing or a forward equivalence class (FEC). In contrast, in MPLS this assignment is performed once at the entry, or ingress, to the MPLS network. In an MPLS network, the FEC is identified by the network exit destination, or egress, and by the ingress label-switched router (LSR).
The FEC consists of a simple group of IP destinations for which a transfer can be managed in the same manner and which is assigned a fixed-length identifier called a label. The path corresponding to each FEC between the ingress and egress LSRs is called a label-switched path (LSP). An FEC, therefore, determines how packets are mapped to an LSP. This means that a packet entering at the egress LSR of an MPLS domain is assigned to an FEC following the analysis of the IP header.
A label is assigned to the FEC imposition operation either by tagging an existing field or as a complement in the packet header. The label is pivotal to the establishment of the LSP through all the routers or switches in the MPLS domain. Each LSR analyzes the incoming packet label. Then after consulting a label table that permits it to recognize the LSP, the LSR switches the packet to the next LSR after changing the value of the label. The label is removed at the egress LSR or a disposition operation is performed. By definition, an LSP is unidirectional—that is, two LSPs are required to support bi-directional traffic. We can compare the MPLS behavior as a Layer 2 switching approach to ATM and a Layer 3 routing approach to IP. Figure 3-2 depicts the actual MPLS label.
Figure 3-2 Label Header for Packet Media
The tag frame encapsulation uses a shim header. The shim is a header that sits between a transport header and the Layer 3 header in the packet. The label format is generic because it can be used on link layers, such as Ethernet 802.3, PPP, Frame Relay, ATM PVC, and so on. The label value consists of four octets, although several labels can be assigned to a packet, because of a concept called label stacking. The label can be tagged in AM in the virtual circuit identifier (VCI) and virtual path identifier (VPI) fields of the cell headers. For Ethernet, PPP, FDDI, and other technologies, an interposed header (shim) is located between the link and network headers and is used to transport the label. The LSR performs the control and transfer functions, and the transfer element uses fixed-length labels. These labels are memorized in a table with a path indication for outgoing packets. The control element consists of network-layer routing protocols and one or more label allocation mechanisms. Figure 3-3 summarizes the fundamental MPLS operation.
Figure 3-3 MPLS Operation
As previously mentioned, one of the key advantages of the MPLS architecture is the separation into two planes—the data plane that contains the information required to transfer a packet and a control/signaling plane that allocates the transfer information. The data plane is used for the transport of packets (or label swapping algorithm), and the control plane is analogous to routing information (for example, the location to which to send the packet). This capability is programmed into hardware by the control plane. This separation permits applications to be developed and deployed in a scalable and flexible manner. Examples of applications that are facilitated by MPLS technology include the following:
- MPLS QoS—This implements a quality-of-service mechanism that enables the creation of LSPs with guaranteed bandwidth.
- BGP VPNs—Border Gateway Protocol (BGP) is used to exchange FEC-label binding. Further, a service provider can use BGP in its network with IP routing protocols or static routing between the service provider and the customer to create a Layer 3 VPN service.
- Traffic engineering—Traffic engineering enables one to control traffic routing via constraint-based routing. Constraint-based routing enables a demand-driven, resource-reservation aware, routing paradigm to co-exist with current topology-driven hop-by-hop Internet interior gateway protocols.
- Multicast routing—Protocol Independent Multicast (PIM) is the control protocol used to create FEC tables; extensions of version 2 of the PIM protocol are used to exchange FEC-label binding.
- Pseudowires—These can be used to evolve legacy networks and services, such as Frame Relay, ATM, PPP, High-Level Data Link Control (HDLC), and Ethernet. Traffic is accepted into the network via a variety of access technologies, labeled at the edge, and transported over a common MPLS core. At the network egress, the label is removed and delivered in a manner similar to the ingress implementation.
- Generalized MPLS (GMPLS)—The goal of GMPLS is to integrate control of the routing layer with that of the optical transmission layer, thus facilitating the implementation of traffic engineering across the network. Optical cross-connect platforms do not examine traffic passing through them—in contrast to routers, for example. GMPLS deployment links capacity provisioning in the optical layer for an automated execution of resource reservation (for example, bandwidth brokering and provisioning).
As an overview, MPLS uses label swapping rather than conventional IP routing. IP routing defaults might appear, such as in traffic engineering, where the establishment of optimal routes and the analysis of available bandwidth on the various links are necessary to optimize the use of network resources. Although conventional IP routing can examine the optimal route by applying metrics, it cannot analyze the available bandwidth on the individual links.
The term traffic engineering refers to the specific actions performed to ensure that the express demand remains within the available capacity of network resources. These actions include routing, dimensioning procedures, and demand estimation. Current routing on IP networks is based on computing the shortest paths, where the "length" of the link is determined by an administrative assigned weight. If the traffic matrix (defining expected demand between all network end points) is known, then by appropriately setting the value of these weights, you can ensure that traffic flows are routed optimally. For example, you can ensure that available capacity is used to its maximal effect.
MPLS offers additional possibilities for routing traffic over links with sufficient capacity. LSPs completely specify the path for broadly defined traffic aggregates (defined by source and destination addresses, for instance). These attributes can be constructed in real time as required or by network management procedures by using an estimated traffic matrix. Route selection can be performed end-to-end by the edge routers or on a hop-by-hop basis.