PJI11103: Lab 7

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

Objetivos

  • Criar redes locais com caminhos fechados (loops)
  • Compreender o efeito de caminhos fechados em uma LAN
  • Usar o protocolo STP para que a rede opere com redundância

Introdução

A interligação de segmentos de uma LAN pode conter enlaces redundantes para prover tolerância a falhas: caso um enlace falhe, o que isolaria uma parte da rede, outro enlace pode ser usado para manter a conectividade. No entanto a existência de enlaces redundantes cria loops (“circuitos fechados”) na rede, e isto causa sérios problemas:

  1. Os switches não conseguem localizar corretamente as estações, pois a repetição de quadros para estações ainda desconhecidas, ou quadros em broadcast, faz com que a estação de origem apareça a cada repetição em um segmento diferente da rede.
  2. Quadros em broadcast ficam presos eternamente nos loops, consumindo parte da capacidade da rede. À medida que mais quadros em broadcast forem transmitidos, a capacidade disponível se reduz, até que em algum momento chegue a um colapso.


Stp-exemplo.png


A solução para esse problema é eliminar os loops desabilitando alguns enlaces, de forma que sempre exista apenas um caminho entre cada par de estações na rede. Isto se faz com um algoritmo chamado de Spanning Tree, e que é implementado pelo protocolo STP (Spanning Tree Protocol), definido na norma IEEE 802.1d. Esse protocolo identifica um switch como sendo o nó raiz da rede, e faz com que cada outro switch tenha apenas um enlace em direção à raiz. A seleção do nó raiz depende dos identificadores dos switches, chamados de Bridge ID, e a escolha dos enlaces a serem mantidos depende do custo do caminho até a raiz. O protocolo funciona com o envio periódico de mensagens de configuração, chamadas de BPDU (Bridge PDU), por todos os switches da rede.


Roteiro

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. Execute o experimento do Netkit correspondente à rede da ilustração 1. Essa rede inicialmente está com o ciclo rompido (uma das interfaces de um dos switches está desativada).
  2. Inicie o experimento. Quando todas as máquinas virtuais estiverem rodando, tente fazer um ping de alguma máquina virtual para outra. Esse ping funcionou normalmente ?
  3. Reative a interface do switch1 (com ifconfig eth0 up), e repita o ping porém tendo como alvo algum outro computador. Há algum efeito no funcionamento da rede ? O que aconteceu depois disso ?
  4. Execute o tcpdump no computador que é alvo do ping, e colete o tráfego que chega em sua interface eth0. Você precisará usar este comando:
    tcpdump -i eth0 -ln
    
    O que você conclui quanto ao tráfego na rede ? Descreva exatamente o que está acontecendo e qual a causa.
  5. Mantendo o tcpdump em execução desative novamente a interface do switch1 que o liga ao switch3. O que aconteceu no padrão de tráfego mostrado pelo tcpdump ? E como ficou o desempenho da rede ? Como você relaciona isso com o que foi concluído no ítem 4 ?

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 este comando:
    brctl stp vlan1 on
    
    ... e então repita os passos 3 e 4 da parte 1 do roteiro. A rede funcionou normalmente desta vez ?
  2. Execute o ping a partir de um computador que está conectado ao switch1 para algum computador conectado ao switch3. Enquanto isto, desative a interface do switch1 que o conecta ao switch3. O ping continuou a funcionar ? Houve alguma interrupção, mesmo que temporária ?
  3. Reative a interface do switch1. 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. Entre os passos 1 e 3 a rede mudou seu funcionamento devido ao uso do STP. Para investigar em detalhes o que esse protocolo fez nos switches, vamos repetir o experimento, porém a cada etapa consultando as informações sobre o STP em cada switch. Assim, a cada modificação feita na rede (ativação ou desativação de interfaces), vamos executar os seguintes comandos em cada switch:
    brctl showstp vlan1
    brctl showmacs vlan1
    
    Além disso, vamos também executar o tcpdump na interface do switch1 que o conecta ao switch3:
    tcpdump -i eth0 -ln
    

Parte 3: Usando o STP em switches reais

  1. O experimento de hoje finaliza com a reprodução em uma rede real do que foi visto com o Netkit2. Para isso devem ser usados os switches do laboratório, que devem ser interligados em anel, com computadores conectados.
  2. Sem ativar o STP nos switches, experimente fazer um ping de um computador a outro. Ao mesmo tempo, use o wireshark para monitorar o tráfego em sua interface ethernet.
    • O ping tem resposta ?
    • O que acontece com a rede ? É possível comunicação entre os computadores ? Como se comportam os switches (veja seus leds) ?
    • O que mostra o wireshark ? Há alguma característica em comum entre os quadros capturados ?
  3. Desconecte algum dos cabos entre os switches, de forma a desfazer o anel, e repita o experimento com ping. Qual a diferença ?
  4. Com os switches sem formar um anel, e usando o manual do switch, ative o protocolo STP.
  5. Teste a comunicação com ping. O que aconteceu ?
  6. Com o ping em funcionamento, restabeleça a topologia em anel nos switches. Observe o comportamento do ping.
    • As respostas do ping continuaram normalmente, sem interrupção ?
    • Caso tenham interrompido, as respostas reapareceram depois de um tempo ?
    • Caso tenham reaparecido, quanto tempo demorou para retornarem ?
  7. Ainda com o ping em andamento, novamente desfaça o anel.
    • As respostas do ping continuaram normalmente, sem interrupção ?
    • Caso tenham interrompido, as respostas reapareceram depois de um tempo ?
    • Caso tenham reaparecido, quanto tempo demorou para retornarem ?
  8. O que se pode concluir quanto ao STP ? Funciona ? É rápido ?
  9. Experimente ativar o RSTP, que é uma versão mais rápida do STP, e repita o experimento.