TCN BPDU

Enviado por felipe.maldonado el Mar, 18/04/2017 - 17:04
TCN BPDU

Topology Change Notification BPDU

La comunicación de Spanning-Tree se basa en el envío de Bridge Protocol Data Units (BPDUs), entre todos los bridges interconectados.
Existen dos tipos de BPDU's:
 -Configuration BPDU
 -Topology Change Notification (TCN) BPDU

TCN BPDU es una trama que se utiliza para anunciar cambios en la topología de una red activa, por lo cual asumiremos que los Switches que no son Root pueden enviar TCN BPDUs.

Contenido de la trama de TCN BPDU

|  Protocol ID  |   Version   |    Message Type (Configuration o TCN BPDU)
     2 Bytes                1 Byte                                              1 Byte

¿Cuándo se envía un TCN BPDU?

Se envía cuando ocurre un cambio en la topología, entonces necesitamos definir que sería un cambio en la topología. Estos cambios ocurren cuando un puerto pasa a estado Forwarding, también cuando un puerto en Forwarding o Learning pasa a Blocking state; también puede ocurrir un cambio en la topología cuando no llega una BPDU producto del filtro de datos en un enlace. En resumen cuando un puerto activo está up y cambia a down (y viceversa) y cuando no lleguen BPDUs a los distintos Switches.

¿Cómo se envía un TCN BPDU?

Cuándo exista un cambio en la red, el Switch que detecta el cambio enviará un TCN BPDU a través de su Root Port. Hay que aclarar que un TCN BPDU no lleva datos sobre el cambio de la red, simplemente es un aviso de que la topología cambió; y por último aclarar que un Switch no enviará TCN BPDUs si el puerto tiene PortFast habilitado.

El Switch enviará la TCN BPDU en cada intervalo de hello time (2 segundos por defecto), hasta que reciba un ACK por parte de su Upstream Neighbor, el reenvío de TCN a través de los Root port seguirán hasta que lleguen al Root Bridge el cual cuando reciba el TCN BPDU enviará un ACK. Además el Root Bridge pondrá su Topology Change flag en su Configuration BPDU, lo cual llegará a todos los switches de la red, esto se hace para que los Switches acorten su tiempo máximo de su tabla de conmutación (CAM) desde 300 segundos a el forward delay value por defecto (15 segundos), con lo que el registro de las MAC address será mucho más rápido y así actualizará los puertos que están caídos.


Lo anterior puede generar una corrupción en la tabla, por ejemplo direcciones duplicadas, esto tendrá una duración máxima de 35 segundos (forward delay + max age por defecto de STP).

Tipos de cambio en la Topología

Existen tres tipos: los cambios directos, indirectos e insignificantes.

Cambios directos de Topología

Un cambio directo es aquel que se puede detectar en una interfaz de Switch. Por ejemplo, si un enlace troncal cae, los switches que estaban directamente conectados detectarán la falla, esto cambia la topología de conmutación por lo que es necesario enviar TCN BPDUs para notificar al Root Bridge.

En la figura 1-1 vemos una red que tiene una topología STP estable y convergente. La VLAN se reenvía por todos los enlaces troncales excepto gi1/0/2 del Switch C, el cual está en estado Blocking.

Esta red sufrió una falla de enlace entre Swtich A y Switch C.

Topología para explicar efecto en un cambio de topología directo
Figura 1-1 Efectos de un Cambio directo en la Topología

Describiremos los pasos a seguir en este ejemplo específico

1- Swtich C detecta el enlace caído de su puerto gi1/0/1;  Switch A detecta su enlace caído gi1/0/2

2- Switch C remueve su "mejor" BPDU que recibió del root por gi1/0/1, y como esa interfaz está caída la BPDU no será válida. 
Normalmente, el Switch C enviaría TCN a través de su Root port, para avisar al Root Bridge. En este caso este puerto está caído, por lo cual será imposible. Sin contar con la característica de STP UplinkFast, el Switch C no se dará cuenta que existe otro camino hacia el root.

Además, el Switch A sabe de la condición de su puerto gi1/0/2, e intentará enviar TCN BPDU al Root Bridge. Pero en este caso Switch A es el Root Bridge, por lo cual no es necesario enviar TCN BPDU.

3-  El Root Bridge (Switch A), envía una Configuration BPDU con el bit TCN puesto por el puerto gi1/0/1. Esto se recibe y retransmite por cada Switch, así todos conocerán el cambio en la topología.

