Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Protocolo ARP: Resolução de Endereços IP em Endereços Físicos, Cheat Sheet of Computer Networks

O arp (address resolution protocol) é um protocolo de rede utilizado para resolver o problema de mapeamento de endereços lógicos em endereços físicos na internet. Ele segue o princípio de enviar um pedido em modo broadcast quando uma máquina desconhece o endereço físico de outra, e todas as máquinas na rede respondem com suas informações. O documento aborda a estrutura do pacote arp, a operação arp, o arp cache e como otimizar o processamento do arp.

Typology: Cheat Sheet

2017/2018

Uploaded on 04/19/2022

adenilton-santos
adenilton-santos 🇨🇦

3 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ARP
-
Address Resolution Protocol
Introdução
Para resolver o problema do mapeamento de endereços lógicos em endereços físicos quando do
uso de IP sobre redes ethernet, mas não restrito a apenas estes dois protocolos, o ARP foi proposto (e
aceito) na internet através da RFC826.
Sua operação segue o seguinte princípio:
Quando a máquina A quer falar com a máquina B
e não sabe seu endereço físico, envia um pacote
ARP em modo broadcast pedindo informações.
Todas as máquinas em operação na rede recebem o pedido. A máquina B reconhece que o
endereço pedido é o seu e responde, informando qual o seu endereço físico.
Formato do pacote ARP
O pacote ARP possui uma estrutura de tamanho variável que segue o seguinte formato, descrito
em pseudo 'C':
struct ARP {
int16 HardwareType;
int16 ProtocolType;
int8 HardwareLen;
int8 ProtocolLen;
int16 Operation;
int8 SenderHardwareAddr[ HardwareLen ];
int8 SenderProtocolAddr[ ProtocolLen ];
int8 TargetHardwareAddr[ HardwareLen ];
int8 TargetProtocolAddr[ ProtocolLen ];
} PacketData;
HardwareType - Especifica o tipo do hardware. Os tipos conhecidos são definidos pela RFC
Assigned Numbers, que recebe uma atualização de tempos em tempos. O hardware ethernet
recebeu o número 1.
Protocol Type - Especifica o tipo do protocolo ao qual o endereço lógico se refere. A RFC
Assigned Numbers especifica que o tipo deve ser o mesmo que os do MAC Ethernet. No caso do
IP, 0800h.
HardwareLen - Determina o comprimento em bytes do endereço de hardware (físico).
ProtocolLen - Determina o comprimento em bytes do endereço de protocolo (lógico).
Operation - Tipo da operação. Para o ARP, só existem duas: Pergunta e Resposta.
SenderHardwareAddr - Endereço físico de quem está enviando o pacote.
SenderProtocolAddr - Endereço lógico de quem está enviando o pacote.
TargetHardwareAddr - Endereço físico desejado. Na operação de request, vai em branco.
Quem responder preenche este campo.
TargetProtocolAddr - Endereço lógico desejado.
Na operação de resposta, o pacote é copiado, preenchido com a informação desejada e devolvido.
Como o endereço físico do requisitante está presente na informação, não há problemas no envio.
Page
1
2
ARP
-
Address Resolution Protocol
6/4/2010
http://www.jonny.eng.br/trabip/arp.html
pf2

Partial preview of the text

Download Protocolo ARP: Resolução de Endereços IP em Endereços Físicos and more Cheat Sheet Computer Networks in PDF only on Docsity!

ARP - Address Resolution Protocol

Introdução

Para resolver o problema do mapeamento de endereços lógicos em endereços físicos quando do uso de IP sobre redes ethernet, mas não restrito a apenas estes dois protocolos, o ARP foi proposto (e aceito) na internet através da RFC826. Sua operação segue o seguinte princípio:

 Quando a máquina A quer falar com a máquina B e não sabe seu endereço físico, envia um pacote ARP em modo broadcast pedindo informações.  Todas as máquinas em operação na rede recebem o pedido. A máquina B reconhece que o endereço pedido é o seu e responde, informando qual o seu endereço físico.

