Sie sind auf Seite 1von 12

13/7/2014 Metropole Digital

http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 1/12
Selecione uma disciplina

Mquinas virtuais
Terminal remoto
Captura de pacotes
Protocolo ARP: Mapeando
endereos de Rede para
endereos de Enlace.
Protocolos TCP e UDP
Traduo de endereos de rede -
NAT
Protocolo DHCP: distribuindo
automaticamente configuraes IP
para as estaes em uma LAN
Sistema de Nomes de Domnio
(DNS)
Autenticao e compartilhamento
de arquivos Parte I
Autenticao e compartilhamento
de arquivos: parte II
Autenticao e compartilhamento
de arquivos: parte III
Web: protocolo HTTP e servidor
Apache
Proxy e servidor Squid
Correio eletrnico
Gerenciamento de redes SNMP,
RMON e CACTI

Voltar Imprimir Topo

Redes de Computadores

Aula 4 Protocolo ARP: Mapeando endereos de Rede para
endereos de Enlace.

Autores:
Marcos Cesar Madruga Alves Pinheiro (Professor)
Carlos Markennede Crescncio deLima (Assistente)
Renato Gondim Sarmento (Assistente)
Joo Paulo Confessor (Assistente)

Contato:
marcos@dimap.ufrn.br
markennedy@dimap.ufrn.br
joaopaulo@dimap.ufrn.br
renato@dimap.ufrn.br


Nesta aula voc aprender um protocolo que de fundamental
importncia para que a pilha de protocolos TCP/IP possa ser
utilizada com qualquer tecnologia de rede fsica, como Ethernet
ou as redes sem fio 802.11, por exemplo. Ver que este
protocolo se chama ARP (Address Resolution Protocol, ou seja,
Protocolo de Resoluo de Endereos), e tem como principal
funo descobrir o endereo MAC da mquina para qual um dado
pacote IP deve ser entregue. Voc aprender porque isso
necessrio e como essa tarefa realizada.
13/7/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 2/12


Aprender que o protocolo ARP utilizado para traduzir endereos
de rede para endereos de enlace, e que normalmente traduz um
endereo IP para um endereo Ethernet.
Entender por que a traduo de endereos de rede para
endereos de enlace necessria.
Entender como a traduo de endereos de rede para endereos
de enlace realizada.
Utilizar uma ferramenta para monitorar o processo de traduo de
endereos.

Por que o protocolo ARP necessrio
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 so transmitidos entre as mquinas em pacotes IP, e que cada pacote contm o endereo IP da
mquina que est enviando o pacote e o endereo IP da mquina para a qual ele deve ser entregue. A Figura 1
mostra o pacote IP que gerado quando uma mquina A quer enviar dados para uma mquina C. Naturalmente os
demais campos do cabealho IP e os cabealhos das camadas de transporte e de aplicao foram omitidos.

Figura 1 - Transmisso usando um pacote IP

Acontece, como voc tambm j sabe, que no existe nenhuma placa de rede que fale IP, que um protocolo da
camada de rede. As placas de rede implementam a camada de enlace, portanto, comunicam-se enviando quadros no
formato definido pela sua tecnologia, como, por exemplo, Ethernet ou 802.11. Naturalmente, do mesmo modo que os
pacotes IP contm campos para os endereos IP, os quadros tambm contm os endereos de enlace (chamados
endereos MAC) da mquina que gerou o quadro e da mquina para a qual ele deve ser entregue. Lembre-se de que
endereo MAC o mesmo que endereo da placa de rede.
O pacote IP transmitido dentro da parte de dados do quadro utilizado pela placa de rede. Assim sendo, para
que o pacote IP seja entregue mquina desejada, precisamos colocar no campo de endereo MAC de destino do
quadro o endereo MAC da mquina que possui o IP com quem queremos falar. O problema que o usurio no sabe
o endereo MAC da mquina com quem quer falar, ele conhece apenas o endereo IP dela! A Figura 2 mostra como o
pacote IP da Figura 1 realmente precisaria ser transmitido. Vamos assumir que a rede utilizada da tecnologia
Ethernet.

13/7/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 3/12
Figura 2 - Enviando um pacote IP dentro do Ethernet

Veja que o campo Endereo Ethernet de origem preenchido com o endereo da placa de rede da mquina local (de
onde o pacote ser enviado), mas o endereo Ethernet de destino no conhecido. Portanto, necessrio que exista
algum mecanismo automtico para se descobrir o endereo Ethernet associado a um endereo IP. Esse mecanismo
existe e o ARP (Protocolo para Resoluo de Endereos, do ingls Address Resolution Protocol).

