Spanning Tree Protocol Explained

stp

What is spanning tree protocol ?

The Spanning Tree Protocol is a network protocol that builds a loop-free logical topology for Ethernet networks. The basic function of STP is to prevent bridge loops and the broadcast radiation that results from them

what is spanning tree protocol – Google Search Spanning Tree Protocol (STP) is a Layer 2 protocol that runs on bridges and switches. The specification for STP is IEEE 802.1D. The main purpose of STP is to ensure that you do not create loops when you have redundant paths in your network. Loops are deadly to a network.

Understanding and Configuring Spanning Tree Protocol (STP) on Catalyst Switches – Cisco

Spanning Tree Protocol (STP) is a Layer 2 protocol that runs on bridges and switches. The specification for STP is IEEE 802.1D. The main purpose of STP is to ensure that you do not create loops when you have redundant paths in your network. Loops are deadly to a network.

Understanding and Configuring Spanning Tree Protocol (STP) on Catalyst Switches – Cisco

STP Operation

Task

Prerequisites

Before you configure STP, select a switch to be the root of the spanning tree. This switch does not need to be the most powerful switch, but choose the most centralized switch on the network. All data flow across the network is from the perspective of this switch. Also, choose the least disturbed switch in the network. The backbone switches often serve as the spanning tree root because these switches typically do not connect to end stations. Also, moves and changes within the network are less likely to affect these switches.

After you decide on the root switch, set the appropriate variables to designate the switch as the root switch. The only variable that you must set is the bridge priority. If the switch has a bridge priority that is lower than all the other switches, the other switches automatically select the switch as the root switch.

Clients (end stations) on Switch Ports

You can also issue the set spantree portfast command, on a per-port basis. When you enable the portfast variable on a port, the port immediately switches from blocking mode to forwarding mode. Enablement of portfast helps to prevent timeouts on clients who use Novell Netware or use DHCP in order to obtain an IP address. However, do not use this command when you have switch-to-switch connection. In this case, the command can result in a loop. The 30- to 60-second delay that occurs during the transition from blocking to forwarding mode prevents a temporal loop condition in the network when you connect two switches.

Leave most other STP variables at their default values.

Rules of Operation

This section lists rules for how STP works. When the switches first come up, they start the root switch selection process. Each switch transmits a BPDU to the directly connected switch on a per-VLAN basis.

As the BPDU goes out through the network, each switch compares the BPDU that the switch sends to the BPDU that the switch receives from the neighbors. The switches then agree on which switch is the root switch. The switch with the lowest bridge ID in the network wins this election process.

Note: Remember that one root switch is identified per-VLAN. After the root switch identification, the switches adhere to these rules:

  • STP Rule 1—All ports of the root switch must be in forwarding mode.Note: In some corner cases, which involve self-looped ports, there is an exception to this rule.Next, each switch determines the best path to get to the root. The switches determine this path by a comparison of the information in all the BPDUs that the switches receive on all ports. The switch uses the port with the least amount of information in the BPDU in order to get to the root switch; the port with the least amount of information in the BPDU is the root port. After a switch determines the root port, the switch proceeds to rule 2.
  • STP Rule 2—The root port must be set to forwarding mode.In addition, the switches on each LAN segment communicate with each other to determine which switch is best to use in order to move data from that segment to the root bridge. This switch is called the designated switch.
  • STP Rule 3—In a single LAN segment, the port of the designated switch that connects to that LAN segment must be placed in forwarding mode.
  • STP Rule 4—All the other ports in all the switches (VLAN-specific) must be placed in blocking mode. The rule only applies to ports that connect to other bridges or switches. STP does not affect ports that connect to workstations or PCs. These ports remain forwarded.Note: The addition or removal of VLANs when STP runs in per-VLAN spanning tree (PVST / PVST+) mode triggers spanning tree recalculation for that VLAN instance and the traffic is disrupted only for that VLAN. The other VLAN parts of a trunk link can forward traffic normally. The addition or removal of VLANs for a Multiple Spanning Tree (MST) instance that exists triggers spanning tree recalculation for that instance and traffic is disrupted for all the VLAN parts of that MST instance.

Note: By default, spanning tree runs on every port. The spanning tree feature cannot be turned off in switches on a per-port basis. Although it is not recommended, you can turn off STP on a per-VLAN basis, or globally on the switch. Extreme care should be taken whenever you disable spanning tree because this creates Layer 2 loops within the network.

Step-by-Step Instructions

