Spanning Tree Protocol — Parte 2: Rapid PVST+, PortFast e BPDU Guard
O que é
O Spanning Tree Protocol clássico (802.1D) foi projetado para eliminar loops em redes comutadas, mas a sua velocidade de convergência é um problema sério: um switch pode levar até 50 segundos para começar a encaminhar tráfego após uma falha de topologia. O Rapid Spanning Tree Protocol (RSTP — 802.1w), implementado pela Cisco como Rapid PVST+, resolve exatamente isso. Em vez de cinco estados de porta e longos timers, o RSTP trabalha com três estados e um mecanismo de negociação ativo entre switches, reduzindo a convergência para menos de 1 segundo na maioria dos cenários.
A Cisco implementa RSTP de forma per-VLAN no Rapid PVST+, que é o modo padrão em switches modernos. Cada VLAN executa sua própria instância de spanning tree, o que também permite load balancing ao designar root bridges diferentes por VLAN.
Como funciona
Estados de porta: Classic STP vs RSTP
O Classic STP define cinco estados:
| Estado | Encaminha tráfego? | Aprende MACs? | Recebe BPDUs? |
|---|---|---|---|
| Blocking | Não | Não | Sim |
| Listening | Não | Não | Sim |
| Learning | Não | Sim | Sim |
| Forwarding | Sim | Sim | Sim |
| Disabled | — | — | — |
O RSTP simplifica para três estados:
| Estado RSTP | Equivalente 802.1D |
|---|---|
| Discarding | Blocking + Listening |
| Learning | Learning |
| Forwarding | Forwarding |
O estado Discarding unifica blocking e listening em um único estado inativo. A grande diferença está na convergência ativa: em vez de aguardar passivamente o escoamento dos timers (max age 20 s + forward delay 2 × 15 s = 50 s no pior caso), o RSTP usa um mecanismo de proposta-e-acordo (proposal/agreement) entre switches vizinhos para negociar a transição para forwarding de forma quase imediata.
Port roles no RSTP
O RSTP mantém os papéis do 802.1D e adiciona dois novos:
- Root port — melhor caminho até o root bridge; um por switch (exceto no root)
- Designated port — melhor porta em cada segmento; encaminha tráfego
- Alternate port — backup do root port; fica em discarding, pronto para assumir sem aguardar timers
- Backup port — backup de designated port no mesmo segmento; menos comum
O alternate port é a chave da convergência rápida. Quando o root port falha, o alternate port assume imediatamente o papel de root port e vai para forwarding — sem passar por nenhum estado transitório.
Timers no Classic STP (referência)
- Hello timer: 2 segundos — frequência de envio de BPDUs pelo root bridge
- Forward delay: 15 segundos — duração de cada estado transitório (listening e learning)
- Max age: 20 segundos — tempo que um switch aguarda BPDUs antes de reavaliar a topologia
No RSTP, esses timers existem como fallback para compatibilidade com 802.1D, mas raramente são acionados.
Na prática
PortFast
Uma porta conectada a um PC ou servidor não pode formar um loop de camada 2. Mesmo assim, sem configuração, a porta passa por 30 segundos de listening + learning antes de encaminhar tráfego. O PortFast elimina essa espera: a porta vai diretamente para forwarding.
! Habilitar em uma interface específica (access port)
SW1(config-if)# spanning-tree portfast
! Habilitar globalmente em todas as access ports
SW1(config)# spanning-tree portfast default Regra de ouro: PortFast deve ser configurado somente em portas de acesso conectadas a dispositivos finais (PCs, impressoras, servidores). Em portas de trunk ou portas conectadas a outros switches, PortFast pode criar loops.
BPDU Guard
PortFast resolve o problema da espera, mas cria um risco: e se um usuário plugar um switch não autorizado na porta? O BPDU Guard detecta isso: se qualquer BPDU chegar em uma porta com BPDU Guard ativo, a porta é colocada em estado err-disabled (desligada automaticamente) para prevenir o loop.
! Habilitar na interface
SW1(config-if)# spanning-tree bpduguard enable
! Habilitar globalmente em todas as portas com PortFast
SW1(config)# spanning-tree portfast bpduguard default Para reativar uma porta bloqueada pelo BPDU Guard:
SW1(config-if)# shutdown
SW1(config-if)# no shutdown Atenção: se o problema não for resolvido (switch ainda conectado), a porta será desabilitada novamente na próxima BPDU recebida.
Root Guard
O Root Guard protege a posição do root bridge. Se uma porta com Root Guard habilitado receber uma BPDU superior (com bridge ID menor que o root atual), a porta é desabilitada em vez de aceitar o novo switch como root.
SW1(config-if)# spanning-tree guard root Use Root Guard nas portas do root bridge que se conectam a switches de acesso — portas pelas quais um novo switch nunca deveria se tornar root.
Configurando o Rapid PVST+
! Confirmar o modo (padrão em switches modernos)
SW1(config)# spanning-tree mode rapid-pvst
! Definir o root bridge primário para a VLAN 10
SW1(config)# spanning-tree vlan 10 root primary
! Definir o root bridge secundário para a VLAN 10
SW1(config)# spanning-tree vlan 10 root secondary
! Verificar o estado do spanning tree
SW1# show spanning-tree
SW1# show spanning-tree vlan 10
SW1# show spanning-tree interface gigabitethernet 0/1 O comando root primary define a prioridade como 24576 (ou 4096 abaixo do menor valor existente). O root secondary define como 28672. As prioridades são sempre múltiplos de 4096 (0, 4096, 8192... 61440).
Load balancing por VLAN
Com Rapid PVST+, cada VLAN tem uma instância de STP independente. Isso permite configurar roots diferentes por VLAN, distribuindo o tráfego por links diferentes:
! SW1 é root para VLAN 10, secundário para VLAN 20
SW1(config)# spanning-tree vlan 10 root primary
SW1(config)# spanning-tree vlan 20 root secondary
! SW2 é root para VLAN 20, secundário para VLAN 10
SW2(config)# spanning-tree vlan 20 root primary
SW2(config)# spanning-tree vlan 10 root secondary Por que cai no exame
O CCNA 200-301 cobra STP Parte 2 com frequência nas seguintes frentes:
- Estados RSTP vs Classic STP — saber que o RSTP usa discarding/learning/forwarding e não tem estado de listening separado
- PortFast: somente em access ports;
spanning-tree portfast defaultaplica somente em access ports, não em trunks - BPDU Guard: desliga a porta ao receber qualquer BPDU; reativação manual com shutdown/no shutdown
- Convergência: Classic STP pode levar 50 s (20 + 15 + 15); RSTP converge em menos de 1 s
- Port ID: o hexadecimal 0x80 = 128 decimal (prioridade padrão de porta)
- Alternate port: no RSTP, o alternate port assume o papel de root port imediatamente quando o link principal falha
- Root Guard vs BPDU Guard: Root Guard protege contra novos root bridges; BPDU Guard protege access ports contra qualquer switch conectado
Uma pergunta clássica de prova: "qual feature impede um loop se um usuário conectar um switch a uma porta de acesso?" — BPDU Guard (não PortFast, não Root Guard).
Resumo em uma linha
Rapid PVST+ substitui o lento 802.1D com três estados de porta (discarding/learning/forwarding) e convergência em menos de 1 segundo; PortFast elimina a espera em portas de acesso e BPDU Guard as protege automaticamente contra switches não autorizados.