RCO2-lab3

De MediaWiki do Campus São José
Revisão de 11h19min de 19 de abril de 2018 por Casagrande (discussão | contribs) (→‎Roteiro)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Objetivo

  • Identificar domínios de colisão e de broadcast
  • Visualizar o funcionamento de uma ponte transparente (transparent bridge)

Introdução

Redes locais Ethernet (padrão IEEE 802.3 e extensões) são compostas de equipamentos que se comunicam, denominados estações (STA na norma IEEE 802.3), de equipamentos que os interligam (hubs e switches), e do meio de transmissão. A figura abaixo ilustra uma rede local hipotética com seus vários componentes.

Lab1-lan-demo.png


Originalmente, LANs Ethernet foram construídas usando um cabo único para interligar as estações. Posteriormente surgiram as redes baseadas em hubs, quipamentos que interligavam as estações em nível da camada física (funcionavam como repetidores com múltiplas portas). Atualmente essas redes são construídas usando switches, equipamentos que interligam as estacões em nível da camada de enlace (na verdade, da subcamada MAC). Um switch apresenta como benefícios, se comparado com hubs:

  1. atuação em nível de MAC: o switch faz o acesso ao meio com CSMA/CD ao encaminhar um quadro, quebrando o domínio de colisão; além disto, um switch pode operar em modo full-duplex, quando então inexiste a possibilidade de colisão.
  2. preservação da capacidade do canal: para quadros unicast, o switch encaminha um quadro somente pela porta onde reside o destinatário.

Note que a capacidade de operar em modo full-duplex em suas portas elimina a possibilidade de colisões, e por isso o CSMA/CD é desativado em portas full-duplex. Isso torna a rede capaz de operar com eficiência (bom aproveitamento da capacidade dos enlaces) mesmo com uma carga de tráfego alta. E a capacidade de um switch comutar um quadro somente para a porta onde se encontra a estação destino contribui para que a capacidade das demais portas seja preservada. Porém isso implica switches possuirem uma certa quantidade de memória interna, para armazenar quadros em trânsito.

Essas características importantes devem fazer com que uma LAN com switches tenha um desempenho superior a uma LAN com hubs. Por desempenho entenda-se um número menor de colisões sob tráfego intenso (ou mesmo ausência total de colisões), e maior capacidade de canal vista por cada equipamento conectado ao switch.

Em resumo, equipamentos em uma LAN ethernet podem ser interligados de diferentes formas, como mostrado na figura abaixo, sendo atualmente predominante o uso de switches. Com isso, switches se tornaram um componente fundamental na implantação de LANs, e boa parte das inovações nesse tipo de rede dependem dos switches (ex: VLANs, agregação de enlace, controle de acesso, controle de fluxo, priorização, e outras ... pesquise !).


Lan-layers.png

