Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

How to configure tag switching and MPLS



Tag switching is a high-performance Cisco proprietary packet forwarding technology that integrates the key advantages of (Layer 2 [L2]) switching and (Layer 3 [L3]) routing.  Multiprotocol Label Switching (MPLS) is the Internet Engineering Task Force (IETF) standardized version of tag switching providing interoperability with other vendor equipments.


Both MPLS and tag switching have a data plane that forwards packets based on fixed length labels. They also have a control plane that deals with label assignment and distribution between the devices based on the Forward Equivalence Class (FEC). An FEC is a category to which a packet belongs to, depending on some defined criteria. Packets that enter the MPLS cloud are classified to belong to a particular FEC and assigned the corresponding label.


Routers at the edge of the MPLS cloud, called ingress Label Switch Routers (LSR), receive normal IP packets, attach a label and forward it into the MPLS cloud. The core LSRs inside the MPLS cloud swap the label in the incoming packet with another label and forward the labeled packets toward the next-hop router. The routers at the other edge of the MPLS cloud, called egress LSRs, receive the labeled packets, remove the label and forward normal IP packets.


MPLS and tag switching can operate in frame mode over certain interfaces where a fixed length label of 32 bits is inserted between the L2 and L3 header. It can also operate in cell mode over ATM interfaces where the label values are used in the Virtual Path Identifier (VPI) or Virtual Channel Identifier (VCI) fields of the ATM header.


MPLS and tag switching are similar in function by using the same forwarding technique in the data plane, but they are not compatible since they use different mechanisms for label distribution in the control plane. MPLS uses Label Distribution Protocol (LDP) for label assignment and distribution, whereas tag switching uses the Cisco proprietary Tag Distribution protocol (TDP) for the same purpose. Both these technologies can be used to solve some of the problems of traditional destination-based IP routing as well as for other applications such as multicast routing, traffic engineering, Virtual Private Networks (VPNs) and Any Transport over MPLS (AToM). Different applications use different protocols in the control plane for label distribution, but they use the same data plane for forwarding traffic.


MPLS has a heritage stemming from Cisco's tag-switching protocol. Many similarities exist between the two protocols. Significant differences exist, too, particularly between the tag and label distribution protocols.



The first basic concept is label switching (sometimes called tag  switching) itself. This is essentially just a way of improving routing  efficiency through a routed network. In normal IP routing, as a packet  bounces along the path from the source to the destination, it passes  through a series of routers. Each router receives the packet, opens up  the IP header, looks up the destination information in its routing  table, and then sends the packet along to the next hop on its path. We  have already discussed some of the tricks that routers use to improve  the efficiency of this process. For example, the router might generate a  fast switching cache so that once it has looked up a destination  address in its routing table for one packet, it doesn't need to repeat  this process for the next packet in the same data stream.


Label switching takes this concept one step further by  marking the packet header with a special number that tells each router  how to route the packet. With this information, the router doesn't need  to look at the IP packet header at all. It just checks the label and  forwards the packet. This may not sound like a significant  improvementafter all, how hard is it really to look up an IP address in a  routing table? Well, it turns out that in modern high-speed networks  where you need to forward billions of packets per second, MPLS offers a  significant performance improvement, which is one of the reasons why it  has become so popular with network service providers.


Configuring Cisco Express Forwarding (CEF) is a prerequisite for configuring tag switching or MPLS on Cisco devices. CEF is a Cisco proprietary high performance L3 IP switching mechanism that improves performance for large and complex networks. CEF builds a Forwarding Information Base (FIB) on the routers, which contains all known routes that exist in the routing table and uses it for forwarding packets. To configure CEF, issue the

"ip cef " command in global configuration mode.


The only difference between tag switching and MPLS is the protocol TDP or LDP used in the control plane. Since earlier versions of Cisco IOS  Software only supported tag switching, and support for MPLS was added later, they can be configured by issuing commands beginning with either "tag-switching or mpls", depending on the one supported. Some of the Cisco IOS Software releases have support for both of them to maintain backward compatibility. The mpls commands are functionally equivalent to the tag-switching commands, except for any protocol specific functionality.


To configure tag switching or MPLS, issue the " tag-switching ip or mpls ip" commands under global configuration mode as well as under the specific interfaces.


To choose either tag switching or MPLS, issue the mpls label protocol command to specify either TDP or LDP in the global configuration mode. You can run both protocols on a multi-access interface to use TDP with Cisco devices and LDP with other vendor devices. The global configuration can also be overridden at the interface level by choosing a different protocol for a specific interface.


The information given only enables the router to perform label distribution using LDP or TDP and forwarding of labeled packets. Additional configurations are needed depending on the application.

Related Information:

    Configuring Tag Switching      

    Configuring Multiprotocol Label Switching      

    MPLS FAQ For Beginners

    MPLS/Tag Switching 

New Member

Nice work! having something for mpls vpn and multicast?