Algoritmo de árbol de expansión: introducción

La redundancia aumenta la disponibilidad de la topología de red al proteger la red de un único punto de falla, como un cable de red o switch que fallan. Cuando se introduce la redundancia física en un diseño, se producen bucles y se duplican las tramas. Esto trae consecuencias graves para las redes conmutadas. El protocolo árbol de expansión (STP) fue desarrollado para enfrentar estos inconvenientes.

STP asegura que exista sólo una ruta lógica entre todos los destinos de la red, al realizar un bloqueo de forma intencional a aquellas rutas redundantes que puedan ocasionar un bucle. Se considera que un puerto está bloqueado cuando no se permite que entren o salgan datos de usuario por ese puerto. Esto no incluye las tramas de unidad de datos de protocolo puente (BPDU) utilizadas por STP para evitar bucles. El bloqueo de las rutas redundantes es fundamental para evitar bucles en la red. Las rutas físicas aún existen para proporcionar la redundancia, pero las mismas se deshabilitan para evitar que se generen bucles. Si alguna vez la ruta es necesaria para compensar la falla de un cable de red o de un switch, STP vuelve a calcular las rutas y desbloquea los puertos necesarios para permitir que la ruta redundante se active.

Haga clic en el botón Reproducir de la figura 1 para ver el protocolo STP en acción.

En el ejemplo, STP está habilitado en todos los switches.

  • La PC1 envía una transmisión a la red.

  • El S2 está configurado con STP y estableció el puerto para Enlace_troncal2 en estado de bloqueo. El estado de bloqueo evita que se utilicen los puertos para reenviar datos de usuario, lo que evita que se produzca un bucle. El S2 reenvía una trama de difusión por todos los puertos del switch, excepto el puerto de origen de la PC1 y el puerto para Enlace_troncal2.

  • El S1 recibe la trama de difusión y la reenvía por todos sus puertos de switch, por donde llega a la PC4 y al S3. El S3 reenvía la trama por el puerto para Enlace_troncal2, y el S2 descarta la trama. Se evita el bucle de Capa 2.

Haga clic en el botón Reproducir de la figura 2 para ver el recálculo de STP cuando se produce una falla.

STP evita que ocurran bucles mediante la configuración de una ruta sin bucles a través de la red, con puertos “en estado de bloqueo” ubicados estratégicamente. Los switches que ejecutan STP pueden compensar las fallas mediante el desbloqueo dinámico de los puertos bloqueados anteriormente y el permiso para que el tráfico se transmita por las rutas alternativas.

Hasta ahora, utilizamos el término “protocolo de árbol de expansión” y el acrónimo STP. El uso del término “protocolo de árbol de expansión” y del acrónimo STP puede ser engañoso. La mayoría de los profesionales suele utilizar estas denominaciones para referirse a las diversas implementaciones del árbol de expansión, como el protocolo de árbol de expansión rápido (RSTP) y el protocolo de árbol de expansión múltiple (MSTP). Para poder explicar los conceptos de árbol de expansión correctamente, es importante consultar la implementación o el estándar específico en contexto. El documento más reciente del IEEE acerca del árbol de expansión (IEEE-802-1D-2004) establece que “STP se reemplazó con el protocolo de árbol de expansión rápido (RSTP)”. El IEEE utiliza “STP” para referirse a la implementación original del árbol de expansión y “RSTP” para describir la versión del árbol de expansión especificada en IEEE-802.1D-2004. En este currículo, cuando se analiza el protocolo de árbol de expansión original, se utiliza la frase “árbol de expansión 802.1D original” para evitar confusiones. Dado que los dos protocolos comparten gran parte de la terminología y los métodos para evitar bucles en las rutas, el enfoque principal se hace en el estándar actual y las implementaciones patentadas por Cisco de STP y RSTP.

Nota: STP se basa en un algoritmo que Radia Perlman creó cuando trabajaba para Digital Equipment Corporation, y que se publicó en el ensayo realizado en 1985 denominado “An Algorithm for Distributed Computation of a Spanning Tree in an Extended LAN” (Algoritmo para la computación distribuida de un árbol de expansión en una LAN ampliada).