IEEE 802.1s Multiple spanning tree (MST), sometimes referred to as multiple STP (MSTP). MST
allows us to create Multiple spanning trees inside a single network. Each spanning
tree is called an instance and this instance has its own root bridge,
forwarding topology. An instance can be mapped with one or more VLANs. For example:
- VLANs 10,20
and 30 are mapped in instance 1
- VLANs 40,50
and 60 are mapped in instance 2
Now VLANs
10,20 and 30 follow different paths on the same physical network and VLANs
40,50 and 60 follow different paths and have different root bridges and
forwarding paths.
multiple
spanning tree is not like RPVST or PVST+ where each VLAN requires a separate
instance. Let's take an example of PVST+ when we have 50 VLANs configured this
means there are 50 instances of spanning tree running and this consumes a lot
of CPU and memory. MST needs only one set of STP messages for each MST instance.
MST is the solution where we can map
different VLANs to one or more instances as per the requirement.
An MST region is a group of switches that together use MST
in a consistent way. They run the same number of MST instances and map the same
sets of VLANs onto these instances, among other things. The switches in the MST
region must have the same configuration parameters as follows:
- Region name: means the name of that particular region or
group of MST switches.
- Revision number: means the number indicates the version of the configuration
- VLAN to Instance map: means a table of assignments for each VLAN
to an instance
The switch outside the MST region
will not see the MST region for outside the region switch, it looks like it's
communicating to a big switch.
Multiple
spanning tree (MST) instance
MST
instance is a logical entity that defines a one-spanning tree for multiple
VLANs, instance name is 32 bytes. MST instance number is in the range of 0 –
4095 but the different switch platforms support different numbers of range
for example catalyst 2950 has the range of 0 – 15 and catalyst 3560 has the
range of 0 – 4094. Now the important thing is out of the MST instance there is a
special instance called instance 0 and this is also called the internal spanning
tree (IST). Instance 0 or IST is default already exists. Instance 0 is the only
instance that interacts with outside MST region switches and provides a loop-free environment
to the region.
Configuring
MST requires pre-planning because it is necessary to decide where their MST boundaries
shall be placed and where the regions shall be placed.
MST allows
us to tune the root bridge for instance modify costs and make primary or
secondary.
Now let's see the configuration:
Topology:
Goal:- configure the trunk with nonnegotiable between switches ethernet 0/0-1
- configure VTP domain MSTP and version 2 for sync VLAN information
- configure switch 1 and switch 3 VTP server and the rest of the switch clients
- configure VLANs 10,20,30,40,50,60 on any VTP server
- configure Multiple spanning tree on all the switches
- configure VLAN 10,20, and 30 in MST 1 instance
- configure VLAN 40,50 and 60 in MST 2 instance
- configure region name MSTP and revision number 1
- by default our switch 1 is the root bridge for all the VLANs
- configure tunning for instance 1 means the VLAN 10,20,30 root bridge will be switch 1 and for instance, 2 switch 3 will be the root bridge.
Switch-1-(config)#interface range ethernet 0/0 - 1
Switch-1-(config-if-range)#switchport
Switch-1-(config-if-range)#switchport trunk encapsulation dot1q
Switch-1-(config-if-range)#switchport mode trunk
Switch-1-(config-if-range)#switchport nonegotiate
Switch-1-(config-if-range)#exit
*Jun 12 10:05:37.389: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up
*Jun 12 10:05:37.404: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up
Switch-2-(config)#interface range ethernet 0/0 - 1
Switch-2-(config-if-range)#switchport
Switch-2-(config-if-range)#switchport trunk encapsulation dot1q
Switch-2-(config-if-range)#switchpot mode trunk
Switch-2-(config-if-range)#switchport nonegotiate
Switch-2-(config-if-range)#exit
*Jun 12 10:07:56.489: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up
*Jun 12 10:07:56.521: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up
Switch-3-(config)#interface range ethernet 0/0 - 1
Switch-3-(config-if-range)#switchport
Switch-3-(config-if-range)#switchport trunk encapsulation dot1q
Switch-3-(config-if-range)#switchport mode trunk
Switch-3-(config-if-range)#switchport nonegotiate
Switch-3-(config-if-range)#exit
*Jun 12 10:13:46.936: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up
*Jun 12 10:13:46.951: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up
Switch-4-(config)#interface range ethernet 0/0 - 1
Switch-4-(config-if-range)#switchport
Switch-4-(config-if-range)#switchport trunk encapsulation dot1q
Switch-4-(config-if-range)#switchport mode trunk
Switch-4-(config-if-range)#switch nonegotiate
Switch-4-(config-if-range)#exit
Switch-4-(config)#end
*Jun 12 10:16:12.123: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up
*Jun 12 10:16:12.139: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up
Switch-1-(config)#vtp domain MSTP
Switch-1-(config)#vtp version 2
Switch-1-(config)#vtp mode server
Switch-1-(config)#exit
Switch-1-#show vtp status
VTP Version capable : 1 to 3
VTP version running : 2
VTP Domain Name : MSTP
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled
Device ID : aabb.cc00.0100
Configuration last modified by 0.0.0.0 at 6-12-24 10:40:51
Local updater ID is 0.0.0.0 (no valid interface found)
Feature VLAN:
--------------
VTP Operating Mode : Server
Maximum VLANs supported locally : 1005
Number of existing VLANs : 5
Configuration Revision : 1
MD5 digest : 0x25 0xBA 0x4E 0x29 0x64 0xC6 0x11 0x76
0xD4 0x1E 0xC2 0x6B 0x69 0xEB 0x26 0x7A
Switch-2-(config)#vtp domain MSTP
Switch-2-(config)#vtp version 2
Switch-2-(config)#vtp mode client
Switch-2-(config)#exit
Switch-3-(config)#vtp domain MSTP
Switch-3-(config)#vtp version 2
Switch-3-(config)#vtp mode client
Switch-3-(config)#exit
Switch-3-#show vtp status
VTP Version capable : 1 to 3
VTP version running : 2
VTP Domain Name : MSTP
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled
Device ID : aabb.cc00.0300
Configuration last modified by 0.0.0.0 at 6-12-24 10:40:51
Feature VLAN:
--------------
VTP Operating Mode : Client
Maximum VLANs supported locally : 1005
Number of existing VLANs : 5
Configuration Revision : 1
MD5 digest : 0x25 0xBA 0x4E 0x29 0x64 0xC6 0x11 0x76
0xD4 0x1E 0xC2 0x6B 0x69 0xEB 0x26 0x7A
Switch-4-(config)#vtp domain MSTP
Switch-4-(config)#vtp version 2
Switch-4-(config)#vtp mode client
Switch-4-(config)#exit
Switch-1-(config)#vlan 10
Switch-1-(config-vlan)#exit
Switch-1-(config)#vlan 20
Switch-1-(config-vlan)#exit
Switch-1-(config)#vlan 30
Switch-1-(config-vlan)#exit
Switch-1-(config)#vlan 40
Switch-1-(config-vlan)#exit
Switch-1-(config)#vlan 50
Switch-1-(config-vlan)#exit
Switch-1-(config)#vlan 60
Switch-1-(config-vlan)#exit
Switch-2-#show vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active
10 VLAN0010 active
20 VLAN0020 active
30 VLAN0030 active
40 VLAN0040 active
50 VLAN0050 active
60 VLAN0060 active
Switch-3-#show vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active
10 VLAN0010 active
20 VLAN0020 active
30 VLAN0030 active
40 VLAN0040 active
50 VLAN0050 active
60 VLAN0060 active
(as you can see by default switch 1 is the root for all VLANs)
Switch-1-#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address aabb.cc00.0100
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address aabb.cc00.0100
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0 Desg BKN*100 128.1 Shr *PVID_Inc
Et0/1 Desg BKN*100 128.2 Shr *PVID_Inc
Switch-1-(config)#spanning-tree mode mst
Switch-1-(config)#spanning-tree mst configuration
Switch-1-(config-mst)#revision 1
Switch-1-(config-mst)#name MSTP
Switch-1-(config-mst)#instance 1 vlan 10,20,30
Switch-1-(config-mst)#instance 2 vlan 40,50,60
Switch-1-(config-mst)#exit
Switch-1-#show spanning-tree mst configuration
Name [MSTP]
Revision 1 Instances configured 3
Instance Vlans mapped
-------- ---------------------------------------------------------------------
0 1-9,11-19,21-29,31-39,41-49,51-59,61-4094
1 10,20,30
2 40,50,60
-------------------------------------------------------------------------------
Switch-1-#show spanning-tree mst
##### MST0 vlans mapped: 1-9,11-19,21-29,31-39,41-49,51-59,61-4094
Bridge address aabb.cc00.0100 priority 32768 (32768 sysid 0)
Root this switch for the CIST
Operational hello time 2 , forward delay 15, max age 20, txholdcount 6
Configured hello time 2 , forward delay 15, max age 20, max hops 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Et0/0 Desg FWD 2000000 128.1 Shr
Et0/1 Desg FWD 2000000 128.2 Shr
##### MST1 vlans mapped: 10,20,30
Bridge address aabb.cc00.0100 priority 32769 (32768 sysid 1)
Root this switch for MST1
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Et0/0 Desg FWD 2000000 128.1 Shr
Et0/1 Desg FWD 2000000 128.2 Shr
##### MST2 vlans mapped: 40,50,60
Bridge address aabb.cc00.0100 priority 32770 (32768 sysid 2)
Root this switch for MST2
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Et0/0 Desg FWD 2000000 128.1 Shr
Et0/1 Desg FWD 2000000 128.2 Shr
Switch-2-(config)#spanning-tree mode mst
Switch-2-(config)#spanning-tree mst configuration
Switch-2-(config-mst)#revision 1
Switch-2-(config-mst)#name MSTP
Switch-2-(config-mst)#instance 1 vlan 10,20,30
Switch-2-(config-mst)#instance 2 vlan 40,50,60
Switch-2-(config-mst)#exit
Switch-3-(config)#spanning-tree mode mst
Switch-3-(config)#spanning-tree mst configuration
Switch-3-(config-mst)#revision 1
Switch-3-(config-mst)#name MSTP
Switch-3-(config-mst)#instance 1 vlan 10,20,30
Switch-3-(config-mst)#instance 2 vlan 40,50,60
Switch-3-(config-mst)#exit
Switch-4-(config)#spanning-tree mode mst
Switch-4-(config)#spanning-tree mst configuration
Switch-4-(config-mst)#revision 1
Switch-4-(config-mst)#name MSTP
Switch-4-(config-mst)#instance 1 vlan 10,20,30
Switch-4-(config-mst)#instance 2 vlan 40,50,60
Switch-4-(config-mst)#exit
Switch-1-#show spanning-tree mst 1
##### MST1 vlans mapped: 10,20,30
Bridge address aabb.cc00.0100 priority 32769 (32768 sysid 1)
Root this switch for MST1
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Et0/0 Desg FWD 2000000 128.1 Shr
Et0/1 Desg FWD 2000000 128.2 Shr
Switch-1-#
Switch-1-#
Switch-1-#show spanning-tree mst 2
##### MST2 vlans mapped: 40,50,60
Bridge address aabb.cc00.0100 priority 32770 (32768 sysid 2)
Root this switch for MST2
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Et0/0 Desg FWD 2000000 128.1 Shr
Et0/1 Desg FWD 2000000 128.2 Shr
Switch-1-(config)#spanning-tree mst 1 root primary
Switch-1-(config)#spanning-tree mst 2 root secondary
Switch-1-(config)#exit
Switch-1-#show spanning-tree mst 1
##### MST1 vlans mapped: 10,20,30
Bridge address aabb.cc00.0100 priority 24577 (24576 sysid 1)
Root this switch for MST1
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Et0/0 Desg FWD 2000000 128.1 Shr
Et0/1 Desg FWD 2000000 128.2 Shr
Switch-1-#show spanning-tree mst 2
##### MST2 vlans mapped: 40,50,60
Bridge address aabb.cc00.0100 priority 28674 (28672 sysid 2)
Root address aabb.cc00.0300 priority 2 (0 sysid 2)
port Et0/0 cost 4000000 rem hops 18
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Et0/0 Root FWD 2000000 128.1 Shr
Et0/1 Altn BLK 2000000 128.2 Shr
(as you can see the above outcome switch 1 is the root bridge for MST instance 1 but not for MST instance 2)
Switch-3-(config)#spanning-tree mst 2 root primary
Switch-3-(config)#spanning-tree mst 1 root secondary
Switch-3-#show spanning-tree mst 2
##### MST2 vlans mapped: 40,50,60
Bridge address aabb.cc00.0300 priority 2 (0 sysid 2)
Root this switch for MST2
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Et0/0 Desg FWD 2000000 128.1 Shr
Et0/1 Desg FWD 2000000 128.2 Shr
Switch-3-#show spanning-tree mst 1
##### MST1 vlans mapped: 10,20,30
Bridge address aabb.cc00.0300 priority 28673 (28672 sysid 1)
Root address aabb.cc00.0100 priority 24577 (24576 sysid 1)
port Et0/1 cost 4000000 rem hops 18
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Et0/0 Altn BLK 2000000 128.1 Shr
Et0/1 Root FWD 2000000 128.2 Shr
(as you can see switch 3 is the root bridge for MST instance 2 but not for 1)
if you like this blog please visit to our YouTube channel https://www.youtube.com/@internetworkss