Multiple Spanning Tree Protocol - MST

Multiple Spanning Tree Protocol – MST

Hoy vamos a hablar de Multiple Spanning Tree Protocol (802.1s) o también conocido como MST.

En el mundo Cisco la mayoría de las empresas levantan VLANs, esas VLANs tienen asociada una instancia de Spanning Tree y hay mucha gente que no se pregunta mucho más sobre eso, simplemente si quieres ver los puertos bloqueados pues

show spanning tree vlan 55

Y poco más, como mucho se define el root de alguna instancia de spanning tree para que el root de la instancia de la vlan 55 esté en un switch determinado y poco más.

El protocolo que se utiliza por defecto en Cisco para el Spanning Tree es PVST+ y es el protocolo ideal para la gran mayoría de las redes empresariales, pero tiene un límite, el límite es que PVST+ sólo permite 128 instancias, que son muchas, pero claro, hay gente que necesita más de 128 VLANs en su red, en ese caso, la 129 no correrá spanning tree.

Al configurar la vlan 129ª saldrá un mensaje diciendo que se ha quedado sin instancias de PVST y que esa vlan nueva no va a tener spanning tree y claro, la primera vez que ves ese mensaje se entra en crisis, ¿cómo que no voy a tener spanning tree en las vlans nuevas.

Este es un tema que no he tratado anteriormente porque no creía que fuera una necesidad pero sin ir más lejos el otro día estaba mirando una red y saltó esta necesidad, en esa red había necesidad de bastantes más vlans que 128 y claro, por defecto hay PVST+ y no nos sirve para el Spanning Tree de esta red.

Como opciones tendríamos CST o MST y claro, CST no vamos ni a considerarla.

La elección del tipo de Spanning Tree depende de dos factores:

  • Ubicación del root
  • Utilización de los enlaces

Ubicación del root

Si tenemos una vlan de almacenamiento donde siempre va a ser necesario que todo el tráfico llegue a una cabina está claro que el root del STP tendría que estar en la cabina porque queremos que todos los enlaces de ese switch estén disponibles y no cortados.

Utilización de los enlaces

Con Spanning Tree podemos hacer que unas instancias vayan por un enlace y otras por otro, de forma que, si tenemos dos enlaces, tengamos utilizados ambos enlaces, obviamente la suma no debería ser mayor al ancho de banda de uno de los enlaces, teniendo en cuenta que son iguales.

El objetivo de este capítulo no es explicar como funciona spanning tree, de eso ya hablé en Enero de 2018 en este mismo podcast en el capítulo Spanning Tree, el objetivo es que sepáis qué hacer cuando os quedéis sin instancias disponibles en PVST+.

MST

La solución será MST, que sólo nos ofrece 64 instancias, pero con la gracia de que podemos agregar vlans a una instancia, dividiendo de forma idéntica podríamos tener, por ejemplo, 64 instancias con 64 vlans cada instancia.

Seguro que muchas vlans comparten la misma estructura, son vlans en las que tenemos servidores o PCs que tienen que comunicarse con un router, pues en este caso el root lo ponemos en el switch donde esté el router y todas esas vlans en una misma instancia, así que compartirán topología de nivel 2.

Por desgracia nadie empieza una red utilizando MST, sino utilizando PVST+, por comodidad o por no pensar en el futuro

Yo mismo nunca he iniciado una red desde 0 con MST, y siempre me arrepiento muchísimo, porque el cambio a MST es inevitable ya que el llegar a 128 instancias es sólo cuestión de tiempo.

¿Cómo levantaríamos el MST desde el principio?

switch# conf t 
Enter configuration commands, one per line. End with CNTL/Z. 
switch(config)# spanning-tree mode mst 
switch(config)# spanning-tree mst configuration 
switch(config-mst)# instance 1 vlan 1 
switch(config-mst)# instance 2 vlan 2-5 
switch(config-mst)# instance 3 vlan 6,7,8 
switch(config-mst)# exit 
switch(config)# spanning-tree mst 0-3 root primary

Como se ve la configuración es muy sencilla y se entiende perfectamente spanning tree tradicional, si asignáramos una vlan a una instancia al final tendríamos el mismo comportamiento que PVST+.

Migración de PVST+ a MST

En un Mundo ideal podríamos convertir la configuración de todos los switches a la vez y ya estaría, pero ya sabéis que eso no va a suceder nunca, así que vamos a tener que ir paso a paso para hacer la conversión en la red.

  1. Identificar los puertos de acceso de la red y configurarlos como spanning-tree portfast, como spanning-tree port type edge o como sea en el switch donde estemos.
  2. Asignar vlans a instancias de MST y decidir donde va a  estar el root primario y el secundario para cada instancia. Ojo, la instancia 0 no hay que usarla.
  3. Aprovechando que MST puede interactuar con PVST+ a nivel de puerto se pueden mantener ambas topologías a la vez. Ojo aquí porque hay que asegurarse que los trunks lleven todas las vlans.
  4. Asegurarse que los switches PVST+ tienen menor root bridge (numeración superior) que el CST, el root del MST instancia 0.
  5. Y lo más importante, no es que puedas tener un corte en la red, es que seguro que lo vas a tener, así que no hagas esto en hora de máximo tráfico.

Una vez que se haya terminado hay que hacer dos cosas, tunear el MST con el port-priority

switch(config-if)#spanning-tree mst 2 port-priority 64

Y limpiando la configuración que quede de PVST+

switch(config)#no spanning-tree backbonefast
switch(config)#no spanning-tree backbonefast
switch(config)#interface FastEthernet1/0/24
switch(config-if)#no spanning-tree vlan 20,40,200 port-priority 64

Una vez limpia la configuración procederemos a configurar MST en el siguiente y así iremos bajando niveles.