RSTP (Rapid Spanning Tree Protocol)
El protocolo RSTP (Rapid Spanning Tree Protocol) es la evolución del clásico STP (Spanning Tree Protocol), diseñado para prevenir bucles de capa 2 en redes conmutadas. RSTP mejora sustancialmente los tiempos de convergencia y es ampliamente utilizado en redes modernas para garantizar una topología redundante y estable sin sacrificar velocidad.

Características
RSTP está definido por el estándar IEEE 802.1w, publicado como una mejora directa del protocolo IEEE 802.1D (STP original). Aunque su función principal sigue siendo la prevención de bucles, RSTP introduce nuevos mecanismos para detectar cambios en la topología más rápidamente, logrando convergencias en cuestión de milisegundos a segundos, frente a los 30-50 segundos típicos del STP original.
Comparativa con STP:
Característica | STP (802.1D) | RSTP (802.1w) |
---|---|---|
Tiempo de convergencia | ~50 seg | 1 a 3 seg |
Tipo de puertos | 5 (Blocking, Listening, Learning, Forwarding, Disabled) | 3 (Discarding, Learning, Forwarding) |
Proceso de elección | Lento | Rápido y dinámico |
Compatibilidad | Amplia | Retrocompatible con STP |
Funcionamiento
RSTP mantiene la lógica central de un único puente raíz (Root Bridge), al cual todos los switches tratan de llegar mediante la ruta más corta. Sin embargo, redefine algunos roles y estados de los puertos:
A continuación se describe el proceso completo que ocurre cuando se forma o se adapta la topología:
Elección del Root Bridge
Cada switch envía BPDUs (Bridge Protocol Data Units) anunciando su Bridge ID, que incluye su prioridad y dirección MAC. El switch con la menor prioridad (y en caso de empate, con la MAC más baja) es elegido como el Root Bridge.
Nota: Por defecto, todos los switches tienen una prioridad de 32768, pero se recomienda establecerla manualmente en el switch que desees como Root Bridge.
La selección del puente raíz es un proceso crítico para asegurar una topología de red libre de bucles. Este proceso se basa en la comparación de los Bridge IDs (BIDs), que constan de dos componentes principales: la prioridad del puente y la dirección MAC del switch.
- ⋆
Prioridad del Puente (Bridge Priority): - ∘ Este es el primer factor que se evalúa. La prioridad del puente es un valor configurable que permite a los administradores de red influir en la elección del puente raíz.
- ∘ Los valores de prioridad son múltiplos de 4096, y el valor predeterminado es 32768.
- ∘ El switch con el valor de prioridad más bajo se convierte en el puente raíz.
- ∘ Si varios switches tienen la misma prioridad, se pasa al siguiente factor.
- ⋆
Dirección MAC del Switch (MAC Address): - ∘ Si hay un empate en la prioridad del puente, se utiliza la dirección MAC del switch como criterio de desempate.
- ∘ La dirección MAC es un identificador único de 48 bits asignado a cada interfaz de red.
- ∘ El switch con la dirección MAC más baja se convierte en el puente raíz.
En el proceso de selección del puente raíz , los switches intercambian BPDUs, que contienen sus identificadores de puente (BIDs). Primero, se compara la prioridad configurada en cada switch, seleccionándose como puente raíz aquel con la prioridad más baja. En caso de empate, es decir, cuando dos o más switches tienen la misma prioridad, se utiliza como criterio de desempate la dirección MAC: el switch con la dirección MAC más baja será elegido finalmente como puente raíz. Este mecanismo garantiza una selección determinista y evita conflictos en la topología de red.
En el proceso de determinación de la topología STP/RSTP, además de la selección del puente raíz, intervienen otros factores clave. El costo de la ruta (Path Cost) juega un papel fundamental al definir los puertos raíz y designados, aunque no influye en la elección inicial del puente raíz. Este valor se calcula en función de la velocidad del enlace, asignando costos más bajos a conexiones más rápidas para priorizarlas en la topología. Cuando se presentan empates en el costo de ruta, el protocolo recurre al ID del puerto como criterio de desempate, utilizando esta información para seleccionar definitivamente cuál puerto actuará como puerto raíz o designado. Estos mecanismos adicionales garantizan una configuración óptima y eficiente de la red, evitando bucles y asegurando la mejor ruta posible para el tráfico de datos.
La configuración de la prioridad del puente resulta fundamental en el diseño de redes con STP/RSTP, ya que permite a los administradores ejercer un control determinante sobre la selección del puente raíz. Al asignar manualmente prioridades más bajas a switches estratégicos (generalmente los más robustos o centrales), los profesionales de red pueden garantizar que estos dispositivos sean elegidos como raíz, optimizando así el flujo del tráfico y manteniendo una topología predecible.

