Redes locais
3. Caminhos fechados em LANs (loops)
No laboratório de Redes de Computadores, um certo dia um aluno acidentalmente pegou um cabo e ligou em duas tomadas de rede. Quer dizer, ele fez algo assim com um dos switches da rede:
Para ver a consequência dessa ação aparentemente inocente, experimente reproduzi-la em sua rede residencial, e analise o que acontece. Não parece bom, certo ?
A interligação acidental de duas portas de um switch cria um ciclo na rede local (loop). Mas isso pode ser feito também de forma intencional, pois em LANs grandes pode ser desejável ter enlaces redundantes, para evitar que a interrupção de um enlace isole parte da rede. A existência de interligações alternativas portanto é algo que pode ocorrer em uma rede local, seja por acidente ou com a finalidade de conferir algum grau de tolerância a falhas na infraestrutura da rede. Um caso em que uma rede possui um ciclo intencionalmente colocado pode ser visto na LAN abaixo:
Apesar de desejável em algumas situações, uma topologia de rede com caminhos fechados, como visto na figura acima, não pode ser instalada sem alguns cuidados. Uma rede como essa apresentaria alguns problemas, que afetariam seu desempenho:
- Broadcast storm (tempestade de broadcast): quadros em broadcast seriam retransmitidos indefinidamente na rede, consumindo sua capacidade. Isso acontece devido a uma característica funcional de switches, que retransmitem quadros em broadcast ou multicast por todas suas demais portas. Quando existe um caminho fechado na LAN, cada quadro em broadcast é retransmitido sucessivamente pelos switches que formam o caminho fechado, até retornar ao switch original, onde o processo se repete indefinidamente. Como em cada switch um quadro em broadcast é retransmitido em todas suas portas (com exceção da porta por onde foi recebido), esse quadro acaba inundando a rede, pois é transmitido para todos os equipamentos dessa LAN. Veja este curto video com mais detalhes.
- Instabilidade na tabela MAC nos switches: a tabela MAC em um switch associa cada endereço MAC à porta do switch onde esse endereço se encontra. Quer dizer, essa tabela indica a porta por onde um quadro deve ser retransmitido para que chegue em seu endereço MAC de destino. Essa tabela é formada dinamicamente, segundo as regras de aprendizado do switch (bridge learning). Lembre que, quando um quadro é recebido pelo switch, seu endereço MAC de origem e a porta por onde foi recebido são armazenados nessa tabela.
- Múltiplos quadros repetidos recebidos em cada host: como efeito adicional à tempestade de broadcast, os equipamentos finais da rede (computadores, servidores, ...) receberiam uma sequência incessante de quadros repetidos. Esses quadros, enviados para broadcast ou multicast, precisam ser processados ao serem recebidos, o que consome tempo de processamento de cada equipamento final.
Esses efeitos são claramente indesejáveis. Para que a rede acima funcione como esperado, uma ou mais portas de switches precisarão ser desativadas de forma que o caminho fechado seja removido. Ter que fazer isso manualmente tira o sentido de ter tal configuração para tolerância a falhas (e não impede um "acidente" como aquele descrito no início desta secão), por isso foi criado o protocolo STP (Spanning Tree Protocol) para realizar automaticamente essa tarefa, o qual foi definido também no padrão IEEE 802.1d. Uma introdução a esse protocolo pode ser vista no video a seguir.
O STP soluciona o problema dos caminhos alternativos na LAN, conferindo redundância na rede. Porém isso não é perfeito, e problemas podem surgir relacionados à forma com que o STP altera a topologia da rede. Veja no próximo video uma descrição de algumas situações em que se usa o STP, e seus efeitos colaterais.
Basicamente, para usar STP deve-se observar o seguinte:
- Escolha do switch raiz: cada switch deve ter um número que informa sua prioridade para o STP, e quanto menor o valor, maior a prioridade. O switch raiz é aquele com a menor prioridade dentre todos os switches. Em caso de empate, o switch com menor valor de endereço MAC é escolhido.
- Lembre que o switch raiz é o switch usado como referência dentro da rede para escolher quais links entre switches serão mantidos ativados, e quais serão desativados. Quando um switch possui links alternativos para chegar até o switch raiz, o link que proporciona um caminho mais curto (ou custo menor) é mantido e os demais são desativados.
- STP roda de forma independente para cada VLAN: ao configurar os switches, deve-se observar que o STP roda de forma independente para cada VLAN.
- O custo das portas é definido pela taxa de bits que elas suportam: quanto maior a taxa de bits, menor custo da porta. Isso faz sentido, pois significa quem um quadro levaria menos tempo para ser transmitido por uma porta com maior taxa de bits. Os custo definidos pelo padrão são mostrados na tabela a seguir.
Custos de portas usados pelo STP (FONTE: verbete STP na Wikipedia) - RSTP é melhor que STP: o protocolo RSTP é uma versão melhorada do STP, a qual resolve o problema de caminhos fechados mais rapidamente.
Alguns termos usados pelo STP:
Quando o STP está em ação, ele muda o estado de operação das portas do switch. Essas informações podem ser vistas no status do STP, e isso depende do modelo de cada switch.
- Porta raiz: em cada switch, a porta que o liga em direção ao switch raiz se chama porta raiz.
- Portas designadas: as portas de um switch que permancem ativadas são chamadas de portas designadas. Essas portas operam normalmente, enviando e recebendo quadros. Uma porta designada , do ponto de vista do STP, está no caminho de menor custo até o switch raiz.
- Portas alternativas (ou bloqueadas): as portas de um switch que são desativadas são denominadas portas alternativas. Essas portas apenas enviam e recebem mensagens do protocolo STP, ignorando quaisquer outros quadros.
Um exemplo do STP em ação
Se o STP for ativado na rede mostrada na seção anterior, o resultado seria o mostrado na figura a seguir. Nesse exemplo supõe-se que as prioridades de bridge (Bridge ID) foram definidas como indicado na figura, e todas as portas de switch operam como mesma taxa de bits (i.e. apresentam o mesmo custo).
Um exemplo de uma LAN em que STP foi ativado: as legendas nas portas dos switches informam se são portas raiz (R), designadas (D) ou bloqueadas (B)
De acordo com a figura, o switch no topo foi escolhido como switch raiz, pois seu valor de Bridge ID (que é 8192) é o menor dentre os três switches. O primeiro a se notar é que todas suas portas se tornam designadas, e portanto operam normalmente. Note também que todas as portas de switches que conectam computadores se mantêm designadas, pois elas não propiciam a formação de loops. Nos outros dois switches, as portas que os conectam diretamente ao switch raiz são definidas como portas raiz. De fato, essas portas estão nos caminhos de menor custo até o switch raiz. Finalmente, o switch do lado direito tem uma porta bloqueada. Essa porta o conecta ao switch da esquerda, e o link entre elas forma um caminho fechado na rede. Em situações normais, a porta do switch com maior custo para chegar até a raiz seria bloqueada, mas nesse caso há um empate (ambos switches têm mesmo custo até a raiz). Sendo assim, o STP uso como critério de desempate o Bridge ID dos switches, bloqueando a porta do switch com maior Bridge ID.