STP - Spanning Tree Protocol (Parte 2 - BID, Root Bridge y bloqueo de enlaces)

STP (IEEE 802.1d) es un protocolo utilizado para evitar los bucles en redes con topología redundante. Su funcionamiento se basa en bloquear de forma lógica los enlaces redundantes y levantando el bloqueo cuando se produzcan caídas en los enlaces no bloqueados. Volviendo al escenario de las tormentas de broadcast de la anterior entrada, se entiende mejor el concepto:

 
La mayoría de elecciones en STP se hacen en base al Bridge ID (BID). Esta ID es un número basado en la prioridad (2 bytes) y en la dirección MAC (6 bytes), teniendo la forma Prioridad.MAC. Por defecto, la prioridad de todos los switches es 32768, por lo que la diferencia viene determinada por la dirección MAC.

STP define un switch principal conocido como root bridge o puente raíz. Dicho switch es el núcleo de la red, ya que el resto de switches calcularán la mejor ruta para llegar hasta dicho núcleo y bloquearán el resto de enlaces. Por el root bridge pasará una gran cantidad de tráfico y si se escoge como raíz un switch de características bajas el rendimiento de la red no será el esperado, por lo que una buena elección es crucial. Esta elección se hace en base al BID. Dado que la prioridad viene establecida por defecto y a que los fabricantes asignan las direcciones MAC a sus equipos partiendo de la menor del bloque que tienen asignado y en orden ascendente, es muy posible que el switch elegido por defecto como raíz sea el más antiguo, hecho que en principio no es deseable. Por ello, es necesario modificar el campo de prioridad de forma que el switch raíz elegido sea el que más interese.



A continuación se muestra un escenario de tres switches, SW A, SW B y SW C, cuyas direcciones MAC son aaaa.aaaa.aaaa, bbbb.bbbb.bbbb y cccc.cccc.cccc respectivamente. Dado que la prioridad por defecto es la misma para todos los switches, SW A sería elegido como puente raíz. 

Una vez elegido el Puente Raíz, los demás switches calculan la mejor ruta hasta éste teniendo en cuenta el coste acumulativo de los enlaces hasta llegar a él. El coste de los enlaces depende de la velocidad de los mismos, y viene especificado para Ethernet por la IEEE en la siguiente tabla.

 
Al igual que en el caso del Bridge ID, un menor valor numérico implica mayor prioridad. De este modo, si todos los enlaces del escenario tienen un costo de 19, SW B elegirá el enlace directo a SW A, ya que el costo de enlace es menor que si va a través de SW C.


Sin embargo, si el enlace entre SW B y SW A tiene un costo de 100 y los otros dos siguen siendo de 19, SW B elegirá como camino para llegar al Root Bridge la ruta pasando a través de SW C, ya que 19 + 19 < 100. 


Por último, vamos a ver qué sucede cuando un enlace se cae. Evidentemente, la red tiene que seguir funcionando (si no, ¿para qué queremos redundancia?), por lo que los switches recalcularán la mejor ruta hasta el Root Bridge ignorando el enlace caído.



En la próxima entrada sobre STP veremos cómo se realiza el bloqueo de los enlaces utilizando el estado de los puertos de los switches.

Comentarios

Entradas populares