STP: ¿Cómo Funciona?

¿Qué Hace y Cómo Funciona Spanning Tree?

STP/RSTP previene bucles cambiando el estado de los puertos entre el estado de reenvío (forwarding state) o estado bloqueado (blocking state).

Cuando la insterfaz esta en estado de reenvío actúa normalmente, enviando y recibiendo tramas.

Cuando la interfaz esta en estado bloqueado no procesa ninguna trama, excepto los mensajes STP/RSTP (y algunos otros mensajes de encabezados). Las interfaces bloqueadas no reenvían tramas de usuarios, no aprenden direcciones MAC de las tramas recibidas y no las procesa.

STP/RSTP bloquea puertos para evitar loops

La siguiente figura nos muestra cómo funciona STP y RSTP para resolver el problema, cambiando el estado de un puerto del SW3 a bloqueado.

Lo que hace STP/RSTP: Bloqueo de puertos para evitar Loops
Lo que hace STP/RSTP: Bloqueo de puertos para evitar Loops

Ahora cuando envía una trama de broadcast, la trama no queda en bucle. Como se puede ver en los pasos del dibujo:

Paso 1. Bob envía la trama a SW3.

Paso 2. SW3 reenvía la trama sólo a SW1, pero no sale desde Gi0/2 a SW2, porque la interfaz Gi0/2 de SW3 esta en estado bloqueado.

Paso 3. SW1 envía la trama hacia Fa0/11 y Gi0/1.

Paso 4. SW2 envía la trama hacia Fa0/12 y Gi0/1.

Paso 5. SW3 físicamente recibe la trama, pero ignora la trama recibida desde SW2 porque la interfaz Gi0/2 del SW3 esta en estado bloqueado.

Si alguno de los enlaces activos falla, STP/RSTP converge para que SW3 reenvíe las tramas a través de su interfaz Gi0/2 en su lugar desbloqueando la misma.

Nota: El término converger se refiere al proceso en el cuál los switches colectivamente realizan algún cambio en la topología de la red y determinan qué necesitan cambiar, qué puertos bloquear y por que puertos reenviar.

¿Cómo Trabaja Spanning Tree Protocol?

La estructura en árbol de las interfaces de reenvío crean un único camino, tal como en el caso real de un árbol, crece el árbol desde la base hasta cada hoja.

Usando el algoritmo STA (spanning-tree algorithm), elige qué interfaces serán de reenvío (forwarding), las no elegidas serán bloqueadas (blocking).

STP usa tres criterios para decidir qué interfaces estarán en estado de reenvío:

  • STP/RSTP elige un switch como root o raíz (switch raíz). STP pone todas las interfaces que están funcionando en el switch raíz en estado de reenvío.
  • Cada switch que no es un switch raíz, considera el costo administrativo entre su puerto y el switch raíz. El costo se llama, el costo raíz de ese switch. STP/RSTP pone su puerto que es parte de la ruta de menor costo raíz, llamado puerto raíz (en inglés, Root Port o RP) en estado de reenvío.
  • Muchos switches pueden conectarse al mismo segmento Ethernet, pero dado que un enlace conecta dos dispositivos, un enlace sólo podrá tener un máximo de dos switches. Con dos switches en un enlace, el switch con el menor costo raíz, comparándose con los otros switches conectados al mismo enlace, es puesto en estado de reenvío. Éste switch, es el switch designado, y las interfaces de ese switch, conectadas a ese segmento, con llamado puerto designado (en inglés, Designated Port o DP).

Todas las demás interfaces son puestas en estado bloqueado. La siguiente tabla resume las razones por las que STP/RSTP pone un puerto en estado reenvío o bloqueado:

STP/RSTP: Razones para Reenviar o Bloquear Puertos

Caracterización del PuertoEstado STPDescripción
Todos los puertos del switch raízForwardingEl switch raíz es siempre el switch designado en todos los segmentos conectados.
Cada puerto raíz del switch no raízForwardingEl puerto a través del cual el switch tiene el menor costo para llegar al switch raíz (menor costo raíz).
El puerto designado en cada LANForwardingEl switch que reenvía el Hello al segmento, con el menor costo raíz, es el switch designado para ese segmento.
Todos los demás puertos en funcionamientoBlockingEl puerto no esta siendo usado para reenviar tramas de usuarios, ninguna trama es recibida en esas interfaces, ni se consideran tramas recibidas para el reenvío en esa interfaz.

Nota: STP/RSTP sólo considera interfaces en funcionamiento (aquellas en estado conectado). Interfaces en estado de falla (por ejemplo, interfaces sin cable instalado) o administrativamente down (administrativamente dados de baja) son puesta en estado deshabilitado por STP/RSTP. Por tanto, en esta sección se considera a un puerto en funcionamiento a las interfaces que pueden reenviar tramas si STP/RSTP pone la interfaz en estado reenvío.

Nota: STP y RSTP difieren un poco en el uso de los nombres de algunos estados como blocking y disabled, con RSTP usando el término de estado discarding. Sin embargo, esas pequeñas diferencias no cambian la discusión en esta primera sección de este capítulo. La siguiente sección llamada “Comparación STP VS RSTP” discute esas diferencias.

El STP Bridge y los Campos del Mensaje Hello BPDU

El algoritmo STA intercambia mensajes entre switches:

bridge ID (BID)

