Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Spanning Tree Protocol Concepts

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Spanning Tree Protocol Concepts

The first thing to point out is that this article focuses on the original version of STP that is covered in IEEE 802.1D;
some of the material about the newer Rapid STP (RSTP-IEEE 802.1w) will also be briefly discussed.

The basic function of STP is to provide a loop free switched network; this is done by creating a topology of all
participating STP switches. The best loop free path through the switched network is then determined from this
topology information. The initial step taken by each STP is to elect a root switch; the root switch is used as a central
point in a switched network to determine the best route through the switched network. Initially, all switches act as if
they are the root switch and do this until they receive traffic from another superior switch (as determined by switch
priority); this is referred to as a root switch election.

Another thing that must be understood is that multiple root switches can exist in the network depending on what STP
mode is being used. By default, on Cisco switching equipment, each VLAN has its own STP instance and a root
switch is elected for each VLAN; this mode is called Per VLAN Spanning Tree Plus (PVST+). If implementing RSTP,
Rapid PVST+ is used.

Spanning Tree Protocol Port Roles

Once the root switch is elected, each of the ports is given a role depending on its place within the STP topology; the
available port roles when using 802.1D spanning tree are shown below:

 Root—The port given this role is the selected best path to reach the root switch
 Designated—The port given this role is selected with the best path to a specific switched segment; there is
only one designated port per switched segment.
 Alternate—The port given this role is selected as a backup to the root port; if the root port should have a
problem, this port would take over the root port role.
 Backup—The port given this role is selected as a back to the designated port; if the designated port should
have a problem this port would take over the designated port role.

Once the best path is calculated and each of the ports has been given a role, all ports with the alternate or backup
STP roles will be blocked to prevent loops.

Spanning Tree Protocol Interface States

Each of the ports on a switch that are enabled participates in STP; each of these ports goes through a process of
interface states before they are allowed to forward traffic. The sequence of 802.1D interface states is shown in Figure
1.

Figure 1 Spanning Tree States (802.1D)

As shown in Figure 1, there are five different states that a port can be in, described below:

 Blocking State—Ports that are in the blocking state do not forward traffic; they simply listen to the network to
ensure that they should continue to block traffic. Should the state of the switched network change, the port
could transition to listening state. All ports start in blocking state after initial switch initialization.
 Listening State—Ports that are in the listening state do not forward traffic. While in this state, the port will
only listen to traffic as they did when in blocking state. This is the first state that comes after the blocking
state after the port is set to start frame forwarding. The default time in the listening state is 15 seconds.
 Learning State—Ports that are in the learning state do not forward traffic; while in this state the port will
listen to traffic and begin to learn addresses from the connected devices on a segment. The default time in
the learning state is 15 seconds.
 Forwarding State—Ports that are in the forwarding state forward traffic as well as continue to learn
addresses from the segment.
 Disabled State—Ports that are in the disabled state do not forward traffic or listen to the network traffic.

When implementing the RSTP, the time that a port takes to transition and the method used to transition has changed.
This provides the ability for a switched network to begin forwarding traffic sooner without unneeded delays; these
delays are a common complaint about the 802.1D version of STP.

Spanning Tree Protocol Configuration


By default, STP is enabled on VLAN 1 and all newly created VLAN’s; because of this there are no commands
required to enabled STP on a newly initialized switch. If for some reason an older switch has STP disabled on a
specific VLAN, the commands shown in Table 1 are used to re-enable STP.

Table 1: Enabling STP

Step 1 Enter privileged mode. router>enable


Step 2 Enter global configuration mode. router#configure terminal
Step 3 Enable STP on a VLAN. router(config)#spanning-tree vlan vlan-id
Step 4 Exit configuration mode. router(config)#end

When initially setting up STP, it is best to determine which of the switches on the network will become the root switch.
While it is possible for the network to determine this by itself, the election will simply come down to a question of who
has the lowest MAC address. By default, each switch begins with a priority of 32768; this priority is then combined
with the MAC address of the switch to create the bridge ID. During a root switch election, the switch with the lowest
bridge ID will be elected the root switch.

The commands to determine the root switch are shown in Table 2.

Table 2: Root Switch Selection

Step 1 Enter privileged mode. router>enable


Step 2 Enter global configuration mode. router#configure terminal
Step 3 Set the switch to become the root router(config)#spanning-tree vlan vlan-id root primary
switch.

This command determines the


