Spanning Tree

Dentro de las redes informáticas, la inclusión de protocolos es fundamental para garantizar el correcto funcionamiento de las comunicaciones.

En el caso de Spanning Tree, se trata de un protocolo creado con el fin de controlar los bucles a nivel de la capa 2 del modelo OSI. Estos bucles se generan debido a la existencia de enlaces redundantes que, por otro lado, son necesarios en muchos casos para garantizar la disponibilidad de las conexiones de la red.

El protocolo Spanning Tree, conocido habitualmente como SPT, hace posible que los dispositivos de interconexión puedan desactivar o activar los enlaces de conexión para eliminar los bucles.

Gracias a este protocolo, cuando un enlace falla o incluso si lo hace un switch completo, la red puede continuar funcionando.

Historia del protocolo Spanning Tree

El protocolo Spanning Tree se basa en un algoritmo que fue diseñado por Radia Perlman durante sus trabajos para DEC. A esta famosa ingeniera de redes, se le conoce popularmente como la madre de internet debido a sus valiosos avances durante los primeros años de surgimiento de la red.

Actualmente, existen dos versiones de protocolo Spaning Tree: la original, creada por Perlman y la que fue estandarizada por el IEEE. Ambas versiones no son compatibles entre sí y actualmente, se recomienda utilizar la segunda.

¿Cómo funciona el protocolo Spanning Tree?

Con el fin de garantizar el correcto funcionamiento de la red, el protocolo Spanning Tree elimina caminos de comunicación dentro de ella de forma lógica. Para llevarlo a cabo, el STP elabora un árbol de switches dentro de la red, escogiendo el switch de referencia a partir del cual desarrolla dicho árbol. Es lo que denominamos root bridge, sólo puede haber uno por cada red y su elección se lleva a cabo en base a una prioridad y a la dirección MAC.

Una vez seleccionado el switch que ejerce de root bridge, el resto de switches del árbol se definen como root port, teniendo en cuenta el menor coste de ancho de banda respecto al root bridge.

En cada segmento desde el root bridge a los root ports se establece un designated bridge.

Muchos switches pueden conectarse al mismo tiempo a un mismo segmento Ethernet, pero si tenemos en cuenta que los enlaces conectan dos dispositivos, cada enlace solo podrá tener dos switches como máximo. Es siempre el switch con menor costo raíz comparado respecto al resto de switches conectados al mismo enlace el que se pone en estado de reenvío. Son estos switches los que denominamos switch designados o designated bridges.

Todo el resto de las interfaces son puestas en estado de bloqueo con el fin de evitar los bucles o loops dentro de la red.

¿Cómo trabaja el protocolo Spanning Tree?

Como hemos visto anteriormente, la estructura en forma de árbol de las interfaces de reenvío crea un único camino, diseñado en base al menor coste de ancho de banda. Tal y como ocurre en los árboles reales, el árbol crece desde la base hasta la hoja.

La elección acerca de qué interfaces serían de reenvío de información y cuáles de bloqueo se lleva a cabo en base al algoritmo SPT el cual siempre tiene en cuenta el costo raíz de cada switch.

El protocolo Spanning Tree solo considera interfaces que se encuentren en funcionamiento, es decir, que estén conectadas. Aquellas interfaces en estado de falla, por ejemplo, aquellas que no cuenten con cable instalado o que hayan sido dadas de baja administrativamente, serían marcadas como deshabilitadas para el STP.

El mantenimiento del Spanning Tree

Para que sea posible el mantenimiento del Spanning Tree, los switches envían una notificación al root port siempre que ocurre un cambio en su topología. Los cambios en la topología de los puertos pueden producirse de dos únicas formas:

  • El swtch se desactiva o se bloquea.
  • El switch que estaba desactivado o bloqueado pasa a activarse.

Cuando uno de estos cambios ocurre, éste es notificado por el switch en cuestión al puente raíz, para que éste envíe dicho cambio por broadcast. Esto es posible gracias a la introducción de una BDPU especial llamada TCN (notificación de cambio en la topología). La TCN es una BDPU muy simple, que es enviada en el intervalo de tiempo del saludo y va carente de información. Cuando el switch designado recibe la TCN acusa el recibo mediante el envío inmediato de una BDPU convencional que incluye el bit de acuse de recibo de cambio en la topología (TCA). Dicho intercambio se prolonga hasta que el puente raíz emite una respuesta.

Estado de los puertos para el protocolo Spanning Tree

Sólo existen cuatro posibles estados para los switches:

  • Estado de bloqueo: en este caso, el puerto es capaz de recibir BDPUs, pero no las reenvía. Las tablas de direcciones MAC no se actualizan y las tramas de datos se descartan.
  • Estado de escucha: para llegar a este estado, el switch debe haber estado bloqueado previamente. En este estado, los puertos determinan la existencia de alguna otra posible ruta hacia el puente raíz. Si ésta tiene un coste mayor, volverían al estado de bloqueo inicial.
  • Estado de aprendizaje: para llegar a este estado, el puerto debe haber pasado por el estado de escucha con anterioridad. Aquí las tramas de datos continúan siendo descartadas, pero ya se actualizan las tablas de direcciones MAC y las BDPUs son procesadas.
  • Estado de envío: para alcanzar el estado de envío, el switch debe haber pasado antes por el estado de aprendizaje. Es el estado en el que el puerto es capaz de enviar y recibir datos.