You are on page 1of 5

ARP Address Resolution Protocol

Descobre o MAC remoto dado um endereo IP conhecido.

Dentro do cabealho de um quadro ethernet de camada 2 temos o endereo


MAC de origem e destino.
Por sua vez, o pacote IP de camada 3 tambm est dentro do quadro
ethernet, onde aloca o endereo IP de origem e destino.
Em uma rede local, temos um host A que faz um ping para um host B e
monta esse quadro ethernet com dois PDUs: um ethernet de camada 2 e um
IP de camada 3. Para isso, o IP e MAC de origem ele j sabe, porm
considerando os destinos, apenas o IP conhecido. E o endereo MAC?
ARP em uma LAN

No esquema acima, o host A realiza um ping para 192.168.1.2, mas no


quadro ethernet falta o MAC de destino. Por padro uma mquina no
conhece o endereo fsico de outras mquinas, pois no tem por que
guardar essas informaes. Por isso o ARP utilizado.
Ento o host A realiza uma consulta por meio de um ARP request em
broadcast para o MAC ffff.ffff.ffff com todos os bits em 1. Dessa forma, todos
na rede local recebem a requisio que processada, e percebendo que
um ARP request com o IP de destino 192.168.1.2, apenas quem possui esse
IP ir responder.
O host responder com um ARP reply, mandado em unicast, pois ele tem o
IP de quem fez a requisio, que enviado contendo o seu MAC.
Agora sim. O host A de posse de todos os dados monta o quadro ethernet
contendo os endereos IPs e MACs (origem e destino) e o envia. Esse quadro

ethernet reconhecido pelo switch que o envia direto para o destino. O host
de destino, assim que recebe a solicitao responde direto para quem a fez.

A funo do ARP essa: descobrir o endereo MAC quando voc est em


uma rede local padro ethernet, o mesmo vale para wireless LAN. Estando
em uma rede local os dois hosts comunicam-se diretamente, no
necessrio roteador.

ARP em uma WAN


Em uma rede diferente como na WAN ou em outra subrede o roteador
necessrio.

Neste caso, o host A quer falar com o servidor www.exemplo.com.br


localizado na internet com o IP de internet: 200.200.200.1 descoberto pelo
DNS.
O host A analisa o IP e percebe que no est na mesma rede que ele. Ento
ele envia um ARP request solicitando o MAC do gateway. Na prtica, isso
no pode ser visualizado por meio de um sniffer que captura tudo o que
acontece um uma rede, porque quando configuramos um default gateway
no computador ele j pede o MAC daquele gateway.
O host A quando comea a funcionar na rede, antes mesmo de ele se
comunicar com qualquer um ele j pediu o MAC do gateway default.
Isso acontece a maioria das vezes porque h vrias coisas funcionando
dentro do Windows ou Linux, por exemplo, que obriga ele a pegar o IP do
gateway para fazer algumas consultas, ento ele provavelmente j tem isso
mapeado.
Mas supondo que ele no tenha nada disso configurado (O IP do gateway
pode ser configurado na placa de rede manualmente ou via DHCP) e no
saiba o endereo do gateway.
Nesse caso, ele far um ARP request solicitando o IP do gateway. O host A
quando est se comunicando com algum que no est na mesma rede que

ele, pega o MAC do gateway porque ele no est na mesma rede e ele tem
que mandar para algum que conhea aquela rede remota, normalmente
quem conhece a rede remota o gateway.
O gateway est configurado na placa de rede justamente por isso, para que
voc possa se comunicar com redes diferentes da sua. Para se comunicar
com algum da sua prpria rede voc no precisa de gateway.
Quando o host A montar o quadro de camada 2 o endereo de origem o
seu, agora o MAC de destino no vai ser o do IP 200.200.200.1, e sim o do
gateway. Nesse mesmo quadro, o IP de origem seu e o de destino o
200.200.200.1.
Por isso o gateway padro necessrio, seno deveramos configurar todos
os computadores de uma rede como roteador contendo tudo quanto rota
para a internet e isso no faz sentido. Os computadores ficam o mais limpo
possvel dessas informaes (conhecer tudo da internet) e o gateway
padro faz todo esse servio.
Lembrando tambm, que nem todo gateway padro conhece tudo quanto
rota para internet. s vezes necessrio ele consultar outros gateways que
esto na internet e esses sim conhecem tudo: so os full routers (routing).
Existem computadores que necessitam ter um protocolo de roteamento e
saber como isso funciona. H servios que exigem isso, e seus servidores
(no computadores comuns) podem funcionar com protocolos de
roteamento como o RIP e OSPF. Ou seja h servidores que funcionam como
gateway.

