|
|
This chapter describes tag switching, a high-performance packet-forwarding technology that assigns tags to mulitprotocol frames for transport across packet- or cell-based networks. This chapter includes the following sections:
In conventional Layer 3 forwarding, as a packet traverses the network, each router extracts forwarding information from the Layer 3 header. Header analysis is repeated at each router (hop) through which the packet passes.
In a tag switching network, the Layer 3 header is analyzed just once. It is then mapped into a short fixed-length tag. At each hop, the forwarding decision is made by looking only at the value of the tag. There is no need to reanalyze the Layer 3 header. Because the tag is a fixed-length, unstructured value, lookup is fast and simple.
A tag switching network consists of tag edge routers and tag switches, as shown in Figure 16-1. Tag edge routers are located at the edge of a tag switching network. They use standard routing protocols (such as Open Shortest Path First [OSPF]) to create routing tables, which identify routes through the network. Based on the routing tables, tag edge routers use the Tag Distribution Protocol (TDP) to apply and distribute tags to other tag edge routers or tag switches. Tag switches are located at the core of a tag switching network. They receive TDP information from the tag edge routers and build their own forwarding database. Tag switches then switch the packets based on the tags only (without looking at the Layer 3 header).

When a tag edge router at the entry point of a tag switching network receives a packet for forwarding:
1. The router analyzes the network layer header and performs any applicable network layer services (such as security, accounting, or quality of service [QoS] classification).
2. The router chooses a route for the packet based on the information in its routing table, applies a tag, and forwards the packet to the next-hop tag switch.
3. The tag switch receives the tagged packet and switches the packet from switch to switch based on the tag only. The switches do not reanalyze the network layer header, but only look at the short fixed-length tag.
4. The packet reaches the tag edge router at the exit point of the tag switched network, where the tag is removed and the packet is delivered.
Tag switching offers the following benefits:
The hardware requirements for tag switching include:
Tag switching has the following software restrictions:
This section describes how to configure tag switching on LightStream 1010 ATM switches, and includes the following procedures:
You should configure a loopback interface on every ATM switch configured for tag switching. The loopback interface, a virtual interface, is always active. The IP address of the loopback interface is used as the TDP identifier for the ATM switch. If a loopback interface does not exist, the TDP identifier is the highest IP address configured on the ATM switch. If that IP address is administratively shut down, all TDP sessions through the ATM switch restart. Therefore, we recommend that you configure a loopback interface.
To configure the loopback interface, perform the following steps, beginning in global configuration mode:
| Step | Command | Task |
| 1 | interface loopback number | Enter interface configuration mode and assign a number to the loopback interface. |
| 2 | ip address ipaddress mask | Assign an IP address and subnet mask to the loopback interface. Note We recommend a 32-bit subnet mask (255.255.255.255) for the loopback interface. If you do not use a 32-bit subnet mask, two TVCs1 terminate for the same address---one for a 32-bit subnet mask and the other for the mask you entered. Entering a 32-bit subnet mask reduces the number of TVCs to one. |
| 1TVCs = tag virtual channels. |
In the following example, loopback interface 0 is created with an IP address of 1.0.1.11 and a subnet mask of 255.255.255.255:
Switch(config)# interface loopback 0 Switch(config-if)# ip address 1.0.1.11 255.255.255.255 Switch(config-if)# exit
The following example shows the loopback 0 configuration using the show interface privileged EXEC command:
Switch# show interface loopback 0
Loopback0 is up, line protocol is up
Hardware is Loopback
Internet address is 1.0.1.11/24
MTU 1500 bytes, BW 8000000 Kbit, DLY 5000 usec, rely 255/255, load 1/255
Encapsulation LOOPBACK, loopback not set, keepalive set (10 sec)
Last input 00:00:03, output never, output hang never
Last clearing of "show interface" counters never
Queueing strategy: fifo
Output queue 0/0, 0 drops; input queue 0/75, 0 drops
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
73 packets output, 0 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 output buffer failures, 0 output buffers swapped out
To enable tag switching on the ATM interface, perform the following steps, beginning in global configuration mode:
| Step | Command | Task |
| 1 | interface atm card/subcard/port | Enter interface configuration mode on the specified ATM interface. |
| 2 | ip unnumbered type number | Enable IP unnumbered on the ATM interface and assign the unnumbered interface to an interface that has an IP address. We recommend enabling IP unnumbered because it allows you to conserve IP addresses and it reduces the number of TVCs terminating on the switch. |
or | or | |
ip address ip-address mask | Assign an IP address and subnet mask to the ATM interface. | |
| 3 | tag-switching ip | Enable tag switching of IPv4 packets. |
In the following example, ATM interface 1/0/1 is configured for IP unnumbered to loopback interface 0:
Switch(config-if)# interface atm 1/0/1 Switch(config-if)# ip unnumbered loopback 0 Switch(config-if)# tag-switching ip Switch(config-if)# exit
In the following example, ATM interface 0/0/3 is configured with a specific IP address and subnet mask (1.3.11.3 255.255.0.0):
Switch(config)# interface atm 0/0/3 Switch(config-if)# ip address 1.3.11.3 255.255.0.0 Switch(config-if)# tag-switching ip Switch(config-if)# exit
To display the ATM interface configuration, use the following EXEC command:
| Command | Task |
|---|---|
show tag-switching interfaces | Display the tag switching configuration on the ATM interface. |
The following example shows that tag switching is configured on ATM interfaces 0/0/3 and 1/0/1:
Switch# show tag-switching interfaces Interface IP Tunnel Operational ATM0/0/3 Yes No No (ATM tagging) ATM1/0/1 Yes No No (ATM tagging)
To configure OSPF, you must first enable OSPF on the ATM switch so that it can create routing tables, which identify routes through the network. Then add the addresses and associated routing areas to the OSPF process so that it can propagate the addresses to other ATM switches and routers.
To configure OSPF, follow these steps in global configuration mode:
| Step | Command | Task |
| 1 | router ospf process_number | Enable OSPF and assign it a process number. The process number can be any positive integer. |
| 2 | network address wildcard-mask area area-id | Define the network prefix, a wildcard subnet mask, and the associated area number on which to run OSPF. An area number is an identification number for an OSPF address range. Repeat this command for each additional area you want to add to the OSPF process. Caution Ethernet interface 2/0/0 is used for system management only (for example, downloading system images or configuration files from a TFTP server). Do not add this interface to the OSPF process. |
In the following example, all addresses are in area 0:
Switch(config)# router ospf 10000 Switch(config-router)# network 1.1.1.0 0.0.0.255 area 0 Switch(config-router)# network 1.2.1.0 0.0.0.255 area 0 Switch(config-router)# network 1.3.0.0 0.0.255.255 area 0 Switch(config-router)# network 200.2.2.0 0.0.0.255 area 0 Switch(config-router)# network 1.0.1.0 0.0.0.255 area 0 Switch(config-router)# network 1.18.0.0 0.0.255.255 area 0 Switch(config-router)# exit
To display the OSPF configuration, use the following privileged EXEC command:
| Command | Task |
|---|---|
show ip ospf | Display the OSPF configuration. |
The following example shows the OSPF configuration using the show ip privileged EXEC command:
Switch# show ip ospf
Routing Process "ospf 10000" with ID 1.0.1.11
Supports only single TOS(TOS0) routes
SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
Number of DCbitless external LSA 0
Number of DoNotAge external LSA 0
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Area BACKBONE(0) (Inactive)
Number of interfaces in this area is 4
Area has no authentication
SPF algorithm executed 2 times
Area ranges are
Link State Update Interval is 00:30:00 and due in 00:14:42
Link State Age Interval is 00:20:00 and due in 00:14:10
Number of DCbitless LSA 0
Number of indication LSA 0
Number of DoNotAge LSA 0
Although not necessary for most configurations, you might need to change the default tag virtual path identifier (VPI) range on the switch if:
To change the default tag VPI range, perform the following steps, beginning in global configuration mode:
| Step | Command | Task |
| 1 | interface atm card/subcard/port | Enter interface configuration mode on the specified ATM interface. |
| 2 | tag-switching atm vpi vpi - vpi | Enter the VPI range. Note If the TDP neighbor is a router, the VPI range can be no larger than two. For example, from 5 to 6 (a range of two), not 5 to 7 (a range of three). If the TDP neighbor is a switch, the maximum VPI range is 0 to 255. |
The following example shows how to select a VPI range from 5 to 6 (a range of two), an acceptable range if the TDP neighbor is a router:
Switch(config)# interface atm 4/0/1 Switch(config-if)# tag-switching ip Switch(config-if)# tag-switching atm vpi 5 - 6
The following example shows how to select a VPI range from 5 to 7 (a range of three), an acceptable range if the TDP neighbor is a switch:
Switch(config)# interface atm 4/0/1 Switch(config-if)# tag-switching ip Switch(config-if)# tag-switching atm vpi 5 - 7
To display the tag switching VPI range, use the following EXEC command:
| Command | Task |
|---|---|
show tag-switching interfaces detail | Display the tag switching VPI range on an interface. |
The following example shows the tag switching VPI range on interface ATM 1/0/1:
Switch# show tag-switching interfaces detail
Interface ATM0/0/3:
IP tagging enabled
TSP Tunnel tagging not enabled
Tagging not operational
MTU = 4470
ATM tagging: Tag VPI = 1, Control VC = 0/32
Interface ATM1/0/1:
IP tagging enabled
TSP Tunnel tagging not enabled
Tagging not operational
MTU = 4470
ATM tagging: Tag VPI range = 5 - 6, Control VC = 6/32
<information deleted>
Although not necessary for most configurations, you can change the default TDP control channel VPI and virtual channel identifier (VCI) if you want to use a nondefault value. The default TDP control channel is on VPI 0 and VCI 32. TDP control channels exchange TDP HELLOs and Protocol Information Elements (PIEs) to establish two-way TDP sessions. Tag virtual channels (TVCs) are created by the exchange of PIEs through TDP control channels.
To change the TDP control channel, perform the following steps, beginning in global configuration mode:
| Step | Command | Task |
| 1 | interface atm card/subcard/port | Enter interface configuration mode on the specified ATM interface. |
| 2 | ip address ip-address mask | Assign an IP address and subnet mask to the ATM interface. |
| 3 | tag-switching ip | Enable tag switching of IPv4 packets. |
| 4 | tag-switching atm control-vc vpi vci | Change the TDP control channel. |
Figure 16-2 shows an example TDP control channel configuration between a source switch and destination switch on ATM interface 0/0/1. Note that the VPI and VCI values match on the source switch and destination switch.

