El Spanning Tree Protocol evita las tormentas de broadcast o de tra­n­s­mi­sión y las in­te­rru­p­cio­nes de la red. Sin embargo, la re­es­tru­c­tu­ra­ción del árbol de expansión del mismo nombre genera una pro­lo­n­ga­da inac­ti­vi­dad que hace este sistema vu­l­ne­ra­ble 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 du­pli­ca­das. El STP fue inventado por el ingeniero de redes y de­sa­rro­lla­dor de software es­ta­dou­ni­de­n­se Radia Perlman y definido como norma 802.1D por el Institute of Ele­c­tri­cal and Ele­c­tro­ni­cs Engineers (IEEE) en 1990. Al comprobar la red buscando rutas du­pli­ca­das y des­ac­ti­var­las, el Spanning Tree Protocol impide que se creen dos o más tramas paralelas que, de lo contrario, pro­vo­ca­rían bucles. El pro­ce­di­mie­n­to forma un árbol con la red física sin co­ne­xio­nes múltiples entre el origen y el destino.

¿Por qué es im­po­r­ta­n­te el Spanning Tree Protocol?

El problema que aborda el Spanning Tree Protocol se produce cuando hay varias rutas de datos co­n­cu­rre­n­tes entre dos co­n­mu­ta­do­res de red. Cuando los paquetes de datos pueden enrutarse a través de múltiples tramas, todo el sistema podría co­m­po­r­tar­se de manera in­co­rre­c­ta. Una posible co­n­se­cue­n­cia derivada de dos o más rutas si­mu­l­tá­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 mu­l­ti­di­fu­sión de una red se transmite y acumula si­mu­l­tá­nea­me­n­te, lo que puede provocar un efecto de bola de nieve y, en el peor de los casos, paralizar todas las co­mu­ni­ca­cio­nes. Con la ayuda de un Spanning Tree Protocol, esto se evita y la red permanece intacta.

La te­c­no­lo­gía de árboles de STP

Para evitar la du­pli­ca­ció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 re­or­ga­ni­za el árbol de expansión lo más rá­pi­da­me­n­te posible y se abre una nueva ruta de conexión. Esto reduce los retrasos y la conexión entre los distintos co­n­mu­ta­do­res permanece intacta.

¿Cómo funciona el Spanning Tree Protocol?

Con el Spanning Tree Protocol, la co­mu­ni­ca­ción entre dos co­n­mu­ta­do­res o puentes de una red se realiza mediante Bridge Protocol Data Units (BPDU). Estas unidades de datos se in­te­r­ca­m­bian a in­te­r­va­los cortos y se envían como tramas mu­l­ti­di­fu­sión a una dirección MAC 01-80-C2-00-00-10. Cada dos segundos, se realiza una tra­n­s­mi­sió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 di­s­po­ni­bles, sino que también determina la conexión más rápida. Aquí son decisivas la velocidad de tra­n­s­mi­sión de datos y las di­s­ta­n­cias entre los dos puntos. Una vez de­te­r­mi­na­da la mejor ruta, los puertos restantes se des­ac­ti­van hasta nuevo aviso.

Cuando no aparece una unidad de datos del protocolo de puente, el co­n­mu­ta­dor de destino lo in­te­r­pre­ta como un fallo del enlace e inicia una re­orie­n­ta­ción de la topología del árbol. En el caso de co­n­fi­gu­ra­cio­nes complejas, el recálculo puede tardar incluso más de 30 segundos. Una vez re­orie­n­ta­do el árbol de expansión, la tra­n­s­mi­sión puede rea­li­zar­se a través de una conexión de recambio pre­via­me­n­te des­ac­ti­va­da. Esto garantiza la tra­n­s­mi­sión de datos más rápida posible aunque se produzca un fallo.

El Rapid Spanning Tree Protocol