switch priority required to make the
switch root and changes the switch
priority to this number.
Step 3 Set the switch to become the router(config)#spanning-tree vlan vlan-id root
secondary root switch. secondary

This command changes the priority


of the switch to 28672.
Step 3 Set the switch priority, as the default router(config)#spanning-tree vlan vlan-idpriority priority
switch priority is 32768 any value
less then this will make the switch
root.

It is recommended that this


command not be used in favor of
the earlier commands.
Step 4 Exit configuration mode router(config)#end

If the default Spanning Tree mode needs to be changed from the default of PVST+, use the commands shown in
Table 3.

Table 3: Spanning Tree Mode

Step 1 Enter privileged mode. router>enable


Step 2 Enter global configuration mode. router#configure terminal
Step 3 Configure the Spanning Tree mode router(config)#spanning-tree mode {pvst |rapid-pvst}
to use.
Step 4 Exit configuration mode. router(config)#end

Network Diagram
This document uses this network setup:

Concepts
STP runs on bridges and switches that are 802.1D-compliant. There are different flavors of STP, but
802.1D is the most popular and widely implemented. You implement STP on bridges and switches in
order to prevent loops in the network. Use STP in situations where you want redundant links, but not
loops. Redundant links are as important as backups in the case of a failover in a network. A failure of your
primary activates the backup links so that users can continue to use the network. Without STP on the
bridges and switches, such a failure can result in a loop. If two connected switches run different flavors of
STP, they require different timings to converge. When different flavors are used in the switches, it creates
timing issues between Blocking and Forwarding states. Therefore, it is recommended to use the same
flavors of STP. Consider this network:
In this network, a redundant link is planned between Switch A and Switch B. However, this setup creates
the possibility of a bridging loop. For example, a broadcast or multicast packet that transmits from Station
M and is destined for Station N simply continues to circulate between both switches.
However, when STP runs on both switches, the network logically looks like this:

This information applies to the scenario in the Network Diagram:


 Switch 15 is the backbone switch.
 Switches 12, 13, 14, 16, and 17 are switches that attach to workstations and PCs.
 The network defines these VLANs:
 1
 200
 201
 202
 203
 204
 The VLAN Trunk Protocol (VTP) domain name is STD-Doc.
In order to provide this desired path redundancy, as well as to avoid a loop condition, STP defines a tree
that spans all the switches in an extended network. STP forces certain redundant data paths into a
standby (blocked) state and leaves other paths in a forwarding state. If a link in the forwarding state
becomes unavailable, STP reconfigures the network and reroutes data paths through the activation of the
appropriate standby path.
Description of the Technology
With STP, the key is for all the switches in the network to elect a root bridge that becomes the focal point
in the network. All other decisions in the network, such as which port to block and which port to put in
forwarding mode, are made from the perspective of this root bridge. A switched environment, which is
different from a bridge environment, most likely deals with multiple VLANs. When you implement a root
bridge in a switching network, you usually refer to the root bridge as the root switch. Each VLAN must
have its own root bridge because each VLAN is a separate broadcast domain. The roots for the different
VLANs can all reside in a single switch or in various switches.
Note: The selection of the root switch for a particular VLAN is very important. You can choose the root
switch, or you can let the switches decide, which is risky. If you do not control the root selection process,
there can be suboptimal paths in your network.
All the switches exchange information for use in the root switch selection and for subsequent
configuration of the network. Bridge protocol data units (BPDUs) carry this information. Each switch
compares the parameters in the BPDU that the switch sends to a neighbor with the parameters in the
BPDU that the switch receives from the neighbor.
In the STP root selection process, less is better. If Switch A advertises a root ID that is a lower number
than the root ID that Switch B advertises, the information from Switch A is better. Switch B stops the
advertisement of its root ID, and accepts the root ID of Switch A.
Refer to Configuring Optional STP Features for more information about some of the optional STP features,
such as:
 PortFast
 Root guard
 Loop guard
 BPDU guard

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 notuse 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 sec
This 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 sec
Note: 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.
The Output Interpreter Tool (registered customers only) (OIT) supports certain show commands. Use the
OIT to view an analysis of show command output.
 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.
Refer to the Calculating and Assigning Port Costs section of Configuring Spanning Tree for more information
on how to calculate the port cost.
Troubleshoot Commands
The Output Interpreter Tool (registered customers only) (OIT) supports certain show commands. Use the
OIT to view an analysis of show command output.
Note: Refer to Important Information on Debug 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.

You might also like