In the following example, a TDP control channel is configured on the source switch:
Switch(config)# interface atm 0/0/1 Switch(config-if)# ip address 1.2.0.11 255.255.255.0 Switch(config-if)# tag-switching ip Switch(config-if)# tag-switching atm control-vc 6 32 Switch(config-if)# exit
In the following example, a TDP control channel is configured on the destination switch:
Switch(config)# interface atm 0/0/1 Switch(config-if)# ip address 1.2.0.12 255.255.255.0 Switch(config-if)# tag-switching ip Switch(config-if)# tag-switching atm control-vc 6 32 Switch(config-if)# exit
If you are having trouble establishing a TDP session, verify that the VPI and VCI values match on the TDP control channels of the source switch and destination switch.
To display the TDP control channel configuration, use the following EXEC command:
| Command | Task |
|---|---|
show tag-switching interfaces detail | Display the TDP control channel configuration on an interface. |
The following example shows the TDP control channel configuration on interface ATM 0/0/3:
Switch# show tag-switching interfaces detail
Interface ATM0/0/3:
IP tagging enabled
TSP Tunnel tagging not enabled
Tagging not operational
MTU = 4470
ATM tagging: Tag VPI = 1, Control VC = 0/32
<information deleted>
If you want to configure tag switching on VP tunnels, perform the following steps, beginning in global configuration mode:
| Step | Command | Task |
|---|---|---|
| 1 | interface atm card/subcard/port | Enter interface configuration mode on the specified ATM interface. |
| 2 | atm pvp vpi | Create a PVP. When configuring PVP connections, configure the lowest VPI numbers first. |
| 3 | exit | Return to global configuration mode. |
| 4 | interface atm card/subcard/port.sub-interface | Enter interface configuration mode. |
| 5 | ip unnumbered type number | Enable IP unnumbered on the ATM interface and assign the unnumbered interface to an interface that has an IP address. We recommend enabling IP unnumbered because it allows you to conserve IP addresses and reduces the number of TVCs terminating on the switch. |
or | or | |
ip address ip-address mask | Assign an IP address and subnet mask to the ATM interface. | |
| 6 | tag-switching ip | Enable tag switching of IPv4 packets. |
Because a VP tunnel runs between switches, you must also configure a VP tunnel on the connecting ATM interface on the destination switch. The examples that follow show how to configure VP tunnels between switches.
Figure 16-3 shows an example VP tunnel between a source switch and destination switch.

