Laboratório: Protocolo ARP

De Wiki Cursos IFPR Foz
Revisão de 23h24min de 10 de março de 2017 por Root (discussão | contribs) (Root moveu a página Protocolo ARP para Laboratório: Protocolo ARP)
Ir para navegaçãoIr para pesquisar

Protocolo ARP

Relação entre a camada rede e a camada enlace

Quando um computador deseja enviar um datagrama IP a um destinatário conectado à sua rede local, ele entrega o datagrama a interface de rede para ela mapear o endereço IP no endereço físico do computador destino[1].

O endereço físico também é conhecido como endereço de MAC e corresponde ao endereço Ethernet de 48 bits, representado na forma de seis bytes hexadecimais, por exemplo:

00:19:21:55:61:d0

O protocolo ARP, permite encontrar o endereço físico a partir do endereço IP da máquina alvo. Para tal, o protocolo usa um mecanismo de difusão (broadcast) na rede local, enviando uma solicitação a todas as máquinas da rede, sendo que a máquina alvo responde indicando o par endereço IP/endereço físico.

O endereço MAC de difusão na rede local é:

ff:ff:ff:ff:ff:ff

A figura abaixo ilustra o funcionamento do protocolo ARP.

Protocolo ARP e memória cache

Para melhorar a performance do protocolo no mapeamento dos endereços IP em endereços físicos, cada máquina possui uma memória (cache) com as últimas consultas realizadas, evitando múltiplos broadcasts. Ainda como refinamento, junto com o broadcast, a estação solicitante envia seu par endereço IP/endereço físico, permitindo que todas as máquinas da rede incluam este par em suas caches locais.

Quando um hardware é trocado, a máquina que sofreu a mudança se anuncia na rede com o novo par endereço IP/endereço físico, logo após sua entrada em operação.

Laboratório para verificar tabela arp

Comando ifconfig

Executar o comando ifconfig e verificar o endereçamento IP e endereço físico de cada interface de rede:

evandrocantu@NBP-EVANDRO:~$ ifconfig
eth0     Link encap:Ethernet  Endereço de HW a0:1d:48:f7:80:dd  
         UP BROADCAST MULTICAST  MTU:1500  Métrica:1
         pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
         Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
         colisões:0 txqueuelen:1000 
         RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo       Link encap:Loopback Local  
         inet end.: 127.0.0.1  Masc:255.0.0.0
         endereço inet6: ::1/128 Escopo:Máquina
         UP LOOPBACK RUNNING  MTU:65536  Métrica:1
         pacotes RX:8832 erros:0 descartados:0 excesso:0 quadro:0
         Pacotes TX:8832 erros:0 descartados:0 excesso:0 portadora:0
         colisões:0 txqueuelen:0 
         RX bytes:1165815 (1.1 MB) TX bytes:1165815 (1.1 MB)
wlan0    Link encap:Ethernet  Endereço de HW 28:e3:47:10:b8:88  
         inet end.: 192.168.1.111  Bcast:192.168.1.255  Masc:255.255.255.0
         endereço inet6: fe80::2ae3:47ff:fe10:b888/64 Escopo:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Métrica:1
         pacotes RX:1836344 erros:0 descartados:0 excesso:0 quadro:782674
         Pacotes TX:1115596 erros:402 descartados:0 excesso:0 portadora:0
         colisões:0 txqueuelen:1000 
         RX bytes:2672690020 (2.6 GB) TX bytes:92660319 (92.6 MB)
         IRQ:19 

Comando arp

Executar o comando arp, com parâmetro -a, e verificar a tabela ARP que relacona endereços IP e endereços físicos. Esta tabela é dinâmica e fica armazenada em uma memória cache associada a interface de rede.

evandrocantu@NBP-EVANDRO:~$ arp -a
? (192.168.1.1) em 00:1c:f0:52:05:4a [ether] em wlan0
O exemplo mostra o comando executado na máquina do professor, mostrando o endereço IP do roteador padrão da rede e seu endereço físico.

Exercícios

  1. Verifique a configuração de rede da máquina com o comando ifconfig.
  2. Verifique a tabela ARP com o comando arp.
  3. Execute o comando ping em uma máquina da rede local, não constante da tabela ARP. Em seguida execute novamente o comando arp para verificar se a nova máquina entrou na tabela.
  4. Verifique se o IP do roteador padrão está na tabela ARP. Se não estiver, acesse algum site da Internet e verifique novamente a tabela ARP.
  5. Verifique novamente a tabela ARP após um certo tempo e veja se a mesma é modificada.

Captura de pacotes ARP com Wireshark

Execute o wireshark para capturar pacotes na rede local, incluindo pacotes ARP.

Exercícios

  1. Execute o wireshark para capturar pacotes ARP.
  2. Verifique a tabela ARP com o comando arp.
  3. Execute o comando ping em uma máquina da rede local, não constante da tabela ARP. Em seguida execute novamente o comando arp para verificar se a nova máquina entrou na tabela.
  4. Verifique os pacotes ARP capturados pelo wireshark.

Referências

  1. KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem top-down, São Paulo: Pearson, 2010.

--Evandro.cantu (discussão) 11h45min de 6 de outubro de 2014 (BRT)