STP (PVST+) — Configuración

Spanning Tree Protocol evita bucles de capa 2 bloqueando enlaces redundantes y dejando una topología libre de lazos. Esta nota cubre PVST+ (la versión por defecto en switches Cisco): elección de root bridge, ajuste de prioridades y costos, y verificación. Las protecciones (PortFast, BPDU Guard, Root Guard, Loop Guard) están en Portfast, BDPU Guard & Filter, Root Guard, Loop Guard - Configuración; la validación en STP (PVST+) - Verificación y el diagnóstico en STP (PVST+) - Troubleshooting. RSTP en RSTP - Configuración y MST en MST - Configuración.


Prerrequisitos

  • STP está habilitado por defecto en los switches Cisco; no hay que activarlo.
  • Definir en el diseño qué switch debe ser el root bridge de cada VLAN (normalmente el switch de distribución/core).
  • Estar en configuración global o de interfaz según el comando.

Conceptos previos (mínimos para configurar bien)

Elección del root bridge

  • El switch con el menor BID (Bridge ID) es elegido root bridge.
  • El BID se compone de: prioridad (por defecto 32768) + sys-id-ext (número de VLAN) + dirección MAC. Por eso en la VLAN 1 la prioridad aparece como 32769 (32768 + 1).
  • El Root ID y el BID viajan en los BPDUs. El BID identifica a un switch; el Root ID identifica al root bridge.

Elección del root port

  • Es la interface del switch con el camino de menor costo total hacia el root bridge. Los root ports quedan en estado Forwarding.
  • Desempates (en orden): menor costo total al root, luego menor BID del vecino, luego menor port ID del vecino.

Costos de interfaces

VelocidadCosto 802.1D 1998 (short)Costo 802.1D 2004 (long)
10 Mbps1002.000.000
100 Mbps19200.000
1 Gbps420.000
10 Gbps22.000
100 GbpsNo existe200
1 TbpsNo existe20

Para usar el método de costo largo (recomendado con enlaces de alta velocidad):

Switch(config)# spanning-tree pathcost method long

Estados de los puertos y timers

Estados: Disabled, Blocking, Listening, Learning, Forwarding.
Timers: Hello 2 seg, Max Age 20 seg, Forward Delay 15 seg (la convergencia clásica de STP tarda alrededor de 30-50 seg).


Versiones de Spanning-Tree (contexto)

VersiónInstanciasConvergenciaNotas
STP (IEEE 802.1D)1 solaLentaBajo uso de memoria/CPU
PVST+1 por cada VLANLentaAlto uso de memoria/CPU, propiedad de Cisco
RSTP (IEEE 802.1w)1 solaRápidaUso medio
Rapid PVST+1 por cada VLANRápidaPropiedad de Cisco, alto uso
MST (IEEE 802.1s)1 (RSTP) por conjunto de VLANsRápidaUso medio-alto; equivalente Cisco llamado MST

Comandos de configuración

Nota (añadido pro): el modo de STP se fija con spanning-tree mode {pvst | rapid-pvst | mst}. En Cisco el modo por defecto es PVST+.

Cambiar el root bridge (prioridad)

Switch(config)# spanning-tree vlan número-vlan priority valor
Switch(config)# spanning-tree vlan número-vlan root primary
Switch(config)# spanning-tree vlan número-vlan root secondary
  • priority valor: la prioridad debe ser múltiplo de 4096 (0, 4096, 8192, … 61440).
  • root primary: el switch se pone como root de esa VLAN (ajusta su prioridad, típicamente a 24576).
  • root secondary: queda como root de respaldo (prioridad típica 28672).

Cambiar parámetros de interfaces

Switch(config-if)# spanning-tree vlan número-vlan port-priority valor-prioridad
Switch(config-if)# spanning-tree vlan número-vlan cost valor-costo
  • port-priority: influye en el desempate de root/designated port (menor gana; por defecto 128, múltiplos de 16).
  • cost: fuerza el costo de la interface para influir en la elección del camino.

Dos ejemplos completos de configuración

Ejemplo 1 — Root bridge primario y secundario por VLAN

Diseño: SW1 debe ser el root de la VLAN 10 y respaldo de la VLAN 20. SW2 al revés (root de la 20, respaldo de la 10). Esto reparte la carga entre los dos switches.

SW1:

SW1# configure terminal
SW1(config)# spanning-tree vlan 10 root primary
SW1(config)# spanning-tree vlan 20 root secondary
SW1(config)# end
SW1# copy running-config startup-config

SW2:

SW2# configure terminal
SW2(config)# spanning-tree vlan 20 root primary
SW2(config)# spanning-tree vlan 10 root secondary
SW2(config)# end
SW2# write memory

Ejemplo 2 — Prioridad manual y ajuste de costo/port-priority

Diseño: en SW1, fijar manualmente la prioridad de la VLAN 1 a 24576 para que sea root, y forzar el costo y la port-priority en una interface para dirigir el camino.

SW1# configure terminal

! Método de costo largo (mejor con enlaces rápidos)
SW1(config)# spanning-tree pathcost method long

! Prioridad manual (múltiplo de 4096)
SW1(config)# spanning-tree vlan 1 priority 24576

! Ajustar una interface concreta
SW1(config)# interface fastEthernet 0/1
SW1(config-if)# spanning-tree vlan 1 cost 100
SW1(config-if)# spanning-tree vlan 1 port-priority 64
SW1(config-if)# end
SW1# write memory

Verificación rápida (comprobar que quedó bien)

La verificación detallada está en STP (PVST+) - Verificación.

! Estado general de STP por VLAN
SW1# show spanning-tree

! STP de una VLAN concreta (¿quién es root?)
SW1# show spanning-tree vlan 10

! Puertos bloqueados por STP
SW1# show spanning-tree blocked ports

Qué deberías ver:

  • En show spanning-tree vlan 10, si SW1 es root, aparece This bridge is the root.
  • Los root ports y designated ports en estado FWD (Forwarding), y los enlaces redundantes en BLK (Blocking).

Sobre lo añadido: spanning-tree mode, los múltiplos de prioridad (4096) y port-priority (16), y las notas de timers/convergencia son complementos profesionales; los comandos de tus diapositivas (spanning-tree vlan ... priority/root primary/root secondary/port-priority/cost, spanning-tree pathcost method long, y los show spanning-tree ...) están todos incluidos. Si quieres que quite algo, dime.