In the following example, ATM interface 0/1/1 on the source switch has no IP address and PVP 51 is configured for IP unnumbered to loopback interface 0:
Switch(config-if)# interface atm 0/1/1 Switch(config-if)# atm pvp 51 Switch(config-if)# exit Switch(config-if)# interface atm 0/1/1.51 Switch(config-subif)# ip unnumbered loopback 0 Switch(config-subif)# tag-switching ip Switch(config-subif)# exit
In the following example, ATM interface 0/1/3 on the destination switch has no IP address and PVP 101 is configured for IP unnumbered to loopback interface 0:
Switch(config)# interface atm 0/1/3 Switch(config-if)# atm pvp 101 Switch(config-if)# exit Switch(config)# interface atm 0/1/3.101 Switch(config-subif)# ip unnumbered loopback 0 Switch(config-subif)# tag-switching ip Switch(config-subif)# exit
To connect the source and destination switch VP tunnels, proceed to the next section, "Connecting the VP Tunnels."
To display the VP tunnel configuration, use the following EXEC command:
| Command | Task |
|---|---|
show atm vp | Display the VP tunnel configuration on an interface. |
The following example shows PVP 51 configured on ATM interface 0/1/1:
Switch# show atm vp Interface VPI Type X-Interface X-VPI Status ATM0/1/1 51 PVP TUNNEL
To complete the VP tunnel, you must configure the ATM ports on the intermediate switch to designate where to send packets coming from the source switch and going to the
destination switch.
To connect the PVP, perform the following steps, beginning in interface configuration mode:
| Step | Command | Task |
| 1 | interface atm card/subcard/port | Enter interface configuration mode on the specified ATM interface. |
| 2 | atm pvp vpi interface atm card/subcard/port vpi-B | Connect the PVP from the source switch to the destination switch. |
Figure 16-4 shows an example configuration on an intermediate switch.