Roteiro

  1. Execute o programa gnome-netkit, que é o simulador de rede a ser usado neste experimento. Para isso, selecione o menu Aplicativos->Acessórios->Terminal para executar um terminal com shell. Nesse terminal execute:
    netkit2
    
    ... o que fará com que apareça a seguinte tela:
    Screenshot-gnome-netkit.png
  2. Faça o download do seguinte arquivo de configuração do netkit, salvando-o no diretório pessoal do aluno:
  3. Use o menu File->Load and run do gnome-netkit para carregar esse arquivo lab1.conf que você acabou de baixar. Repare que o gnome-netkit imediatamente inicia a rede descrita nesse arquivo. Para ver a topologia da rede carregada, use o menu File->Graph.
  4. Os computadores da rede simulada podem ser acessados clicando os botões correspondentes localizados na parte inferior da tela do gnome-netkit. Selecione o computador pc1 e a partir dele faça um ping para pc4:
    ping 192.168.0.4
    
    Deixe o ping em execução, e em seguida:
    • Selecione a tela de pc4, clicando em seu botão no gnome-netkit.
    • Clique no menu Wireshark->eth0, que vai executar o wireshark. Observe que o wireshark não atualiza automaticamente a tela com os pacotes capturados, então você precisará clicar em seu botão de atualização para mostrar novos pacotes capturados.
    • Observe os cabeçalhos Ethernet de alguns pacotes, e compare-os com o formato de quadro ethernet apresentado em aula (porém veja que nos pacotes capturados o campo Tamanho PDU na verdade se chama Ethertype ou simplesmente Type).
    • Observe os endereços de origem e destino desses cabeçalhos ethernet, e compare-os com os endereços MAC das interfaces de rede dos computadores (use o comando ifconfig eth0 em cada computador para descbri-los). A que computadores os endereços MAC visualizados correspondem ?
  5. Ainda com o ping em execução, rode o wireshark em cada um dos computadores e responda o seguinte:
    • a) Em quais computadores se podem ver as mensagens do ping ? Repita a experiência com outros pares de computadores, observando em quais deles aparecem as mensagens ICMP do ping. Essa experiência evidencia o que são domínios de colisão.
    • b) Repita a experiência usando como IP destino o IP broadcast (ping -b 192.168.0.255). Essa experiência evidencia o que são domínios de broadcast.
  6. Selecione sw2 e execute este comando para observar sua tabela de endereços MAC:
    watch --interval=1 brctl showmacs vlan1
    
    ... e veja a inclusão e remoção de endereços MAC à medida que:
    • Selecione o computador pc2 e nele inicie um ping para pc3:
      ping 192.168.0.3
      
    • Selecione novamente o switch sw2 e veja como ficou a tabela de endereços MAC do switch. Verifique que computadores correspondem aos endereços MAC ali mostrados.
    • Em sw2, cada porta de switch corresponde a uma interface ethernet: 1 é eth0, 2 é eth1, e assim por diante. Compare as portas onde estão cada um dos endereços MAC com a topologia da rede (ver File->Graph). Qual a relação que existe entre essas portas e os endereços MAC ?
    • Selecione pc1 e interrompa o ping (tecle CTRL C). Volte para sw2 e observe a tabela MAC: o que modificou nessa tabela ?
    • Identifique quanto tempo demora para que um endereço MAC seja esquecido no sw2 (quer dizer, quanto demora para que desapareça da tabela de endereços MAC).
  7. Faça o download deste arquivo e garve-o na pasta pessoal do aluno:
  8. Carregue esse arquivo lab2.conf no gnome-netkit usando File->Load and Run. Veja também a topologia da rede com File->Graph.
  9. Selecione pc1 e inicie um ping para pc3:
    ping 192.168.1.3
    
  10. Selecione gw e observe os pacotes capturados na interface eth0 e depois em eth1. Você terá que iniciar o wireshark primeiro em eth0, observar os pacotes, e depois encerrar o wireshark. Em seguida, repita esse procedimento para a interface eth1.
    • Opcionalmente, você pode usar o tcpdump em gw para observar os pacotes capturados. Se quiser usá-lo, execute:
      tcpdump -i eth0 -lne
      
      ... veja os pacotes capturados, encerre o tcpdump com CTRL C, e depois repita o procedimento para eth1:
      tcpdump -i eth1 -lne
      
  11. Com base nas informações obtidas dos pacotes capturados em gw, determine o seguinte:
    • Quais os endereços de origem MAC e IP dos pacotes recebidos pela interface eth0 ? E pela interface eth1 ?
    • Quais os endereços de destino MAC e IP dos pacotes transmitidos pela interface eth0 ? E pela interface eth1 ?
    • A quem se destinam em nível de enlace os pacotes recebidos nas interface eth0 e eth1 ?
    • A quem se destinam em nível de rede os pacotes recebidos nas interface eth0 e eth1 ?



Comentário: Os resultados vistos nos itens 4 a 6 dizem respeito a como os switches fazem a comutação de quadros em uma rede Ethernet. Os switches aprendem em que porta está cada endereço MAC (que corresponde a um equipamento que se comunica por essa rede), e então os quadros endereçados a um dado endereço MAC são encaminhados somente pela porta correspondente. No caso de broadcast (endereço MAC FF:FF:FF:FF:FF:FF), os quadros são encaminhados por todas as portas do switch. Esse procedimento é chamado de ponte transparente (transparent bridge).