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

Por que o Protocolo ARP é Necessário?

Você sabe que nas redes que utilizam o protocolo IP, como é o caso da internet e da maioria das redes das empresas atualmente, os dados são transmitidos entre os computadores em pacotes IP; cada pacote contém o endereço IP do computador que está enviando o pacote; e o endereço IP do computador para o qual ele deve ser entregue. A Figura 1 mostra o pacote IP que é gerado quando uma máquina A quer enviar dados para uma máquina C. Naturalmente, os demais campos do cabeçalho IP, e os cabeçalhos das camadas de transporte e de aplicação, foram omitidos.

Transmissão usando um pacote IP

O problema é que, como você já sabe, não existe nenhuma placa de rede que fale IP, que é um protocolo da camada de rede. As placas de rede implementam a camada de enlace e, portanto, se comunicam enviando quadros no formato definido pela sua tecnologia, como por exemplo, Ethernet ou 802.11. Naturalmente, do mesmo modo que os pacotes IP contêm campos para os endereços IP, os quadros também contêm os endereços de enlace (chamados endereços MAC) do computador que gerou o quadro e do computador para o qual ele deve ser entregue. Lembre-se de que endereço MAC é o mesmo que endereço da placa de rede.

O pacote IP é transmitido dentro da parte de dados do quadro utilizado pela placa de rede. Para que o pacote IP seja entregue ao computador desejado, precisamos colocar no quadro, no campo de endereço MAC de destino, o endereço MAC do computador que possui o IP com quem queremos falar. O problema é que o usuário não sabe o endereço MAC do computador com quem quer falar, ele conhece apenas o endereço IP dele. A Figura 2 mostra como o pacote IP da Figura 1, realmente, precisaria ser transmitido. Vamos assumir que a rede utilizada é da tecnologia Ethernet.

Enviando um pacote IP dentro do Ethernet

Veja que o campo Endereço Ethernet de origem é preenchido com o endereço da placa de rede da máquina local (de onde o pacote será enviado), mas o endereço Ethernet de destino não é conhecido. Portanto, é necessário que exista algum mecanismo automático para se descobrir o endereço Ethernet associado a um endereço IP. Esse mecanismo existe e é o ARP (Protocolo para Resolução de Endereços, do inglês Address Resolution Protocol).

Embora o ARP seja um protocolo genérico que é capaz de “traduzir” endereços de qualquer protocolo de rede para endereços de qualquer protocolo de enlace, normalmente, seu uso mais frequente é traduzir endereços IP para endereços Ethernet, ou endereços IP para endereços MAC 802.11, nas redes sem fio.

Em nossos exemplos, iremos utilizar a tradução de endereços IP para Ethernet, mas os mesmos procedimentos explicados se aplicam para outros protocolos e tecnologias de enlace. Para que fique mais fácil para você lembrar, utilizemos endereços Ethernet que tenham algo em comum com o endereço IP do computador. O último byte do endereço Ethernet, por exemplo, normalmente, será igual ao último byte do endereço IP. Mas lembre-se que, na realidade, os endereços Ethernet não mantém nenhuma relação com o IP. Quando você compra uma placa de rede ela já tem seu endereço Ethernet.

Para finalizar esta seção, veja, na Figura 3, onde o protocolo ARP se situa na pilha de protocolos TCP/IP.

 Posição do ARP na pilha de protocolos TCP/IP

Versão 5.3 - Todos os Direitos reservados