Trunk Links
A broadcast domain must sometimes exist on more than one switch in the network. To accomplish this, one switch must send frames to another switch and indicate which VLAN a particular frame belongs to. On Cisco switches, a trunk link is created to accomplish this VLAN identification. ISL and IEEE 802.1Q are different methods of putting a VLAN identifier in a Layer 2 frame.
A trunk link is the other type of Layer 2 port supported on Cisco switches. When a trunk port is configured, it begins marking frames as they exit the port to indicate which VLAN each frame is associated with. The trunk port can also read the markings, called tags, as they enter the trunk port. This enables the switch to send a frame only to the ports for the given VLAN associated with the incoming frame.
The main purpose of trunking is to carry traffic between switches and maintain the VLAN information. Unlike an access link, the trunk link does not belong to a single VLAN but instead can carry traffic from several VLANs over a point-to-point link between two devices that understand the protocol. Because a trunk is typically a point-to-point connection between two switches, it is very efficient and highly recommended that it runs in full-duplex mode. Figure 3-6 shows trunk links between switches carrying traffic for multiple VLANS.
Figure 3-6 Trunking
Two forms of trunking are used for Cisco switches on Ethernet networks:
An IEEE industry standard called IEEE 802.1Q. This is a frame-tagging mechanism that adds a VLAN identifier to the frame by inserting a tag at Layer 2.
Another form of trunking on Cisco switches is called Inter-Switch Link (ISL), which is a Cisco proprietary trunking mechanism. ISL uses a frame encapsulation method that adds a header to identify the VLAN.
802.1Q Trunking
The IEEE 802.1Q protocol interconnects VLANs between multiple switches, routers, and servers. With 802.1Q, a network administrator can define a VLAN topology to span multiple physical devices. If you examine Figure 3-6, you can see that VLANs 1, 2, and 3 are physically attached to different switches; however, because the trunk link carries traffic for all of these VLANs, all the users in a given VLAN are in the same broadcast domain.
Cisco switches support IEEE 802.1Q for FastEthernet and GigabitEthernet interfaces. An 802.1Q trunk link provides VLAN identification by adding a 4-byte tag to an Ethernet Frame as it leaves a trunk port. Because the frame has been changed, a new frame check sequence (FCS) must also be computed and added to the frame. Figure 3-7 shows a frame entering an access port and leaving a trunk port with a tag.
NOTE
On Cisco switches, 802.1Q is usually referred to as dot1Q after the IEEE standard number.
Figure 3-7 802.1Q Frame Tagging
The 4-byte tag is inserted into the frame immediately following the source address field and is composed of two separate 2-byte sectionsthe Tag Protocol ID (TPID) field and the Tag Control Information (TCI) field.
The TPID field, for Ethernet frames, is always the hexadecimal value 8100 (0x8100). You might recall from Chapter 2 that any value over 05DC following the source address is an Ethertype field. The value 0x8100 tells an 802.1Q-compliant device that this is a tagged frame and to use the next 2 bytes for 802.1Q information.
In the next 2-byte TCI field, the first 3 bits of the TCI are referred to as the Priority bits. These bits indicate the priority of the frame for quality of service (QoS) reasons. For example, an IP telephone will mark any voice traffic with a priority of 5, indicating to a switch running QoS that the frame should be sent through the network as fast as possible. In some implementations, the priority bits are the information in the TCI that are most important to the user. For this reason, 802.1Q is sometimes referred to as 802.1p. These are the same frames with an emphasis on different part of the TCI.
The next bit in the TCI field is called a Canonical Format Identifier (CFI). This is a 1-bit field that, when off, indicates that the device should read the information in a field canonically (right-to-left or low-order bits first). The reason for this bit is that 802.1Q can be used for Token Ring or Ethernet frames. An Ethernet device reads canonically, but Token Ring devices read in a noncanonical form. For an Ethernet frame, this value will always be 0, but if the tag is in a Token Ring frame, it will be 1. For this reason, the CFI is sometimes referred to as the Token Ring Encapsulation Flag.
The last 12 bits in the CFI are the VLAN ID. This allows for the identification of 4096 unique VLANs. Figure 3-8 shows the components of the 802.1Q tag.
Figure 3-8 802.1Q Tag Components
With 802.1Q, a trunk link can tag frames between devices that understand the protocol. This allows for multiple VLANs to exist on a single topology. Because 802.1Q is defined as a type of Ethernet frame, it does not require that every device on a link speaks the 802.1Q protocol. Because Ethernet is a shared media and more than two device could be connected on this media, all devices on the link must still be capable of communicating even if they do not speak the 802.1Q protocol. For this reason, 802.1Q also defines a Native VLAN. A trunk port on a switch is defined to be in a Native VLAN, and the 802.1Q trunk will not tag frames that are going out the port that came in on any port that belongs to the same VLAN that is the Native VLAN on the switch. Any Ethernet device would be capable of reading frames for the Native VLANs. The Native VLAN is important on an 802.1Q trunk link. If both sides of the link do not agree on the Native VLAN, the trunk will not operate properly. Figure 3-9 shows how frames on the Native VLAN are not tagged out trunk links.
Figure 3-9 Native VLAN
Inter-Switch Links
Inter-Switch Link (ISL) tagging accomplishes the same task as 802.1Q trunking but uses a different frame format. ISL trunks are Cisco proprietary and define only a point-to-point connection between two devices, typically switches. The name Inter-Switch Link hints at this design. ISL frame tagging uses a low-latency mechanism for multiplexing traffic from multiple VLANs on a single physical path. ISL has been implemented for connections among switches, routers, and network interface cards (NICs) used on nodes such as servers. To support the ISL feature, each connecting device must be ISL-configured. A router that is ISL-configured can allow inter-VLAN communications. A non-ISL device that receives ISL-encapsulated Ethernet frames will most likely consider them protocol errors because of the format and size of the frames.
ISL functions at Layer 2 of the OSI model like 802.1Q, but it differs by encapsulating the entire Layer 2 Ethernet frame inside an ISL header and trailer. Because ISL encapsulates the entire frame, it is protocol-independent and can carry any type of Layer 2 frame or upper-layer protocol between the switches. ISL has the following characteristics:
Performed with application-specific integrated circuits (ASIC)
Not intrusive to client stations; client does not see the ISL header
Effective between switches, routers and switches, and switches and servers with ISL NICs
The following section addresses ISL tagging and ISL encapsulation.
ISL Encapsulation
ISL functions at OSI Layer 2 by encapsulating a data frame with a new (ISL) header and an additional (ISL) cyclic redundancy check (CRC). ISL-encapsulated frames are passed over trunk lines. ISL is protocol-independent because the data frame might carry any data-link protocol.
Ports configured as ISL trunks encapsulate each frame with a 26-byte ISL header and a 4-byte CRC before sending it out the trunk port. Because ISL technology is implemented in ASICs, frames are tagged with low latency. The ISL header supports 10 bits for ISL identification. Each bit can be one of two values, 210, allowing for the 1024 unique VLANs. The number of actual VLANs supported by a switch depends on the switch hardware. Figure 3-10 illustrates a typical ISL-encapsulated data frame.
Figure 3-10 ISL Encapsulation
As illustrated in Figure 3-10, the ISL frame header contains the following information fields:
DA40-bit multicast destination address.
Type4-bit descriptor of the encapsulated frame typesEthernet (0000), Token Ring (0001), FDDI (0010), and ATM (0011).
User4-bit descriptor used as the type field extension or to define Ethernet priorities. This is a binary value from 0, the lowest priority, to 3, the highest priority.
SA48-bit source MAC address of the transmitting Catalyst switch.
LEN16-bit frame-length descriptor minus DA type, user, SA, LEN, and CRC.
AAAA03Standard SNAP 802.2 LLC header.
HSAFirst 3 bytes of SA (manufacturer's ID or organizational unique ID).
VLAN15-bit VLAN ID. Only the lower 10 bits are used for 1024 VLANs.
BPDU1-bit descriptor identifying whether the frame is a Spanning Tree bridge protocol data unit (BPDU). Also set if the encapsulated frame is a Cisco Discovery Protocol (CDP) frame.
INDEX16-bit descriptor that identifies the transmitting port ID. Used for diagnostics.
RES16-bit reserved field used for additional information, such as Token Ring and Fiber Distributed Data Interface (FDDI) frame Frame Check (FC) field.