Embora o ARP seja um protocolo genrico que capaz de traduzir endereos de qualquer protocolo de rede
para endereos de qualquer protocolo de enlace, normalmente seu uso mais frequente traduzir endereos IP
para endereos Ethernet, ou endereos IP para endereos MAC 802.11 nas redes sem fio.

Nos nossos exemplos iremos utilizar a traduo de endereos IP para Ethernet, mas os mesmos procedimentos
explicados se aplicam para outros protocolos e tecnologias de enlace.

Em nossos exemplos utilizamos endereos Ethernet que tenham algo em comum com o endereo IP da mquina,
para que fique mais fcil de voc lembrar. O ltimo byte do endereo Ethernet, por exemplo, normalmente ser
igual ao ltimo byte do endereo IP. Mas lembre-se de que, na realidade, os endereos Ethernet no mantm
nenhuma relao com o IP. Quando voc compra uma placa de rede ela j tem seu endereo Ethernet!

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

Figura 3 - Posio do ARP na pilha de protocolos TCP/IP
13/7/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 4/12

Funcionamento do ARP
Vamos agora entender como o ARP consegue descobrir o endereo Ethernet associado a um endereo IP. Antes dessa
explicao importante que voc se lembre que uma mquina pode enviar um quadro Ethernet para uma nica outra
mquina ou para todas as outras mquinas da rede. No primeiro caso, o endereo da placa de rede da mquina de
destino colocado no campo de endereo de destino do quadro, e este quadro entregue apenas mquina de
destino. No seguindo caso, o campo endereo de destino do quadro preenchido com o endereo especial
FF:FF:FF:FF:FF:FF, chamado Endereo de Broadcast, fazendo com que o quadro seja entregue a todas as mquinas
da rede.
O ARP se aproveita dessa capacidade de enviar um quadro para todas as mquinas da rede para resolver o seu
problema de forma muito simples. Ele apenas envia uma mensagem em broadcast (ou seja, para todas as mquinas
da rede) dizendo: Por favor, quem tem o endereo IP X.X.X.X, informe qual seu endereo Ethernet. Evidentemente,
X.X.X.X substitudo pelo endereo IP para o qual ela quer descobrir o Ethernet. Como todas as mquinas recebem
esta pergunta, a mquina que tiver o endereo IP X.X.X.X responde informando seu Ethernet. importante observar
que essa resposta no enviada em broadcast! Ela enviada diretamente para quem fez a pergunta. Isso possvel
porque o endereo de quem fez a pergunta est no quadro Ethernet que o destino recebeu, no campo endereo de
origem.
A mensagem ARP transmitida dentro da parte de dados do Ethernet, portanto, o campo tipo do quadro Ethernet
contm o cdigo do protocolo ARP, que 0x0806 (em hexadecimal). Alm disso, naturalmente, o pacote IP s ser
transmitido aps 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 invs do cdigo numrico, pois fica mais fcil
de entender. Mas lembre-se que de fato utilizado o valor numrico!
A Figura 4 mostra como ocorre a comunicao mostrada na Figura 2, onde a mquina 10.1.1.1 quer transmitir um
pacote IP para a mquina 10.1.1.3, e, para isso, utiliza o ARP para descobrir seu endereo Ethernet. Na Figura 4(a) a
mquina A envia uma mensagem ARP em broadcast perguntando quem tem o IP 10.1.1.3. Veja que o campo tipo do
quadro Ethernet contm a identificao do protocolo ARP, e que todas as outras mquinas da rede, no caso, B e C,
recebem o quadro, uma vez que ele foi enviado para o endereo de broadcast (FF:FF:FF:FF:FF:FF).

Figura 4(a) - Envio de requisio ARP para descobrir o endereo Ethernet

Na Figura 4(b) vemos que apenas a mquina C responde mensagem ARP, pois ela possui o endereo IP para o qual
se deseja descobrir o endereo Ethernet. As outras mquinas, no caso a mquina B, descartam a mensagem ARP.
Voc pode observar ainda que apenas a mquina A recebe esta resposta, pois o quadro enviado diretamente para o
seu endereo (AA:AA:AA:01:01:01).

Figura 4(b) - Envio de resposta ARP informando o endereo Ethernet

