Site home page
(news and notices)

Get alerts when Linktionary is updated

Book updates and addendums

Get info about the Encyclopedia of Networking and Telecommunicatons, 3rd edition (2001)

Download the electronic version of the Encyclopedia of Networking, 2nd edition (1996). It's free!

Contribute to this site

Electronic licensing info



MPLS (Multiprotocol Label Switching)

Related Entries    Web Links    New/Updated Information

Search Linktionary (powered by FreeFind)

Note: Many topics at this site are reduced versions of the text in "The Encyclopedia of Networking and Telecommunications." Search results will not be as extensive as a search of the book's CD-ROM.

MPLS is an IETF-defined protocol that overcomes some of the shortcomings of IP-based networks. MPLS is meant for service provider core networks or large enterprise networks. It brings traffic engineering, bandwidth management, and quality of service to IP networks. A form of MPLS is used to set up and manage wavelength optical circuits (lambdas) on the core optical networks of the Internet.

MPLS's key feature is the ability to build virtual circuits across IP networks. These VCs are called label switched paths (LSPs). LSPs are similar to virtual circuits in ATM and frame relay networks. Labels are attached to packets, which help MPLS nodes forward the packet across an LSP. The labels are like tracking slips on express delivery packages. They contain an index into a forwarding table, which specifies the next hop for the packet. Nodes in the core MPLS network do not need to examine packets and perform next-hop routing tasks. The label carries the information that determines which path a packet should take.

MPLS supports traffic engineering to provide traffic prioritization and QoS. For example, a path can be created that provides high bandwidth and low delay for "premium" customers who are willing to pay for it. In another example, multiple paths can be defined between two endpoints to provide load balancing and backup service in the event of a line failure. This is similar to using metrics in IP routing to force traffic in one direction or another, but it is much more powerful.

Paths can be engineered using manual or automatic techniques. MPLS supports explicit routing, in which network engineers define specific paths across a network for specific types of traffic. MPLS also supports constraint-based routing, in which the path is selected on-the-fly as a packet traverses the network, based on parameters that constrain the forwarding direction. Constraint-based routing involves programming traffic-engineering parameters into the network.

An MPLS network is typically a large group of core switches that span a large geographic area, usually an entire country. AT&T, Global Crossing, and other providers have MPLS networks. MPLS may also be used in metropolitan area networks. Terabeam uses MPLS in its "Fiberless Optical" network. Periphery networks are attached to the edges of the MPLS network via LERs (label edge routers), as shown in Figure M1. The core contains LSRs (label switching routers). The periphery networks may be operated by regional ISPs, local network operators, or even private companies.

Figure 1 (see book)

MPLS is an IETF specification based on label switching approaches developed by several vendors, including Cisco (Tag Switching), IBM (ARIS or Aggregate Route-Based IP Switching), and Lucent/Ascend (IP Navigator, originally developed by Cascade). MPLS integrates layer 2 switching and layer 3 routing as pictured in Figure 2. For ATM switches, MPLS adds routing functionality, creating a hybrid switching router. Layer 3 components are IP routing controls (OSPF and BGP), which replaces standard ATM Forum routing and control protocols.

Figure 2 (see book)

Prior to these approaches, several techniques were developed to overlay IP on top of ATM. The ATM Forum's MPOA (Multiprotocol over ATM) is an example. The overlay models provide shortcut routing of IP packets across an ATM backbone, but the underlying ATM network protocols are used unchanged. However, these earlier techniques were not as scalable as MPLS.

MPLS Basic Operation

As shown in Figure M-1, LSRs are core devices that switch packets, and LERs are edge devices that connect with external networks, determine routes, and add or remove labels. An LSP is a concatenation of switch hops that form an end-to-end forwarding path. An LSP starts at an ingress LER, crosses one or more LSRs, and ends at an egress LER.

When a packet arrives at an MPLS network, the ingress LER does most of the work of handling the packet. It looks at the packet's IP address, determines a route, assigns an LSP, and attaches a label. The packet is then forwarded into the LSP, where it is switched across a series of LSRs until it reaches the egress LER. The label is removed and the packet is forwarded on its way via standard IP routing.

The default MPLS label assignment and label-forwarding process starts with each label switching device learning about the network to which it is directly attached. Routing protocols such as OSPF and BGP are used to build routing tables. MPLS devices then build label- forwarding tables from the routing information and distribute the label information to neighbor as shown in Figure M-3. The tables provide information about how labels should be applied. A label is like shorthand notation that indexes the forwarding decision made by routers.

Figure 3 (see book)

Figure M-3 may look complicated, but the process is quite simple. Looking at LER 2 on the upper right, note that a label table has been built for the two network prefixes. Label 9 is assigned to 172.16 and label 10 is assigned to 129.10. LER 2 distributes these label assignments to the LSR in the middle of the MPLS network. In this exchange, LER 2 is saying, "If you send me a packet for network 172,16, attach label 9 to that packet. If you send me a packet for network 129.10, attach label 10 to that packet."

The LSR in the middle of the network receives label assignments from both LER 2 and LER 3, and then builds its own label table. Note that it creates a table entry for each network it knows about on its out ports. It then assigns a label to each one of these entries and forwards the label assignment to LER 1. The LSR is basically saying to use label 3, 4, or 5 for networks 172.16, 129.10, or 210.100, respectively.

Figure 4 illustrates the label-forwarding process, using the label assignments just described. The steps are outlined here:

Figure 4 (see book)

  1. A packet arrives at the ingress edge router LER 1, which examines the packet's IP address to determine which LSP to use. LER 1's label table indicates that destination address prefix 172.16 should be assigned label 3 and should be sent out port 0.

  2. Having been sent out LER 1's port 0, the packet now arrives at the middle LSR. The LSR looks up label 3 in its forwarding table and discovers that label 9 should be attached to the packet and that it should be forwarded out port 0. It swaps label 3 with label 9 before forwarding the packet.

  3. Now the packet arrives at the next hop, LER 2, which looks at the label and determines from its routing table that label 9 indicates port 0. Since LER 2 is the egress LER, there is no further need for a label. The existing label is discarded and the packet is forwarded onto IP network 172.16.

Label swapping as described in step 3 takes place at core LSRs, not ingress and egress LERs. The swap operation consists of looking up the incoming label to determine the outgoing label and the output port.

See the related entries page for a list of Web sites that provide additional information. Here is a list of relavent RFCs:

  • RFC 2702 (Requirements for Traffic Engineering Over MPLS, September 1999)

  • RFC 3031 (Multiprotocol Label Switching Architecture, January 2001)

  • RFC 3033 (Signaling for the Internet Protocol, January 2001)

  • RFC 3036 (LDP Specification, January 2001)

Copyright (c) 2001 Tom Sheldon and Big Sur Multimedia.
All rights reserved under Pan American and International copyright conventions.