ARP –
Address Resolution Protocol |
||||
Objetivo Descobrir o endereço físico (MAC Address) de um
host, a partir de seu endereço lógico (IP Address). Cada hosts mantém uma lista, camada arp cache
que pode ser vista com o comando arp –a. Se o endereço necessário não estiver aí, um
broadcast será propagado. A máquina possuidora do endereço responderá com
um unicast, informando seu endereço físico. |
|
|||
A máquina solicitante irá armazenar esta
informação em seu arp cache. |
|
|||
Formado
do cabeçalho – RFC 826 Verifique
o formato conforme decodificado pelo Ethereal neste trace file. Repare
que o ARP não é encapsulado pelo protoloco IP, ficando diretamente sobre o
cabeçalho Ethernet. Hardware
type: tipo de interface procurada; 1 para Ethernet. Protocol
type: protocolo cujo endereço lógico é fornecido; segue
a mesma numeração do cabeçalho Ethernet – 0800 = IP |
|
|||
Hardware
size e Protocol size: permitem que o ARP seja usado
para protocolos de vários tamanhos de endereços. No caso do Ethernet, são 6
bytes, e do IP, 4 bytes. Operation
Code: indica se é um request ou um reply. |
||||
Funcionamento Usando a
figura ao lado teremos os seguintes passos: 1. A
máquina A verifica que o destino do ping está em outra rede. 2. A
máquina A consulta o endereço lógico do seu default gateway, que é
10.0.0.254. 3. A
máquina A verifica seu arp cache para descobrir o endereço físico do
roteador. 4. Caso
não encontrar, ela propagará um broadcast arp perguntando o endereço físico
da máquina 10.0.0.254. 5. O
roteador responde com um unicast à máquina A informando seu endereço físico. |
|
|||
6. A máquina
A termina de montar o frame com o
endereço físico do roteador e envia para ele. 7. O
roteador recebe o pacote, e o processo se repete até a máquina B. 8. Para
responder, a máquina B terá que fazer um processo semelhante, se ela não tiver
em cache o endereço MAC do servidor. |
||||
Referências ARP
Tutorial - http://www.inetdaemon.com/tutorials/lan/arp.html
|
||||