Complete these steps:

  1. Issue the show version command in order to display the software version that the switch runs. Note: All switches run the same software version. Switch-15> (enable)show version WS-C5505 Software, Version McpSW: 4.2(1) NmpSW: 4.2(1) Copyright (c) 1995-1998 by Cisco Systems NMP S/W compiled on Sep 8 1998, 10:30:21 MCP S/W compiled on Sep 08 1998, 10:26:29 System Bootstrap Version: 5.1(2) Hardware Version: 1.0 Model: WS-C5505 Serial #: 066509927 Mod Port Model Serial # Versions — —- ———- ——— —————————————- 1 0 WS-X5530 008676033 Hw : 2.3 Fw : 5.1(2) Fw1: 4.4(1) Sw : 4.2(1)In this scenario, Switch 15 is the best choice for the root switch of the network for all the VLANs because Switch 15 is the backbone switch.
  2. Issue the set spantree root vlan_id command in order to set the priority of the switch to 8192 for the VLAN or VLANs that the vlan_id specifies. Note: The default priority for switches is 32768. When you set the priority with this command, you force the selection of Switch 15 as the root switch because Switch 15 has the lowest priority. Switch-15> (enable)set spantree root 1 VLAN 1 bridge priority set to 8192. VLAN 1 bridge max aging time set to 20. VLAN 1 bridge hello time set to 2. VLAN 1 bridge forward delay set to 15. Switch is now the root switch for active VLAN 1. Switch-15> (enable) Switch-15> (enable)set spantree root 200 VLAN 200 bridge priority set to 8192. VLAN 200 bridge max aging time set to 20. VLAN 200 bridge hello time set to 2. VLAN 200 bridge forward delay set to 15. Switch is now the root switch for active VLAN 200. Switch-15> (enable) Switch-15> (enable)set spantree root 201 VLAN 201 bridge priority set to 8192. VLAN 201 bridge max aging time set to 20. VLAN 201 bridge hello time set to 2. VLAN 201 bridge forward delay set to 15. Switch is now the root switch for active VLAN 201. Switch-15> (enable) Switch-15> (enable)set spantree root 202 VLAN 202 bridge priority set to 8192. VLAN 202 bridge max aging time set to 20. VLAN 202 bridge hello time set to 2. VLAN 202 bridge forward delay set to 15. Switch is now the root switch for active VLAN 202. Switch-15> Switch-15> (enable)set spantree root 203 VLAN 203 bridge priority set to 8192. VLAN 203 bridge max aging time set to 20. VLAN 203 bridge hello time set to 2. VLAN 203 bridge forward delay set to 15. Switch is now the root switch for active VLAN 203. Switch-15> Switch-15> (enable)set spantree root 204 VLAN 204 bridge priority set to 8192. VLAN 204 bridge max aging time set to 20. VLAN 204 bridge hello time set to 2. VLAN 204 bridge forward delay set to 15. Switch is now the root switch for active VLAN 204. Switch-15> (enable)The shorter version of the command has the same effect, as this example shows:Switch-15> (enable)set spantree root 1,200-204 VLANs 1,200-204 bridge priority set to 8189. VLANs 1,200-204 bridge max aging time set to 20. VLANs 1,200-204 bridge hello time set to 2. VLANs 1,200-204 bridge forward delay set to 15. Switch is now the root switch for active VLANs 1,200-204. Switch-15> (enable)The set spantree priority command provides a third method to specify the root switch:Switch-15> (enable)set spantree priority 8192 1 Spantree 1 bridge priority set to 8192. Switch-15> (enable)Note: In this scenario, all the switches started with cleared configurations. Therefore, all the switches started with a bridge priority of 32768. If you are not certain that all the switches in your network have a priority that is greater than 8192, set the priority of your desired root bridge to 1.
  3. Issue the set spantree portfast mod_num/port_num enable command in order to configure the PortFast setting on Switches 12, 13, 14, 16, and 17.Note: Only configure this setting on ports that connect to workstations or PCs. Do not enable PortFast on any port that connects to another switch. This example only configures Switch 12. You can configure other switches in the same way. Switch 12 has these port connections:
    • Port 2/1 connects to Switch 13.
    • Port 2/2 connects to Switch 15.
    • Port 2/3 connects to Switch 16.
    • Ports 3/1 through 3/24 connect to PCs.
    • Ports 4/1 through 4/24 connect to UNIX workstations.
    With this information as a basis, issue the set spantree portfast command on ports 3/1 through 3/24 and on ports 4/1 through 4/24: Switch-12> (enable)set spantree portfast 3/1-24 enable Warning: Spantree port fast start should only be enabled on ports connected to a single host. Connecting hubs, concentrators, switches, bridges, etc. to a fast start port can cause temporary spanning-tree loops. Use with caution. Spantree ports 3/1-24 fast start enabled. Switch-12> (enable) Switch-12> (enable)set spantree portfast 4/1-24 enable Warning: Spantree port fast start should only be enabled on ports connected to a single host. Connecting hubs, concentrators, switches, bridges, etc. to a fast start port can cause temporary spanning-tree loops. Use with caution. Spantree ports 4/1-24 fast start enabled. Switch-12> (enable)
  4. Issue the show spantree vlan_id command in order to verify that Switch 15 is the root of all the appropriate VLANs.From the output from this command, compare the MAC address of the switch that is the root switch to the MAC address of the switch from which you issued the command. If the addresses match, the switch that you are in is the root switch of the VLAN. A root port that is 1/0 also indicates that you are at the root switch. This is the sample command output:Switch-15> (enable)show spantree 1 VLAN 1 spanning-tree enabled spanning-tree type ieee Designated Root 00-10-0d-b1-78-00 !— This is the MAC address of the root switch for VLAN 1. Designated Root Priority 8192 Designated Root Cost 0 Designated Root Port 1/0 Root Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec Bridge ID MAC ADDR 00-10-0d-b1-78-00 Bridge ID Priority 8192 Bridge Max Age 20 sec Hello Time 2 sec Forward Delay 15 secThis output shows that Switch 15 is the designated root on the spanning tree for VLAN 1. The MAC address of the designated root switch, 00-10-0d-b1-78-00, is the same as the bridge ID MAC address of Switch 15, 00-10-0d-b1-78-00. Another indicator that this switch is the designated root is that the designated root port is 1/0. In this output from Switch 12, the switch recognizes Switch 15 as the Designated Root for VLAN 1:Switch-12> (enable)show spantree 1 VLAN 1 spanning-tree enabled spanning-tree type IEEEDesignated Root 00-10-0d-b1-78-00 !— This is the MAC address of the root switch for VLAN 1. Designated Root Priority 8192 Designated Root Cost 19 Designated Root Port 2/3 Root Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec Bridge ID MAC ADDR 00-10-0d-b2-8c-00 Bridge ID Priority 32768 Bridge Max Age 20 sec Hello Time 2 sec Forward Delay 15 secNote: The output of the show spantree vlan_id command for the other switches and VLANs can also indicate that Switch 15 is the designated root for all VLANs.

