Duração: 80 minutos (explicação 20, prática guiada 50, verificação 10). Resultados dos TdR trabalhados: Diagnóstico, desempenho e disponibilidade; Continuidade e protecção de activos digitais.
Objectivos
- Explicar porque um ciclo na camada 2 derruba uma rede.
- Descrever STP/RSTP: raiz, portas bloqueadas e convergência.
- Activar STP num comutador virtual e observar a porta bloqueada.
Redundância sem ciclos
Ligar dois comutadores por dois cabos dá redundância, mas cria um ciclo: as difusões circulam para sempre (tempestade de difusão) e a tabela MAC oscila. O protocolo Spanning Tree (802.1D, e a versão rápida RSTP em 802.1Q) elege um comutador raiz e bloqueia portas até restar uma árvore sem ciclos. Se uma ligação falha, uma porta bloqueada passa a reencaminhar.
Boas práticas: escolher a raiz de propósito (prioridade mais baixa no comutador central), proteger portas de acesso para que um posto não se anuncie como comutador, e documentar as ligações redundantes. A agregação de ligações (LACP) é outra forma de redundância, somando cabos numa só ligação lógica.
Caso fictício
Um funcionário da DPE (fictícia) liga as duas pontas de um cabo a duas tomadas da mesma sala. Metade da sede fica sem rede. O técnico explica o sucedido e propõe protecção.
Prática guiada em rede isolada
Rede de prática fictícia, criada dentro de um computador de prática com o script base (módulo 1, lição 1). Nunca use estes passos na rede de produção nem contra endereços reais. As saídas mostradas são exemplos didácticos, não resultados de uma execução.
Topologia (descrição em texto)
- Três comutadores virtuais sa, sb e sc ligados em triângulo (sa–sb, sb–sc, sc–sa), cada um uma ponte br0 num espaço de nomes próprio.
Passos
Crie o triângulo com STP activo desde o início (nunca sem STP, para não criar uma tempestade no seu computador).
for s in sa sb sc; do sudo ip netns add $s; sudo ip -n $s link add br0 type bridge stp_state 1; done sudo ip -n sa link set br0 type bridge priority 4096 lig() { sudo ip link add $1-$2 type veth peer name $2-$1; sudo ip link set $1-$2 netns $1; sudo ip link set $2-$1 netns $2; sudo ip -n $1 link set $1-$2 master br0 up; sudo ip -n $2 link set $2-$1 master br0 up; } lig sa sb; lig sb sc; lig sc sa for s in sa sb sc; do sudo ip -n $s link set br0 up; done sleep 35Veja o estado das portas; uma delas deve estar bloqueada.
for s in sa sb sc; do echo $s; sudo ip netns exec $s bridge link; doneSaída de exemplo (didáctica):
sa ... sa-sb master br0 state forwarding priority 32 cost 2 ... sa-sc master br0 state forwarding priority 32 cost 2 sb ... sb-sa master br0 state forwarding ... ... sb-sc master br0 state forwarding ... sc ... sc-sb master br0 state blocking ... ... sc-sa master br0 state forwarding ...Simule a falha da ligação sa–sc e observe a porta bloqueada a passar a reencaminhar (o STP clássico do Linux demora cerca de 30 segundos).
sudo ip -n sa link set sa-sc down sleep 35; sudo ip netns exec sc bridge linkSaída de exemplo (didáctica):
... sc-sb master br0 state forwarding ... ... sc-sa master br0 state disabled ...
Critérios de sucesso
- Com as três ligações activas, há exactamente uma porta bloqueada.
- sa é a raiz (prioridade 4096).
- Após a falha, a rede continua ligada pela porta antes bloqueada.
Como desfazer (reversão)
- for s in sa sb sc; do sudo ip netns del $s; done
Alternativa em papel: tarefas e respostas esperadas
- Explique o caso do cabo ligado a duas tomadas.
- Criou-se um ciclo de camada 2; sem STP (ou com portas de acesso sem protecção) as difusões multiplicaram-se e saturaram os comutadores. Protecção: STP/RSTP activo, protecção BPDU nas portas de acesso e controlo de tempestades.
- Porque escolher manualmente a raiz?
- Para que a árvore passe pelo comutador central e mais capaz; se ficar a eleição por omissão, pode ganhar um comutador pequeno de canto, com caminhos maus.
- Diferença entre STP e agregação de ligações.
- STP bloqueia caminhos redundantes (uma só ligação activa); a agregação junta várias ligações paralelas numa lógica, activas ao mesmo tempo.
Verifique o que aprendeu
Questão 1
O que faz o STP perante um ciclo?
- Desliga um comutador
- Bloqueia portas até não haver ciclos
- Aumenta a velocidade
- Cria VLAN
Ver resposta comentada
Resposta: Bloqueia portas até não haver ciclos
Mantém a redundância física, mas só uma árvore activa; em falha reactiva caminhos bloqueados.
Questão 2
Qual a diferença prática entre STP clássico e RSTP?
- RSTP converge muito mais depressa
- RSTP não bloqueia portas
- STP só funciona em Wi-Fi
- Não há diferença
Ver resposta comentada
Resposta: RSTP converge muito mais depressa
O STP clássico demora dezenas de segundos; o RSTP negoceia estados e converge tipicamente em poucos segundos. A ponte do Linux usa STP clássico no núcleo; RSTP exige um serviço adicional (mstpd).
Em leitura fácil
- Dois caminhos entre comutadores fazem um círculo.
- O círculo pode parar a rede toda.
- O STP fecha um caminho e abre-o se o outro cair.
Fontes
- IEEE 802.1Q — Bridges and Bridged Networks (VLAN, STP/RSTP) (https://standards.ieee.org/ieee/802.1Q/)
- Linux iproute2 — páginas de manual ip(8), ip-netns(8), bridge(8), tc(8) (https://man7.org/linux/man-pages/man8/ip.8.html)
