¿Cómo funciona el Spanning Tree Protocol?
El Spanning Tree Protocol evita las tormentas de broadcast o de transmisión y las interrupciones de la red. Sin embargo, la reestructuración del árbol de expansión del mismo nombre genera una prolongada inactividad que hace este sistema vulnerable a los ataques.
¿Qué es el Spanning Tree Protocol?
El Spanning Tree Protocol (abreviado STP) es un método utilizado en redes Ethernet, que evita la formación de tramas duplicadas. El STP fue inventado por el ingeniero de redes y desarrollador de software estadounidense Radia Perlman y definido como norma 802.1D por el Institute of Electrical and Electronics Engineers (IEEE) en 1990. Al comprobar la red buscando rutas duplicadas y desactivarlas, el Spanning Tree Protocol impide que se creen dos o más tramas paralelas que, de lo contrario, provocarían bucles. El procedimiento forma un árbol con la red física sin conexiones múltiples entre el origen y el destino.
¿Por qué es importante el Spanning Tree Protocol?
El problema que aborda el Spanning Tree Protocol se produce cuando hay varias rutas de datos concurrentes entre dos conmutadores de red. Cuando los paquetes de datos pueden enrutarse a través de múltiples tramas, todo el sistema podría comportarse de manera incorrecta. Una posible consecuencia derivada de dos o más rutas simultáneas entre dos puntos es la llamada tormenta de broadcast o de difusión. En este caso, todo el broadcast o el tráfico de multidifusión de una red se transmite y acumula simultáneamente, lo que puede provocar un efecto de bola de nieve y, en el peor de los casos, paralizar todas las comunicaciones. Con la ayuda de un Spanning Tree Protocol, esto se evita y la red permanece intacta.
La tecnología de árboles de STP
Para evitar la duplicación de tramas, el Spanning Tree Protocol establece un árbol de expansión. En él, la conexión entre dos puntos de la red solo se realiza a través de un único camino. Además, con este método siempre se encuentra la mejor conexión posible. Sin embargo, si una trama falla o se ve afectada por un fallo, el protocolo STP reorganiza el árbol de expansión lo más rápidamente posible y se abre una nueva ruta de conexión. Esto reduce los retrasos y la conexión entre los distintos conmutadores permanece intacta.
¿Cómo funciona el Spanning Tree Protocol?
Con el Spanning Tree Protocol, la comunicación entre dos conmutadores o puentes de una red se realiza mediante Bridge Protocol Data Units (BPDU). Estas unidades de datos se intercambian a intervalos cortos y se envían como tramas multidifusión a una dirección MAC 01-80-C2-00-00-10. Cada dos segundos, se realiza una transmisión de este tipo al puente más cercano y más bajo. De este modo, el Spanning Tree Protocol no solo obtiene una visión general de todas las rutas disponibles, sino que también determina la conexión más rápida. Aquí son decisivas la velocidad de transmisión de datos y las distancias entre los dos puntos. Una vez determinada la mejor ruta, los puertos restantes se desactivan hasta nuevo aviso.
Cuando no aparece una unidad de datos del protocolo de puente, el conmutador de destino lo interpreta como un fallo del enlace e inicia una reorientación de la topología del árbol. En el caso de configuraciones complejas, el recálculo puede tardar incluso más de 30 segundos. Una vez reorientado el árbol de expansión, la transmisión puede realizarse a través de una conexión de recambio previamente desactivada. Esto garantiza la transmisión de datos más rápida posible aunque se produzca un fallo.
El Rapid Spanning Tree Protocol
Desgraciadamente, el recálculo y los tiempos de inactividad más largos abren la red a posibles ataques. Si una trama incorrecta no es bloqueada por el sistema, la reorganización desencadenada podría inutilizar la red durante 30 segundos o más. Por este motivo, en 2003 se desarrolló el Rapid Spanning Tree Protocol (IEEE 802.1w). Es compatible con versiones anteriores y garantiza que se mantenga la estructura en curso de la red hasta que se haya sustituido el enlace afectado. Solo entonces se reestructura el árbol. Este cambio solo tarda un segundo.
Estados de los puertos en el Spanning Tree Protocol
El Spanning Tree Protocol distingue entre un total de cinco estados de puerto. Esto evita la formación de un bucle y también garantiza que no se pierda información sobre la topología del árbol. Los distintos estados son los siguientes:
- Forwarding: los puertos listados como forwarding pueden reenviar tramas, aprender direcciones y recibir, procesar y transmitir unidades de datos de protocolo de puente.
- Blocking: los puertos configurados como blocking descartan tramas y no aprenden direcciones, pero reciben y procesan unidades de datos de protocolo de puente.
- Listening: los puertos de escucha o listening descartan tramas, no aprenden direcciones, pero reciben, procesan y transmiten unidades de datos de protocolo de puente.
- Learning: los puertos de aprendizaje o learning descartan tramas pero aprenden direcciones y reciben, procesan y transmiten unidades de datos de protocolo de puente.
- Disabled: los puertos marcados como desactivados o disabled descartan tramas, no aprenden direcciones y no pueden recibir ni procesar unidades de datos de protocolo de puente.
Si el Spanning Tree Protocol está activado, cada puerto pasa secuencialmente por los estados de blocking, listening, learning y forwarding.
El Root Bridge o puente raíz en el Spanning Tree Protocol
El primer paso del Spanning Tree Protocol es seleccionar un puente raíz que actúe como punto de partida del árbol de expansión. A continuación, el algoritmo amplía las rutas individuales activando o desactivando puertos. La configuración solo puede modificarse y los temporizadores reajustarse a través del puente raíz.
- Hello Timer: el temporizador define el periodo de tiempo entre dos unidades de datos de protocolo de puente, normalmente dos segundos.
- Forward Delay: el segundo temporizador determina el tiempo en los estados de listening y learning, que es de 30 segundos.
- Maximum Age: el tercer temporizador se llama Maximum Age y determina durante cuánto tiempo mantiene un puerto la información de configuración. El valor por defecto es de 20 segundos.
Ventajas e inconvenientes del Spanning Tree Protocol
La principal ventaja del Spanning Tree Protocol es que evita la congestión o las interferencias dentro de una red ya que se excluyen los bucles y se evitan las rutas paralelas. Otra mejora evidente para la red es que identifica la conexión más corta. El principal inconveniente del Spanning Tree Protocol es el largo tiempo de maniobra, que juega a favor de los posibles atacantes. Sin embargo, la introducción del Rapid Spanning Tree Protocol y del Multiple Spanning Tree Protocol, en los que se pueden crear varios árboles de expansión independientes dentro de una misma LAN, minimiza estos tiempos de inactividad protegiendo así la red de posibles ataques.
Infórmate sobre los tipos de redes y sobre los estándares de protocolos en nuestra Digital Guide: