Multiprotocol Label Switching (MPLS) on Cisco Routers
First Published: June 27, 2000
Last Updated: May 4, 2009
This document describes commands for configuring and monitoring Multiprotocol Label Switching (MPLS) functionality on Cisco routers and switches. This document is a companion to other feature modules describing other MPLS applications.
Finding Feature Information
For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the "Feature Information for MPLS on Cisco Routers" section.
Use Cisco Feature Navigator to find information about platform support and Cisco IOS XE software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
•Restrictions for MPLS
•Restrictions for MPLS
•How to Configure MPLS
•Feature Information for MPLS on Cisco Routers
Restrictions for MPLS
Label switching on a Cisco router requires that Cisco Express Forwarding be enabled on that router (see the "Configuration Tasks" section below).
Information About MPLS
•Functional Description of MPLS
•Label Switching Functions
•Distribution of Label Bindings
•Benefits of MPLS
Multiprotocol label switching (MPLS) combines the performance and capabilities of Layer 2 (data link layer) switching with the proven scalability of Layer 3 (network layer) routing. MPLS enables service providers to meet the challenges of explosive growth in network utilization while providing the opportunity to differentiate services without sacrificing the existing network infrastructure. The MPLS architecture is flexible and can be employed in any combination of Layer 2 technologies. MPLS support is offered for all Layer 3 protocols, and scaling is possible well beyond that typically offered in today's networks.
MPLS efficiently enables the delivery of IP services over an ATM switched network. MPLS supports the creation of different routes between a source and a destination on a purely router-based Internet backbone. By incorporating MPLS into their network architecture, service providers can save money, increase revenue and productivity, provide differentiated services, and gain competitive advantages.
Functional Description of MPLS
Label switching is a high-performance packet forwarding technology that integrates the performance and traffic management capabilities of data link layer (Layer 2) switching with the scalability, flexibility, and performance of network layer (Layer 3) routing.
Label Switching Functions
In conventional Layer 3 forwarding mechanisms, as a packet traverses the network, each router extracts all the information relevant to forwarding the packet from the Layer 3 header. This information is then used as an index for a routing table lookup to determine the next hop for the packet.
In the most common case, the only relevant field in the header is the destination address field, but in some cases, other header fields might also be relevant. As a result, the header analysis must be done independently at each router through which the packet passes. In addition, a complicated table lookup must also be done at each router.
In label switching, the analysis of the Layer 3 header is done only once. The Layer 3 header is then mapped into a fixed length, unstructured value called a label.
Many different headers can map to the same label, as long as those headers always result in the same choice of next hop. In effect, a label represents a forwarding equivalence class—that is, a set of packets which, however different they may be, are indistinguishable by the forwarding function.
The initial choice of a label need not be based exclusively on the contents of the Layer 3 packet header; for example, forwarding decisions at subsequent hops can also be based on routing policy.
Once a label is assigned, a short label header is added at the front of the Layer 3 packet. This header is carried across the network as part of the packet. At subsequent hops through each MPLS router in the network, labels are swapped and forwarding decisions are made by means of MPLS forwarding table lookup for the label carried in the packet header. Hence, the packet header does not need to be reevaluated during packet transit through the network. Because the label is of fixed length and unstructured, the MPLS forwarding table lookup process is both straightforward and fast.
Distribution of Label Bindings
Each label switching router (LSR) in the network makes an independent, local decision as to which label value to use to represent a forwarding equivalence class. This association is known as a label binding. Each LSR informs its neighbors of the label bindings it has made. This awareness of label bindings by neighboring routers is facilitated by the following protocols:
•Tag Distribution Protocol (TDP)—Used to support MPLS forwarding along normally routed paths
•Resource Reservation Protocol (RSVP)—Used to support MPLS traffic engineering
•Border Gateway Protocol (BGP)—Used to support MPLS virtual private networks (VPNs)
When a labeled packet is being sent from LSR A to the neighboring LSR B, the label value carried by the IP packet is the label value that LSR B assigned to represent the forwarding equivalence class of the packet. Thus, the label value changes as the IP packet traverses the network.
Benefits of MPLS
MPLS provides the following major benefits to service provider networks:
•Scalable support for Virtual Private Networks (VPNs)—MPLS enables VPN services to be supported in service provider networks, thereby greatly accelerating Internet growth.
The use of MPLS for VPNs provides an attractive alternative to the building of VPNs by means of either ATM or Frame Relay permanent virtual circuits (PVCs) or various forms of tunneling to interconnect routers at customer sites.
Unlike the PVC VPN model, the MPLS VPN model is highly scalable and can accommodate increasing numbers of sites and customers. The MPLS VPN model also supports "any-to-any" communication among VPN sites without requiring a full mesh of PVCs or the backhauling (suboptimal routing) of traffic across the service provider network. For each MPLS VPN user, the service provider's network appears to function as a private IP backbone over which the user can reach other sites within the VPN organization, but not the sites of any other VPN organization.
From a user perspective, the MPLS VPN model enables network routing to be dramatically simplified. For example, rather than having to manage routing over a topologically complex virtual backbone composed of many PVCs, an MPLS VPN user can generally employ the service provider's backbone as the default route in communicating with all of the other VPN sites.
•Explicit routing capabilities (also called constraint-based routing or traffic engineering)—Explicit routing employs "constraint-based routing," in which the path for a traffic flow is the shortest path that meets the resource requirements (constraints) of the traffic flow.
In MPLS traffic engineering, factors such as bandwidth requirements, media requirements, and the priority of one traffic flow versus another can be taken into account. These traffic engineering capabilities enable the administrator of a service provider network to
–Control traffic flow in the network
–Reduce congestion in the network
–Make best use of network resources
Thus, the network administrator can specify the amount of traffic expected to flow between various points in the network (thereby establishing a traffic matrix), while relying on the routing system to
–Calculate the best paths for network traffic
–Set up the explicit paths to carry the traffic
•Support for IP routing on ATM switches (also called IP and ATM integration)—MPLS enables an ATM switch to perform virtually all of the functions of an IP router. This capability of an ATM switch stems from the fact that the MPLS forwarding paradigm, namely, label swapping, is exactly the same as the forwarding paradigm provided by ATM switch hardware.
The key difference between a conventional ATM switch and an ATM label switch is the control software used by the latter to establish its virtual channel identifier (VCI) table entries. An ATM label switch uses IP routing protocols and the Tag Distribution Protocol (TDP) to establish VCI table entries.
An ATM label switch can function as a conventional ATM switch. In this dual mode, the ATM switch resources (such as VCI space and bandwidth) are partitioned between the MPLS control plane and the ATM control plane. The MPLS control plane provides IP-based services, while the ATM control plane supports ATM-oriented functions, such as circuit emulation or PVC services.
How to Configure MPLS
•Configuring a Router for MPLS Forwarding
•Verifying Configuration of MPLS Forwarding
This section explains how to configure a router for MPLS forwarding by enabling Cisco Express Forwarding on the router.
Configuration tasks for other MPLS applications are described in the feature module documentation for the application.
Configuring a Router for MPLS Forwarding
MPLS forwarding on Cisco routers requires that Cisco Express Forwarding be enabled.
Note Cisco Express Forwarding is enabled by default on a Cisco ASR 1000 Series Aggregation Services Router and cannot be disabled.
For more information about Cisco Express Forwarding commands, see the Cisco IOS Switching Command Reference.
2. configure terminal
3. ip cef distributed
Enables privileged EXEC mode.
•Enter your password if prompted.
Router# configure terminal
Enters global configuration mode.
ip cef distributed
Router(config)# ip cef distributed
Enables Cisco Express Forwarding on the route processor card.
Verifying Configuration of MPLS Forwarding
To verify that Cisco Express Forwarding has been configured properly, issue the show ip cef summary command, which generates output similar to that shown below:
Step 1 show ip cef summary
Router# show ip cef summary
IP CEF with switching (Table Version 49), flags=0x0
43 routes, 0 resolve, 0 unresolved (0 old, 0 new)
43 leaves, 49 nodes, 56756 bytes, 45 inserts, 2 invalidations
2 load sharing elements, 672 bytes, 2 references
1 CEF resets, 4 revisions of existing leaves
refcounts: 7241 leaf, 7218 node
Adjacency Table has 18 adjacencies
The supported standards applicable to the MPLS applications appear in the respective feature module for the application.
The supported MIBs applicable to the MPLS applications appear in the respective feature module for the application.
To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:
The supported RFCs applicable to the MPLS applications appear in the respective feature module for the application.
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
Feature Information for MPLS on Cisco Routers
Table 1 lists the release history for this feature and provides links to specific configuration information.
Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Note Table 1 lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Table 1 Feature Information for MPLS on Cisco Routers
MPLS (Multiprotocol Label Switching)
Cisco IOS XE Release 2.1
Multiprotocol label switching (MPLS) combines the performance and capabilities of Layer 2 (data link layer) switching with the proven scalability of Layer 3 (network layer) routing. MPLS enables service providers to meet the challenges of explosive growth in network utilization while providing the opportunity to differentiate services without sacrificing the existing network infrastructure.
The following sections provide information about this feature:
•Feature Overview, page 2
•Configuration Tasks, page 4
The following commands were introduced or modified: interface atm, mpls atm control-vc, mpls atm vpi, mpls ip (global configuration), mpls ip (interface configuration), mpls ip default-route, mpls ip propagate-ttl, mpls ip ttl-expiration pop, mpls label range, mpls mtu, show mpls forwarding-table, show mpls interfaces, show mpls label range, debug mpls adjacency, debug mpls events, debug mpls lfib cef, debug mpls lfib enc, debug mpls lfib lsp, debug mpls lfib state, debug mpls lfib struct, debug mpls packets.
ATM edge LSR—A router that is connected to the ATM-LSR cloud through LC-ATM interfaces. The ATM edge LSR adds labels to unlabeled packets and strips labels from labeled packets.
ATM-LSR—A label switch router with a number of LC-ATM interfaces. The router forwards the cells among these interfaces using labels carried in the VPI/VCI field of the ATM cell header.
CoS—Class of service. A feature that provides scalable, differentiated types of service across an MPLS network.
IP precedence—A 3-bit value in a ToS byte used for assigning precedence to IP packets.
label—A short fixed-length label that tells switching nodes how to forward data (packets or cells).
label-controlled ATM interface (LC-ATM interface)—An interface on a router or switch that uses label distribution procedures to negotiate label VCs.
label edge router (LER)—A router that performs label imposition.
label imposition—The action of putting the first label on a packet.
label switch—A node that forwards units of data (packets or cells) on the basis of labels.
label switched path (LSP)—A sequence of hops (Router 0...Router n) in which a packet travels from R0 to Rn by means of label switching mechanisms. A label switched path can be chosen dynamically, based on normal routing mechanisms, or it can be configured manually.
label switched path (LSP) tunnel—A configured connection between two routers, in which label switching techniques are used for packet forwarding.
label switching router (LSR)—A Layer 3 router that forwards a packet based on the value of a label encapsulated in the packet.
label VC (LVC)—An ATM virtual circuit that is set up through ATM LSR label distribution procedures.
LFIB—Label Forwarding Information Base. The data structure used by switching functions to switch labeled packets.
LIB—Label information base. A database used by an LSR to store labels learned from other LSRs, as well as labels assigned by the local LSR.
MPLS—Multiprotocol label switching. An emerging industry standard that defines support for MPLS forwarding of packets along normally routed paths (sometimes called MPLS hop-by-hop forwarding).
QoS—quality of service. A measure of performance for a transmission system that reflects its transmission quality and service availability.
tailend—The downstream, received end of a tunnel.
TDP—Tag Distribution Protocol. The protocol used to distribute label bindings to LSRs.
traffic engineering—The techniques and processes used to cause routed traffic to travel through the network on a path other than the one that could have been chosen if standard routing methods had been applied.
traffic engineering tunnel—A label-switched tunnel that is used for traffic engineering. Such a tunnel is set up through means other than normal Layer 3 routing; it is used to direct traffic over a path different from the one that Layer 3 routing could cause the tunnel to take.
VPN—Virtual Private Network. Enables IP traffic to use tunneling to travel securely over a public TCP/IP network.
Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at www.cisco.com/go/trademarks. Third party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1005R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
© 2000-2011 Cisco Systems, Inc. All rights reserved.