Cursos / Redes de Computadores / Redes de Computadores I / Aula

arrow_back Aula 02 - Protocolo ARP: Mapeando endereços de Rede para endereços de Enlace

Funcionamento do ARP

Vamos, agora, entender como o ARP consegue descobrir o endereço Ethernet associado a um endereço IP. Antes dessa explicação, é importante que você se lembre de que um computador pode enviar um quadro Ethernet para um único outro computador, ou para todos os outros computadores da rede. No primeiro caso, o endereço da placa de rede do computador de destino é colocado no campo de “endereço de destino” do quadro, e esse quadro é entregue apenas ao computador de destino. No segundo caso, o campo “endereço de destino” do quadro é preenchido com o endereço especial FF:FF:FF:FF:FF:FF, chamado “Endereço de Broadcast”, fazendo com que o quadro seja entregue a todos os computadores da rede.

O ARP se aproveita dessa capacidade de enviar um quadro para todas as máquinas da rede para resolver o seu problema de forma muito simples. Ele apenas envia uma mensagem em broadcast (ou seja, para todas as máquinas da rede) dizendo: “Por favor, quem tem o endereço IP X.X.X.X, pode me informar qual é seu endereço Ethernet?”. Evidentemente, X.X.X.X é substituído pelo endereço IP para o qual ela quer descobrir o Ethernet. Como todas as máquinas recebem essa pergunta, a máquina que tiver o endereço IP X.X.X.X responde informando seu Ethernet. É importante observar que essa resposta não é enviada em broadcast. Ela é enviada diretamente para quem fez a pergunta. Isso é possível porque o endereço de quem fez a pergunta está no quadro Ethernet que o destino recebeu, no campo “endereço de origem”.

A mensagem ARP é transmitida dentro da parte de dados do Ethernet, portanto, o campo “tipo” do quadro Ethernet contém o código do protocolo ARP, que é 0x0806 (em hexadecimal). Além disso, naturalmente, o pacote IP só será transmitido após o envio do quadro ARP e do recebimento da resposta. Ainda sobre o valor do campo “tipo”, nos nossos exemplos, quando mostrarmos um quadro, utilizaremos a palavra “ARP” ao invés do código numérico, pois fica mais fácil de entender. Mas lembre-se que, de fato, é utilizado o valor numérico.

A Figura 4 mostra como ocorre a comunicação mostrada na Figura 2, onde a máquina 10.1.1.1 quer transmitir um pacote IP para a máquina 10.1.1.3, e, para isso, utiliza o ARP para descobrir seu endereço Ethernet. Na Figura 4, a máquina A envia uma mensagem ARP em broadcast perguntando quem tem o IP 10.1.1.3. Veja que o campo “tipo” do quadro Ethernet contém a identificação do protocolo ARP, e que todas as outras máquinas da rede, no caso, B e C, recebem o quadro, uma vez que ele foi enviado para o endereço de broadcast (FF:FF:FF:FF:FF:FF).

Envio de requisição ARP para descobrir o endereço Ethernet

Na Figura 5, vemos que apenas a máquina C responde a mensagem ARP, pois ela possui o endereço IP (10.1.1.3) para o qual se deseja descobrir o endereço Ethernet. As outras máquinas, no caso a máquina B, descartam a mensagem ARP. Você pode observar, ainda, que apenas a máquina A recebe essa resposta, pois o quadro é enviado diretamente para o seu endereço (AA:AA:AA:01:01:01).

Envio de resposta ARP informando o endereço Ethernet

Finalmente, na Figura 6, vemos que após receber a resposta ARP informando qual é o endereço Ethernet (AA:AA:AA:00:00:03) associado ao endereço IP de C (10.1.1.3), o pacote IP que precisa ser enviado para ela é colocado dentro de um quadro Ethernet e enviado.

Envio do pacote IP após utilização do ARP

Versão 5.3 - Todos os Direitos reservados