The ever-increasing growth of the Internet and corporate Intranets are presenting a serious challenge to service providers and equipment vendors. This paradigm shift has transformed the way the world does business and defines new requirements for any business that wants to gain a competitive edge. Service providers, especially, are faced with the challenge of creating differentiated IP services and getting these new value-added services to market quickly. Cisco' s Tag Switching technology is a key component in Cisco' s plans for meeting these challenges. The two main components of Tag Switching are forwarding and control. This Tag Switching technology can retain the scaling properties of IP, and can help improve the scalability of IP networks. Tag Switching marries the performance of Layer 2 switching with the intelligence of Layer 3 routing to meet future growth demands. 4
The continuous expansion of the Internet demands higher bandwidth within the Infrastructures of all corporations, not just Internet Service Providers (ISPs). Nevertheless, growth of the Internet is not the only driving factor for higher bandwidth; demand for higher bandwidth also comes from emerging multimedia applications. This demand for higher bandwidth requires higher throughput performance (packets per second) by routers, for both unicast and multicast traffic.
The expansion of the Internet also demands improved scaling properties of the Internet routing system. The ability to contain the magnitude of routing information maintained by individual routers and the ability to build a hierarchy of routing knowledge are essential to support a quality, scalable routing systems. 2
The requirements are growing for the need to:
X Improve scalability
X Improve forwarding performance
X Add routing functionality to support multicasting
X Allow for more flexible control over routing the traffic
X Provide the ability to build a hierarchy of routing knowledge 1
Cisco' s multilayer switching technology, known as Tag Switching, provides an effective solution for meeting the aforementioned requirements. Tag switching in essence provides the functionality of a Network Layer router with the performance of an ATM switch. This technology is simple and based on the concept of "label swapping," which uses a label (called a tag) for layer 3 packet forwarding. The simplicity of the tag switching forwarding component (label swapping) enables improved forwarding performance, while maintaining a competitive price performance ratio. 4
To enhance the flexibility of the system, Cisco chose to support multiple granularities within the definition of a tag. This enables a tag switch to forward data based on a wide variety of routing functions, such as multicast, destination-based routing, hierarchy of routing knowledge, and flexible routing control. Ultimately, a combination of all of these routing functions provided in tag switching enables a routing system that will be able to accommodate the demand made by emerging requirements in the corporate backbones as well as the Internet backbone. 7
In this article Cisco' s Tag Switching will be described and defined by it' s components, routing capabilities, ATM switching capabilities, and QoS implementation.
Tag Switching Elements and Components
Again, Tag Switching is an innovative technique for high performance packet forwarding that assigns "tags" to multi-protocol frames for transport across packet, or cell based networks. This technology is based on the concept of "label swapping," where a packet or a cell, carry a short, fixed-length label that tells switching nodes how to process the data sent. 7
A Tag Switching internetwork consists of the following elements:
X Tag: A short fixed-length field header that is contained in a packet. Examples of a tag include the VPI and or VCI value in an ATM cell, or the DLCI header in a Frame Relay PDU, or a "shim" tag inserted between layer 2 and layer 3 addressing information in a packet1
X Tag Switching: The architecture, protocols, and procedures that bind network layer information to tags and forward a packet or cell using a label (tag) swapping mechanism.
X Tag Edge Routers: [TER] Located at the boundaries of a Tag Switching network, tag edge routers perform value-added network layer services and apply tags to packets at the ingress point of the network and removes tags at the egress point of the network. 1
X Tag Switch Routers: [TSR] A forwarding device that runs standard unicast and multicast routing protocols, is capable of forwarding packets or cells at layer 3 or layer 2 or via Tag switching (e.g. link layer independent). 1
X Tag Distribution Protocol: [TDP] A label binding distribution protocol. If the mapping of the FEC to next-hop mapping uses a link-state protocol, (e.g. OSPF, BGP), the distribution of tag binding information is provided via this separate protocol, known as TDP. 1
X Forward Equivalence Class: [FEC] an FEC can be mapped in tag switching to a set of labels along a routed path. 1
X Tag Stack: This is a technique that is roughly analogous to IP over IP encapsulation, and it enables a packet to carry more than one tag (e.g. multiple tags).
X Tag Switch Path: The ingress to egress switched path formed through a series of TSR devices by associating an FEC with a set of tags. 1
X Tag Forwarding Information Base: [TFIB] the TFIB is the connection or label swap table that is built and maintained in tag switching devices. The TFIB is the table used to index forwarded packets through a tag switch network. 1
X Piggybacking: Tag switching allows tags to be distributed using existing protocols. ( e.g. using existing protocols such as RSVP and PIM). 1
+ Figure 1. Tag Switching Example Diagram
There are two distinct components that are a part of tag switching: forwarding and control. 4 The forwarding component uses the tags (e.g. tag information) carried by the packets and the tag forwarding information stored in the switch to perform packet forwarding. The control component is responsible for consistent distribution of tag forwarding information among interconnected tag switches. Tag switch packets can carry tags in one of the following ways:
X As a small "shim" tag header inserted between a layer2 and layer 3 header.
X As a part of the layer 2 header.
X As a part of the layer 3 header.
+ Figure 2. Tag shim header Note: numbers in ( ) equal number of bits1
As a result, tag switching can be implemented over virtually any media type including point-to-point links, multi-access links, and ATM.
Observe also that the forwarding component is network layer independent. Use of control components specific to a particular network layer protocol enables the use of tag switching with different network layer protocols.
The forwarding criterion used by tag switching is based on a technique known as label swapping. When a tag switch receives a packet with a tag, the switch uses the tag as an index in its Tag Forwarding Information Base (TFIB). Each entry in the TFIB consists of an incoming tag, and one or more sub-entries of the form:
Outgoing link level information (e.g. MAC address) 3
Once the tagged packet enters the switch, the switch searches its TFIB index for an entry equal to the incoming packet tag. Then for each outgoing tag, outgoing interface, outgoing link level information, in the entry the switch replaces the tag in the packet with the outgoing tag, replaces the link level information in the packet with the outgoing link level information, and forwards over the outgoing interface. 3
There are some observations we need to make from the aforementioned description of the forwarding component. First, the forwarding decision is based on the exact match algorithm using a fixed length, fairly short tag as an index. This, in turn, enables a simplified forwarding procedure, relative to the longest match forwarding traditionally used at the network layer. This allows higher forwarding performance (faster throughput = greater number of packets per second). This forwarding mechanism is simple enough to allow a straightforward hardware implementation. 1
Secondly, note that the forwarding decisions made are independent of the tag' s forwarding granularity. For example, the same forwarding algorithm applies to both unicast and multicast traffic: a unicast entry would have a 1 to 1 relationship, in that it would have a single [outgoing tag, outgoing interface, outgoing link level information,] subentry, while a multicast entry would have a one or more subentries. This demonstrates how the same tag-forwarding criterion can be used in tag switching to support different routing functions. (e.g. unicast, multicast, etc.) 2
The simple forwarding procedure is thus in essence decoupled from the control component of tag switching. New routing (control) functions can easily be deployed without disturbing the forwarding criterion. Essentially, it does not become necessary to re-optimize the forwarding performance, by modifying either hardware or software, when new routing functionality is added.
Binding between a tag and network layer routing (routes) is an essential part of tag switching. The control component is responsible for generating and maintaining a consistent set of tags among a set of TSR devices. Generating a tag involves allocating a tag and then binding that tag to a particular destination. The destination can be a host address, address prefix, multicast group address, or just about any network layer information. The particular destination is usually a TSR. 6
The control component is organized as an aggregation of modules, each designed to support a particular routing function. Adding new modules supports new routing functions. The following sections describe some of those modules. 4
Destination-based routing for unicast traffic is probably the most straightforward application of tag switching. In the context of destination-based routing, a FEC is associated with an address prefix. Using the information provided by unicast routing protocols (e.g. OSPF, EIGRP, BGP), a TSR router constructs mappings between FECs (address prefixes) and their corresponding next hops. The Tag Switching control component uses this mapping to construct its TFIB; the TFIB is used for the actual packet forwarding, not like conventional routers, which uses the FEC to next-hop mapping to do the actual forwarding of packets. 6
Once a TSR has constructed a mapping between a particular FEC and its next-hop, the TSR is ready to construct an entry in its TFIB.
There are three permitted methods that accommodate tag allocation and TFIB management: 4
Downstream tag allocation
Downstream tag allocation on demand
Upstream tag allocation
In all cases, a TSR allocates tags and binds them to address prefixes in its TFIB. 1
Downstream tag allocation - the tag that is carried in a packet is generated and bound to a prefix by the TSR at the downstream end of the link ( with respect to the direction of data flow).
Upstream allocation - tags are allocated and bound at the upstream end of the link.
On-demand allocation means that tags are allocated and distributed by the downstream TSR only when requested to do so by the upstream TSR.
Note that upstream tag allocation and downstream tag allocation on demand are most useful in ATM networks.
In downstream allocation, a TSR is responsible for creating tag bindings that apply to incoming data packets, and receiving tag bindings for outgoing packets from its neighbors.
In upstream allocation, a TSR is responsible for creating tag bindings for outgoing tags, such as tags that are applied to data packets leaving the TSR, and receiving bindings for incoming tags from its neighbors. The following summaries focus on the operational differences between all three methods.4
+ Figure 3. Destination based forwarding with tag switching. 6
Downstream Tag Allocation
When using downstream tag allocation, the TSR allocates a tag for each route in its routing table, creates an entry in its TFIB with the incoming tag set to the allocated tag. Then advertises the binding between the (incoming) tag and the route to other adjacent TSRs. The advertisement can be accomplished by either piggybacking1 the binding on top of the existing routing protocols, or by using the Tag Distribution Protocol (TDP).2
When a TSR receives tag binding information for a certain route, and that information was originated by the next hop for that route, the TSR places the tag (carried as part of the binding information) into the outgoing tag of the TFIB entry associated with the route. This creates the binding between the outgoing tag and the route. 4
Next Hop Outgoing Interface
On TSR A 100 ? TSR B If1
On TSR B 6 ? TSR E If1
On TSR C 17 ? TSR D If2
On TSR D 5 ? TSR E If0
On TSR E 6 ? TSR E If0
+ Figure 4. Initial TFIB entries. (Example related to figure 3) 6
Downstream Tag Allocation on Demand
When using downstream on demand tag allocation, tags are allocated by a downstream TSR device and conveyed upstream as with the downstream technique. However, the allocation of tags by the downstream TSR is only performed upon a specific request from the upstream TSR. This technique is appropriate for TSR devices that have an ATM switch component. Typically, ATM switches have a finite set of tags ( VPI/VCI labels) they are able to support. 1
When an entry is made in a TSRs routing table index, the upstream TSR generates a request for a tag binding and transmits it to the next hop toward the destination. After the downstream TSR representing the next hop toward the destination receives the allocation request, the TFIB allocates a tag and updates the incoming entry index. A tag binding with [ address prefix, tag ] is created and transmitted to the upstream TSR.
When the upstream TSR receives the tag binding, it replaces the tag in the outgoing tag entry of the TFIB along with any outgoing link layer information. 7
Next Hop Outgoing Interface
On TSR A 100 6 TSR B if1
On TSR B 6 6 TSR E if1
On TSR C 17 5 TSR D If2
On TSR D 5 6 TSR E If0
On TSR E 6 ? TSR E If0
+ Figure 5. TFIB entries after tag distribution. (Example related to figure 3) 6
Upstream Tag Allocation
When using upstream tag allocation, tags are allocated by the upstream TSR for each route in its routing table, and communicated over one or more point-to-point links to the downstream TSR. The upstream approach is limited to a point-to-point connection because the outgoing TFIB entries maintained by the upstream TSR must be unique on a given outbound port / interface for a particular tag binding. 1
After a TFIB entry is populated with both incoming and outgoing tags, the TSR can forward packets for routes bound to the tags via the tag-switching algorithm. 8
The upstream TSR first allocates a tag for each entry in the routing table that contains a next hop address reachable by a point-to-point connection. Next, the upstream TSR updates the appropriate outbound TFIB entry by placing the allocated tag in the outgoing tag entry field and also places specific per-interface link layer information with that entry. The TSR creates the tag binding and then transmits the tag binding to the downstream TSR representing the next hop toward the destination.
The downstream TSR receives the tag binding and places the tag in the incoming TFIB entry for the destination network. 1
When a TSR creates a binding between an outgoing tag and a route, the TSR will populate its TFIB and update all necessary table entries with binding information. Note the following:
A TSR can add tags to previously untagged packets.
The total number of tags a TSR must maintain can be no greater than the number of routes in the TSRs routing table.
A single tag can be associated with a group of routes, not just a single route.
In general, a TSR will try to populate its TFIB with incoming and outgoing tags for all reachable routes, allowing all packets to be forwarded by simply using label swapping. Tag allocation is driven by topology (routing), not traffic. 7
The use of tags associated with routes, rather than flows, also means that there is no need to perform flow-classification procedures for all the flows of data to determine whether to assign a tag. This simplifies the overall routing scheme and produces a more robust and stable environment. 4
In conclusion, when tag switching is used to support destination-based routing, the need for normal network layer forwarding is not eliminated. First, to add a tag to a previously untagged packet requires normal network layer forwarding. This function can be performed by the first hop router, or by the first router on the path that is able to participate in tag switching. 7 In most cases, a packet can be forwarded by using the tag-switching algorithm.
Hierarchy of Routing Knowledge
The hierarchy of routing knowledge is one aspect used to improve the scaling properties of the routing system, which is one of the essential goals of tag switching. First, to understand the hierarchy of routing knowledge, we must review certain parts of the Internet routing architecture.
The IP routing architecture used today in the Internet is hierarchical and represents a collection of routing domains. Below we define those routing domains.
X Routing within individual domains is provided by intra-domain routing protocols (e.g. OSPF, RIP, EIGRP).
X Routing across multiple domains is provided by inter-domain routing protocols (e.g. BGP). Routing across these inter-domain systems is usually referred to as routing between Autonomous Systems. 2
One advantage to partitioning routing into intra- and inter-domain components is the reduction in the volume of routing information that has to be maintained by routers, which is essential to providing a scalable routing system. 6 The initial partitioning of routing information is not complete. The following information describes some routing issues and resolutions:
X Transit Routing Domain - a domain that carries traffic that neither originates in the same domain nor is destined for a node in the same domain. 6
X Every router within a transit routing domain has to store in its forwarding tables all the routes provided by the inter-domain routing, regardless of whether this router is an interior router or a border router. 5
X The amount of routing information is not insignificant. This places additional demand on the resources required by the routers in order for them to maintain all necessary routes. This increase in the volume of routing information would tend to increase routing convergence time, which leads to degradation of the overall performance of the routing system. 3
X Since interior routers in a transit domain basically transfer packets, from one border router to another, it seems wasteful to have them maintain complete routing tables for all inter- and intra-domain routes.
Tag Switching provides a means by which interior routers can store only the routing information they really need. The border routers still maintain full routing information. Tag switching allows the decoupling of intra-domain and inter-domain routing, so that only TSRs at the border of a domain would be required to maintain routing information provided by the inter-domain routers. However, all other intra-domain routers in that domain would only maintain routing information associated with the interior routing protocols. Now the routing load on non-border routers has been reduced and the convergence time has been shortened.
To support this separation of interior and exterior topologies mentioned above, Tag switching allows a packet to carry not just one but a set of tags, organized in a stack.
+ Figure 6. Simple example of Tag Switching with a hierarchy of routing knowledge. 6
A TSR could either swap the tag at the top of the stack, or pop the stack, or swap the tag and push one or more tags into the stack. Inter-domains are connected via border TSRs. When a packet is forwarded between inter-domains, the tag stack in the packet contains only one tag.
When a packet is forwarded in an intra-domain, the tag stack in the packet contains two tags. The intra-domains ingress border TSR pushes the second tag onto the stack. The tag at the top of the stack provides packet forwarding information to the appropriate egress border TSR, while the next tag in the stack provides correct packet forwarding information at the egress TSR. When the packet reaches the egress TSR, or the next to last TSR, the tag stack is popped.
+ Figure 7. Example of tag stack movement within the routing hierarchy. 1
The control component used in this scenario is similar to the one used with destination-based routing. The one difference lies with the fact that this methods tag binding information is distributed both among physically adjacent TSRs and among border TSRs within a single domain. 5
Flexible Routing using Explicit Routes and QoS
Explicit routing is another extremely useful function that is supported by tag switching. In the case of destination-based routing, the destination address is the only information that is used to forward a packet. This particular function does enable highly scalable routing, but it also limits the capability to influence the actual paths taken by packets. When a need arises to evenly distribute traffic among multiple links in order to relieve the load off of those links that are over
subscribed and evenly distribute the traffic, destination-based routing is limited. Also, ISP' s that support different classes of service will be limited due to the fact that destination-based routing will not be able to supply a separate dedicated path for that specific service. 5
Explicit routing is defined as a method of providing routes that are explicitly chosen to be other than the normal route chosen by the routing protocols. Tag switching provides support for explicit routes by using the Resource Reservation Protocol (RSVP) and defining a new RSVP Object - the Explicit Route Object.3 This Explicit Route Object is used to specify a particular explicit route. The object is carried in the RSVP PATH message. The tag binding information for the route is carried in the Tag Object by the RSVP RESV message. See RSVP below:
When a TSR wants to send an RESV message for a new RSVP flow, the TSR allocates a tag from its pool of free tags. Next, the TSR creates an entry in its TFIB with the incoming tag set to the allocated tag, places the tag in the Tag Object, and then sends out the RESV message with this object. This newly created TFIB entry contains tag information and information about local resources (e.g. queues) that packets whose tag matches the incoming tag of the entry will use. 6
The TSR populates the outgoing tag component as it receives the RESV message from its next hop TSR. Once the RSVP flow is established, the reservation state needs to be refreshed. To accomplish this, the TSR sends RESV messages associated with the flow and includes with them the same tag that the TSR bound to flow when it first created the RSVP state for the flow. This is control-driven binding. 3
The Explicit Route Object is composed of a sequence of variable-length sub-objects, where each sub-object identifies a single hop within an explicit route. The ability to express individual hops not just in terms of individual TSRs within a network topology, but in terms of a group of TSRs, provides the routing system with a significant amount of flexibility. In essence a TSR that computes an explicit route need not have detailed information about the route, whether the TSR is in the middle of the route or on the edge of the route. 6
In a multicast routing environment, multicast routing procedures are responsible for constructing a multicast distribution tree, with receivers as leaves. This tree is constructed by multicast routing protocols (e.g. DVMRP, PIM, CBT, MOSPF) and used by the forwarding component of the network layer routing to forward multicast packets. PIM is the most common protocol used in tag switching and is used in this section to describe how Tag switching supports multicast routing.
In support of multicast forwarding, each TSR associates a tag with a multicast tree as follows: 3
X A TSR creates a multicast forwarding entry, either for a shared or a source specific tree, and the list of outgoing interfaces for the entry. The TSR also creates local tags, one per outgoing interface.
X Next, the TSR creates an entry in its TFIB and populates (outgoing tag, outgoing interface, outgoing link layer information) with this information for each outgoing interface, placing a locally generated tag in the outgoing tag field. This creates a binding between a multicast tree and the tags. The TSR then advertises over each outgoing interface associated with the entry, the binding between the tag, and the tree.
X When a TSR receives a binding between a multicast tree and a tag from another TSR, if the other TSR is the upstream neighbor (with respect to the multicast tree). The local TSR places the tag carried in the binding into the incoming tag component of the TFIB entry associated with the tree.
X TSRs that are interconnected via a multiple-access subnetwork (e.g Ethernet), the tag allocation procedure for multicast has to be coordinated among the TSRs. In all other cases the tag allocation procedure for multicasting could be the same as destination-based routing.
ATM and Tag Switching
ATM forwarding is based on label swapping and the tag-switching model is also based on label swapping, tag-switching technology can be readily applied to ATM switches by implementing the control component of tag switching.
Tag information needed for tag switching is carried in the VCI field. If there were 2 levels of tagging needed, then the VPI field would be used as well. 3
To obtain the necessary control information the TSR should be able to: 8
Participate as a peer in the use of Network Layer routing protocols.
Perform routing information aggregation by supporting destination-based unicast routing in order to forward Network Layer traffic.
Support destination-based routing on an ATM switch will require the TSR to maintain several tags associated with a route, or group of routes with the same next hop. This will assist in avoiding the interleaving of packets, which arrive from different upstream tag switches, but are sent concurrently to the same next hop.
Utilize an ATM switch as a TSR and appear as a router to an adjacent router.
As stated earlier in the destination-based routing section, of the methods that accommodate tag allocation and TFIB management, upstream tag allocation and downstream tag allocation on demand are most useful in ATM networks. 4
Implementing tag switching on an ATM switch does not impede the ability to support a traditional ATM control plane (e.g. PNNI) on the same switch. Tag switching technology and the ATM control plane, would operate separately (e.g. Ships in The Night mode) with the VPI/VCI space and the other resources partitioned so that the components do not interact.
In most Internet based businesses, as well as corporate enterprise networks, the rate of growth and the need for extended use of assets to become profitable makes it unrealistic for service providers (ISPs) to start building their networks from scratch with new technology. 2
Cisco' s Tag Switching technology is a key element in its overall strategy for providing scalable networks and service solutions. Tag Switching provides network managers with the flexibility to meet current and future network designs by supporting a variety of Layer 2 technologies and Layer 3 protocols, and can be implemented or a purely routed, or switched ATM network. Cisco has also contributed the Tag Switching specification to the IETF as the basis for the emerging Multi-protocol Label Switching (MPLS) standard. 9
Today, ISPs struggle to scale existing backbone infrastructures for the future and deliver differentiated network services to save costs and generate new revenue streams. ISPs also want to be able to charge premium rates that many customers will pay for special capabilities or levels of service. Tag Switching lets ISPs: 7
Seamlessly deliver IP-based network services over high performance ATM.
Offer differentiated network services, such as QoS, and to subsequently develop and offer a price model for services.
Scale existing network infrastructures to meet future growth requirements.
Protect existing equipment investments with a Cisco IOS software only upgrade to certain ATM switches and routers.
Tag switching also complements the emerging solutions for accounting and gathering network usage statistics, and can coexist with security controls for access and resource management.
Large, enterprise backbones immediately benefit from the increased capacity and traffic management provided by Tag switching. Enterprises can also exploit Tag switching for their networks or backbones to: 7
Provide advanced QoS features that ensure network priority for mission-critical traffic.
Seamlessly integrate voice and data networks under one high-speed infrastructure.
Extend Tag-enabled ISP network services to the corporate enterprise.
Provide a more cost-effective environment by optimally using WAN bandwidth.
Scale existing enterprise backbone infrastructures to meet future requirements.
Of the currently proposed multilayer switching technologies, Tag Switching provides the most robust solution along with the best match with the requirements for multilayer switching. The Tag Switching topology-driven approach, which couples its control-driven destination prefix algorithm to standard routing protocols, supports much more efficient use of labels than traffic-driven per flow designs, and avoids flow-by-flow setup procedures.
One of the key innovations brought to the table by Tag Switching is the use of hierarchy of tags (e.g. Tag stacks). This enables enhancements to routing scalability by allowing FEC' s to form a hierarchy that reflects the hierarchy in the underlying routing system.
Tag Switching also provides direct support for advanced IP services, such as CoS, RSVP, IP, VPNs, and multicast on ATM switches. This technology also brings the benefits of explicit routing and VPNs to gigabit routers. Most importantly, Cisco' s implementation of Tag Switching is a close fit and will conform to the Multi-protocol Label Switching (MPLS) standard, both for external interfaces and for interfaces within the core of the network, enabling multi-vendor networks.
The inherent flexibility of Tag Switching also provides an outstanding match with the evolutionary requirements of public and private IP networks. Tag switching is designed from the ground up to support both packet and cell interfaces. Flexible, durable (for now) and influencing the IETF with Tag technology for the MPLS standard.
Simply stated, I believe Tag Switching, a.k.a. future name MPLS, is a viable technology able to meet the requirements brought up in the beginning of this document. Tag Switching brings layer 2 and Layer 3 functionality together with increased performance is, for right now, the best in class.
 Christopher Y. Metz , "IP Switching : Protocols and Architectures," McGraw Hill 1999,
Chapter 11, PP. 279-307
 Y. Rekhter, B. Davie, D. Katz, E. Rosen, G. Swallow, et al., "Cisco Systems' Tag Switching
Architecture Overview," RFC 2105, February 1997.
 Cisco Tag Switching: Data Sheets; for further information see
 Cisco White Paper; Tag Switching: Uniting Routing and Switching for Scalable, High-Performance
Services; see http//www.cisco.com/warp/public/cc/cisco/mkt/ios/tag/tech/tagsw_wp.htm
 A. Detriech,...et al., "MPLS and Cisco Tag Switching," Proc. Cisco Networkers Conference, July
 Bruce Davie, Yakov Rekhter, "MPLS: Technology and Applications," Morgan Kaufman 2000,
Chapter 4, PP. 87-120
 Cisco IOS Software; Tag Switching:, Tag Switching: Evolving Your Network,
 Cisco On-line Documentation Paper; Tag Switching: Uniting Routing and Switching for Scalable,
see - http//www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/tagswtch.htm
 S. Agrawal, et al, "IP Switching," Proc. Paper. for further information see