Verify

This section provides information you can use to confirm that your configuration works properly.

  • show spantree vlan_id —Shows the current state of the spanning tree for this VLAN ID, from the perspective of the switch on which you issue the command.
  • show spantree summary —Provides a summary of connected spanning tree ports by VLAN.

Troubleshoot

This section provides information you can use to troubleshoot your configuration.

STP Path Cost Automatically Changes When a Port Speed/Duplex Is Changed

STP calculates the path cost based on the media speed (bandwidth) of the links between switches and the port cost of each port forwarding frame. Spanning tree selects the root port based on the path cost. The port with the lowest path cost to the root bridge becomes the root port. The root port is always in the forwarding state.

If the speed/duplex of the port is changed, spanning tree recalculates the path cost automatically. A change in the path cost can change the spanning tree topology.

Troubleshoot Commands

Before you use debug commands.

  • show spantree vlan_id —Shows the current state of the spanning tree for this VLAN ID, from the perspective of the switch on which you issue the command.
  • show spantree summary —Provides a summary of connected spanning tree ports by VLAN.
  • show spantree statistics —Shows spanning tree statistical information.
  • show spantree backbonefast —Displays whether the spanning tree BackboneFast Convergence feature is enabled.
  • show spantree blockedports —Displays only the blocked ports.
  • show spantree portstate —Determines the current spanning tree state of a Token Ring port within a spanning tree.
  • show spantree portvlancost —Shows the path cost for the VLANs on a port.
  • show spantree uplinkfast —Shows the UplinkFast settings.

Command Summary

Syntax:show version
As used in this document:show version
Syntax:set spantree root [vlan_id]
As used in this document:set spantree root 1
 set spantree root 1,200-204
Syntax:set spantree priority [vlan_id]
As used in this document:set spantree priority 8192 1
Syntax:set spantree portfast mod_num/port_num {enable | disable}
As used in this document:set spantree portfast 3/1-24 enable
Syntax:show spantree [vlan_id]
As used in this document:show spantree 1

Spanning Tree Protocol (STP) Configuration

How to configure STP?

Step 1. STP configuration

  1. Enter Global Configuration mode: switch# configure terminal
  2. As mentioned before, the device is in RSTP mode. Change to STP mode: switch(config)# spanning-tree mode stp
  3. The spanning tree is enabled on all switch ports as a default setting. If the setting has been disabled, enable it for STP: switch(config)# spanning-tree enable
  4. By default, all devices have the same root bridge priority, 32768 (8000 in hexadecimal), so the device with the lowest MAC address becomes the root bridge. If the device is required to be the root bridge, set the root bridge priority to a value lower than 32768. Enter a value in the range 0 to 61440. If you enter a number that is not a multiple of 4096, the switch will round the number down: switch(config)# spanning-tree priority <priority>

Step 2. Root Guard configuration

The Root Guard feature is responsible for verifying if the port on which it was enabled is a designated port. If the port with enabled Root Guard receives a superior BPDU, it goes to a Listening state (for STP) or discarding state (for RSTP and MSTP).

  1. Enter Interface Configuration mode for the switch ports on which the Root Guard should be enabled: switch(config)# interface <port-list>
  2. Enable the Guard Root feature for these ports: switch(config-if)# spanning-tree guard root
  3. Return to Privileged Exec mode: switch(config)# end

Step 3. STP configuration verification

Display the spanning tree configuration for the device and confirm the new root bridge priority (Bridge Priority):

switch# show spanning-tree [interface <port-list>]

Note that the Bridge ID is in a form like this: 8192xxxxxxxxxxxx, with other IDs following the same pattern. This ID is made up of two parts: 8192 being the devices’ root bridge priority in hexadecimal, and xxxxxxxxxxxx – the devices’ MAC address.

0Shares

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top