(Dá-lhe camada 2)
O MSTP – Multiple Spanning Tree Protocol, é uma variação do Spanning Tree Protocol, criado pela Cisco e posteriormente padronizado pelo IEEE.
Assim como o STP, o função do MSTP é evitar a ocorrência de loop de camada dois na rede.
No MSTP temos a separação das instâncias spanning tree e VLANs, coisa que não ocorre quando usamos o PVSTP ou o RPVSTP. Com estes protocolos cada VLAN gera uma instância STP, o que causa maior consumo de recursos nos switches e limita o número de VLANs que podem ser utilizadas.
Os switches Cisco 2960, por exemplo, suportam 128 instâncias do STP. Ou seja, apenas 128 VLANs podem ser criadas com a utilização do STP. Caso mais VLANs sejam criadas, estas VLANs adicionais não utilizam o STP para prevenção de loop.
E esse é o grande benefício do MSTP.
Em ambientes com um grande número de VLANs faz-se obrigatório o seu uso, pois com ele podemos dizer quais e quantas VLANs fazem parte de uma dada instância de spanning tree.
Por exemplo, poderíamos ter 200 VLANs em um 2960 e duas instâncias STP. Neste caso poderíamos mapear 100 VLANs em uma instância do MSTP e outras 100 VLANs em outra instância.
Com isso as 200 VLANs estariam usando o STP e protegidas contra loops.
O MSTP usa o conceito de region para definir a área de atuação. Quanto switches tem o MSTP configurado com o mesmo nome, revisão e mapeamento de vlans para instâncias, eles pertencem a mesma região MSTP.
Com relação as instâncias, podemos criá-las arbitrariamente, e automaticamente é criada uma instância 0, onde as VLANs são mapeadas inicialmente (antes de fazermos o mapeamento para a instância desejada).
Configurando o MSTP
Vamos considerar a topologia abaixo, com a configuração inicial listada na sequência.
Script para configuração inicial para os 3 switches. BrainSW01#conf t BrainSW01(config)#hostname BrainSW01 !BrainSW02 BrainSW03 BrainSW01(config)#vtp mode transparent Device mode already VTP Transparent for VLANS. BrainSW01(config)#vlan 1-10,100-110,200-210 BrainSW01(config-vlan)#int range eth0/0 - 1 BrainSW01(config-if-range)#switchport trunk encapsulation dot1q BrainSW01(config-if-range)#switchport mode trunk BrainSW01(config-if-range)#end BrainSW01#
Temos 30 VLANs e vamos dividi-las em 3 instâncias. A configuração abaixo deve ser aplicada nos 3 switches.
BrainSW01#conf t Enter configuration commands, one per line. End with CNTL/Z. BrainSW01(config)#spanning-tree mode mst BrainSW01(config)#spanning-tree mst configuration BrainSW01(config-mst)#name MyMST BrainSW01(config-mst)#revision 1 BrainSW01(config-mst)#instance 1 vlan 1 - 100 BrainSW01(config-mst)#instance 2 vlan 101 - 200 BrainSW01(config-mst)#instance 3 vlan 201 - 300 BrainSW01(config-mst)#end BrainSW01#
Note que o mapeamento que foi feito já engloba VLANs que não foram criadas. Caso essas VLANs sejam criada posteriormente elas serão associadas as instâncias conforme o que foi definido.
Também é importante perceber que se uma VLAN fora do range definido for criada, ela será associada a region default (MST 0).
Agora vamos definir a root bridge para cada região (o switch 1 será root para as VLANs da região 1 e 2, e o switch 3 será o root para a região 3).
BrainSW01#conf t BrainSW01(config)#spanning-tree mst 1-2 priority 0 BrainSW01(config)# BrainSW03#conf t BrainSW03(config)#spanning-tree mst 3 priority 0 BrainSW03(config)#
Podemos verificar nossa configuração com os comandos abaixo:
BrainSW02#show spanning-tree mst configuration Name [MyMST] Revision 1 Instances configured 4 Instance Vlans mapped -------- --------------------------------------------------------------------- 0 301-4094 1 1-100 2 101-200 3 201-300 ------------------------------------------------------------------------------- BrainSW02#show spanning-tree mst 1 ##### MST1 vlans mapped: 1-100 Bridge address aabb.cc00.0200 priority 32769 (32768 sysid 1) Root address aabb.cc00.0100 priority 1 (0 sysid 1) port Et0/0 cost 2000000 rem hops 19 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Et0/0 Root FWD 2000000 128.1 Shr Et0/1 Desg FWD 2000000 128.2 Shr BrainSW02#show spanning-tree mst 2 ##### MST2 vlans mapped: 101-200 Bridge address aabb.cc00.0200 priority 32770 (32768 sysid 2) Root address aabb.cc00.0100 priority 2 (0 sysid 2) port Et0/0 cost 2000000 rem hops 19 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Et0/0 Root FWD 2000000 128.1 Shr Et0/1 Desg FWD 2000000 128.2 Shr BrainSW02#show spanning-tree mst 3 ##### MST3 vlans mapped: 201-300 Bridge address aabb.cc00.0200 priority 32771 (32768 sysid 3) Root address aabb.cc00.0300 priority 3 (0 sysid 3) port Et0/1 cost 2000000 rem hops 19 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Et0/0 Altn BLK 2000000 128.1 Shr Et0/1 Root FWD 2000000 128.2 Shr BrainSW02#
Como podemos ver, além da questão da preservação de recursos, o MST também nos permite fazer o balanceamento do tráfego entre os caminhos de camada 2.
Mais sobre o Multiple Spanning Tree Protocol aqui.
Até a próxima.