Multiple-Instance Spanning Tree Protocol (MSTP)
Lab 3-9: Spanning Tree Backbone Fast
F0/23 F0/23
F0/19 F0/19
F0/21 F0/21 Root Bridge
Backup Root Bridge
SW2 SW3
SW1
Figure 3-14 Spanning Tree Backbone Fast
Task 1
Configure the switches according to Figure 3-14. The unused ports must be in adminis-tratively down state.
On All Switches:
SWx(config)# interface range FastEthernet0/1-24 SWx(config-if-range)# shut
On SW1:
SW1(config)# spanning-tree vlan 1 root primary
SW1(config)# interface range FastEthernet0/19 , FastEthernet0/21 SW1(config-if-range)# switchport trunk encapsulation dot1q SW1(config-if-range)# switchport mode trunk
SW1(config-if-range)# no shut
ptg19878261
On SW2:
SW2(config)# spanning-tree vlan 1 root secondary
SW2(config)# interface range FastEthernet0/19 , FastEthernet0/23 SW2(config-if-range)# switchport trunk encapsulation dot1q SW2(config-if-range)# switchport mode trunk
SW2(config-if-range)# no shut
On SW3:
SW3(config)# interface range FastEthernet0/21 , FastEthernet0/23 SW3(config-if-range)# switchport trunk encapsulation dot1q SW3(config-if-range)# switchport mode trunk
SW3(config-if-range)# no shut
Let’s verify the configuration:
On SW3:
SW3# show spanning-tree root
Root Hello Max Fwd
Vlan Root ID Cost Time Age Dly Root Port --- --- --- --- --- --- --- VLAN0001 24577 0014.6a8d.2280 19 2 20 15 Fa0/21
The output of the preceding show command reveals that SW3 cannot be the root bridge.
The question is, why?
A root bridge cannot have a root port. You can see the root port is F0/21 with a cost of 19.
So what happened to the F0/23 interface?
Well, the output of the following command reveals the F0/23 interface of this switch is in the blocking state:
SW3# show spanning-tree blockedports
Name Blocked Interfaces List --- --- VLAN0001 Fa0/23
Number of blocked ports (segments) in the system : 1
ptg19878261
On SW2:
SW2# show spanning-tree root
Root Hello Max Fwd
Vlan Root ID Cost Time Age Dly Root Port --- --- --- --- --- --- --- VLAN0001 24577 0014.6a8d.2280 19 2 20 15 Fa0/19
Once again, we can see a root port in the output. Therefore, this switch cannot be the root. Let’s check the state of the F0/23 interface of this switch:
SW2# show spanning-tree blockedports
Name Blocked Interfaces List
--- --- Number of blocked ports (segments) in the system : 0
Well, it is not in the blocking state. Let’s use another command to determine the state of the F0/23 interface of this switch:
SW2# show spanning-tree vlan 1 | begin Interface
Interface Role Sts Cost Prio.Nbr Type --- ---- --- --- --- ---- Fa0/19 Root FWD 19 128.21 P2p Fa0/23 Desg FWD 19 128.25 P2p
You can see the F0/23 interface of this switch is the designated port.
On SW1:
SW1# show spanning-tree root
Root Hello Max Fwd
Vlan Root ID Cost Time Age Dly Root Port --- --- --- --- --- --- --- VLAN0001 24577 0014.6a8d.2280 0 2 20 15
You can see that this switch (SW1) is the root bridge, because it has no root port. This switch should not have any ports in the blocking state. Let’s verify this information:
SW1# show spanning-tree blockedports
Name Blocked Interfaces List
--- --- Number of blocked ports (segments) in the system : 0
ptg19878261
Task 2
Configure the appropriate switch(es) such that if an indirectly connected link fails, the STP convergence time is improved. Do not manually configure any timers to accomplish this task.
To resolve this task, the spanning-tree backbonefast feature must be enabled. Backbone Fast is a spanning tree feature that optimizes the convergence by expiring the max-age timer. Backbone Fast must be enabled on all switches.
With UplinkFast, the switches detected a failure of a directly connected link; with Backbone Fast, the switches detect a failure of an indirectly connected link.
Backbone Fast works in two stages. In the first stage, when a switch receives inferior BPDUs through a nondesignated port (NDP), it knows the switch that sent the inferior BPDUs has lost its connection to the root bridge. When the local switch receives the inferior BPDUs, it verifies if the source that generated these messages is from a local segment. If the source is from a local segment, it knows that an indirectly connected link failure has occurred. If the source of the inferior BPDUs is from a switch that is not on a local segment, the local switch will ignore them.
In the second stage, the local switch goes through a verification process. The switch uses a request and response protocol. This process queries other switches to determine if the connection to the root bridge is lost.
The verification process is done by the local switch that received the inferior BPDUs. The switch generates Root Link Query (RLQ) requests. These messages are sent out of the root port(s).
These messages are sent to query the upstream switch(es) if their connection to the root bridge is up. The receiving switch sends RLQ responses to reply to the RLQ requests only if the connection to the root bridge is up. When the switch receives an RLQ response on its root port, it knows the connection to the root bridge is good. Therefore, it expires the max-age timer in order to speed up the convergence.
The following steps occur when Backbone Fast is enabled (see Figure 3-15):
F0/23 F0/23
ptg19878261
■ SW2 loses its connection to SW1. Basically, interface F0/19 goes down.
■ SW2 immediately withdraws interface F0/19 as its root port and starts generating configuration BPDUs (C-BPDUs) announcing itself as the root bridge. These messages are sent out of F0/23 interface.
■ SW3’s F0/23 interface receives these C-BPDUs and realizes they are inferior BPDUs from a switch on a local segment.
■ SW3 sends an RLQ request out of its F0/21 interface in order to verify a stable connection to the root bridge.
■ SW1 receives the RLQ from SW3. Because it’s the root bridge, it replies with an RLQ response.
■ SW3 receives the RLQ responses through its root port and immediately expires its max-age timer (20 seconds by default).
■ SW3 starts sending C-BPDUs out F0/23 and goes through the listening and learning states.
■ SW2 receives the C-BPDUs and it knows that it is not the root bridge. SW2 changes the state of its F0/23 as the root port.
F0/23 RP
F0/23 DP
F0/21 RP F0/21 DP
SW2 SW3
SW1 Root Bridge
Figure 3-16 New Topology with Backbone Fast Enabled
Figure 3-16 illustrates the topology that will be used in the following tasks.
Let’s configure Backbone Fast:
On All Switches:
SWx(config)# spanning-tree backbonefast
Let’s test and verify the configuration:
On SW3:
SW3# debug spanning events
ptg19878261
On SW2:
SW2(config)# interface FastEthernet0/19 SW2(config-if)# shut
You should see the following output of the debug on SW3:
On SW3:
00:41:21: STP: VLAN0001 heard root 28673-001b.2be5.1200 on Fa0/23 00:41:21: STP: VLAN0001 Fa0/23 -> listening
00:41:22: STP: VLAN0001 Topology Change rcvd on Fa0/23 00:41:22: STP: VLAN0001 sent Topology Change Notice on Fa0/21
00:41:36: STP: VLAN0001 Fa0/23 -> learning
00:41:51: STP: VLAN0001 sent Topology Change Notice on Fa0/21 00:41:51: STP: VLAN0001 Fa0/23 -> forwarding
Let’s verify the result:
On SW1:
SW1# show spanning-tree vlan 1 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
--- ---- --- --- --- --- Fa0/21 Desg FWD 19 128.23 P2p
On SW3:
SW3# show spanning-tree vlan 1 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
--- ---- --- --- --- --- Fa0/21 Root FWD 19 128.21 P2p
Fa0/23 Desg FWD 19 128.23 P2p
SW3# sh spanning sum | inc Back
BackboneFast is enabled BackboneFast statistics
ptg19878261
On SW2:
SW2# show spanning-tree vlan 1 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
--- ---- --- --- --- --- Fa0/23 Root FWD 19 128.25 P2p
Erase the configuration on all routers and switches and reload them before proceeding to the next lab.