Já ouviu falar no Address Resolution Protocol (ARP)? No mundo das redes informáticas existem muitos protocolos e tecnologias. Estes são usados frequentemente pelas máquinas e o utilizador nem se apercebe o que “acontece”. Tudo funciona de forma muito simples e transparente.
Hoje mostramos como funciona o protocolo. Vejam o exemplo de funcionamento.
Antes de passar a explicação do protocolo propriamente dito, apenas recordar o que são endereços físicos e endereços lógicos.
- Endereços físicos – Um endereço físico é o endereço MAC (Media Access Control) que está associado a um determinado equipamento. Esse endereço é composto por 48 bits (12 caracteres hexadecimais). Exemplo: 82:48:69:29:bc:00
- Endereços lógicos – Os endereços lógicos são os endereços IP (IPv4 ou IPv6) que configuramos num determinado terminal. Exemplo: 192.168.10.1
Uma máquina não consegue enviar diretamente dados para outra máquina usando apenas o endereço lógico (endereço IP). Na prática, o endereço lógico de destino serve para descobrir o endereço físico (endereço MAC, associado à placa de rede) e assim a camada 2 do modelo OSI entregar Data Frames à máquina de destino.
O que é e como funciona o protocolo ARP
Na prática, o ARP é um mecanismo para o IPv4 funcionar em redes IPv4. Este protocolo está definido no RFC 826 e permite determinar qual o endereço MAC de uma máquina de destino.
Vamos a um exemplo de funcionamento do protocolo ARP
- Vamos considerar que o PC-A com o endereço IP: 192.168.0.1 quer comunicar com o PC-B que tem o endereço IP: 192.168.0.3 (os PCs estão na mesma rede). Primeiro o PC-A verifica se o endereço de destino 192.168.0.3 é seu. Se o endereço estiver configurado numa interface local, a comunicação mantém-se na máquina. Se o endereço de destino não é seu, o PC-A verifica se este está na mesma rede. Par tal, o PC-A consulta a sua tabela de encaminhamento local para obter tal informação. Neste exemplo, as máquinas estão na mesma rede.
- O PC-A verifica a sua tabela ARP (podem ver esta informação através do comando arp –a) para saber se já existe alguma informação relativamente ao endereço físico do PC-B. Caso exista, esse endereço é usado.
- Caso o PC-A não tenha nenhuma informação na tabela ARP do PC-B, o protocolo ARP envia uma mensagem de broadcast (para o endereço FFFF.FFFF.FFFF) a “questionar” (ARP Request) a quem pertence o endereço IP (neste caso o endereço IP do PC-B).
- O PC-B responderá à mensagem ARP enviada pelo PC-A, enviando o seu endereço físico.
- O PC-A guardará essa informação na sua tabela ARP (que fica guardada na memória RAM do PC)
Nota: No caso do envio de informação para fora do domínio da rede local,o endereço físico a ser registado na tabela ARP de um PC local será o endereço físico do gateway.
A resolução de endereços físicos em endereços lógicos também é possível, sendo para isso necessário recorrer ao protocolo RARP (Reverse Address Resolution Protocol – RFC 903).