ARP em redes WAN com mais de um roteador

O host A faz um ping para o host B e analisa: est na mesma rede que eu?
No. Est em rede diferente. Em seguida verifica se h um gateway
configurado em sua placa de rede e faz um ARP request para o MAC do
gateway R1. R1 devolve o quadro contendo seu MAC para o host A que
envia a solicitao de ping para R1 novamente.

O quadro agora contm o MAC de origem do host A e o de destino o MAC


de R1, o IP de origem do host A e o de destino o do host B.
R1 consulta sua tabela de roteamento e v que deve sair pela interface de
WAN 0, chegando a R2, tambm consulta sua tabela e sai pela interface de
WAN 1, j em R3, que olha sua tabela e percebe que deve mandar para a
rede local LAN 1 onde o host B est.
Note que de R1 para R2, assim como de R2 para R3 no necessrio fazer
ARP, pois so interfaces seriais ponto-a-ponto que tem os endereos todos
em 1. Ento eles simplesmente mandam pra frente.
Quando em R3, como chegou-se em uma LAN o roteador no sabe qual o
MAC do host B, ento ele realiza um ARP pedindo o MAC do host B que
devolve, agora sim, o roteador envia os pacotes mandados pelo host A para
o host B.
O encaminhamento em cada meio fsico, por exemplo, nos switches e links
seriais tratado localmente, no importando o que est sendo mandado. O
quadro de camada 2 em qualquer um dos meios fsicos citados sempre
alterado, na LAN o quadro ethernet, na WAN ele pode ser PPP, Frame
Relay ou HDLC.
O pacote IP contendo em si as mensagens do TCP, que por sua vez contm
o contedo que a aplicao mandou nunca alterado.

Enfim, o ARP fundamental em uma rede, seja ela LAN ou WAN, padro
ethernet ou wireless para que a comunicao funcione direito.

Tabela ARP
A tabela ARP no Windows pode ser visualizada via cmd pelo comando arp
a, onde se encontram apenas endereos da prpria rede, um micro nunca
coloca um endereo IP ou MAC de uma rede diferente da sua em sua tabela
ARP. So endereos de multicast usados pelo Windows para alguns servios
padro, endereos do gateway (lgico e fsico) entre outros. Ento a tabela
guarda endereos MAC com quem o Windows conversou. Alguns endereos
so aprendidos de maneira dinmica, j outros so estticos configurados
pelo Windows, como o endereo de broadcast mapeado estaticamente pelo
sistema. Tudo que aprendido dinamicamente, aprendido por um tempo e
depois apagado.
Ataques ARP
Um computador de uma rede pode fazer-se passar pelo gateway fazendo
com que quem o solicite acabe se conectando com o computador errado, o
mesmo redireciona para o gateway que devolve a solicitao e dessa forma,
espiona o solicitante. Esse ataque de mentir o endereo ARP chamado de
ARP spoofing.

Gratuitous ARP

O computador manda um ARP perguntando o IP dele mesmo, no exemplo


acima, o host B de IP 10.0.0.2 manda um ARP request perguntando se
algum conhece o IP 10.0.0.2. Isso utilizado para verificar se no h IP
duplicado na rede. Ele tambm pode ser utilizado para fazer ataques, por
exemplo o ARP spoofing, porque lhe devolvido os endereos MAC dos
computadores locais.

You might also like