Formato do pacote ARP

O pacote ARP possui uma estrutura de tamanho variável que segue o seguinte formato, descrito em pseudo 'C':

struct ARP { int16 HardwareType; int16 ProtocolType; int8 HardwareLen; int8 ProtocolLen; int16 Operation; int8 SenderHardwareAddr[ HardwareLen ]; int8 SenderProtocolAddr[ ProtocolLen ]; int8 TargetHardwareAddr[ HardwareLen ]; int8 TargetProtocolAddr[ ProtocolLen ]; } PacketData;

 HardwareType - Especifica o tipo do hardware. Os tipos conhecidos são definidos pela RFC Assigned Numbers, que recebe uma atualização de tempos em tempos. O hardware ethernet recebeu o número 1.  Protocol Type - Especifica o tipo do protocolo ao qual o endereço lógico se refere. A RFC Assigned Numbers especifica que o tipo deve ser o mesmo que os do MAC Ethernet. No caso do IP, 0800h.  HardwareLen - Determina o comprimento em bytes do endereço de hardware (físico).  ProtocolLen - Determina o comprimento em bytes do endereço de protocolo (lógico).  Operation - Tipo da operação. Para o ARP, só existem duas: Pergunta e Resposta.  SenderHardwareAddr - Endereço físico de quem está enviando o pacote.  SenderProtocolAddr - Endereço lógico de quem está enviando o pacote.  TargetHardwareAddr - Endereço físico desejado. Na operação de request, vai em branco. Quem responder preenche este campo.  TargetProtocolAddr - Endereço lógico desejado.

Na operação de resposta, o pacote é copiado, preenchido com a informação desejada e devolvido. Como o endereço físico do requisitante está presente na informação, não há problemas no envio.

ARP - Address Resolution Protocol Page 1 of 2

http://www.jonny.eng.br/trabip/arp.html 6/4/

ARP Cache

Se para cada vez que fosse necessário enviar um datagrama IP fosse necessário usar uma sequência de ARP, a rede ficaria absurdamente carregada. Em vez disso, mantém-se em memória uma lista dos últimos endereços descobertos. Depois de algum tempo o endereço no ARP Cache é removido, independentemente de estar sendo usado ou não. É o que se chama de Aging.

Otimizando o processamento do ARP

Algumas operações simples podem melhorar significativamente o aproveitamento da rede com relação a pacotes ARP:

 Como o pedido de ARP inclui os endereços lógico e físico do requisitante, a máquina que responde pode imediatamente guardar esta informação em seu ARP Cache, pois provavelmente precisará dela em breve.  Como o pedido é enviado em broadcast, todas as que recebem o pacote podem aproveitar o tempo que dispenderam para analisar a informação guardando-a no seu Cache. Assim, se em algum momento for necessário falar com aquele host, a informação já estará presente. Isso é bastante viável pois as tabelas de ARP não são muito grandes, em geral.  Assim que uma máquina é inicializada na rede, esta pode gerar um ARP broadcast anunciando seu endereço para as outras, adiantando o processo de detecção, e consequentemente, a comunicação. Isso só é vantajoso se a comunicação for iniciada pelo host remoto, pois em caso contrário, de qualquer forma, será necessário um ARP para pedir o endereço remoto.

Comentários sobre o ARP

Apesar de ter sido criado especificamente para uso com IP sobre ethernet, devido à forma que foi implementado, seu uso não está restrito a este ambiente. O ARP é um protocolo de baixo nível, operando na camada de enlace. Seus pacotes devem ser de alguma forma diferenciados dos pacotes IP. No caso do ethernet utiliza-se o campo TypeSpec para isto. O IP recebe o valor 0800h enquanto o ARP fica com o 0806h. Estes valores estão definidos na RFC Assigned Numbers.

Copyright ©1995 by Jonny

ARP - Address Resolution Protocol Page 2 of 2

http://www.jonny.eng.br/trabip/arp.html 6/4/