Elección de puertos
Una vez elegido el Root Bridge, cada switch debe determinar cuál de sus puertos es el mejor camino hacia él. Se calculan los costes de camino (path cost), dependiendo de la velocidad del enlace:
Velocidad del enlace | Costo (802.1t estándar) |
---|---|
10 Mbps | 2,000,000 |
100 Mbps | 200,000 |
1 Gbps | 20,000 |
10 Gbps | 2,000 |
- 𖦹
Roles de los puertos: - ∘
Root Port (RP): Es el puerto con el menor coste acumulado hacia el Root Bridge. Cada switch (excepto el root) tiene uno. - ∘
Designated Port (DP): Es el puerto que ofrece la mejor ruta hacia un segmento de red. Puede haber varios por switch. - ∘
Alternate Port: Es un puerto que recibe BPDUs pero no es el mejor camino. Está listo para activarse si falla el Root Port. - ∘
Backup Port: Es una copia de un Designated Port dentro del mismo switch y segmento. Solo se usa en configuraciones muy específicas. - 𖦹
Estados de los puertos: - ∘
Discarding: El puerto bloquea el tráfico de datos, aunque puede seguir escuchando BPDUs. Es un estado seguro usado para evitar bucles (equivale a Blocking y Listening en STP). - ∘
Learning: Aprende direcciones MAC, pero aún no reenvía tráfico. - ∘
Forwarding: El puerto reenvía tráfico de datos y continúa aprendiendo direcciones MAC.
A diferencia de STP, que pasa por múltiples estados (Blocking → Listening → Learning → Forwarding), RSTP simplifica esto en solo tres estados funcionales:

Convergencia rápida
El protocolo RSTP (Rapid Spanning Tree Protocol) introduce un mecanismo de "propuesta/acuerdo" para lograr una convergencia más rápida en comparación con el protocolo STP (Spanning Tree Protocol) original. Este mecanismo permite a los switches negociar rápidamente los roles de los puertos y establecer una topología libre de bucles.
- ⋆
Inicio de la Convergencia: Detección del Puente Raíz: - ∘ Al encenderse los switches, cada uno asume inicialmente que es el puente raíz.
- ∘ Intercambian BPDUs para determinar cuál tiene la mejor ID de puente raíz.
- ∘ El switch con la ID de puente raíz más baja se convierte en el puente raíz.
Propuesta: - ∘ El puente raíz envía BPDUs de "propuesta" a sus puertos designados.
- ∘ Estos BPDUs indican que el puente raíz propone que los puertos receptores se conviertan en puertos raíz o puertos designados.
Acuerdo: - ∘ Los switches que reciben la "propuesta" evalúan si pueden aceptar la propuesta.
- ∘ Si aceptan, envían BPDUs de "acuerdo" de vuelta al puente raíz.
- ∘ Este proceso se repite en toda la red, con cada switch pasando la "propuesta" a sus vecinos y recibiendo "acuerdos".
Convergencia Rápida: - ∘ Este intercambio de "propuestas" y "acuerdos" permite que la red converja rápidamente, ya que los switches no tienen que esperar a que expiren los temporizadores como en STP.
- ⋆
Cambios en la Topología: Detección del Cambio: - ∘ Cuando ocurre un cambio en la topología (por ejemplo, falla un enlace), los switches detectan el cambio inmediatamente.
Propagación del Cambio: - ∘ El switch que detecta el cambio envía BPDUs de "propuesta" a sus vecinos.
- ∘ Estos BPDUs informan a los vecinos sobre el cambio en la topología.
Recálculo de la Topología: - ∘ Los switches que reciben la "propuesta" recalculan la topología y ajustan los roles de sus puertos.
- ∘ Envían BPDUs de "acuerdo" para confirmar los cambios.
- ∘ Los switches vacían las direcciones MAC aprendidas en todos sus puertos, excepto en el puerto donde recibieron la BPDU de cambio de topología. Esto asegura que la tabla de direcciones MAC se actualice rápidamente con la nueva topología.
Convergencia Acelerada: - ∘ El proceso de "propuesta/acuerdo" permite que la red se adapte rápidamente al cambio, minimizando el tiempo de inactividad.
El RSTP (Rapid Spanning Tree Protocol) puede lograr una convergencia en tan solo 1 o 2 segundos, e incluso en entornos óptimos alcanzar tiempos inferiores a los 500 milisegundos (0.5 segundos). Esto representa una mejora drástica frente al STP tradicional (Spanning Tree Protocol), que requiere entre 30 y 50 segundos para converger tras un cambio en la topología. La rápida recuperación del RSTP lo convierte en la solución ideal para redes modernas donde la alta disponibilidad y la mínima interrupción del servicio son críticas, especialmente en entornos con VoIP, videoconferencia o transmisión de datos en tiempo real.