Finalmente, na Figura 4(c), vemos que aps receber a resposta ARP informando qual o endereo Ethernet
(AA:AA:AA:00:00:03) associado ao endereo IP de C (10.1.1.3), o pacote IP que precisa ser enviado para ela
colocado dentro de um quadro Ethernet e enviado.

13/7/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 5/12
Figura 4(c) - Envio do pacote IP aps utilizao do ARP

1. Quais os endereos colocados nos campos
endereo de origem e endereo de destino de um
quadro Ethernet contendo uma mensagem de
requisio ARP?
2. Qual o valor do campo de tipo de um quadro
Ethernet contendo uma mensagem de resposta
ARP?



Formato das Mensagens ARP
Na seo anterior ns descrevemos as mensagem ARPs contendo apenas dois campos: um para o endereo IP e outro
para o endereo Ethernet. Na verdade, como o ARP pode funcionar com vrios protocolos de camada de rede e vrios
protocolos de camada de enlace, as mensagens ARP possuem campos para identificar quais protocolos so utilizados.
Antes de vermos esses campos, saiba que existem apenas dois tipos de mensagem, uma para perguntar pelo
endereo Ethernet associado a um IP, chamada ARP Request, e outra, chamada ARP Reply, para responder essa
requisio, onde a mquina informa o Ethernet associado ao IP. Alm disso, as duas possuem exatamente os mesmos
campos, sendo diferenciadas pelo valor contido em um dos campos do quadro, que indica o tipo de operao. A Tabela
1 mostra os campos de uma mensagem ARP e o significado de cada um.

Nome do Campo Tamanho
(em bytes)
Descricao
Tipo Hardware 2 Cdigo da tecnologia da camada de enlace (Ex: Ethernet. 0x0001 -
hexadecimal)
Tipo Protocolo 2 Cdigo do Protocolo de Rede (Ex: IP. 0x0800 - hexadecimal)
Tam End. Hw 1 Tamanho do endereo de enlace (em bytes). Se for Ethernet, contm
o valor 6.
Tam End. Proto 1 Tamanho do endereo de Rede (em bytes). Se for IP, contm o valor
4.
Operao 2 Cdigo do tipo de mensagem: 0x0001 para o ARP Request, 0x0002
para o ARP Reply.
Endereo
Hardware Origem
- Endereo de Enlace da origem. O tamanho deste campo o valor do
campo Tam End. Hw
Endereo
Protocolo Origem
- Endereo de Rede da origem. O tamanho deste campo o valor do
campo Tam End. Proto
Endereo
Hardware
destino
- Endereo de Enlace da origem. Se for Ethernet, o tamanho 6 bytes.
Endereo - Endereo de Enlace da origem. Se for IP, o tamanho 4 bytes.
13/7/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 6/12
Protocolo Destino
Tabela 1 - Campos do quadro ARP

Para entendermos melhor como os campos de endereo so utilizados, vamos ver os valores que realmente so
enviados nos campos de endereo das mensagens ARP trocadas entre as mquinas A e C do exemplo mostrado na
sesso anterior Figuras 3(a) e 3(b). As duas mensagens so enviadas em quadros Ethernet contendo no campo de
tipo o cdigo do ARP (0x0806 Hexadecimal), sendo que o ARP Resquest enviado para o endereo de broadcast
Ethernet, enquanto o ARP reply enviado diretamente para o endereo Ethernet de A.

Arp Request
Enviada por A
ARP Reply
Enviada por C
Endereo Hardware
Origem
AA:AA:AA:00:00:01 AA:AA:AA:00:00:03
Endereo Protocolo
Origem
10.1.1.1 10.1.1.3
Endereo Hardware
destino
00:00:00:00:00:00:00 AA:AA:AA:00:00:01
Endereo Protocolo
Destino
10.1.1.3 10.1.1.1
Tabela 2 - Valores dos campos de endereo para a comunicao entre A e C

Observe que no ARP Resquest o endereo IP de origem preenchido com zeros, pois exatamente este endereo que
desejamos descobrir.

1. Em um quadro que contm uma mensagem ARP,
qual campo devemos olhar para saber se uma
mensagem ARP Request ou ARP Reply?



