Cisco Tag Switching Essay, Research Paper
Abstract
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
Introduction
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.
Forwarding Component
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 tag
Outgoing interface
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.
Control Component
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
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
Incoming Tag
Outgoing Tag
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
Incoming Tag
Outgoing Tag
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.