La principal diferencia entre las BPDUs de STP y RSTP se manifiesta en tres aspectos clave. En primer lugar, en el campo de versión del encabezado, STP utiliza la versión 0 en el Protocol Identifier, mientras que RSTP emplea la versión 2, la cual es compartida también por MSTP. En segundo lugar, las flags o banderas presentan diferencias significativas. STP solo hace uso de 2 bits, los cuales corresponden a Topology Change (bit 7) y Topology Change Acknowledgment (bit 0). En contraste, RSTP utiliza los 8 bits disponibles en la BPDU para incluir funciones avanzadas. Dentro de estos, los bits 4 y 5 indican el rol del puerto, donde 00 representa un estado desconocido, 01 indica un puerto Alternate o Backup, 10 representa un Root Port, y 11 corresponde a un Designated Port. Además, el bit 6 se emplea para Proposal, permitiendo la sincronización rápida de los switches, mientras que los bits 3 y 2 indican si el puerto está en estado de aprendizaje (Learning) o de reenvío (Forwarding). El bit 1 es utilizado para el Agreement, lo que facilita la transición rápida de los puertos, y finalmente, los bits 7 y 0 siguen manteniendo la función de Topology Change y TC Acknowledgment, respectivamente.
El tercer aspecto clave es el manejo del tiempo de vida de los mensajes (Message Age). En STP, la convergencia de la red depende de temporizadores fijos, como el Forward Delay y el Max Age, lo que puede generar tiempos de respuesta más lentos ante cambios en la topología. Por otro lado, RSTP generalmente ignora estos temporizadores al utilizar un mecanismo de negociación basado en handshakes con los bits Proposal y Agreement, lo que permite alcanzar una convergencia mucho más rápida y eficiente en la red.

Optimización del rendimiento
Para optimizar el comportamiento de RSTP y evitar que enlaces innecesarios ralenticen el proceso de convergencia, se pueden implementar las siguientes buenas prácticas:
∘
Las interfaces que se conectan a hosts, impresoras, PCs o teléfonos IP no forman parte del camino redundante, por lo tanto, no deberían participar en RSTP. Para esto, se activa el modo PortFast, que pone el puerto en estado Forwarding inmediatamente:
Switch(config)# interface range f0/1 - 24
Switch(config-if-range)# spanning-tree portfast
∘
Esto debe hacerse solo si estás completamente seguro de que ese enlace nunca será parte de un bucle, ya que podrías comprometer la seguridad de la red.
∘
∘
El Loop Guard opera exclusivamente en puertos con rol Root o Alternate, protegiendo contra bucles cuando estos dejan de recibir BPDUs debido a fallas o configuraciones erróneas.

Configuración
En el análisis de la topología mostrada en la imagen, se observan varios elementos clave del protocolo spanning tree. El "Root Bridge" se identifica como el switch con la prioridad más baja, cuyos puertos son todos designados (DP). Los puertos raíz (RP), claramente marcados en la imagen, representan los caminos óptimos hacia el puente raíz desde cada switch. Los puertos designados (DP), también señalados, son los encargados de reenviar el tráfico en sus respectivos segmentos de red. Particularmente importante es el puerto alternativo (AP) en el "Switch 2", que permanece bloqueado para prevenir bucles. La imagen muestra específicamente una falla en el enlace entre el "Root Bridge" y el "Switch 2", situación que activará el mecanismo de recuperación haciendo que el puerto AP en "Switch 2" transite al estado de reenvío para restaurar la conectividad, demostrando así la resiliencia del protocolo ante fallos de enlace.