Cache ARP
Embora o modelo descrito na seo anterior resolva o problema da resoluo de endereos, ele apresenta dois efeitos
colaterais negativos. O primeiro ocorre pelo fato de enviar mensagens pela rede, pois isso faz com que haja um tempo
(atraso) at que a resposta do ARP chegue, causando um atraso no envio do pacote que se deseja transmitir. O
segundo efeito negativo se deve ao fato das mensagens serem transmitidas a todas as mquinas na rede. Isso
aumenta o volume de trfego nessa rede, podendo levar a uma reduo no seu desempenho. O ideal que a maior
parte da capacidade de transmisso de uma rede seja destinada aos dados das aplicaes dos usurios. Quanto mais
informaes para outras finalidades a rede transmitir, como o caso do ARP, menos banda de rede sobre para os
usurios.
Para minimizar os dois problemas citados, o ARP utiliza uma tabela (chamada de cache arp) onde ele guarda as
informaes que j descobriu. As duas principais colunas desta tabela so endereo IP e endereo MAC. Desse modo,
cada linha desta tabela contm um endereo IP e o seu endereo MAC (tipicamente um endereo Ethernet ou 802.11).
Usando a tabela, o funcionamento do ARP fica da seguinte maneira: quando uma mquina precisa enviar um pacote
para um determinada endereo IP, ela primeiro verifica se este endereo IP j se encontra na tabela ARP. Se ele existir
l, basta obter seu endereo Ethernet a partir da tabela. Neste caso, nenhuma mensagem enviada. Caso o
endereo IP no exista na tabela, a sim, enviada a mensagem ARP (ARP request) pela rede. Quando a resposta do
ARP chegar (ARP Reply), alm de ser utilizada para o envio do pacote IP, inserida uma entrada na tabela cache
associando o IP e o Ethernet. A Figura 5 mostra um fluxograma que descreve o funcionamento do ARP.

13/7/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 7/12
Figura 5 - Fluxograma do ARP usando a tabela cache

Veja que o fluxograma mostra que pode existir uma situao onde enviamos uma requisio ARP e no recebemos
resposta. Isso normal, e acontecer sempre que tentarmos acessar um endereo IP para o qual no existe nenhuma
mquina na nossa rede. Isso acontecer, por exemplo, quando a mquina que voc tenta acessar est desligada.
Nesses casos, embora no tenha sido mostrado no fluxograma, tambm ser inserida uma entrada na tabela cache
para o endereo IP, mas no haver um endereo Ethernet associado. Essa entrada servir apenas para vermos que
j tentamos nos comunicar com aquele IP e no conseguimos resposta. Portanto, sempre que algum precisar se
comunicar com esse IP, uma nova requisio ARP ser enviada pela rede!
importante observar que as entradas cadastradas na tabela cache no podem ficar l para sempre. Para entender
por que, suponha, por exemplo, que descobrimos que o endereo IP 200.1.1.1 est associado ao endereo Ethernet
AA:AA:AA:01:01:01 e inserimos esta entrada na tabela cache. Descobrimos tambm que o endereo IP 200.2.2.2 est
associado ao endereo Ethernet AA:AA:AA:02:02:02 e inserimos esta entrada na tabela cache. Podem acontecer as
seguintes duas situaes que levariam a um erro:
depois de algum tempo, as mquinas podem ter sido reinicializadas e terem obtido outros endereos IP.
Suponha que aps a reinicializao a mquina com endereo Ethernet AA:AA:AA01:01:01, obteve-se o endereo
IP 200.2.2.2 e a mquina com endereo Ethernet AA:AA:AA:02:02:02 obteve o endereo IP 200.1.1.1. Se voc
usasse as informaes que esto na tabela cache, quando tentasse transmitir um pacote para o endereo IP
200.1.1.1 voc o enviaria para o endereo Ethernet AA:AA:AA:01:01:01, o que est errado! Como esse
endereo MAC agora est associado ao IP 200.2.2.2, voc enviaria o pacote para a mquina errada!
a placa de rede da mquina 200.1.1.1 que possua endereo Ethernet AA:AA:AA01:01:01 pode ter dado algum
problema e ter sido trocada por outra. Como o endereo Ethernet um endereo gravado na prpria placa, a
nova placa de rede ter outro endereo Ethernet! Portanto, se continuasse usando as informaes
armazenadas na tabela cache inicialmente, voc no conseguiria mais se comunicar com a mquina 200.1.1.1.
Para minimizar os dois problemas citados, cada linha da tabela cache possui uma terceira coluna, que guarda uma
informao de tempo, chama timestamp. Essa coluna contm o instante do tempo em que a entrada foi inserida na
tabela. Assim, se depois de certo tempo em que foi inserida a entrada no for utilizada, ela removida. Alm disso,
mesmo as entradas utilizadas so removidas depois de certo tempo (que naturalmente maior que o das entradas
no utilizadas). Por fim, saiba que a tabela cache de ARP normalmente chamada apenas de Tabela ARP.

