LAN Switching Topics
Following the CCIE written exam blueprint, this section covers VLAN trunking, CDP, and forward error correction (FEC). The VLAN trunking methods covered are Inter-Switch Link (ISL), 802.1q, and Cisco's Virtual Terminal Protocol (VTP).
VLAN Trunking
A VLAN is an association of ports within a switch that serves a group of end stations with a common set of requirements. All stations in a VLAN share the same IP subnet; therefore, traffic between VLANs must be routed by an external router or a route-switch module in a Catalyst. Each VLAN is a logical broadcast domain.
Stations with the same VLAN do not necessarily need to be in the same physical location. You use trucking schemes to span VLANs throughout LAN switches. Each VLAN runs an instance of the STP. Figure 4-30 shows logical connectivity between LAN switches and a router. Because attached stations can be connected to any VLAN, all trunks must include the configured VLANs. The following sections discuss trunking schemes.
Figure 4-30 VLAN Trunks
ISL
Cisco's ISL is a proprietary trunk encapsulation method for carrying VLANs over FE or GE interfaces.
ISL tags each frame to identify the VLAN it belongs to. The tag is a 30-byte header and CRC that is added around the FE frame. This includes a 26-byte header and 4-byte CRC. The header includes a 15-bit VLAN ID that identifies each VLAN. Although ISL is a point-to-point protocol (over FE and GE) between two Cisco devices, it can carry FDDI, Token Ring, and ATM in its payload.
ISL Frame Format
As shown in Figure 4-31, ISL adds a 26-byte header and 4-byte trailer to a frame when it is sent through a trunk.
Figure 4-31 ISP Frame Format
The ISL frame with header, data, and trailer includes the following fields listed in Table 4-10.
Table 4-10 ISL Frame Fields
ISL Field |
Description |
DA |
40-bit destination address set to multicast address 0x01 00 c0 00 00. |
Type |
4-bit value that indicates the source frame type with the following values: |
|
0000 = Ethernet |
|
0001 = Token Ring |
|
0010 = FDDI |
|
0011 = ATM |
User |
4-bits, usually set to zero, but can extend the meaning of the Type field. |
SA |
48-bit source MAC address. |
LEN |
16-bit length of user data and ISL header, excluding DA, T, U, SA, LEN, and CRC fields. |
SNAP |
3-byte field set to 0xAAAA03. |
HSA |
Upper 3 bytes, the manufactured ID portion, of the SA field; it must contain the value 0x00_00_0C. |
VLAN ID |
15-bit VLAN identifier. |
BPDU |
1-bit set for all BPDUs that are encapsulated by ISL. |
INDX |
16-bit index indicates the port index of the source of the packet as it exits the switch. |
RES |
16-bit reserved field, set to zero for Ethernet. |
Encapsulated |
|
Frame |
Encapsulated Ethernet, Token Ring, FDDI, or ATM frame, including its own CRC, completely unmodified. |
CRC |
32-bit CRC value calculated on the entire encapsulated frame from the DA field to the encapsulated frame field. |
ISL Configuration
On router interfaces, subinterfaces are created for each VLAN. On each subinterface, the encapsulation is set to ISL to enable ISL trunking to the switches. As shown in Example 4-14, each subinterface is configured with a different VLAN number with the encapsulation isl vlan-number command.
Example 4-14 ISL Configuration
interface fastethernet 1/1.1 encapsulation isl 1 ip address 192.168.1.1 255.255.255.0 ! interface fastethernet 1/1.2 encapsulation isl 2 ip address 192.168.2.1 255.255.255.0 ! interface fastethernet 1/1.3 encapsulation isl 3 ip address 192.168.3.1 255.255.255.0
On Catalyst, use the set trunk command. Because ISL is the default, you do not use the isl keyword:
set trunk mod/port [on | desirable | auto | negotiate] isl
IEEE 802.1q
The IEEE 802.1q standard trunks VLANs over FE and GE interfaces and can be used in a multivendor environment. IEEE 802.1q uses one instance of STP for each VLAN allowed in the trunk. Similar to ISL, 802.1q uses a tag on each frame with a VLAN identifier. Unlike ISL, 802.1q uses an internal tag.
IEEE 802.1q also provides support for the IEEE 802.1p priority standard. A priority field is included in the 802.1q frame.
IEEE 802.1q Frame Format
As shown in Figure 4-32, IEEE 802.1q inserts a 4-byte tag after the Source Address field (before the Type/Length field) of Ethernet frames.
Figure 4-32 IEEE 802.1q Frame Format
The tag fields are described in Table 4-11.
Table 4-11 IEEE 802.1q Tag Fields
IEEE 802.1q Field |
Description |
TPID |
16-bit Tag Protocol Identifier, which indicates that an 802.1q tag follows. |
Priority |
3-bit IEEE 802.1p priority, which provides 8 levels of prioritization. |
CFI |
Canonical Format Indicator, which indicates whether the MAC addresses are in canonical (0) or noncanonical (1) format. |
VID |
12-bit VLAN identifier that allows 4096 unique VLAN values; VLAN numbers 0, 1, and 4095 are reserved. |
IEEE 802.1q Configuration
On router interfaces, subinterfaces are created for each VLAN. On each subinterface, the encapsulation is set to IEEE 802.1q to enable trunking to the switches. As shown in Example 4-15, each subinterface is configured with a different VLAN number with the encapsulation dot1q vlan-number command.
Example 4-15 IEEE 802.1q Configuration Example
interface fastethernet 1/1.1 encapsulation dot1q 10 ip address 192.168.1.1 255.255.255.0 ! interface fastethernet 1/1.2 encapsulation dot1q 20 ip address 192.168.2.1 255.255.255.0 ! interface fastethernet 1/1.3 encapsulation dot1q 30 ip address 192.168.3.1 255.255.255.0
On Catalyst, use the set trunk command. Because ISL is the default, the dot1q keyword is necessary.
set trunk mod/port [on | desirable | auto | negotiate] dot1q
VLAN Trunk Protocol (VTP)
VTP is a Cisco proprietary protocol that distributes VLAN information among Catalyst switches. VTP uses ISL or 802.1q encapsulated links to communicate. VTP's purpose is to ease the administrative burden of managing VLANs, by managing the addition, deletion, and renaming of VLANs.
With VTP, a VTP domain is created for all Catalyst switches that are to be in an administrative domain. VTP operates through VTP messages (multicast messages) that are sent to a particular MAC address (01-00-0C-CC-CC-CC). VTP advertisements only travel through trunk ports and are carried only through VLAN 1.
VTP Switch Modes
Catalyst switches can be configured for one of three different VTP modes. The configuration command is as follows:
set vtp mode [server | client | transparent]
The VTP server maintains a full list of all VLANs within the VTP domain. Information is stored in NVRAM. The server can add, delete, and rename VLANs. The VTP client also maintains a full list of all VLANs. However, it does not store in NVRAM. The client cannot add, delete, or rename VLANs. Any changes made must be received from a VTP server advertisement. The VTP transparent does not participate in VTP. However, it does pass on a VTP advertisement. VLAN, as defined, is only local to the switch and is stored in NVRAM.
VTP Pruning
A major feature of VTP is VTP pruning, which limits the distribution of broadcasts throughout the VTP domain. As shown in Figure 4-33, a VTP domain has VLANs 1, 2, and 3. If switch S3 does not have users in VLAN 1, no broadcasts are sent to switch S3.
Figure 4-33 VTP Pruning
VTP Configuration
To configure Catalysts for VTP, a VTP domain name is created, and the VTP mode is configured. Options such as VTP pruning can be configured for all or a range of VLANs. Example 4-16 configures VTP domain CCIE with pruning on all eligible ports. Enabling VTP pruning on the server only enables pruning in the VTP management domain. All other devices need to be configured for pruning.
Example 4-16 VTP Configuration
cat5000: (enable) set vtp domain ccie VTP domain ccie modified cat5000: (enable) set vtp mode server VTP domain ccie modified cat5000: (enable) cat5000: (enable) set vtp pruning enable This command will enable the pruning function in the entire management domain. All devices in the management domain should be pruning-capable before enabling. Do you want to continue (y/n) [n]? y VTP domain ccie modified
Fast EtherChannel (FEC)
Cisco's FEC provides a method to increase the bandwidth between two systems by bundling FE links. FEC also provides load sharing and redundancy capabilities. If a link fails in the FEC bundle, the other links take on the rest of the traffic load. Although this discussion focuses on FE, EtherChannel works for 10 Mbps Ethernet links and for GE links.
The requirements for EtherChannel are that all ports must be of the same speed, be in duplex mode, and belong to the same VLAN. Up to four ports are permitted in a bundle.
FEC Configuration
On a router, FEC is configured by assigning interfaces to a port-channel with the channel-group number mode on command. The virtual interface is created with the interface port-channel number command. Example 4-17 shows the FEC configuration of two FE interfaces assigned to channel 1.
Example 4-17 FEC Configuration on a Router
ag1.hstttx.lab(config)#int fast 2/25 ag1.hstttx.lab(config-if)#channel-group ? <1-256> Channel group number ag1.hstttx.lab(config-if)#<Anchor4>channel-group 1 mode on Creating a port-channel interface Port-channel1 ag1.hstttx.lab(config-if)#int fast 2/26 ag1.hstttx.lab(config-if)#<Anchor5>channel-group 1 mode on ag1.hstttx.lab(config-if)#exit ag1.hstttx.lab(config)#interface port-channel ? <1-256> Port-channel interface number ag1.hstttx.lab(config)#<Anchor6>interface port-channel 1
On the Catalyst switch, the configuration command is set port channel:
cat5000: (enable) set port channel ? Usage: set port channel <port_list> [on|off|desirable|auto] (example of port_list: 2/1-4 or 2/1-2 or 2/5,2/6)
CDP
CDP is a Cisco proprietary protocol that you use to obtain hardware platforms and addresses of neighboring Cisco devices. CDP is media and protocol independent, and it runs over any Layer-2 protocol that supports SNAP frames including Ethernet, Frame Relay, and ATM. CDP allows network management stations to retrieve the device type and SNMP IP address of neighboring routers.
CDP is enabled by default. To disable CDP, use the no cdp run global command. CDP can be disabled per interface with the no cdp enable interface command. In Catalyst OS (CatOS), the command to globally disable CDP is set cdp disable. In CatOS, to disable CDP on a port, use the set cdp disable [mod/port] command.
The router output in Example 4-18 shows the information that can be gathered from show cdp.
Example 4-18 Router show cdp Command Output
R8#show cdp ? entry Information for specific neighbor entry interface CDP interface status and configuration neighbors CDP neighbor entries traffic CDP statistics | Output modifiers <cr>
To find out about neighboring Cisco routers or switches, use the show cdp neighbors command, which gives summary information of each router. Example 4-19 shows the output of the show cdp neighbors command. The router has two neighbors, called R7 and R9, which are Cisco 2500 routers.
Example 4-19 Router show cdp neighbors Command Output
R8#show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater Device ID Local Intrfce Holdtme Capability Platform Port ID R7 Ser 1 133 R <Anchor10>2500 Ser 1 R9 Tok 0 176 R <Anchor12>2500 Tok 0
You use the same command on a Catalyst switch. Example 4-20 shows the output of the show cdp neighbor command of a switch. This switch has six neighboring routers (one MC3810 and five Cisco 2500s), which are marked with an R that describes router capabilities.
Example 4-20 Switch show cdp neighbor Command Output
cat5000: (enable) show cdp neighbor Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater Port Device-ID Port-ID Platform Capability -------- ----------------------- ----------------- ------------------ -- 2/4 R3 Ethernet0 Cisco MC3810 R 2/5 R5 Ethernet0 cisco 2500 R 2/7 R7 Ethernet0 cisco 2500 R 2/9 R9 Ethernet0 cisco 2500 R 2/10 R10 Ethernet0 cisco 2500 R 2/11 R6 Ethernet0 cisco 2500 R
To get more detailed information about neighboring routers, use the show cdp neighbors detail command, as shown in Example 4-21. From the output, you can gather neighbor information such as name, IP address, platform type, and IOS version.
Example 4-21 Router show cdp neighbors detail Command Output
R8#show cdp neighbors detail ------------------------- Device ID: R7 Entry address(es): IP address: 133.5.78.1 Platform: cisco 2500, Capabilities: Router Interface: Serial1, Port ID (outgoing port): Serial1 Holdtime : 148 sec Version : Cisco Internetwork Operating System Software IOS (tm) 2500 Software (C2500-JOS56I-L), Version 12.1(7), RELEASE SOFTWARE (fc1) Copyright (c) 1986-2001 by cisco Systems, Inc. Compiled Fri 23-Feb-01 01:30 by kellythw advertisement version: 2 ------------------------- Device ID: R9 Entry address(es): IP address: 150.100.1.9 Platform: cisco 2500, Capabilities: Router Interface: TokenRing0, Port ID (outgoing port): TokenRing0 Holdtime : 131 sec Version : Cisco Internetwork Operating System Software IOS (tm) 2500 Software (C2500-JOS56I-L), Version 12.1(7), RELEASE SOFTWARE (fc1) Copyright (c) 1986-2001 by cisco Systems, Inc. Compiled Fri 23-Feb-01 01:30 by kellythw advertisement version: 2
LAN Security
This section covers bridging access lists, IEEE 802.1x port-based access protocol, and private VLANs.
Bridging Access Lists
Cisco provides two types of bridging access lists. The first is based on MAC addresses, the second on Ethernet types. The access list numbers for MAC address filters are from 700 to 799. The access list numbers for ethertype filters are from 200 to 299.
MAC Address Filter Configuration
MAC addresses can be filtered at the interface level, inbound or outbound. You use the input-access-list or output-access-list keywords in the bridge-group command to filter. Example 4-22 filters MAC 00c0.0404.091a inbound. Access list 700 specifically denies MAC address 00c0.0404.091a and permits all other MAC addresses. The access list is applied to Ethernet 0 as an inbound filter with the bridge-group 1 input-access-list 700 command.
Example 4-22 MAC Address Filtering
interface ethernet 0 bridge-group 1 bridge-group 1 input-access-list 700 ! access-list 700 deny 00c0.0404.091a 0000.0000.0000 access-list 700 permit 0000.0000.0000 ffff.ffff.ffff
Ethernet Type Filter Configuration
Ethernet frames can be filtered by type code at the interface level, inbound or outbound. Use the input-type-list or output-type-list keywords in the bridge-group command. Example 4-23 filters (denies) DEC LAT (Type=6004) outbound. Access list 200 specifically denies Ethernet type 0x6004 and permits all other Ethernet types. The access list is applied as an outbound filter on Ethernet 0 with the bridge-group 1 output-type-list 200 command.
Example 4-23 Ethernet Type Filtering
interface ethernet 0 bridge-group 1 bridge-group 1 output-type-list 200 ! access-list 200 deny 0x6004 0x0000 access-list 200 permit 0x0000 0xffff
IEEE 802.1x Port-Based Authentication
IEEE 802.1x is a port-based authentication standard for LANs. Use the standard to authenticate a user before allowing services on Ethernet, FE, and WLANs.
With 802.1x, client workstations run 802.1x client software to request services. Clients use the Extensible Authentication Protocol (EAP) to communicate with the LAN switch. The LAN switch verifies client information with the authentication server and relays the response to the client. LAN switches use a Remote Authentication Dial-In User Service (RADIUS) client to communicate with the server. The RADIUS authentication server validates the identity of the client and authorizes the client. The server uses RADIUS with EAP extensions to make the authorization.
IEEE 802.1x Configuration
IEEE 802.1x port-based authentication is configured by enabling AAA authentication, configuring the RADIUS server parameters, and enabling 802.1x on the interface. Example 4-24 enables 802.1x authentication on an FE interface. The aaa authentication dot1x default group radius command enables IEEE 802.1x authentication on the switch. In Example 4-24, the RADIUS server has an IP address of 1.1.1.1, and the RADIUS key is ccie-key. The interface is configured to use 802.1x authentication with the dot1x port-control auto command.
Example 4-24 802.1x Configuration Example
aaa new-model aaa authentication dot1x default group radius ! radius-server host 1.1.1.1 auth-port 1812 key ccie-key ! interface fastethernet 1/1 dot1x port-control auto
Private VLANs
Private VLANs provide isolation for ports that are configured within the private VLAN structure. You can use private LANs when hosts on the same segment do not need to communicate with each other but do need to communicate with the same router or firewall. Private VLANs provide isolation at Layer 2 of the OSI model.
Private VLANs consist of the following VLANs:
Primary VLANReceives frames from the promiscuous port and forwards it to ports in the primary, isolated, and community VLANs.
Isolated VLANAll ports in this VLAN can communicate only with the promiscuous port. Isolated ports cannot communicate with other isolated ports. Isolated VLANs are secondary VLANs.
Community VLANAll ports in this VLAN can communicate with each other and with the promiscuous port. Community VLANs are secondary VLANs.
Private VLAN Configuration
To configure private VLANs, create the primary and secondary VLANs, bind secondary VLANs to the primary VLAN, and assign ports. Then, the secondary VLANs are mapped to the promiscuous port.
Example 4-25 shows a simple configuration of private VLANs. The set vlan command creates the primary and secondary VLANs. Use the set pvlan primary secondary mod/port command to bind secondary VLANs to the Primary VLAN and to associate ports. Finally, use the set pvlan mapping command to map the secondary VLANs to the promiscuous port of the primary VLAN.
Example 4-25 Private VLAN Configuration Example
set vlan 10 pvlan-type primary set vlan 101 pvlan-type community set vlan 102 pvlan-type isolated set vlan 103 pvlan-type isolated set pvlan 10 101 3/2-12 set pvlan 10 102 3/13 set pvlan 10 103 3/14 set pvlan mapping 10 101 3/1 set pvlan mapping 10 102 3/1 set pvlan mapping 10 103 3/1