STP- Spanning Tree Protocol.
Es un protocolo de capa 2 en el modelo OSI (nivel de enlace de datos). Su función es la
de gestionar la presencia de bucles en topologías de red debido a la existencia de
enlaces redundantes (necesarios en muchos casos para garantizar la disponibilidad de
las conexiones). El protocolo permite a los dispositivos de interconexión activar o
desactivar automáticamente los enlaces de conexión, de forma que se garantice la
eliminación de bucles. STP es transparente a las estaciones de usuario.
Los bucles infinitos ocurren cuando hay rutas alternativas hacia una misma máquina o
segmento de red destino. Estas rutas alternativas son necesarias para proporcionar
redundancia, ofreciendo una mayor fiabilidad a la red. Si existen varios enlaces, en el
caso que uno falle, otro enlace puede seguir soportando el tráfico de la red. Los
problemas aparecen cuando utilizamos dispositivos de interconexión de nivel de enlace,
como un puente de red o un conmutador de paquetes.
Cuando existen bucles en la topología de red, los dispositivos de interconexión de nivel
de enlace de datos reenvían indefinidamente las tramas Broadcast y multicast creando
un bucle infinito que consume tanto ancho de banda en la red como CPU de los
dispositivos de enrutamiento. Esto provoca que la red se degrade en muy poco tiempo
pudiéndose quedar inutilizable. Al no existir un campo TTL (Time To Live, Tiempo de
Vida) en las tramas de capa 2, se quedan atrapadas indefinidamente hasta que un
administrador de sistemas rompe el bucle. Un router, por el contrario, sí podría evitar
este tipo de reenvíos indefinidos. La solución consiste en permitir la existencia de
enlaces físicos redundantes, pero creando una topología lógica libre de bucles. STP
calcula una ruta única libre de bucles entre los dispositivos de la red pero manteniendo
los enlaces redundantes desactivados como reserva, para activarlos en caso de fallo.
Si la configuración de STP cambia, o si un segmento en la red redundante llega a ser
inalcanzable, el algoritmo reconfigura los enlaces y restablece la conectividad,
activando uno de los enlaces de reserva.
Existen múltiples variantes del Spaning Tree Protocol, una de las más utilizadas es el
Rapid Spanning Tree Protocol, estándar IEEE 802.1D-2004.
El árbol de expansión (Spanning tree) permanece vigente hasta que ocurre un cambio en
la topología, situación que el protocolo es capaz de detectar de forma automática. El
máximo tiempo de duración del árbol de expansión es de cinco minutos. Cuando ocurre
uno de estos cambios, el puente raíz actual redefine la topología del árbol de expansión
o se elige un nuevo puente raíz.
Funcionamiento
Este algoritmo cambia una red física con forma de malla, en la que existen bucles, por
una red lógica en árbol en la que no existe ningún bucle. Los puentes se comunican
mediante mensajes de configuración llamados Bridge Protocol Data Units (BPDU).
El protocolo establece identificadores por puente y elige el que tiene la prioridad más
alta (el número más bajo de prioridad numérica), como el puente raíz. Este puente raíz
establecerá el camino de menor coste para todas las redes; cada puerto tiene un
parámetro configurable: el Span path cost. Después, entre todos los puentes que
conectan un segmento de red, se elige un puente designado, el de menor coste (en el
caso que haya el mismo coste en dos puentes, se elige el que tenga el menor
identificador "direccion MAC"), para transmitir las tramas hacia la raíz. En este puente
designado, el puerto que conecta con el segmento, es el puerto designado y el que
ofrece un camino de menor coste hacia la raíz, el puerto raíz. Todos los demás puertos y
caminos son bloqueados, esto es en un estado ya estacionario de funcionamiento.
Elección del puente raíz
La primera decisión que toman todos los switches de la red es identificar el puente raíz
ya que esto afectará al flujo de tráfico. Cuando un switch se enciende, supone que es el
switch raíz y envía las BPDUs que contienen la dirección MAC de sí mismo tanto en el
BID raíz como emisor. El BID es el Bridge IDentifier: Bridge Priority + Bridge Mac
Address. El Bridge Priority es un valor configurable que por defecto está asignado en
32768. El Bridge Mac Address es la dirección MAC (única) del Puente.
Cada switch reemplaza los BID de raíz más alta por BID de raíz más baja en las BPDU
que se envían. Todos los switches reciben las BPDU y determinan que el switch que
cuyo valor de BID raíz es el más bajo será el puente raíz. El administrador de red puede
establecer la prioridad de switch en un valor más pequeño que el del valor por defecto
(32768), lo que hace que el BID sea más pequeño. Esto sólo se debe implementar
cuando se tiene un conocimiento profundo del flujo de tráfico en la red
Elección de los puertos raíz
Una vez elegido el puente raíz hay que calcular el puerto raíz para los otros puentes que
no son raíz. El procedimiento a seguir para cada puente es el mismo: entre todos los
puertos del puente, se escoge como puerto raíz el puerto que tenga el menor costo hasta
el puente raíz. En el caso de que haya dos o más puertos con el mismo costo hacia el
puente raíz, se utiliza la prioridad del puerto para establecer el raíz.
Elección de los puertos designados
Una vez elegido el puente raíz y los puertos raíz de los otros puentes pasamos a calcular
los puertos designados de cada segmento de red. En cada segmento habrá un puerto
designado, que será el puerto del switch que tenga un menor coste para llegar al puente
raíz (Root Bridge), este costo administrativo será un valor que estará relacionado al tipo
de enlace que exista en el puerto (Ethernet, FastEthernet, GigabitEthernet). Cada tipo de
enlace tendrá un coste administrativo distinto, siendo de un costo menor el puerto con
una mayor velocidad. Si hubiese empate entre los costos administrativos que tienen los
dos switches para llegar al root bridge, entonces se elegirá como Designed Port, el
puerto del Switch que tenga un menor Bridge ID (BID) .
Puertos bloqueados
Aquellos puertos que no sean elegidos como raíz ni como designados deben
bloquearse .
Mantenimiento del Spanning Tree
El cambio en la topología puede ocurrir de dos formas:
• El puerto se desactiva o se bloquea
• El puerto pasa de estar bloqueado o desactivado a activado
Cuando se detecta un cambio el switch notifica al puente raíz dicho cambio y entonces
el puente raíz envía por broadcast dicho cambio. Para ello, se introduce una BPDU
especial denominada notificación de cambio en la topología (TCN). Cuando un switch
necesita avisar acerca de un cambio en la topología, comienza a enviar TCN en su
puerto raíz. La TCN es una BPDU muy simple que no contiene información y se envía
durante el intervalo de tiempo de saludo. El switch que recibe la TCN se denomina
puente designado y realiza el acuse de recibo mediante el envío inmediato de una BPDU
normal con el bit de acuse de recibo de cambio en la topología (TCA). Este intercambio
continúa hasta que el puente raíz responde.
Estado de los puertos
Los estados en los que puede estar un puerto son los siguientes:
• Bloqueo: En este estado se pueden recibir BPDU's pero no las enviará. Las
tramas de datos se descartan y no se actualizan las tablas de direcciones MAC
(mac-address-table).
• Escucha: A este estado se llega desde Bloqueo. En este estado, los switches
determinan si existe alguna otra ruta hacia el puente raíz. En el caso que la nueva
ruta tenga un coste mayor, se vuelve al estado de Bloqueo. Las tramas de datos
se descartan y no se actualiza la tabla de direcciones MAC (mac-address-table).
Se procesan las BPDU.
• Aprendizaje: A este estado se llega desde Escucha. Las tramas de datos se
descartan pero ya se actualizan las tablas de direcciones MAC (aquí es donde se
aprenden por primera vez). Se procesan las BPDU.
• Envío: A este estado se llega desde Aprendizaje, en este estado el puerto puede
enviar y recibir datos. Las tramas de datos se envían y se actualizan las tablas de
direcciones MAC (mac-address-table). Se procesan las BPDU.
• Desactivado: A este estado se llega desde cualquier otro. Se produce cuando un
administrador deshabilita el puerto o éste falla. No se procesan las BPDU.