13/7/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 8/12
1. Para que serve a Tabela ARP?



Manipulando a cache
Podemos facilmente listar o contedo da tabela ARP a partir de comandos do sistema operacional. O comando para
listar o contedo da tabela : arp n. Vamos usar este comando vendo alguns exemplos prticos.

Quando tudo d certo
Supondo que temos uma rede como a mostrada na Figura 3. Vamos ver o que acontece quando a mquina A (10.1.1.1)
vai enviar um ping para a mquina C (10.1.1.3).
Suponha que a mquina A acabou de ser ligada e ainda no se comunicou com ningum. Desse modo, antes de
executar o comando ping na mquina A podemos ver que sua tabela ARP est vazia, digitando o comando arp n. Veja
na Figura 6 que nada mostrado.

Figura 6 - Tabela ARP vazia

A seguir, o usurio da mquina A realiza o comando ping para a mquina C. Como podemos ver na Figura 7, a mquina
C enviou as respostas, de modo que o comando foi bem sucedido.

Figura 7 - Comando Ping executado com sucesso

Como a mquina A precisou descobrir o Ethernet associado ao endereo de C (10.1.1.3) para poder lhe enviar os
pacotes, ela lhe enviou primeiro uma mensagem ARP e colocou a resposta na Tabela ARP (cache). Podemos verificar
isso digitando o comando arp n na mquina A, conforme mostrado na Figura 8.

Figura 8 - Tabela ARP contendo o endereo Ethernet associado ao IP 10.1.13

A coluna Address mostra o endereo IP ao qual o Ethernet mostrado na coluna HWaddress est associado. A coluna
HWtype diz que o tipo do endereo da coluna HWaddress um endereo Ethernet, e a coluna Iface diz qual das placas
de rede da mquina A est conectada na rede onde a mquina C se encontra (lembre-se que se a mquina A fosse um
roteador ela teria mais de uma placa de rede).
13/7/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 9/12
Como j explicamos antes, essa entrada fica guardada na Tabela ARP por certo tempo (tipicamente dois
minutos) e depois apagada. Durante o tempo em que ela est na cach, se a mquina A tentar se comunicar com a
mquina C, no ser necessrio enviar uma nova mensagem ARP. Depois que ela for excluda a prxima tentativa de
comunicao com C ir gerar novamente uma mensagem ARP e a resposta ser includa na Cache. O processo continua
sempre desse modo, com as informaes sendo includas e apagadas da cache. Portanto, se esperssemos
aproximadamente 2 minutos e executssemos o comando arp n novamente na mquina A, veramos que sua tabela
ARP estaria vazia novamente.

Otimizao do ARP
Normalmente uma mquina que recebe um pacote IP de outra envia pacotes de volta para esta mquina. Assim sendo,
quando uma mquina recebe uma requisio ARP ela pode j inserir o endereo IP e o Ethernet da mquina que lhe
enviou o quadro na sua tabela cache. Isso evita que ela precise enviar uma requisio ARP para a mquina de origem
quando tentar se comunicar com ela.
Desse modo, no exemplo que mostramos a mquina A enviando um ping para a mquina C , a mquina C,
ao receber a requisio ARP perguntando pelo seu IP (10.1.1.3), j insere o endereo IP (10.1.1.1) e o Ethernet
(AA:AA:AA:00:00:01) da mquina A na sua cache. Assim, quando C for responder ao ping, o endereo Ethernet de A j
vai ser conhecido e no ser necessrio enviar uma nova requisio ARP. Na Figura 9, mostramos a tabela ARP da
mquina C aps receber o ping de A. Veja que foi inserida uma entrada para o IP e Ethernet de A.

Figura 9 - Tabela Cache da Mquina C aps receber ping de A

