CCNP SWITCH 7: Spanning Tree Protocol tradicional

( redes / certificaciones / ccnp_route-switch / switch )

Bucles

Un switch Ethernet transparente debe funcionar de la siguiente manera:

Comunicación Spannign-Tree: Bridge Protocol Data Units

Los switches envían mensajes de datos mediante bridge protocol data units (BPDU) por lo puertos usando la MAC origen del propio puerto y como destino a una dirección multicast (de STP) 01-80-c2-00-00-00. Existen 2 tipos de BPDU:

Eligiendo un Root Bridge

Para que la topología esté libre de bucles se debe tomar un punto de referencia que se llama root bridge (el termino bridge "puente" se usa ya que esta tecnología se desarrollo para puentes pero se puede pensar como un switch).

Para elegir al root bridge entre todos los switches se usa el bridge ID que todos los switches tienen, es único y consiste en un valor de 8 bytes dividido en dos partes:

Cuando un switch se inicia no conoce su entorno por lo que asume que él es el root bridge. Cada switch empieza a enviar BPDUs con el root bridge ID igual que su bridge ID lo mismo que el sender bridge id que sirve para indicar quien es el que envía el BPDU. Una vez que se ha elegido el root bridge la BPDUs de configuración son enviadas solo por el root bridge y el resto de switches solo las reenvían añadiendo su bridge ID al BPDU.

Los BPDUs recibidos se analizan para ver si el root bridge que se anuncia es mejor (es menor) que el que tiene el switch, por lo que los nuevos BPDUs que envía anuncia este nuevo root bridge manteniendo el sender bridge ID él mismo.

Cuando el proceso termina todos los switches implicados están de acuerdo en cual es el root bridge (solo uno). Si un nuevo switch se conecta todo el proceso se vuelve a repetir hasta que se decida cual es el nuevo root bridge. El proceso de elección del switch root bridge se repite cada 2 segundos (hello time) y los empieza el root bridge actual.

Eligiendo un Root Ports

Una vez que se ha elegido el root bridge el resto de switches deben elegir su root port (solo debe haber uno por switch) que es el puerto con menor coste hacia el root bridge (en caso de empate de mas de un puerto será el puerto con menor path cost y el puerto con menor ID. El coste es un valor acumulativo de todos los enlaces hasta llegar al root bridge. Cada enlace tiene un coste que se llama path cost y la suma de todos los costes de todos los enlaces hasta llegar al root bridge se llama root path cost y es el que se envía en el BPDU.

Link Bandwidth STP Cost
4 Mbps 250
10 Mbps 100
16 Mbps 62
45 Mbps 39
100 Mbps 19
155 Mbps 14
622 Mbps 6
1 Gbps 4
10 Gbps 2

El coste de root path cost se determina de la siguiente manera:

  1. El root bridge envía un BPDU con el root path cost a cero ya que todos sus puerto están directamente conectados.
  2. Cuando el siguiente switch recibe esta BPDU, suma al root path cost el coste del puerto por donde ha recibido la BPDU (esto se realiza nada más recibir la BPDU).
  3. Este switch vecino envía la BPDU con el nuevo valor del root path cost.
  4. Y el proceso se repite según se vaya recibiendo la BPDU a los switches según vayan estando más alejados del root bridge.
  5. Es importante remarcar que el root path cost se incrementa cuando el switch recibe la BPDU y que si calculamos el root path cost manualmente en un esquema tenerlo presente de sumar el coste cuando entra en el switch nunca cuando sale.

Cada switch almacena el mejor root path cost que ha recibido, por lo que si recibe uno mejor del que tiene almacenado guarda el nuevo y por tanto actualiza que su nuevo root port es el puerto por donde ha recibido el menor root path cost.

Eligiendo los Designated Ports

Una vez que se tiene el root bridge y el root port del resto de switches, estos deben elegir los designated ports (uno por cada segmento).

Si un un switch recibe una BPDU con menor root path cost asume que el puerto del switch vecino es el designated port, por el contrario si la BPDU que recibe tiene un mayor root path cost asume que su puerto (por donde recibe la BPDU) es el designated port.

Puede ocurrir que un switch reciba por varios puerto el mismo root cost path con lo cual hay un "empate" que hay que romper para ello STP tiene 4 condiciones para romper este empate:

  1. El root bridge ID más bajo.
  2. El root path cost más bajo hacia el root bridge.
  3. El bridge ID más bajo del emisor.
  4. El port ID más bajo del emisor.

El papel que desempeñan los puertos de STP

Los puertos pueden desempeñar un papel según el tipo que sean:

Estados de STP

Cuando el STP está activo un puerto empieza en estado desactivado (Disabled) y pasa por ciertos estados hasta alcanzar el estado activo (Forwarding). Los estados son:

Para saber el estado de un puerto podemos usar el comando:

Switch#show spanning-tree interface type mod/port

O para encontrar problema el comando debug:

debug spanning-tree switch state

Temporizadores (timers) de STP

STP usa tres temporizadores (timers) para asegurarse que la red converge correctamente, estos son los siguientes:

NOTA: los valores por defecto de los temporizadores están basados en que se asume que el root bridge está en el centro y de él cuelgan 6 switches.

Cambios de topología

Para anunciar un cambio en la topología actual de la red, los switches envían una BPDU TCN. Un cambio de topología ocurre cuando un switch pasa un puerto al estado Forwarding o cambia un puerto de los estados Forwarding o Learning al estado Blocking (o lo que es lo mismo un puerto cambia a UP o DOWN. El switch envía una BPDU TCN por su root port para que le llegue al root bridge. La BPDU TCN no lleva información sobre el cambio en sí solo que se ha producido un cambio. El switch no envía la BPDU TCN si el puerto ha sido configurado con el parámetro PortFast.

El switch continua enviando BPDUs TCN cada intervalo Hello Time. Cuando el root bridge recibe el BPDU TCN envía la BPDU de configuración con el flag de TCN activo, lo cual hace que todos los switches acorten sus tiempos de memorización de MACs (que por defecto es 300 segundos) al tiempo de Forward Delay (que es por defecto 15 segundos).

Tipos de STP

Modificado el 3 Enero, 2015
   

Compartiendo conocimiento desde 1995 - I.M.D. I.M.D.