Introducción a Spanning Tree Protocol STP

 

STP es un protocolo que arranca en los switch de capa 2 y que nos ayudan a no tener bucles cerrados que produzcan loops en la red. Este protocolo debe ser entendido y comprendido por todos aquellos que quieren dar el examen CCNA R&S 200-125

¿Porque se requiere del protocolo de STP?

stp-protocol-cisco-ccna

En la figura de arriba podemos ver que SW! Y SW2 están conectados mediante dos cables que proporcionan redundancia, pero que a la vez provoca un bucle cerrado y que se puede describir de la siguiente manera:

  • Si el PC1 envía un ARP request porque está buscando la dirección MAC de PC2. Debemos recordar que un ARP request es una trama Broadcast (FF:FF:FF:FF)
  • SW1 reenviará la trama broadcast por todas sus interfaces, excepto por la interface por donde recibió la trama
  • SW2 recibirá ambas tramas broadcast
  • Entonces SW2 reenviará la trama por cada interfaz, excepto por donde la recibió la trama
  • Esto significa que la trama que se recibió en la interfaz Fa0/0 se reenviará en la interfaz Fa0/1.
  • La trama que se recibió en la interfaz Fa0/1 se reenviará en la interfaz Fa0/0.

Entonces lo que tenemos es un loops, ambos switches seguirán reenviando las tramas una y otra vez hasta que:

  • Se abre el loops desconectando uno de los cables entre los dos switches
  • Uno de los switch se bloqueará porque está sobrecargado de tráfico.

 

Las tramas Ethernet no tienen un valor TTL (Time to Live) por lo que darán vueltas por siempre. Además de las solicitudes ARP, hay muchas tramas que se emiten. Por ejemplo, siempre que el switch no conozca una dirección MAC de destino, se inundará de tramas.

 

Como STP resuelve los loops

STP nos ayuda a crear teologías libres de loops, bloqueando ciertas interfaces

stp-protocol-cisco-ccna-02

En la figura de arriba, tenemos tres switch que están unidos y que forma un loops. Las MAC Address fueron simplificadas

 

Como Spanning Tree está habilitado, todos los switches enviarán una trama especial llamada BPDU (Bridge Protocol Data Unit). En esta BPDU hay dos piezas de información que spanning-tree requiere:

  • MAC address
  • Priority

 

La dirección MAC y la prioridad juntas conforman el bridge ID. La BPDU se envía entre los switches como se muestra en la siguiente imagen:

stp-bpdu-cisco-ccna

STP usa el bridge ID para:

 

  • Lo primero que hace STP es elegir un root bridge, éste será el que tenga el mejor bridge ID
  • El switch con el bridge id más bajo es el mejor
  • La prioridad por defecto es 32768 y se puede cambiar en cualquier momento

En nuestro ejemplo el root bridge es el SW1 que tiene el más bajo bridge ID. Todos los SW tienen la misma prioridad por lo que la dirección MAC es el que define cual es el mejor bridge id. SW1 tiene la MAC más baja y por ende el mejor bridge id y será SW1 el root bridge.

Los puertos del root bridge son siempre “puertos designados” (circulo con la letra D) es decir siempre están en estado de forwarding o reenvío, como se muestra en la siguiente figura

stp-designated-port-cisco-ccna

 

El siguiente paso es encontrar en todos los switch que no son root bridge (NON-ROOT) el camino más corto al root bridge. El camino más corto al root bridge se le llama “root port” (circulo con la letra R), como se muestra en la siguiente figura:

 

stp-root-port-cisco-ccna

Tanto para el SW2 interfaz Fa0/0 como para el SW3 interfaz Fa0/1 son la ruta más corta para llegar al root bridge. La elección se hace mirando la velocidad de la interfaz, cada interfaz tiene un costo determinado y se usará para la elección del root port, ejemplos de costos:

stp-cost-port-cisco-ccna

En este punto, seguimos con un loops, por lo que debemos definir entonces que puerto debe ser bloqueado ente SW2 y SW3. Para esto miraremos de nuevo el bridge id de los SW y vemos que SW2 tiene mejor bridge id que SW3, por lo que el perdedor en este caso es SW3 y tendrá que bloquear su puerto, como se muestra en la siguiente figura:

stp-blocking-cisco-ccna

En este punto ya no tenemos un loop en la topología creada gracias al STP 802.1d en este caso.

Si quieres saber más de STP y realizar prácticas con Video clases, te invito al curso de CCNA R&S 200-125