Talvez voc esteja se perguntando: Espere a, como tenho certeza se essa entrada foi inserida automaticamente
quando C recebeu o ARP ou aps ele tentar enviar a resposta do ping?
Se voc pensou isso, tem razo. Apenas olhando a tabela no d para saber, pois quando C tentasse enviar a
resposta do ping, ele iria primeiro enviar uma mensagem ARP para A, de modo que a tabela seria preenchida do
mesmo jeito!
Para termos certeza que C no enviou nenhuma mensagem de requisio ARP, basta capturarmos os quadros
transmitidos. Isso pode ser feito em A, em C, ou em qualquer mquina da rede, uma vez que os quadros so enviados
em broadcast. Vamos capturar na mquina B veja Figura 4(c). Na Figura 10, que mostra os quadros capturados
durante o envio e a resposta do ping de A para C, voc pode ver que em nenhum momento C envia mensagens de
requisio ARP para A! Ele envia apenas a resposta ao pedido feito por A.
A linha 4 da Figura 10 mostra a mensagem de ARP Request (requisio), onde 10.1.1.1 perguntou quem tem (Who-has)
o IP 10.1.1.3. A linha 5, mostra o ARP Reply (resposta), onde 10.1.1.3 responde dizendo que o endereo Ethernet (is-
at) AA:AA:AA:00:00:03. As demais 6 linhas representam os trs pacotes ping trocados entre as mquinas. Desse
modo, as linhas 6 e 7 so referentes ao primeiro pacote ping (veja a indicao seq 1), e mostram, respectivamente, a
requisio ping enviada de 10.1.1.1 para 10.1.1.3 e a resposta enviada de 10.1.1.3 para 10.1.1.1.

Figura 10 - Captura de quadros na rede durante a comunicao entre A e C

Quando no obtemos resposta
Vamos ver agora como fica a tabela ARP quando tentamos nos comunicar com algum que no responde a mensagem
ARP (provavelmente porque a mquina est desligada, ou porque digitamos um endereo IP que no pertence a
ningum da rede).

13/7/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 10/12
Figura 11 - Tabela ARP com endereo Ethernet no localizado

Veja na Figura 11 que inicialmente enviamos um ping para o endereo IP 10.1.1.5, para o qual sabemos no existir
nenhuma mquina com este endereo na rede. A resposta do ping, Destination Host Unreachable, significa Mquina
de Destino Inalcanvel, ou seja, ningum respondeu ao ping enviado. A verdade que o ping nem mesmo chegou a
ser enviado! Como a mquina de origem e a de destino pertencem mesma rede (10.1.1.0), a mquina A enviou
primeiro uma mensagem ARP perguntando pelo Ethernet de 10.1.1.5, mas ningum respondeu! O valor (incomplete)
na coluna HWaddress mostra que no foi possvel descobrir o endereo Ethernet associado ao IP 10.1.1.5. Como esta
entrada na tabela est incompleta, sempre que algum tentar se comunicar com o endereo IP 10.1.1.5 uma nova
mensagem ARP ser enviada.

Alterando a tabela ARP
Alm de verificar o contedo da cache tambm possvel excluir alguma entrada ou cadastrar uma entrada de modo
permanente. Saiba, entretanto, que normalmente voc no precisa utilizar esses comandos, pois o ARP funciona sem
requer nenhuma configurao.
O cadastro permanente de endereos na cache chamado esttico e asentradas inseridas desta forma nunca so
apagadas depois de certo tempo. Embora fornea um nvel maior de segurana que o modo dinmico, pois dificulta a
tentativa de algum em se passar por um determinado endereo, menos flexvel que o modo dinmico. se a
mquina mudar seu IP ou Ethernet, voc ter que mudar o registro manualmente. O comando para inserir um registro
associando o endereo Ethernet xx:xx:xx:xx:xx:xx com o IP A.B.C.D : arp s A.B.C.D xx:xx:xx:xx:xx:xx.
A excluso de registros da cache muito utilizada quando voc quer fazer testes, e eventualmente quando voc
detecta que algum endereo na cache ainda no foi atualizado aps voc trocar a placa de rede de alguma mquina. A
Figura 12 mostra como possvel excluir o endereo Ethernet associado a um IP. Veja que aps a excluso o endereo
aparece como incompleto.

Figura 12 - Excluindo um endereo Ethernet da tabela ARP

Mquinas em redes diferentes e o ARP
Vamos agora analisar o que acontece com o ARP em um cenrio diferente do que usamos nos exemplos anteriores,
onde todas as mquinas estavam na mesma rede. Nesse nosso cenrio, que mostrado na Figura 13, as mquinas A
e C esto em duas redes diferentes, e a mquina B agora um roteador que possui duas placas de rede, uma
conectada a cada rede.