El STP/RSTP bridge ID (BID) es un valor único de 8 bytes para cada switch. El bridge ID consiste en un campo prioritario de 2 bytes y un system ID de 6 bytes.

system ID

Basado en la dirección MAC de cada switch asegurándose que el número es único.

Mensaje bridge protocol data units (BPDU)

También llamado BPDU de configuración, usado por los switches para intercambiar información entre ellos.

Hello BPDU

El mensaje BPDU más común es el mensaje Hello BPDU, que lista varios detalles, incluyendo el BID.

La siguiente tabla describe algunas de las informaciones mas importantes del menaje Hello BPDU:

CampoDescripción
Bridge ID raízEl bridge ID del switch que envía el Hello, quien actualmente cree que es el switch raíz
Bridge ID del que envíaEl bridge ID del switch que enviá este Hello BPDU
Costo raíz del que envíaEl costo STP/RSTP entre éste switch y el que es actualmente raíz
Valores de tiempo en el switch raízIncluye el temporizador del Hello, el temporizador MaxAge (tiempo máximo de vida), y temporizador de delay (retraso) de envío

Eligiendo el Switch Raíz (Switch Root)

Los switches eligen el switch raíz basándose en las BIDs en los BPDUs. El switch raíz es el que tiene el valor numérico del BID más bajo. Ya que de las dos partes de los valores de la BID, el primero es el valor que define la prioridad, osea que, a menor numero en el valor de prioridad, entonces será el switch raíz. Un ejemplo seria, una prioridad 4096 contra 8192, en este caso el switch raíz sera el que tiene prioridad 4096.

Si hubiera un empate porque las prioridades son iguales, entonces desempata con el segundo valor del BID, siendo una valor basado en la MAC, que como ya sabemos la dirección MAC es única e irrepetible. Por ejemplo, si un switch usa la dirección MAC 0200.0000.0000 y otro usa la 0811.1111.1111, el primer switch (MAC 0200.0000.0000) será el switch raíz.

El proceso de STP/RSTP para eligir el switch raíz comienza con todos los switches reclamando ser el switch raíz, enviando mensajes BPDUs del tipo Hello junto a su BID.

STP/RSTP: Proceso inicial y cuando SW1 gana como Switch Root o Switch Raíz
STP/RSTP: Proceso inicial y cuando SW1 gana como Switch Root o Switch Raíz

En Resumen, Dos Criterios para Elegir el Switch Raíz

  • La prioridad más baja
  • Si hay un empate, la dirección MAC más baja

Eligiendo Cada Puerto Raíz del Switch

El segundo proceso de STP/RSTP sucede cuando casa switch que no es raíz elige uno y sólo uno de sus puertos como raíz (Root Port o RP). El puerto raíz es el que tiene el menor costo para alcanzar al switch raíz (menor costo raíz).

Como ejemplo podemos ver en la siguiente figura que SW3 tiene dos posibles caminos físicos hasta el switch raíz: el costo es la suma de los costos de todos los caminos de los puertos del switch.

Para este ejemplo podemos ver que el costo del camino desde el SW3, interfaz G0/1 es de 5 y el otro camino tiene un costo de 8. SW3 usa el puerto G0/1 como puerto raíz porque es el camino menos costoso para llegar al switch raíz.

Cómo STP/RSTP calcula el costo desde la perspectiva de SW3 hacia el switch raíz
Cómo STP/RSTP calcula el costo desde SW3 hacia el SW1 que es el switch raíz (root).

El switch raíz envía su costo raíz = 0.

Eligiendo el Puerto Designado (Designted Port o DP)

El paso final de STP/RSTP es elegir el puerto designado (DP) dentro de un segmento de red. El DP es el puerto del switch que notifica en el mensaje Hello el menor costo en ese segmento LAN.

Por ejemplo, en la imagen anterior vemos que el SW2 reporta un costo 4 y SW3 un costo 5. Dado que SW2 reporta el menor costo, Gi0/2 es el puerto designado.

Tabla: Resumen del Estado de los Puertos

Interfaz del SwitchEstadoRazón por la cual la Interfaz esta en Estado de Reenvío (Forwarding)
SW1, Gi0/1ForwardingLa interfaz se encuentra en el switch raíz, por tanto éste sera el DP para este enlace.
SW1, Gi0/2ForwardingLa interfaz se encuentra en el switch raíz, por tanto éste sera el DP para este enlace.
SW2, Gi0/2ForwardingEl puerto raíz de SW2.
SW2, Gi0/1ForwardingEl puerto designado en el segmento LAN de SW3.
SW3, Gi0/1ForwardingEl puerto raíz de SW3.
SW3, Gi0/2BlockingNo es el puerto raíz y no es el puerto designado.

Configurando STP para Influenciar en la Topología

Las configuraciones del BID y los costos de los puertos para los switches se crea por defecto en cada switch, interfaz y VLAN.

Si queremos influir en esta decisión automática podemos hacerlo con las velocidades de las interfaces, ya que ésto valores por defecto se crean a partir de la velocidad según del estándar Ethernet.

Costos de Puertos por Defecto Según la IEEE

Velocidad EthernetCosto IEEE 802.1D: 1998 (y antes) Costo IEEE 802.1Q: 2004 (y después)
10 Mbps1002,000,000
100 Mbps19 200,000
1 Gbps4 20,000
10 Gbps2 2000
100 GbpsN/A 200
1 TbpsN/A 20

Deja un comentario