Information About Layer 2 Switching
Information about Layer 2 Ethernet Switching
Layer 2 Ethernet Switching Overview
Layer 2 Ethernet ports on Cisco switches support simultaneous, parallel connections between Layer 2 Ethernet segments. Switched connections between Ethernet segments last only for the duration of the packet. New connections can be made between different segments for the next packet.
Layer 2 LAN switching (hardware-supported bridging) avoids congestion by assigning each connected device to its own collision domain. Because each LAN port connects to a separate Ethernet collision domain, attached devices in a properly configured switched environment achieve full access to network bandwidth.
Building the MAC Address Table
Overview of the MAC Address Table
When stations connected to different LAN ports need to communicate, the switch forwards frames from one LAN port to the other at wire speed to ensure that each session receives full bandwidth.
To switch frames between LAN ports efficiently, the switch maintains a MAC address table. When a frame enters the switch, it associates the MAC address of the sending network device with the LAN port on which it was received.
The MAC address table is built by using the source MAC address of the frames received. When the switch receives a frame for a destination MAC address not listed in its MAC address table, it floods the frame to all LAN ports of the same VLAN except the port that received the frame. When the destination station replies, the switch adds its relevant source MAC address and port ID to the MAC address table. The switch then forwards subsequent frames to a single LAN port without flooding to all LAN ports.
The MAC address table can store at least 128,000 address entries without flooding any entries. The switch uses an aging mechanism, configured by the mac address-table aging-time command, so if an address remains inactive for a specified number of seconds, it is removed from the address table.
Synchronization and Sharing of the Address Table
With distributed switching, each DFC-equipped switching module learns MAC addresses, maintains an address table, and ages table entries. MAC address table synchronization over the Ethernet Out of Band Channel (EOBC) synchronizes address tables among the PFC and all DFCs, eliminating the need for flooding by a DFC for an address that is active on another module. MAC synchronization is enabled by default.
Notification of Address Table Changes
You can configure the switch to maintain a history of dynamic additions and removals of address table entries associated with a particular LAN port. The change history can be sent as an SNMP trap notification or it can be read manually from the SNMP MIB.
Information about VLAN Trunks
Note
For information about VLANs, see Chapter1, “Virtual Local Area Networks (VLANs)”
A trunk is a point-to-point link between the switch and another networking device. Trunks carry the traffic of multiple VLANs over a single link and allow you to extend VLANs across an entire network.
802.1Q, an industry-standard trunking encapsulation, is available on all Ethernet ports.
You can configure a trunk on a single Ethernet port or on an EtherChannel. For more information about EtherChannel, see Chapter1, “EtherChannels”
Ethernet trunk ports support several trunking modes (see Table 1-1).
The Dynamic Trunking Protocol (DTP) manages trunk autonegotiation on LAN ports.
To autonegotiate trunking, the LAN ports must be in the same VTP domain. Use the trunk or nonegotiate keywords to force LAN ports in different domains to trunk. For more information on VTP domains, see Chapter1, “VLAN Trunking Protocol (VTP)”
Layer 2 LAN Port Modes
Table 1-1 Layer 2 LAN Port Modes
|
|
switchport mode access |
Puts the LAN port into permanent nontrunking mode and negotiates to convert the link into a nontrunk link. The LAN port becomes a nontrunk port even if the neighboring LAN port does not agree to the change. |
switchport mode dynamic desirable |
Makes the LAN port actively attempt to convert the link to a trunk link. The LAN port becomes a trunk port if the neighboring LAN port is set to trunk, desirable, or auto mode. This is the default mode for all LAN ports. |
switchport mode dynamic auto |
Makes the LAN port willing to convert the link to a trunk link. The LAN port becomes a trunk port if the neighboring LAN port is set to trunk or desirable mode. |
switchport mode trunk |
Puts the LAN port into permanent trunking mode and negotiates to convert the link into a trunk link. The LAN port becomes a trunk port even if the neighboring port does not agree to the change. |
switchport nonegotiate |
Puts the LAN port into permanent trunking mode but prevents the port from generating DTP frames. You must configure the neighboring port manually as a trunk port to establish a trunk link. |
Note
DTP is a point-to-point protocol. However, some internetworking devices might forward DTP frames improperly. To avoid this problem, ensure that LAN ports connected to devices that do not support DTP are configured with the access keyword if you do not intend to trunk across those links. To enable trunking to a device that does not support DTP, use the nonegotiate keyword to cause the LAN port to become a trunk but not generate DTP frames.
How to Configure LAN Interfaces for Layer 2 Switching
Note
Use the default interface {fastethernet | gigabitethernet | tengigabitethernet} slot/port command to revert an interface to its default configuration.
Configuring a LAN Port for Layer 2 Switching
To configure a LAN port for Layer 2 switching, perform this task:
|
|
|
Step 1 |
Router(config)# interface type slot/port |
Selects the LAN port to configure. |
Step 2 |
Router(config-if)# shutdown |
(Optional) Shuts down the interface to prevent traffic flow until configuration is complete. |
Step 3 |
Router(config-if)# switchport |
Configures the LAN port for Layer 2 switching. Note You must enter the switchport command once without any keywords to configure the LAN port as a Layer 2 port before you can enter additional switchport commands with keywords. |
Step 4 |
Router(config-if)# no shutdown |
Activates the interface. (Required only if you shut down the interface.) |
Step 5 |
Router(config-if)# end |
Exits configuration mode. |
After you enter the switchport command, the default mode is switchport mode dynamic desirable. If the neighboring port supports trunking and is configured to allow trunking, the link becomes a Layer 2 trunk when you enter the switchport command.
Note
When using the switchport command, if a port configured for Layer 3 is now configured for Layer 2, the configuration for Layer 3 is retained in the memory but not in the running configuration and is applied to the port whenever the port switches back to Layer 3. Also, if a port configured for Layer 2 is now configured for Layer 3, the configuration for Layer 2 is retained in the memory but not in the running configuration and is applied to the port whenever the port switches back to Layer 2. To restore the default configuration of the port in the memory and in the running configuration, use the default interface command. To avoid potential issues while changing the role of a port using the switchport command, shut down the interface before applying the switchport command.
Enabling Out-of-Band MAC Address Table Synchronization
To enable the out-of-band MAC address table synchronization feature, perform this task:
|
|
Router(config)# mac address-table synchronize [ activity-time seconds ] |
Enables out-of-band synchronization of MAC address tables among DFC-equipped switching modules.
- activity-time seconds —(Optional) Specifies the activity timer interval.
|
When configuring out-of-band MAC address table synchronization, note the following information:
- By default, out-of-band MAC address table synchronization is disabled.
- Out-of-band MAC address table synchronization is enabled automatically if a WS-6708-10G switching module is installed in the switch.
- The activity timer interval can be configured as 160, 320, and 640 seconds. The default is 160 seconds.
This example shows how to enable out-of-band MAC address table synchronization:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# mac address-table synchronize activity-time 320
Configuring MAC Address Table Notification
Note ●
Complete the steps in the “Configuring a LAN Port for Layer 2 Switching” section before performing the tasks in this section.
- To send SNMP trap notifications using this feature, you must also enable the global MAC trap flag, using the snmp-server enable mac-notification change command.
To configure the MAC address table notification feature, perform this task:
|
|
|
Step 1 |
Router(config)# mac address-table notification change [ interval value ] |
Enables sending notification of dynamic changes to MAC address table. (Optional) Sets the minimum change-sending interval in seconds. Note The no form of the command reverts to the default without sending any change information. |
Step 2 |
Router(config)# mac address-table notification change [ history size ] |
Enables sending notification of dynamic changes to MAC address table. (Optional) Sets the number of entries in the history buffer. Note The no form of the command reverts to the default without sending any change information. |
Step 3 |
Router(config)# interface type slot/port |
Selects the LAN port to configure. |
Step 4 |
Router(config-if)# snmp trap mac-notification change [ added | removed ] |
For MAC addresses that are associated with this LAN port, enable SNMP trap notification when MAC addresses are added to or removed from the address table. (Optional) To notify only when a MAC address is added to the table, use the added option. To notify only when a MAC address is removed, use the removed option. |
Step 5 |
Router(config-if)# end |
Exits interface configuration mode. |
When configuring the notification parameters, note the following information:
- The interval value parameter can be configured from 0 seconds (immediate) to 2,147,483,647 seconds. The default is 1 second.
- The history size parameter can be configured from 0 entries to 500 entries. The default is 1 entry.
This example shows how to configure the SNMP notification of dynamic additions to the MAC address table of addresses on the Gigabit Ethernet ports 5/7 and 5/8. Notifications of changes will be sent no more frequently than 5 seconds, and up to 25 changes can be stored and sent in that interval:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# mac address-table notification change interval 5
Router(config)# mac address-table notification change history 25
Router(config)# interface gigabitethernet 5/7
Router(config-if)# snmp trap mac-notification change added
Router(config)# interface gigabitethernet 5/8
Router(config-if)# snmp trap mac-notification change added
Configuring a Layer 2 Switching Port as a Trunk
Configuring the Layer 2 Switching Port as an 802.1Q Trunk
Note ●
Complete the steps in the “Configuring a LAN Port for Layer 2 Switching” section before performing the tasks in this section.
- When you enter the switchport command with no other keywords (Step 3 in the previous section), the default mode is switchport mode dynamic desirable.
To configure the Layer 2 switching port as an 802.1Q trunk, perform this task:
|
|
Router(config-if)# switchport trunk encapsulation dot1q |
(Optional) Configures the encapsulation as 802.1Q. |
To support the switchport mode trunk command, you must configure the encapsulation as 802.1Q.
Note
Complete the steps in the “Completing Trunk Configuration” section after performing the tasks in this section.
Configuring the Layer 2 Trunk to Use DTP
Note
Complete the steps in the “Configuring a LAN Port for Layer 2 Switching” section before performing the tasks in this section.
To configure the Layer 2 trunk to use DTP, perform this task:
|
|
Router(config-if)# switchport mode dynamic { auto | desirable } |
(Optional) Configures the trunk to use DTP. Note The no form of the command reverts to the default trunk trunking mode (switchport mode dynamic desirable). |
When configuring the Layer 2 trunk to use DTP, note the following information:
- Required only if the interface is a Layer 2 access port or to specify the trunking mode.
- See Table 1-1 for information about trunking modes.
Note
Complete the steps in the “Completing Trunk Configuration” section after performing the tasks in this section.
Configuring the Layer 2 Trunk Not to Use DTP
Note
Complete the steps in the “Configuring a LAN Port for Layer 2 Switching” section before performing the tasks in this section.
To configure the Layer 2 trunk not to use DTP, perform this task:
|
|
|
Step 1 |
Router(config-if)# switchport mode trunk |
(Optional) Configures the port to trunk unconditionally. |
Step 2 |
Router(config-if)# switchport nonegotiate |
(Optional) Configures the trunk not to use DTP. Note The no form of the command enables DTP on the port. |
When configuring the Layer 2 trunk not to use DTP, note the following information:
Note
Complete the steps in the “Completing Trunk Configuration” section after performing the tasks in this section.
Configuring the Access VLAN
Note
Complete the steps in the “Configuring a LAN Port for Layer 2 Switching” section before performing the tasks in this section.
To configure the access VLAN, perform this task:
|
|
Router(config-if)# switchport access vlan vlan_ID |
(Optional) Configures the access VLAN, which is used if the interface stops trunking. The vlan_ID value can be 1 through 4094, except reserved VLANs (see Table 1-1). Note
- If VLAN locking is enabled, enter the VLAN name instead of the VLAN number. For more information, see the “VLAN Locking” section.
- The no form of the command reverts to the default VLAN (VLAN 1).
|
Note
Complete the steps in the “Completing Trunk Configuration” section after performing the tasks in this section.
Configuring the 802.1Q Native VLAN
Note
Complete the steps in the “Configuring a LAN Port for Layer 2 Switching” section before performing the tasks in this section.
To configure the 802.1Q native VLAN, perform this task:
|
|
Router(config-if)# switchport trunk native vlan vlan_ID |
(Optional) Configures the 802.1Q native VLAN. Note If VLAN locking is enabled, enter the VLAN name instead of the VLAN number. For more information, see the “VLAN Locking” section. |
When configuring the native VLAN, note the following information:
- The vlan_ID value can be 1 through 4094, except reserved VLANs (see Table 1-1).
- The access VLAN is not automatically used as the native VLAN.
Note
Complete the steps in the “Completing Trunk Configuration” section after performing the tasks in this section.
Configuring the List of VLANs Allowed on a Trunk
Note
Complete the steps in the “Configuring a LAN Port for Layer 2 Switching” section before performing the tasks in this section.
To configure the list of VLANs allowed on a trunk, perform this task:
|
|
Router(config-if)# switchport trunk allowed vlan [ add | except | none | remove ] vlan [, vlan [, vlan [,...]] |
(Optional) Configures the list of VLANs allowed on the trunk. Note
- If VLAN locking is enabled, enter VLAN names instead of VLAN numbers. For more information, see the “VLAN Locking” section.
- The no form of the command reverts to the default value (all VLANs allowed).
|
When configuring the list of VLANs allowed on a trunk, note the following information:
- The vlan parameter is either a single VLAN number from 1 through 4094, or a range of VLANs described by two VLAN numbers, the lesser one first, separated by a dash. Do not enter any spaces between comma-separated vlan parameters or in dash-specified ranges.
- If VLAN locking is enabled, enter VLAN names instead of VLAN numbers. When entering a range of VLAN names, you must leave spaces between the VLAN names and the dash.
- All VLANs are allowed by default.
- You can remove VLAN 1. If you remove VLAN 1 from a trunk, the trunk interface continues to send and receive management traffic, for example, Cisco Discovery Protocol (CDP), VLAN Trunking Protocol (VTP), Port Aggregation Protocol (PAgP), and DTP in VLAN 1.
Note
Complete the steps in the “Completing Trunk Configuration” section after performing the tasks in this section.
Configuring the List of Prune-Eligible VLANs
Note
Complete the steps in the “Configuring a LAN Port for Layer 2 Switching” section before performing the tasks in this section.
To configure the list of prune-eligible VLANs on the Layer 2 trunk, perform this task:
|
|
Router(config-if)# switchport trunk pruning vlan { none |{{ add | except | remove } vlan [, vlan [, vlan [,...]]}} |
(Optional) Configures the list of prune-eligible VLANs on the trunk (see the “VTP Pruning” section). Note The no form of the command reverts to the default value (all VLANs prune-eligible). |
When configuring the list of prune-eligible VLANs on a trunk, note the following information:
- The vlan parameter is either a single VLAN number from 1 through 4094, except reserved VLANs (see Table 1-1), or a range of VLANs described by two VLAN numbers, the lesser one first, separated by a dash. Do not enter any spaces between comma-separated vlan parameters or in dash-specified ranges.
- The default list of VLANs allowed to be pruned contains all VLANs.
- Network devices in VTP transparent mode do not send VTP Join messages. On trunk connections to network devices in VTP transparent mode, configure the VLANs used by the transparent-mode network devices or that need to be carried across the transparent-mode network devices as pruning ineligible.
Note
Complete the steps in the “Completing Trunk Configuration” section after performing the tasks in this section.
Completing Trunk Configuration
To complete Layer 2 trunk configuration, perform this task:
|
|
|
Step 1 |
Router(config-if)# no shutdown |
Activates the interface. (Required only if you shut down the interface.) |
Step 2 |
Router(config-if)# end |
Exits configuration mode. |
Verifying Layer 2 Trunk Configuration
To verify Layer 2 trunk configuration, perform this task:
|
|
|
Step 1 |
Router# show running-config interface type slot/port |
Displays the running configuration of the interface. |
Step 2 |
Router# show interfaces [ type slot/port ] switchport |
Displays the switch port configuration of the interface. |
Step 3 |
Router# show interfaces [ type slot/port ] trunk |
Displays the trunk configuration of the interface. |
Configuration and Verification Examples
This example shows how to configure the Gigabit Ethernet port 5/8 as an 802.1Q trunk. This example assumes that the neighbor port is configured to support 802.1Q trunking:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface gigabitethernet 5/8
Router(config-if)# shutdown
Router(config-if)# switchport
Router(config-if)# switchport mode dynamic desirable
Router(config-if)# switchport trunk encapsulation dot1q
Router(config-if)# no shutdown
This example shows how to verify the configuration:
Router# show running-config interface gigabitethernet 5/8
Building configuration...
interface GigabitEthernet5/8
switchport trunk encapsulation dot1q
Router# show interfaces gigabitethernet 5/8 switchport
Administrative Mode: dynamic desirable
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: Enabled
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: ALL
Router# show interfaces gigabitethernet 5/8 trunk
Port Mode Encapsulation Status Native vlan
Gi5/8 desirable n-802.1q trunking 1
Port Vlans allowed on trunk
Port Vlans allowed and active in management domain
Gi5/8 1-6,10,20,50,100,152,200,300,303-305,349-351,400,500,521,524,570,801-8
Port Vlans in spanning tree forwarding state and not pruned
Gi5/8 1-6,10,20,50,100,152,200,300,303-305,349-351,400,500,521,524,570,801-8
Configuring a LAN Interface as a Layer 2 Access Port
Note
If you assign a LAN port to a VLAN that does not exist, the port is shut down until you create the VLAN in the VLAN database (see the “Creating or Modifying an Ethernet VLAN” section).
To configure a LAN port as a Layer 2 access port, perform this task:
|
|
|
Step 1 |
Router(config)# interface type slot/port |
Selects the LAN port to configure. |
Step 2 |
Router(config-if)# shutdown |
(Optional) Shuts down the interface to prevent traffic flow until configuration is complete. |
Step 3 |
Router(config-if)# switchport |
Configures the LAN port for Layer 2 switching. Note You must enter the switchport command once without any keywords to configure the LAN port as a Layer 2 port before you can enter additional switchport commands with keywords. |
Step 4 |
Router(config-if)# switchport mode access |
Configures the LAN port as a Layer 2 access port. |
Step 5 |
Router(config-if)# switchport access vlan vlan_ID |
Places the LAN port in a VLAN. The vlan_ID value can be 1 through 4094, except reserved VLANs (see Table 1-1). Note If VLAN locking is enabled, enter the VLAN name instead of the VLAN number. For more information, see the “VLAN Locking” section. |
Step 6 |
Router(config-if)# no shutdown |
Activates the interface. (Required only if you shut down the interface.) |
Step 7 |
Router(config-if)# end |
Exits configuration mode. |
This example shows how to configure the Gigabit Ethernet port 5/6 as an access port in VLAN 200:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface gigabitethernet 5/6
Router(config-if)# shutdown
Router(config-if)# switchport
Router(config-if)# switchport mode access
Router(config-if)# switchport access vlan 200
Router(config-if)# no shutdown
This example shows how to verify the configuration:
Router# show running-config interface gigabitethernet 5/6
Building configuration...
interface GigabitEthernet5/6
switchport access vlan 200
Router# show interfaces gigabitethernet 5/6 switchport
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Enabled
Access Mode VLAN: 200 (VLAN0200)
Trunking Native Mode VLAN: 1 (default)
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: ALL
Configuring a Custom IEEE 802.1Q EtherType Field Value
You can configure a custom EtherType field value on a port to support network devices that do not use the standard 0x8100 EtherType field value on 802.1Q-tagged or 802.1p-tagged frames.
To configure a custom value for the EtherType field, perform this task:
|
|
Router(config-if)# switchport dot1q ethertype value |
Configures the 802.1Q EtherType field value for the port. |
When configuring a custom EtherType field value, note the following information:
- To use a custom EtherType field value, all network devices in the traffic path across the network must support the custom EtherType field value.
- You can configure a custom EtherType field value on trunk ports, access ports, and tunnel ports.
- You can configure a custom EtherType field value on the member ports of an EtherChannel.
- You cannot configure a custom EtherType field value on a port-channel interface.
- Each port supports only one EtherType field value. A port that is configured with a custom EtherType field value does not recognize frames that have any other EtherType field value as tagged frames. For example, a trunk port that is configured with a custom EtherType field value does not recognize the standard 0x8100 EtherType field value on 802.1Q-tagged frames and cannot put the frames into the VLAN to which they belong.
Caution
A port that is configured with a custom EtherType field value considers frames that have any other EtherType field value to be untagged frames. A trunk port with a custom EtherType field value places frames with any other EtherType field value into the native VLAN. An access port or tunnel port with a custom EtherType field value places frames that are tagged with any other EtherType field value into the access VLAN. If you misconfigure a custom EtherType field value, frames might be placed into the wrong VLAN.
- See the Release Notes for Cisco IOS Release 15.0SY for a list of the modules that support custom IEEE 802.1Q EtherType field values:
http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/15.0SY/release_notes.html
This example shows how to configure the EtherType field value to 0x1234:
Router (config-if)# switchport dot1q ethertype 1234
Tip For additional information about Cisco Catalyst 6500 Series Switches (including configuration examples and troubleshooting information), see the documents listed on this page:
http://www.cisco.com/en/US/products/hw/switches/ps708/tsd_products_support_series_home.html
Participate in the Technical Documentation Ideas forum