4- Switches B y C reciben el mensaje TCN. Los Switches acortarán su tiempo máximo de su tabla de conmutación (CAM) a el forward delay time (15 segundos). En este punto ellos no saben como cambió la topología, solo que deben acortar su tiempo máximo de su tabla de conmutación.

5- Switch C espera a escuchar del Root Bridge. Recibe Configuration BPDU en gi1/0/2, el cual estaba en Blocking state. Esta BPDU se convierte en la mejor reciba desde el root entonces el puerto gi1/0/2 será el nuevo root port. 

Switch C puede depurar su puerto gi1/0/2 a través de Blocking, Listening, Learning y Forwarding.


Cambios indirectos de Topología

En la figura 1-2 vemos la misma red anterior pero esta vez la falla del enlace involucra indirectamente a los Switches A y C. El estado de los
enlaces está up, pero algo falló o hay un filtro de tráfico. Esto podría ser culpa de otro dispositivo como un Switch de un ISP, un firewall, etc.
Como resultado tenemos que ningún dato (incluso BPDUs) puede pasar entre los Switches.

Topología para explicar efecto en un cambio de topología Indirecto
Figura 1-2 Efectos de un Cambio Indirecto en la Topología

STP detecta y se recupera de fallas indirectas, gracias a sus mecanismos de tiempo. Esta es la secuencia de eventos:

1- Switches A y C tienen sus enlaces en up, pero el tráfico está siendo filtrado en algún lugar del enlace.

2- No se detecta ninguna falla de enlace, por lo cual no hay mensajes de TCN.

3- Switch C ya tiene registrado su mejor BPDU que recibió del root por gi1/0/1. Pero no se han recibido más BPDUs desde el root por ese puerto.
Después del tiempo de espera máximo no se ha actualizado la entrada de BDPU, y remueve esa entrada. Esto será hasta que reciba una BPDU desde el root.

4- La siguiente Configuration BPDU desde el root es escuchada en el puerto gi1/0/2 del Switch C. Esta BPDU será la nueva mejor entrada, y el puerto gi1/0/2 será el nuevo root port. Ahora el puerto puede ser depurado desde Blocking a través de Listening, Learning y Forwarding states.

Este tipo de cambio recae solamente en los timers de STP, por lo cual requiere tiempo para ser detectado y mitigado.

En este ejemplo el tiempo total en el que los usuarios de Switch C quedaron incomuinicados hasta que expirara el max age timer (20 segundos), más el tiempo en que recibiera la Configuration BPDU (2 segundos), más el tiempo que el puerto gi1/0/2 pasara del estado Listening y Learning (15 segundos cada uno). Entonces pasaron 52 segundos aproximadamente con los timers por defecto.

Cambios Insignificantes de Topología

La figura 1-3 muestra la misma topología anterior, pero esta tiene añadida un host conectado a la capa de acceso del Switch C. El puerto del usuario es gi1/0/33, para el Switch es simplemente otro enlace, si el enlace sube o baja (up or down), el Switch debe asumir que es un cambio en la toplogía y debe avisarlo al Root Bridge.

Topología para explicar efecto en un cambio de topología Insignificante
Figura 1-3 Efectos de un cambio insignificante en la topología

Obviamente asumimos que los puertos de usuario pueden subir o bajar a medida que los usuarios reinicien sus máquinas. Independientemente, los mensajes TCN son enviados por el Switch, como si un enlace troncal entre los enlaces hubiese cambiado.

Para ver el efecto de esto en una topología de STP y en la red, consideremos la siguiente secuencia de eventos:

1- El PC en el puerto gi1/0/33 se apaga. El switch detecta que el enlace está caído.

2- Switch C empieza a enviar TCN BPDUs hacia el Root, por su root port gi1/0/1

3- El root envía un TCN acknowledgment hacia el Switch C, luego envía Configuration BPDU con el bit de TCN puesto hacia todos sus Switches. Esto se hace para informar a todos los Switches acerca del cambio de topología en algún lugar de la red.

4- La bandera de TCN es recibida desde el root, y los Switches B y C acortan su tiempo máximo de la tabla de conmutación. Esto hace que las entradas inactivas sean removidas, dejando solo las estaciones que transmiten activamente.

En conclusión no existe cambio en la topología de STP, lo único que pasará con esto es que los Switches acortarán su tiempo máximo de sus tablas de conmutación y que la actualización de puertos inactivos sea más rápida, consumiendo mucho más recursos debido a que deben aprender las MAC de los hosts una y otra vez.