De­s­gra­cia­da­me­n­te, el recálculo y los tiempos de inac­ti­vi­dad más largos abren la red a posibles ataques. Si una trama in­co­rre­c­ta no es bloqueada por el sistema, la re­or­ga­ni­za­ción des­en­ca­de­na­da podría inu­ti­li­zar la red durante 30 segundos o más. Por este motivo, en 2003 se de­sa­rro­lló el Rapid Spanning Tree Protocol (IEEE 802.1w). Es co­m­pa­ti­ble con versiones an­te­rio­res y garantiza que se mantenga la es­tru­c­tu­ra en curso de la red hasta que se haya su­s­ti­tui­do el enlace afectado. Solo entonces se re­es­tru­c­tu­ra 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 in­fo­r­ma­ción sobre la topología del árbol. Los distintos estados son los si­guie­n­tes:

  • Fo­r­wa­r­di­ng: los puertos listados como fo­r­wa­r­di­ng pueden reenviar tramas, aprender di­re­c­cio­nes y recibir, procesar y tra­n­s­mi­tir unidades de datos de protocolo de puente.
  • Blocking: los puertos co­n­fi­gu­ra­dos como blocking descartan tramas y no aprenden di­re­c­cio­nes, pero reciben y procesan unidades de datos de protocolo de puente.
  • Listening: los puertos de escucha o listening descartan tramas, no aprenden di­re­c­cio­nes, pero reciben, procesan y tra­n­s­mi­ten unidades de datos de protocolo de puente.
  • Learning: los puertos de apre­n­di­za­je o learning descartan tramas pero aprenden di­re­c­cio­nes y reciben, procesan y tra­n­s­mi­ten unidades de datos de protocolo de puente.
  • Disabled: los puertos marcados como des­ac­ti­va­dos o disabled descartan tramas, no aprenden di­re­c­cio­nes y no pueden recibir ni procesar unidades de datos de protocolo de puente.

Si el Spanning Tree Protocol está activado, cada puerto pasa se­cue­n­cia­l­me­n­te por los estados de blocking, listening, learning y fo­r­wa­r­di­ng.

El Root Bridge o puente raíz en el Spanning Tree Protocol

El primer paso del Spanning Tree Protocol es se­le­c­cio­nar un puente raíz que actúe como punto de partida del árbol de expansión. A co­n­ti­nua­ción, el algoritmo amplía las rutas in­di­vi­dua­les activando o des­ac­ti­va­n­do puertos. La co­n­fi­gu­ra­ción solo puede mo­di­fi­car­se y los te­m­po­ri­za­do­res re­aju­s­tar­se a través del puente raíz.

  • Hello Timer: el te­m­po­ri­za­dor define el periodo de tiempo entre dos unidades de datos de protocolo de puente, no­r­ma­l­me­n­te dos segundos.
  • Forward Delay: el segundo te­m­po­ri­za­dor determina el tiempo en los estados de listening y learning, que es de 30 segundos.
  • Maximum Age: el tercer te­m­po­ri­za­dor se llama Maximum Age y determina durante cuánto tiempo mantiene un puerto la in­fo­r­ma­ción de co­n­fi­gu­ra­ción. El valor por defecto es de 20 segundos.

Ventajas e in­co­n­ve­nie­n­tes del Spanning Tree Protocol

La principal ventaja del Spanning Tree Protocol es que evita la co­n­ge­s­tión o las in­te­r­fe­re­n­cias dentro de una red ya que se excluyen los bucles y se evitan las rutas paralelas. Otra mejora evidente para la red es que ide­n­ti­fi­ca la conexión más corta. El principal in­co­n­ve­nie­n­te del Spanning Tree Protocol es el largo tiempo de maniobra, que juega a favor de los posibles atacantes. Sin embargo, la in­tro­du­c­ción del Rapid Spanning Tree Protocol y del Multiple Spanning Tree Protocol, en los que se pueden crear varios árboles de expansión in­de­pe­n­die­n­tes dentro de una misma LAN, minimiza estos tiempos de inac­ti­vi­dad pro­te­gie­n­do así la red de posibles ataques.

Consejo

Infórmate sobre los tipos de redes y sobre los es­tá­n­da­res de pro­to­co­los en nuestra Digital Guide:

Ir al menú principal