Em redes Ethernet, ter caminhos redundantes é essencial para garantir alta disponibilidade. Se um cabo ou equipamento falhar, o tráfego pode ser redirecionado por um caminho alternativo. No entanto, essa redundância cria um problema sério em redes de Camada 2 (L2): os loops de rede.
Um loop de L2 ocorre quando há mais de um caminho físico para o mesmo destino. Isso causa:
Broadcast Storms (Tempestades de Broadcast): Quadros de broadcast (como ARP requests, DHCP requests) são retransmitidos infinitamente, consumindo toda a largura de banda da rede.
Múltiplas Cópias de Quadros: O mesmo quadro pode chegar ao destino por múltiplos caminhos, causando confusão e instabilidade.
Instabilidade da Tabela MAC: Os switches recebem o mesmo endereço MAC em diferentes portas, fazendo com que suas tabelas MAC "flapeiem" (atualizem rapidamente e incorretamente), levando à perda de conectividade.
Para resolver esse problema, foi criado o Spanning Tree Protocol (STP).
O STP é um protocolo que opera em switches de Camada 2 para garantir uma topologia lógica livre de loops, mesmo em redes com redundância física. Ele faz isso bloqueando seletivamente as portas redundantes, criando uma única "árvore" de caminhos ativos. Se um caminho ativo falhar, o STP reconfigura a árvore e ativa um caminho de backup.
Existem três variações principais do STP:
STP (Spanning Tree Protocol - 802.1D):
É a versão original e mais lenta.
Leva de 30 a 50 segundos para convergir (recalcular a topologia após uma mudança).
Cria uma única instância de árvore para todas as VLANs, o que significa que todas as VLANs seguem o mesmo caminho ativo/bloqueado.
RSTP (Rapid Spanning Tree Protocol - 802.1w):
Uma evolução do STP, muito mais rápida.
Convergência em milissegundos (geralmente menos de 1 segundo).
Ainda cria uma única instância de árvore para todas as VLANs, mas com transições de estado de porta muito mais rápidas.
É o modo mais comum e recomendado para a maioria das redes pequenas e médias que não precisam de balanceamento de carga por VLAN.
MSTP (Multiple Spanning Tree Protocol - 802.1s):
A versão mais avançada e complexa.
Permite criar múltiplas instâncias de Spanning Tree (MSTIs).
Cada MSTI pode ter um conjunto diferente de VLANs mapeadas a ela.
Isso permite que diferentes grupos de VLANs utilizem caminhos redundantes distintos, possibilitando balanceamento de carga por VLAN.
Ideal para redes grandes e complexas com muitas VLANs e requisitos de otimização de tráfego.
Root Bridge (Ponte Raiz): É o switch "principal" da rede Spanning Tree. Todos os outros switches calculam seus caminhos mais curtos até o Root Bridge. É ele quem determina a topologia ativa. O Root Bridge é eleito com base na menor prioridade (configurável) e, em caso de empate, no menor endereço MAC.
Root Port (Porta Raiz): Em cada switch (exceto o Root Bridge), é a porta que oferece o caminho de menor custo até o Root Bridge. Essa porta sempre estará no estado de forwarding.
Designated Port (Porta Designada): Em cada segmento de rede (link entre switches), é a porta do switch que tem o menor custo para alcançar o Root Bridge. Essa porta também estará no estado de forwarding.
Alternate/Blocked Port (Porta Alternativa/Bloqueada): São as portas redundantes que o Spanning Tree desabilita para evitar loops. Elas não encaminham tráfego de dados, mas continuam a ouvir BPDUs. Se o caminho ativo falhar, uma porta bloqueada pode transicionar para forwarding.
BPDU (Bridge Protocol Data Unit): Mensagens que os switches STP trocam para comunicar informações sobre a topologia da rede, prioridades, custos de caminho, etc.
No MikroTik, o Spanning Tree é configurado na interface bridge.
1. Criando a Bridge (se ainda não tiver)
Abra o Winbox e conecte-se ao seu MikroTik.
No menu à esquerda, clique em Bridge.
Na aba Bridge, clique no botão "+" (Adicionar Nova).
Na janela "New Bridge":
Name: Digite um nome para sua bridge (ex: minha_bridge).
Protocol Mode: Selecione rstp ou mstp (conforme sua necessidade).
VLAN Filtering: Marque a caixa yes.
Clique em OK.
2. Adicionando Portas à Bridge
No menu Bridge, vá para a aba Ports.
Clique no botão "+" (Adicionar Nova).
Na janela "New Bridge Port":
Bridge: Selecione a bridge que você criou (minha_bridge).
Interface: Selecione a interface física que você deseja adicionar à bridge (ex: ether1, ether2, sfp1).
Clique em OK.
Repita este processo para todas as interfaces que farão parte da bridge.
3. Configurações de Spanning Tree na Bridge
No menu Bridge, vá para a aba Bridge.
Dê um duplo clique na sua bridge (minha_bridge) para abrir suas propriedades.
a. Prioridade da Bridge (Root Bridge Election) Para influenciar qual switch será o Root Bridge, ajuste o campo Priority. Quanto menor o valor, maior a chance de ser o Root Bridge. O padrão é 32768.
Sugestão: Defina o switch mais central ou mais poderoso como Root Bridge (prioridade mais baixa) para todas as VLANs (se usando RSTP) ou para as MSTIs mais críticas (se usando MSTP).
b. Modo do Protocolo (STP, RSTP, MSTP) O campo Protocol Mode já deve estar definido (você o escolheu na criação da bridge). Se precisar mudar, altere-o aqui.
c. Configurações de MSTP (region-name, region-revision, MSTIs)
Dúvida 1: region-name e region-revision em branco/zero. Resposta: Sim, se você deixar o Region Name em branco e o Region Revision em 0 em TODOS os seus switches MikroTik que fazem parte da mesma rede de bridges, o MSTP vai funcionar e eles formarão uma única região MSTP padrão. No entanto, para aproveitar o balanceamento de carga por VLAN, é recomendado personalizar.
Para personalizar e habilitar o MSTP completo:
Region Name: Digite um nome para sua região MSTP (ex: MINHA_REDE_CORE).
Region Revision: Digite um número de revisão (ex: 1). Incremente-o (ex: de 0 para 1, 1 para 2) sempre que fizer alterações no mapeamento de VLANs para MSTIs. Todos os switches na mesma região devem ter o mesmo Region Name e Region Revision.
d. Criando Instâncias MSTP (MSTIs) e Mapeando VLANs (Apenas para MSTP) Isso permite que diferentes grupos de VLANs usem caminhos ativos diferentes.
No menu Bridge, vá para a aba MSTIs.
Clique no botão "+" (Adicionar Nova).
Na janela "New Bridge MSTI":
Bridge: Selecione sua bridge (minha_bridge).
Identifier: Digite um ID para a instância MSTP (1 a 31).
VLAN Mapping: Digite a lista de VLANs (pode ser um range como 10-20 ou separadas por vírgula como 10,30) que pertencerão a esta MSTI.
Priority: Para cada MSTI, você pode definir uma prioridade para eleger o Root Bridge Regional para aquele grupo de VLANs. Quanto menor o valor, maior a chance de ser o Root Bridge para aquela MSTI.
Clique em OK.
Repita para criar outras MSTIs conforme necessário.
4. Configurações de Spanning Tree nas Portas da Bridge
No menu Bridge, vá para a aba Ports.
Dê um duplo clique na porta que você deseja configurar.
a. edge=yes (Portas de Borda) Na janela de propriedades da porta, marque a caixa Edge Port.
Sugestão: Use Edge Port em portas conectadas a dispositivos finais (PCs, impressoras, servidores, APs). Isso faz com que a porta transicione para o estado de forwarding imediatamente, sem esperar pelo STP, acelerando a conectividade. Se um BPDU for recebido em uma porta edge, ela automaticamente sai do modo edge e participa do STP.
b. bpdu-guard=yes (Proteção BPDU) Na janela de propriedades da porta, marque a caixa BPDU Guard.
Sugestão: Use BPDU Guard em portas edge. Se uma porta edge receber um BPDU (o que não deveria acontecer se for realmente uma porta de borda), o BPDU Guard a desabilita, indicando um possível loop ou configuração incorreta. A porta precisa ser reabilitada manualmente ou por script.
c. loop-protect=on (Proteção de Loop) Esta configuração é feita nas interfaces Ethernet, não diretamente na aba Bridge Ports.
No menu à esquerda, clique em Interfaces.
Dê um duplo clique na interface Ethernet (ex: ether3).
Na janela de propriedades da interface, vá para a aba Ethernet.
Marque a caixa Loop Protect.
Dúvida 2: Posso habilitar Loop Protect em todas as portas? Resposta: SIM, é altamente recomendado habilitar Loop Protect em TODAS as interfaces Ethernet que são membros de uma bridge. Ele é uma camada extra de proteção que detecta loops rapidamente, mesmo aqueles que o STP pode não pegar a tempo, desabilitando a porta ofensora.
d. Prioridade e Custo da Porta: Na janela de propriedades da porta (aba General ou STP dependendo da versão do RouterOS), você pode ajustar os campos Priority e Path Cost de uma porta para influenciar o cálculo do Spanning Tree e a seleção de caminhos.
Sugestão: Use Priority para desempatar a seleção de portas designadas em um segmento. Use Path Cost para preferir um link sobre outro.
Topologia:
Objetivo do Lab:
Configurar MSTP para prevenir loops.
Fazer SW1 ser o Root Bridge primário.
Balancear o tráfego de VLANs entre SW1 e SW2.
Testar a resiliência da rede a falhas de link.
Equipamentos Necessários:
3x MikroTik CRS (Cloud Router Switch) ou dispositivos com capacidade de bridge e VLAN (ex: RB2011, RB3011, RB4011, RB5009).
Cabos Ethernet suficientes.
Pelo menos 2 PCs/dispositivos para teste de conectividade.
Sugestão de Configuração (Exemplo via Winbox):
VLANs a serem utilizadas:
VLAN 10: Usuários (Root SW1, Alternate SW2)
VLAN 20: Servidores (Root SW2, Alternate SW1)
VLAN 30: Gerenciamento (Root SW1, Alternate SW2)
VLAN 40: Voz (Root SW2, Alternate SW1)
1. Configuração Básica em TODOS os Switches (SW1, SW2, SW3):
Interfaces > Bridge:
Crie uma bridge: minha_bridge
Protocol Mode: mstp
VLAN Filtering: yes
Region Name: MEU_LAB_MSTP
Region Revision: 1
Interfaces > Bridge > Ports:
Adicione ether1, ether2, ether3, ether4 à minha_bridge.
Interfaces:
Para cada interface ether1, ether2, ether3, ether4:
Dê um duplo clique na interface.
Na aba Ethernet, marque Loop Protect.
2. Configuração Específica do SW1 (Root Bridge Primário):
Interfaces > Bridge:
Dê um duplo clique em minha_bridge.
Priority: 4096
Interfaces > Bridge > MSTIs:
Clique "+" para adicionar MSTI 1:
Bridge: minha_bridge
Identifier: 1
VLAN Mapping: 10,30
Priority: 4096
Clique "+" para adicionar MSTI 2:
Bridge: minha_bridge
Identifier: 2
VLAN Mapping: 20,40
Priority: 8192
Interfaces > Bridge > Ports:
Dê um duplo clique em ether1:
Path Cost: 10
Dê um duplo clique em ether2:
Path Cost: 10
Dê um duplo clique em ether3 (para PC):
Marque Edge Port
Marque BPDU Guard
Dê um duplo clique em ether4 (para Servidor):
Marque Edge Port
Marque BPDU Guard
Interfaces > Bridge > VLANs:
Clique "+" para adicionar VLANs tagged:
Bridge: minha_bridge
VLAN IDs: 10,20,30,40
Tagged: ether1,ether2
Clique "+" para adicionar VLAN untagged (PC):
Bridge: minha_bridge
VLAN IDs: 10
Untagged: ether3
Clique "+" para adicionar VLAN untagged (Servidor):
Bridge: minha_bridge
VLAN IDs: 20
Untagged: ether4
3. Configuração Específica do SW2 (Backup Root Bridge / Root para MSTIs específicas):
Interfaces > Bridge:
Dê um duplo clique em minha_bridge.
Priority: 8192
Interfaces > Bridge > MSTIs:
Clique "+" para adicionar MSTI 1:
Bridge: minha_bridge
Identifier: 1
VLAN Mapping: 10,30
Priority: 8192
Clique "+" para adicionar MSTI 2:
Bridge: minha_bridge
Identifier: 2
VLAN Mapping: 20,40
Priority: 4096
Interfaces > Bridge > Ports:
Dê um duplo clique em ether1:
Path Cost: 10
Dê um duplo clique em ether2:
Path Cost: 10
Dê um duplo clique em ether3 (para PC):
Marque Edge Port
Marque BPDU Guard
Dê um duplo clique em ether4 (para Servidor):
Marque Edge Port
Marque BPDU Guard
Interfaces > Bridge > VLANs:
Clique "+" para adicionar VLANs tagged:
Bridge: minha_bridge
VLAN IDs: 10,20,30,40
Tagged: ether1,ether2
Clique "+" para adicionar VLAN untagged (PC):
Bridge: minha_bridge
VLAN IDs: 10
Untagged: ether3
Clique "+" para adicionar VLAN untagged (Servidor):
Bridge: minha_bridge
VLAN IDs: 20
Untagged: ether4
4. Configuração Específica do SW3 (Switch de Acesso):
Interfaces > Bridge:
Dê um duplo clique em minha_bridge.
Priority: 32768 (Padrão, será um switch downstream)
Interfaces > Bridge > MSTIs:
Clique "+" para adicionar MSTI 1:
Bridge: minha_bridge
Identifier: 1
VLAN Mapping: 10,30
Clique "+" para adicionar MSTI 2:
Bridge: minha_bridge
Identifier: 2
VLAN Mapping: 20,40
Interfaces > Bridge > Ports:
Dê um duplo clique em ether1:
Path Cost: 10
Dê um duplo clique em ether3 (para Cliente):
Marque Edge Port
Marque BPDU Guard
Dê um duplo clique em ether4 (Outra porta de acesso):
Marque Edge Port
Marque BPDU Guard
Interfaces > Bridge > VLANs:
Clique "+" para adicionar VLANs tagged:
Bridge: minha_bridge
VLAN IDs: 10,20,30,40
Tagged: ether1
Clique "+" para adicionar VLAN untagged (Cliente):
Bridge: minha_bridge
VLAN IDs: 30
Untagged: ether3
Sugestão de Lab de Teste:
Montagem Física: Conecte os switches conforme a topologia.
Configuração Inicial: Configure cada MikroTik com as bases de rede (endereço IP de gerenciamento, etc.) e as configurações de bridge/STP/MSTP acima via Winbox.
Verificação do STP/MSTP:
No Winbox, vá em Interfaces > Bridge. Na aba Bridge, você verá o status da bridge, incluindo se ela é o Root Bridge e o Root Path Cost.
Na aba Ports, você verá o Role (Root Port, Designated Port, Alternate Port) e o State (Forwarding, Blocking) de cada porta.
Na aba MSTIs, você pode monitorar o status de cada instância MSTP.
Teste de Conectividade:
Configure IPs nos PCs/Servidores nas VLANs corretas.
Teste ping entre dispositivos na mesma VLAN e em VLANs diferentes (se houver roteamento).
Teste de Falha de Link:
Desconecte um dos cabos entre SW1 e SW2.
Observe o tempo de convergência do Spanning Tree (as portas bloqueadas devem ir para forwarding).
Verifique se a conectividade é mantida.
Reconecte o cabo e observe o retorno à topologia original.
Teste de Loop Protect:
Conecte um cabo de uma porta do SW3 (com Loop Protect habilitado) de volta a outra porta do mesmo SW3.
No Winbox, vá em Log (menu à esquerda) para ver a mensagem de loop-protect e a porta sendo desabilitada.
Verifique a conectividade da rede (o loop deve ter sido evitado).
Bons estudos!!