Figura 13 - ARP com mquinas em redes diferentes

Observe que a placa de rede eth0 de B possui IP 10.1.1.1 e Ethernet AA:AA:AA:00:01:01, e a placa eth1 possui IP
10.2.2.1 e Ethernet AA:AA:AA:00:02:01. Alm disso, o Gateway (roteador padro) da mquina A 10.1.1.1 e o
Gateway da mquina C 10.2.2.1. O que ser que acontece quando A realiza um ping para C? Qual endereo Ethernet
13/7/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 11/12
ser colocado na Tabela ARP de A?
Vamos olhar logo como a tabela ARP fica, e depois explicamos. Veja na Figura 14 a tabela cache de A aps o ping para
C.

Figura 14 - Tabela ARP aps ping para mquina em outra rede

Entendeu o que aconteceu? Ou seja, se tentamos nos comunicar com a mquina C, por que apareceram os endereos
IP e Ethernet do roteador (mquina B)?
A resposta que como A e C esto em redes diferentes, no h como enviar o pacote IP diretamente para C. Esse
pacote precisa ser enviado para o roteador da rede onde A se encontra. Se tiver com dvidas quanto a esse este
assunto, volte na parte de roteamento da disciplina de Sistemas de Conectividade e faa uma reviso. Assim sendo,
no faria sentido enviar uma ARP tentando descobrir o Ethernet de C.
Para enviar o pacote IP para o roteador necessrio colocar o endereo Ethernet do roteador no campo de destino do
quadro Ethernet. aqui que o ARP entra. Como a mquina B sabe o endereo IP do roteador da sua rede, ela envia
uma requisio ARP perguntando por esse IP. Na verdade ela no quer enviar nenhum pacote para o endereo IP do
roteador, ela quer apenas descobrir seu Ethernet!
A Figura 15 mostra os pacotes capturados (apenas os primeiros pacotes) na mquina B, quando a mquina A enviou
um ping para C. Veja que B recebe uma requisio ARP vinda de A (10.1.1.2) para seu IP (10.1.1.1), e envia a
resposta. Observe tambm que, embora os pacotes de ping sejam enviados ao roteador (para seu Ethernet),
naturalmente o endereo IP de destino do pacote o IP de C (10.2.2.2).

Figura 15 - Mensagens ARP quando as mquinas origem e destino esto em redes diferentes

Resumo
Nesta aula voc aprendeu que o protocolo ARP traduz endereos da camada de rede para endereos da camada de
enlace (endereos MAC), e que na maioria das redes esses protocolos so o IP e o Ethernet. Aprendeu que esse
protocolo envia uma mensagem ARP Resquest para o endereo de broadcast da rede perguntando quem tem um
determinado endereo IP. Viu que, aps isso, a mquina que possui esse IP envia uma resposta diretamente para
quem enviou a solicitao, contendo o Ethernet associado ao IP informado. Voc aprendeu tambm que para reduzir o
trfego gerado na rede, e o tempo para obter a informao, o ARP faz uso de uma tabela cache (chamada de tabela
ARP) que mantm os endereos (IP e Ethernet) recentemente descobertos.

Acesse o Laboratrio 1 desta aula (Aula 1) no Virtualbox e
realize os seguintes procedimentos.
1. Verifique a tabela ARP da mquina A.
2. Coloque o tcpdump para executar na mquina B.
Execute um ping da mquina A para a mquina C.
Depois verifique como ficaram as tabelas ARP das
mquinas A, B, e C.
3. Verifique os pacotes capturados no passo anterior
pelo tcpdump e veja se foram trocados os pacotes
que voc esperava.
4. Execute o ping de A para C novamente e veja os
pacotes capturados em B.
5. Na mquina A, exclua a entrada referente ao IP de
C e execute o ping novamente de A para C. Mais
uma vez analise os pacotes capturados em B.

Referencias
FOROUZAN, B. Comunicao de dados e redes de computadores. 3. ed. Porto Alegre: Bookman, 2006.
KUROSE, J.; ROSS, K. Redes de computadores e a internet. 5. ed. So Paulo: Addison Wesley, 2010.
13/7/2014 Metropole Digital
http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/rede_comp/aula_04.html 12/12
TANENBAUM, Andrew S. Redes de computadores. 4. ed. Rio de Janeiro: Editora Elsevier, 2003.

Voltar Imprimir Topo