Chapter 4 Lab 4-2 - Multiple Spanning Tree: Topology
Chapter 4 Lab 4-2 - Multiple Spanning Tree: Topology
Chapter 4 Lab 4-2 - Multiple Spanning Tree: Topology
1 SWITCH
Objectives
• Implement Multiple Spanning Tree
• Leverage VTP version 3 with MST
Background
Cisco’s Per VLAN Spanning Tree (PVST) provides a significant step up from standard spanning tree in terms of
flexibility, allowing each VLAN to have its own independent spanning tree, thereby make better use of available
links in the network. A drawback to PVST is that there is an instance of PVST running for each VLAN in the
network, regardless of whether there are actually different spanning-tree topologies required. This presents the
potential for overwhelming the switch CPU and memory. Additionally, Cisco switches like those used in these labs
allow only a limited number of PVST instances – usually 128. If more than 128 VLANs are created, some of them
will not have any STP running, and therefore not have any switching loop protection. PVST and Rapid PVST are
simply unusable in that kind of environment. Lastly, PVST and Rapid PVST are Cisco-proprietary protocols and
generally unusable in mixed vendor environments.
Cisco was involved in the early development of Multiple Spanning Tree. MST was standardized as IEEE 802.1s in
2002 and merged into 802.1Q in 2005. MST is an open protocol derived from RSTP, sharing all its rapid
convergence properties, and in fact, the only standardized spanning-tree protocol for VLAN-based networks
supported by multiple vendors. MST is a compromise between common spanning-tree and per-VLAN spanning
tree. An MST instance represents a unique spanning-tree topology. Multiple MST instances can be created to
account for each of the required spanning-tree topologies in a network, and an arbitrary number of VLANs can be
mapped to a single MST instance.
In this lab you will set up two instances of MST, one for VLANs 99 and 100 and the other for VLANs 110 and 120.
All other VLANs will be mapped to the default MST instance (also referred to as IST or Internal Spanning Tree).
Note: This lab uses Cisco Catalyst 3560 and 2960 switches running Cisco IOS 15.0(2)SE6 IP Services and LAN
Base images, respectively. The 3560 and 2960 switches are configured with the SDM templates “dual-ipv4-and-
ipv6 routing” and “lanbase-routing”, respectively. Depending on the switch model and Cisco IOS Software version,
the commands available and output produced might vary from what is shown in this lab. Catalyst 3650 switches
(running any Cisco IOS XE release) and Catalyst 2960-Plus switches (running any comparable Cisco IOS image)
can be used in place of the Catalyst 3560 switches and the Catalyst 2960 switches.
Required Resources
• 2 Cisco 2960 with the Cisco IOS Release 15.0(2)SE6 C2960-LANBASEK9-M or comparable
• 2 Cisco 3560v2 with the Cisco IOS Release 15.0(2)SE6 C3560-IPSERVICESK9-M or comparable
• Computer with terminal emulation software
• Ethernet and console cables
Verify that all of the VLANs propagate and that there is a single root bridge for all of the VLANs.
MST region configuration is performed in a special mode under the global configuration that is entered using
the spanning-tree mst configuration command. You have to make the changes and exit from
configuration mode to have the changes applied; the changes are not applied until you exit. While in MST
configuration mode, you can use the show current and show pending commands to see how the
configuration stands. From DLS1:
DLS1# conf t
Enter configuration commands, one per line. End with CNTL/Z.
DLS1(config)# spanning-tree mst configuration
DLS1(config-mst)# name CCNP
DLS1(config-mst)# revision 1
DLS1(config-mst)# instance 1 vlan 99,100
DLS1(config-mst)#
DLS1(config-mst)# show current
Current MST configuration
Name []
Revision 0 Instances configured 1
DLS1
As you can see from the output above, the VLANs are mapped to the correct instance and the root bridge for
instance 1 is not the local switch (it is DLS2 in this case).
Notice the type entry P2p Bound(PVST). This is the entry shown when the device connected at the other
end of the given interface is not running MST; in this case, ALS1 and ALS2 are running the default PVST.
DLS2# conf t
Enter configuration commands, one per line. End with CNTL/Z.
DLS2(config)# spanning-tree mst config
DLS2(config-mst)# instance 2 vlan 110,120
DLS2(config-mst)# show pending
Pending MST configuration
Name [CCNP]
Revision 1 Instances configured 3
An example of the show spanning-tree root command at DLS1 provides proof that the root bridge is
elsewhere:
DLS1# show spanning-tree root
MST uses the same basic commands and values to manipulate the operation.
To manually configure a bridge to be the primary MST root, use the command spanning-tree mst
instance-list root {primary | secondary} global configuration command. You can also manually
set the bridge priority using the spanning-tree mst instance-list priority priority global
configuration command. In the example below, DLS1 is configured as the primary root for instance 0 and 1,
and the secondary root for instance 2:
DLS1# conf t
Enter configuration commands, one per line. End with CNTL/Z.
DLS1(config)# spanning-tree mst 0-1 root primary
DLS1(config)# spanning-tree mst 2 root secondary
DLS1(config)# end
DLS1#
DSL2 is configured with a complementary set of instructions; root primary for instance 2 and root secondary
for instances 0 and 1:
DLS2# conf t
Enter configuration commands, one per line. End with CNTL/Z.
DLS2(config)# spanning-tree mst 0-1 root secondary
DLS2(config)# spanning-tree mst 2 root primary
DLS2(config)# end
DLS2#
The results of these configuration changes are evident using the show spanning-tree root command.
From ALS1, which shows Fa0/7 (connected to DLS1) as the Root Port for instances 0 and 1 and Fa0/9
(connected to DLS2) for instance 2:
As with PVST, Root Port selection is based on total path cost to the root bridge. Path cost is the sum of Port
Costs. You can configure the port costs using the spanning-tree mst instance cost value
interface configuration command, which sets the cost for that instance alone.
As an implementation example, we will shutdown interfaces Fa0/9-10 on DLS2 and then change the port cost
value of ALS2’s interface Fa0/7 to a lower number, causing the spanning tree for instance 2 to go through
ALS2.
On ALS2:
ALS2# config t
ALS2(config)# int f0/1
ALS2(config-if)# spanning-tree mst 2 cost 1000
ALS2(config-if)# exit
ALS2(config)# end
On DLS2:
DLS2# conf t
Enter configuration commands, one per line. End with CNTL/Z.
DLS2(config)# interface ran e0/3,e1/0
DLS2(config-if-range)# shutdown
DLS2(config-if-range)# end