← voltar pro blog
// fundamentos

Spanning Tree Protocol: o protocolo que salva sua rede sem você perceber

por Luiz Silvério

Um cabo conectado no lugar errado derruba a rede inteira em 30 segundos. Já vi acontecer.

Sem o Spanning Tree Protocol, um loop de switches faz broadcasts circularem infinitamente. Cada switch replica o frame para todas as portas. O tráfego cresce exponencialmente até saturar tudo. Switches travam, rede para.

STP existe para evitar isso. Ele roda silencioso em todo switch Cisco desde que você ligou o equipamento, bloqueando portas redundantes antes que o loop aconteça.

O problema que o STP resolve

Redes bem projetadas têm links redundantes. Se um cabo cair, outro assume. Redundância é necessária. O problema é que dois switches conectados por dois cabos criam um loop.

[ SW-A ] ----cabo1---- [ SW-B ]
         ----cabo2----

Sem STP, um broadcast enviado por SW-A sai pelos dois cabos. SW-B recebe nos dois lados e replica de volta pelos dois. SW-A recebe de volta e replica novamente. Em segundos, a rede está inundada de cópias do mesmo frame. Broadcast storm. Rede derrubada.

STP quebra o loop bloqueando logicamente um dos caminhos. O cabo continua conectado. Só o tráfego é bloqueado. Se o cabo ativo cair, o STP desbloqueia o segundo em segundos.

Como o STP elege o Root Bridge

O primeiro passo do STP é eleger um switch central, chamado Root Bridge. Toda a topologia é calculada a partir dele.

A eleição usa o Bridge ID: um número de 8 bytes formado por prioridade e MAC address do switch.

Bridge ID = [ Prioridade (2 bytes) ] + [ MAC Address (6 bytes) ]

O switch com o menor Bridge ID vence a eleição. Prioridade padrão em todos os switches Cisco é 32768. Se ninguém mudar nada, o desempate vai para o menor MAC address.

Isso é um problema. O menor MAC address geralmente pertence ao switch mais antigo da rede. Você pode estar roteando todo o tráfego pelo switch com menos memória, mais lento e sem suporte a recursos modernos.

A correção é simples: forçar o switch correto a ser o root.

SW-CORE(config)# spanning-tree vlan 1 priority 4096

Prioridade menor que 32768 garante que o core switch vença a eleição. A prioridade só pode ser configurada em múltiplos de 4096: 4096, 8192, 12288, 16384 e assim por diante.

Ou usando o atalho:

SW-CORE(config)# spanning-tree vlan 1 root primary

Esse comando ajusta a prioridade automaticamente para um valor menor que o atual root bridge.

Os papéis das portas

Depois de eleger o Root Bridge, o STP atribui papel para cada porta de cada switch:

Root Port      → porta com menor custo até o Root Bridge (uma por switch)
Designated Port → porta que encaminha tráfego num segmento (uma por segmento)
Blocked Port    → porta bloqueada para evitar loop

No Root Bridge, todas as portas são Designated. Nos outros switches, a porta com melhor caminho até o root vira Root Port. As demais disputam o papel de Designated. Quem perde fica bloqueada.

O custo é calculado pela banda do link:

10 Mbps   → custo 100
100 Mbps  → custo 19
1 Gbps    → custo 4
10 Gbps   → custo 2

Link mais rápido tem custo menor. STP prefere o caminho de menor custo acumulado até o root.

Verificando o STP no switch

SW# show spanning-tree vlan 1

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    4097
             Address     0011.1111.1111
             This bridge is the root

  Bridge ID  Priority    4097
             Address     0011.1111.1111

Interface           Role  Sts  Cost    Prio.Nbr  Type
-----------------   ----  ---  ------  --------  ----
Gi0/1               Desg  FWD  4       128.1     P2p
Gi0/2               Desg  FWD  4       128.2     P2p
Gi0/3               Desg  FWD  4       128.3     P2p

This bridge is the root confirma que esse switch é o Root Bridge. Todas as portas em Desg FWD (Designated, Forwarding). Normal para o root.

Num switch não-root você vê algo assim:

Interface           Role  Sts  Cost    Prio.Nbr  Type
-----------------   ----  ---  ------  --------  ----
Gi0/1               Root  FWD  4       128.1     P2p
Gi0/2               Altn  BLK  4       128.2     P2p

Root FWD: porta ativa, melhor caminho até o root. Altn BLK: porta bloqueada, caminho alternativo em standby.

Por que a rede fica lenta às 14h toda segunda

STP original (802.1d) tem convergência lenta. Quando um link cai, a porta bloqueada precisa passar por três estados antes de começar a encaminhar tráfego:

Blocking → Listening (15s) → Learning (15s) → Forwarding

Total: até 50 segundos. Durante esse tempo, parte da rede fica inacessível. Em ambientes com mudanças frequentes de topologia, esse tempo aparece como lentidão intermitente.

A solução é RSTP (802.1w), o sucessor do STP. Convergência em menos de 2 segundos na maioria dos casos. Cisco implementa como PVST+ (por VLAN) e Rapid PVST+.

SW(config)# spanning-tree mode rapid-pvst

▌ Sugiro fortemente: em qualquer rede nova, configure Rapid PVST+ e force o root bridge manualmente no switch de melhor desempenho. Deixar o STP eleger sozinho é aceitar que o switch mais antigo vire o centro da sua rede.


STP roda invisível até o dia que para de rodar. Quem entende a eleição do root bridge e os papéis das portas resolve o problema em minutos. Quem não entende abre chamado.