Laboratório: Protocolo ARP

De Wiki Cursos IFPR Foz
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

O comando ifconfig, mostra a configuração de rede de uma máquina Linux, incluindo 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 

Contudo, para verificar a relação entre os endereços IP e os endereços físicos de outras máquinas da rede local, é necessário contar com o apoio do protocolo ARP.

Comando arp

O comando arp, com parâmetro -a, mostra todas as entradas ARP armazenadas na memória cache de uma máquina Linux, como no exemplo abaixo, relacionando endereços IP e endereços físicos.

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.

Para visualizar a modificação da tabela ARP, execute o comando ping em outras máquinas da rede local, e em seguida, execute novamente o comando arp para verificar se a nova máquina entrou na tabela.

Observe que a tabela arp é dinãmica, incluindo novos pares endereço IP/endereço físico a cada novo acesso a uma máquina e também retirando pares da tabela após decorrido um tempo de vigência do dado.

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)