In the following example, PVP 51 on ATM interface 0/1/1 is connected to PVP 101 on ATM interface 0/1/3:
Switch(config)# interface atm 0/1/1 Switch(config-if)# atm pvp 51 interface atm 0/1/3 101 Switch(config-if)# exit
The following example shows PVP 51 on ATM interface 0/1/1 connected to PVP 101 on ATM interface 0/1/3:
Switch# show atm vp Interface VPI Type X-Interface X-VPI Status ATM0/1/1 51 PVP ATM0/1/3 101 DOWN ATM0/1/3 101 PVP ATM0/1/1 51 DOWN
VC merge allows the switch to aggregate multiple incoming flows with the same destination address into a single outgoing flow. Where VC merge occurs, several incoming tags are mapped to one single outgoing tag. Cells from different VCIs going to the same destination are transmitted to the same outgoing VC using multipoint-to-point connections. This sharing of tags reduces the total number of virtual circuits required for tag switching. Without VC merge, each source-destination prefix pair consumes one tag VC on each interface along the path. VC merge reduces the tag space shortage by sharing tags for different flows with the same destination.
Figure 16-5 shows an example of VC merge. In Figure 16-5, routers A and B are sending traffic to prefix 171.69.0.0/16 on router C. The LightStream 1010 ATM switch in the middle is configured with a single outbound VCI 50 bound to prefix 171.69.0.0/16. Data flows from routers A and B congregate in the LightStream 1010 ATM switch and share the same outgoing VC. Cells coming from VCIs 40 and 90 are buffered in the input queues of the LightStream 1010 ATM switch until complete AAL5 frames are received. The complete frame is then forwarded to router C on VCI 50.

VC merge support requires a feature card per-flow queueing (FC-PFQ) daughter card on the ATM switch processor (ASP). VC merge is not possible with a feature card per-class queueing (FC-PCQ). To determine which feature card you have, enter the show hardware privileged EXEC command. Either FeatureCard1 (FC-PCQ) or FC-PFQ displays in the Ctrlr-Type column.
VC merge is enabled by default. To disable VC merge, enter the following command in global configuration mode:
| Command | Task |
no tag-switching atm vc-merge | Enable VC merge. |
To display the VC merge configuration, use the following EXEC command:
| Command | Task |
|---|---|
show tag-switching atm-tdp capability | Display the TDP control channel configuration on an interface. |
The following example shows that VC merge configuration is enabled on ATM interface 0/1/0:
Switch# show tag-switching atm-tdp capability
Control VPI VCI Alloc VC Merge
ATM0/1/0 VP VC Range Range Scheme IN OUT
Negotiated 0 32 [7 - 8] [33 - 1023] UNIDIR - -
Local - - [7 - 8] [33 - 16383] UNIDIR Yes Yes
Peer - - [7 - 8] [33 - 1023] UNIDIR - -
|
|