RCO2-lab1

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

Objetivos

  • Conhecer os equipamentos típicos de uma rede local Ethernet
  • Estimar o desempenho de uma LAN Ethernet comutada (com switch)

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


De forma geral, uma estação possui um ou mais adaptadores de rede (placas de rede, ou NIC – Network Interface Card), como na figura abaixo à esquerda. Os adaptadores de rede das estações são conectados a um switch por meio de cabos de rede TP (par trançado) com conectores RJ-45, mostrado na figura abaixo à direita.


Lab1-nic-switch.png


Originalmente LANs Ethernet foram construídas usando um cabo único para interligar as estações (cabo coaxial). Posteriormente surgiram as redes baseadas em hubs, equipamentos que interligavam as estações em nível da camada física (funcionavam como repetidores). 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.

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.

A rede de teste para o experimento será composta de computadores ligados a um switch Ethernet a 100 Mbps em modos half ou full-duplex. Serão sintetizados tráfegos intensos, de forma a poder comparar o desempenho das transmissões nos dois casos.

Lab1.png

Roteiro

  1. Observe a placa de rede de seu computador e sua conexão à rede por meio do cabo TP. Os computadores do laboratório estão conectados ao switch Microtec, que reside no rack central. O número da porta onde está conectado seu computador na bancada corresponde à porta do switch. Desconecte o cabo do seu computador e observe o status da porta correspondente no switch (o status é informado por um led, que aceso significa que há equipamento ativo conectado àquela porta). Questão: como será que o switch sabe que um equipamento foi conectado a uma porta ?
  2. Veja que informações o Linux provê a respeito de seu adaptador Ethernet. Usando os comandos administrativos do Linux, descubra:
    • o modelo do adaptador, e seu endereço MAC: ver comandos lspci e ifconfig.
    • seu modo de operação (velocidade, modo duplex, se o enlace está ativo): ver comando ethtool
    • suas estatísticas de operação (quadros transmitidos e recebidos, colisões e erros em geral): ver comandos netstat e ifconfig.
      Após obter essas informações, experimente desconectar o cabo da placa de rede e repetir a execução dos comandos.
  3. Anote os valores dos contadores de quadros e bytes recebidos e enviados pela interface ethernet em seu computador. Use o comando ifconfig para visualizar esses contadores. Anote também o horário em que se fez essa medição.
  4. Os computadores se comunicarão aos pares, usando-se o programa netperf para gerar o tráfego e medir a capacidade do canal:
    netperf -f k -H endereço_IP
    
    (Obs: endereço_IP é o endereço IP computador alvo).
  5. Execute o netperf de forma sincronizada: os computadores devem iniciá-lo simultaneamente. Repita esse procedimento 3 vezes, anotando a taxa de transmissão obtida em cada computador.
  6. Carga de tráfego na rede durante o experimento: anote novamente os valores dos contadores de quadros e bytes recebidos e enviados pela interface ethernet em seu computador. Usando os valores medidos previamente, calcule:
    1. Quantos bytes e quadros foram enviados e recebidos durante o experimento
    2. As taxas médias de transmissão e recepção pela sua interface ethernet
    3. A utilização do seu link ethernet. Obs: a utilização é a razão entre quantos bytes foram enviados, e quantos bytes poderiam ser enviados ininterruptamente durante o experimento. O mesmo vale para os bytes recebidos.
  7. Repita os passos 4 a 6, mas antes configure os computadores para operarem em modo 100baseT half-fuplex:
    sudo ethtool -s eth0 speed 100 duplex half autoneg off
    
    Houve diferença nas taxas de bits obtidas ? Caso sim, qual deve ser a explicação ?
  8. As interfaces de rede dos computadores podem operar a 1000 Mbps (gigabit), mas o switch do laboratório opera a 100 Mbps. Pode-se medir a capacidade de transmissão do computador através dessas interfaces se os computadores forem conectados aos pares. Assim, conecte o cabo da interface de rede de seu computador à interface do computador ao seu lado. Em seguida faça os seguintes experimentos:
    1. Em cada computador deve-se gerar um arquivo de nome “teste”, com 1GB de conteúdo aleatório:
      dd if=/dev/urandom of=teste bs=65536 count=16384
      
    2. O arquivo deve ser transferido de um computador a outro. No computador que irá receber o arquivo execute:
      nc -l 10000 > recebido
      
      .. e no que irá transmitir execute:
      date +%s.%N; nc IP_do_outro_computador 10000 < teste; date +%s.%N
      
    3. No computador transmissor aparecerão dois números, que correspondem aos instantes de início e fim de transmissão. Calcule quanto tempo demorou a transmissão, e em seguida a taxa de bits obtida. Compare essa taxa com a capacidade nominal da interface de rede (1000 Mbps).
    4. Repita duas veszes os passos ii e iii , e anote os valores de taxa de bits obtidos. Houve variação nas medições ?
    5. Repita os passos 2 a 4, porém executando o seguinte comando no receptor:
      nc -l 10000 > /dev/null
      
      Houve diferença nos valores obtidos para a taxa de bits ? Caso afirmativo, qual deve ser explicação ?