IER60808: Caminhos fechados e STP

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar


  • Capítulo 16 do livro "Comunicação de Dados e Redes de Computadores, 3a ed.", de Behrouz Forouzan.
  • Capítulo 5 do livro "Redes de computadores e a Internet, Uma abordagem Top-Down. 5a edição, de James Kurose.


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:


Curto-lan.png


Para ver a consequência dessa ação aparentemente inocente, experimente reproduzi-la no laboratório, e analise o que aconteceu.


O problema dos ciclos (caminhos fechados) em uma rede local ethernet


O video a seguir resume o texto desta seção:

Introdução ao STP


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:

LAN-anel-stp.png


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 trancaria devido a um efeito chamado de tempestade de broadcasts (broadcast storm). Isso acontece porque, ao receber um quadro em broadcast, um switch sempre o retransmite por todas as demais portas. 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, definido na norma IEEE 802.1d) para realizar automaticamente essa tarefa.


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.

Alguns problemas relacionados ao STP


Basicamente, para usar STP deve-se observar o seguinte:

  1. 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.
  2. 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.
  3. 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.
    Ier-Stp-custo-portas.png
    Custos de portas usados pelo STP (FONTE: verbete STP na Wikipedia)
  4. STP roda em cada VLAN de forma independente: o STP deve ser configurado para cada VLAN definida na rede local.
  5. 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.

  1. Porta raiz: em cada switch, a porta que o liga em direção ao switch raiz se chama porta raiz.
  2. 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.
  3. 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).


Ier-LAN stp solved.jpg
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.

Atividade

O estudo sobre STP usará como conceito uma rede local em que três switches formam um anel. Essa rede possui uma estrutura típica para uma pequena empresa, como se pode ver na figura abaixo.

LAN-anel-stp.png

Parte 1: O efeito de caminhos fechados

  1. Obtenha este arquivo de simulação do PacketTracer, correspondente a esta rede: Ier-Stp-ex0.png
  2. Execute esta rede no PacketTracer. Essa rede inicialmente está com o ciclo rompido (a iterface FastEthernet0/2 do switch 2 está desativada).
  3. Tente fazer um ping de um PC para outro. Esse ping funcionou normalmente ?
  4. Reative a interface do switch 2 com estes comandos via CLI:
    enable
    configure terminal
    interface fastethernet 0/2
    no shutdown
    end
    ... e repita o ping porém tendo como alvo algum outro computador. Há algum efeito no funcionamento da rede ? O que aconteceu depois disso ?
  5. Acesse a interface do Sniffer, clicando sobre ele e selecionando a aba GUI. Observe os pacotes capturados pelo Sniffer, verificando seu endereço MAC de destino. Que características eles possuem ?
  6. Mantendo o monitoramento no Sniffer, desative novamente a interface do switch2 que o liga ao switch0:
    enable
    configure terminal
    interface fastethernet 0/2
    shutdown
    O que aconteceu no padrão de tráfego mostrado pelo Sniffer ? E como ficou o desempenho da rede ? Como você relaciona isso com o funcionamento os switches ?

Parte 2: O protocolo STP como possível solução

Com base na rede da parte 1 deste roteiro, faça o seguinte:

  1. Ative o protocolo STP em todos os switches usando estes comandos:
    enable
    configure terminal
    spanning-tree vlan 1
    end
    
    ... e então repita os passos 4 e 5 da parte 1 do roteiro. A rede funcionou normalmente desta vez ?
  2. Execute o ping a partir de um computador que está conectado ao switch0 para algum computador conectado ao switch2. Enquanto isto, desative a interface do switch0 que o conecta ao switch2. O ping continuou a funcionar ? Houve alguma interrupção, mesmo que temporária ?
  3. Reative a interface do switch0. Como se comportou o ping enquanto isso ?
  4. O que você conclui sobre o papel do protocolo STP em redes locais em que há ligações alternativas (i.e: a topologia física da rede apresenta laços ou ciclos) ?
  5. Uma vez tendo experimentado a ação do STP nessa rede, vamos explorar as modificações feitas em sua topologia. Primeiro de tudo, vamos identificar qual dos switches se tornou switch raiz. Isso pode ser feito pelo comando que mostra as nformações sobre o STP:
    show spanning-tree
    
  6. Em seguida, identifique os estados das portas dos switches: identifique as portas designadas, as portas raiz, e as portas alternativas.
  7. Como último experimento, faça com que o switch2 seja o switch raiz, e em seguida investigue como ficou a topologia da rede. Para modificar o Bridge ID de um switch use este comando:
    configure terminal
    spanning-tree vlan 1 priority defina_aqui_o_bridge_id
    
    OBS: o bridge id deve ser um múltiplo de 4096.

Parte 3: Implantando uma rede um pouco maior

Usando o PacketTracer, implante esta rede:


Ier-Stp-exercicio1.jpg


Configure-a apropriadamente de forma a todos os computadores conseguirem se comunicar, e acessarem a rede externa. Note que será necessário usar o STP ...

Parte 4: Implantando uma rede com VLANs

Usando a topologia física da rede da parte 3 desta aula, implante a seguinte topologia virtual usando VLANs:


Ier-Stp-exercicio2.jpg


Novamente, configure-a de forma a todos os computadores conseguirem se comunicar, e acessarem a rede externa. E veja que será necessário usar o STP junto com VLANs !