Los puertos etiquetados como "0" en cada switch están destinados a la conexión con hosts o dispositivos finales, mientras que los puertos "1" y "2" se utilizan para las interconexiones entre switches.
Cisco
❍ Switch Root
SWRoot (config)# vlan 50
SWRoot (config-vlan)# name IT
SWRoot (config-vlan)# exit
SWRoot (config)# interface e0/2
SWRoot (config-if)# switchport mode access
SWRoot (config-if)# switchport access vlan 50
SWRoot (config-if)# spannig-tree portfast
SWRoot(config-if)# spanning-tree bpduguard enable
SWRoot (config-if)# exit
SWRoot (config)# interface range e0/0 - 1
SWRoot (config-if)# switchport trunk encapsulation dot1q
SWRoot (config-if)# switchport mode trunk
SWRoot (config-if)# spanning-tree port-priority 16
SWRoot (config-if)# exit
SWRoot (config)# spanning-tree mode rapid-pvst
SWRoot (config)# spanning-tree vlan 50 root primary
❍ Switch 1
SW1 (config)# vlan 50
SW1 (config-vlan)# name IT
SW1 (config-vlan)# exit
SW1 (config)# interface e0/2
SW1 (config-if)# switchport mode access
SW1 (config-if)# switchport access vlan 50
SW1 (config-if)# spannig-tree portfast
SW1 (config-if)# spanning-tree bpduguard enable
SW1 (config-if)# exit
SW1 (config)# interface range e0/0 - 1
SW1 (config-if)# switchport trunk encapsulation dot1q
SW1 (config-if)# switchport mode trunk
SW1(config-if)# spanning-tree port-priority 32
SW1 (config-if)# exit
SW1 (config)# interface e0/1
SW1 (config-if)# spanning-tree loopguard enable ! Root port
SW1 (config-if)# exit
SW1 (config)# spanning-tree mode rapid-pvst
SW1 (config)# spanning-tree vlan 50 root secondary
❍ Switch 2
SW2 (config)# vlan 50
SW2 (config-vlan)# name IT
SW2 (config-vlan)# exit
SW2 (config)# interface e0/2
SW2 (config-if)# switchport mode access
SW2 (config-if)# switchport access vlan 50
SW2 (config-if)# spannig-tree portfast
SW2 (config-if)# spanning-tree bpduguard enable
SW2 (config-if)# exit
SW2 (config)# interface range e0/0 - 1
SW2 (config-if)# switchport trunk encapsulation dot1q
SW2 (config-if)# switchport mode trunk
SW2 (config-if)# spanning-tree loopguard enable ! Alternate port y Root port
SW2(config-if)# spanning-tree port-priority 48
SW2 (config-if)# exit
SW2 (config)# spanning-tree mode rapid-pvst
Huawei
❍ Switch Root
[SWRoot] sys
[SWRoot] vlan batch 50
[SWRoot] interface GigabitEthernet0/0/2
[SWRoot-GigabitEthernet0/0/2] port link-type access
[SWRoot-GigabitEthernet0/0/2] port default vlan 50
[SWRoot-GigabitEthernet0/0/2] stp edged-port enable
[SWRoot-GigabitEthernet0/0/2] stp bpdu-protection enable
[SWRoot-GigabitEthernet0/0/2] quit
[SWRoot] interface range GigabitEthernet0/0/0 to GigabitEthernet0/0/1
[SWRoot-if-range] port link-type trunk
[SWRoot-if-range] port trunk allow-pass vlan 50
[SWRoot-if-range] stp port priority 16
[SWRoot-if-range] quit
[SWRoot] stp mode rstp
[SWRoot] stp vlan 50 root primary
loopguard solo se aplica en puertos root y alternate.
❍ Switch 1
[SW1] sys
[SW1] vlan batch 50
[SW1] interface GigabitEthernet0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1-GigabitEthernet0/0/2] port default vlan 50
[SW1-GigabitEthernet0/0/2] stp edged-port enable
[SW1-GigabitEthernet0/0/2] stp bpdu-protection enable
[SW1-GigabitEthernet0/0/2] quit
[SW1] interface range GigabitEthernet0/0/0 to GigabitEthernet0/0/1
[SW1-if-range] port link-type trunk
[SW1-if-range] port trunk allow-pass vlan 50
[SW1-if-range] stp port priority 32
[SW1-if-range] quit
[SW1] interface GigabitEthernet0/0/1
[SW1-GigabitEthernet0/0/1] stp loop-protection enable ! Root port
[SW1-GigabitEthernet0/0/1] quit
[SW1] stp mode rstp
[SW1] stp vlan 50 root secondary
❍ Switch 2
[SW2] sys
[SW2] vlan batch 50
[SW2] interface GigabitEthernet0/0/2
[SW2-GigabitEthernet0/0/2] port link-type access
[SW2-GigabitEthernet0/0/2] port default vlan 50
[SW2-GigabitEthernet0/0/2] stp edged-port enable
[SW2-GigabitEthernet0/0/2] stp bpdu-protection enable
[SW2-GigabitEthernet0/0/2] quit
[SW2] interface range GigabitEthernet0/0/0 to GigabitEthernet0/0/1
[SW2-if-range] port link-type trunk
[SW2-if-range] port trunk allow-pass vlan 50
[SW2-if-range] stp loop-protection enable ! Alternate port y Root port
[SW2-if-range] stp port priority 48
[SW2-if-range] quit
[SW2] stp mode rstp
