Protocolo ARP (Address Resolution Protocol – RFC 826)

Transcrição

Protocolo ARP (Address Resolution Protocol – RFC 826)
Protocolo ARP (Address Resolution Protocol – RFC 826)
1
Protocolo ARP
(Address Resolution Protocol – RFC 826)
I. RESUMO
O
PROTOCOLO ARP (Protocolo de Resolução de Endereço
– em português) tem um papel fundamental entre os
protocolos da camada Internet do modelo TCP/IP, e de
extrema importância numa comunicação de dados, porque
permite obter o endereço físico (MAC) de uma placa de rede,
utilizando o endereço lógico (IP) correspondente.
Numa rede física, cada máquina ligada à rede (hosts) possui
um número de identificação de 48 bits (MAC). Este número é
único, e é fixado no momento de fabrico da placa. Contudo, a
comunicação não se faz directamente a partir deste número
mas sim a partir de um endereço lógico (IP). Se assim não
fosse, seria necessário alterar o endereçamento dos
computadores cada vez que se alterasse uma placa de rede, por
exemplo.
O trabalho do protocolo ARP numa comunicação de dados é
fazer a correspondência entre os endereços físicos e os
endereços lógicos. O protocolo ARP interroga todas as
máquinas da rede para conhecer o seu endereço físico, e de
seguida cria uma tabela com a correspondência entre os
endereços lógicos e os endereços físicos numa memória
(cache).
Sempre que uma máquina inicia a comunicação com outra, a
tabela de ARP é consultada. Se o endereço pedido não se
encontrar na tabela, o protocolo ARP emite um pedido na rede
(ARP Request). As máquinas ligadas na rede (hosts) vão
comparar o endereço lógico do pedido ao seu. Se uma das
máquinas reconhecer o seu endereço IP no pedido (ARP
Request), essa máquina vai responder enviando um (ARP
Reply). Esta resposta vai conter o endereço físico (MAC) da
host de destino, que será guardado na tabela de ARP cache do
host de origem.
II.
P
INTRODUÇÃO
se entender o que é o protocolo ARP (Address
Resolution Protocol – RFC 826), o seu funcionamento e a
sua aplicação, antes é necessário entender o que são
endereços físicos e endereços lógicos.
atribui a cada fabricante um (OUI - Organizationally Unique
Identifier) e garante que esse identificador não será entregue a
mais nenhum fabricante. O tamanho (bits) do endereço físico
varia conforme a tecnologia de rede.
Na tecnologia Ethernet, os endereços MAC têm 48 bits,
representados por seis números hexadecimais, separados por
“:” (ponto e vírgula). Os primeiros 24 bits definem o identificador
do fabricante e os 24 últimos bits são definidos pelo
fabricante, de forma única.
Fig. 1
Exemplo: 3COM = 02:60:8C:03:1D:91;
Os Endereços lógicos são os endereços que configuramos num
determinado terminal, como por exemplo o endereço IP (IPv4
ou IPv6). Numa determinada rede, este IP é único e é o que
identifica um host numa rede pública ou privada. Os endereços
IP utilizam 32 bits para localização de hosts e redes.
Os factores que motivaram o aparecimento do protocolo ARP
foram:
- Não existir nenhuma ligação ou relacionamento entre
endereços Ethernet e endereços IP;
- A utilização de endereços IP só fazer sentido em
arquitecturas muito específicas, como é o caso da arquitectura
TCP/IP;
- No decorrer de uma comunicação de dados, sempre que
pretendemos enviar informação, apenas conhecermos o
endereço de destino (IP) e não o endereço físico (MAC).
O surgimento do protocolo ARP permite que o endereço IP
seja independente do endereço Ethernet, mas apenas funciona
se todos os hosts o suportarem.
ARA
Os Endereços físicos são os endereços que estão associados a
um equipamento, como por exemplo o endereço MAC (Media
Access Control). Este endereço é único em cada interface e é
fixado na placa no momento do fabrico. Para garantir que não
haverá conflitos de endereços, os fabricantes de hardware têm
que estar registrados numa autoridade IEEE. Essa autoridade
III. DESCRIÇÃO DO PROTOCOLO
A. O que é o protocolo ARP?
O protocolo ARP (Protocolo de Resolução de Endereço – em
português) tem um papel fundamental entre os protocolos da
camada Internet do modelo TCP/IP, e de extrema importância
numa comunicação de dados, porque permite obter o endereço
físico (MAC) de uma placa de rede, utilizando o endereço
lógico (IP) correspondente.
Protocolo ARP (Address Resolution Protocol – RFC 826)
Numa rede física, cada máquina ligada à rede (hosts) possui
um número de identificação de 48 bits (MAC). Este número é
único, e é fixado no momento de fabrico da placa. Contudo, a
comunicação não se faz directamente a partir deste número
mas sim a partir de um endereço lógico (IP). Se assim não
fosse, seria necessário alterar o endereçamento dos
computadores cada vez que se alterasse uma placa de rede, por
exemplo.
2
A Tabela de ARP (também pode se dizer ARP cache) é uma
tabela onde é guardada a correspondência dos endereços
físicos com os endereços lógicos.
Cada host tem a sua própria tabela de ARP, assim antes de
transmitir um pacote, o mesmo examina se o endereço já existe
na sua tabela, e só faz um pedido ARP Request se não for
encontrada uma correspondência.
Para evitar que a tabela de ARP fique demasiado grande, as
correspondências que não forem usadas num determinado
período de tempo serão removidas.
B. Qual a sua função?
O trabalho do protocolo ARP numa comunicação de dados é
fazer a correspondência entre os endereços físicos e os
endereços lógicos. O protocolo ARP interroga as máquinas da
rede para conhecer o seu endereço físico, e de seguida cria
uma tabela com a correspondência entre os endereços lógicos
e os endereços físicos (cache).
Fig. 4
D. Como é preenchida a Tabela de ARP (ARP cache)
Fig. 2
C. Como funciona?
Sempre que uma máquina começa a comunicar com outra, a
tabela de ARP é consultada. Se o endereço pedido não se
encontrar na tabela, o protocolo ARP emite um pedido na rede
(ARP Request). As máquinas ligadas na rede (hosts) vão
comparar o endereço lógico do pedido ao seu. Se uma das
máquinas reconhecer o seu endereço IP no pedido (ARP
Request), a máquina vai responder enviando um (ARP Reply).
Esta resposta vai conter o endereço físico (MAC) da host de
destino, que será guardado na tabela de ARP e do host de
origem (Fig. 3).
1. É verificado se o endereço lógico (IP) de destino pertence à
rede local.
2. Verificada a tabela de ARP para ver se já conhece o
endereço físico da máquina de destino.
3. Se não existir nenhuma correspondência, o protocolo ARP
constrói uma mensagem de “ARP Request”.
4. O endereço lógico e físico da máquina origem são incluídos
na mensagem de Request.
5. O Request é enviado a todas as máquinas da rede local
(broadcast).
6. Cada máquina da rede recebe a mensagem e verifica o
endereço lógico da pergunta com o seu próprio endereço
lógico.
7. Se forem diferentes a máquina simplesmente ignora o
Request.
8. A máquina que tiver o endereço lógico igual ao endereço
presente no Request responde afirmativamente.
9. A máquina destino envia directamente para a máquina
origem uma mensagem de ARP Reply, informando o seu
endereço físico.
10. A máquina destino também altera a sua tabela ARP,
incluindo o endereço lógico e físico da máquina origem.
11. A máquina origem recebe o Reply e inclui o endereço
lógico e físico da máquina de destino na sua tabela ARP.
Exemplo:
O host A envia um ARP request para o destino (host B).
Quando o host B recebe o broadcast do host A a pedir o seu
endereço físico, o host B guarda na sua tabela de ARP os
valores IP e MAC do host A, e envia um ARP Reply com o
seu endereço MAC para o host A que colocará essa
informação na sua tabela de ARP juntamente com o endereço
IP do pedido. (Fig. 3 / Fig. 4)
Fig. 3
Protocolo ARP (Address Resolution Protocol – RFC 826)
E. Características
- Protocolo Request / Reply “peer to peer”;
- Request é transportado em tramas MAC de Broadcast;
- Reply é transportado em tramas MAC de Unicast;
- Máquinas fazem cache de <endereços IP , endereço
físico>;
- Ambos os intervenientes guardam os dados do outro.
F. Vantagens:
- Dois tipos de endereçamento (endereços físicos e
lógicos);
- Resolução através de endereçamento directo;
- As máquinas não escolhem o seu endereço (são
definidos pelo MAC da placa que é atribuído no
momento de fabrico da mesma);
- Servidores mantêm tabelas de endereços;
- Endereçamento IP é mantido;
- Valor da tabela de ARP estar desactualizada.
G. Desvantagens:
- A máquina de destino pode estar desligada ou
ocupada;
- O broadcast pode-se perder (retransmissões);
- O pacote tem de ser armazenado enquanto espera;
- Os pacotes para o mesmo destino têm que esperar;
- Número máximo de pedidos ARP em espera;
- Valor da tabela de ARP estar desactualizada.
H. Formato da Trama ARP
I. Campos da Trama ARP
HARDWARE TYPE - Identificação da rede física.
PROTOCOL TYPE - Identificação do protocolo de nível rede.
HLEN - Dimensão dos endereços da rede física.
PLEN - Dimensão dos endereços do protocolo de
encaminhamento.
OPERATION - Tipo da trama.
SENDER HA - Endereço físico de origem
SENDER IP - Endereço de origem do protocolo de
encaminhamento.
TARGET HA - Endereço físico de destino
TARGET IP - Endereço de destino do protocolo de
encaminhamento.
3
IV. APLICAÇÕES
O protocolo ARP está constantemente a ser utilizado nas
comunicações de dados. Sem o protocolo ARP a comunicação
como a conhecemos poderia não ser possível, pois o protocolo
ARP é quem faz a tradução dos endereços lógicos em
endereços físicos.
Sem o protocolo ARP, para comunicar, por exemplo, numa
rede Ethernet, teríamos que saber qual o endereço MAC da
máquina para onde queríamos enviar a informação, e sempre
que se alterasse a placa de rede numa das máquinas, seria
necessário alterar o endereçamento dos computadores. Como o
endereçamento físico (MAC) é único e definido no momento
do fabrico, não seria possível manter o endereçamento antigo,
seria muito mais complicado gerir a rede.
REFERÊNCIAS BIBLIOGRÁFICAS
[1]
[2]
[3]
[4]
PT Portugal S,A, “Instalação em Redes IP1, Out 2010.
Redes – Para que serve o protocol ARP? – Pedro Pinto - consultado a 29
de Março de 2013. - http://pplware.sapo.pt/networking/redes-sabe-paraque-serve-o-protocolo-arp/
IEEE S,A - http://standards.ieee.org/develop/regauth/oui/public.html
Módulo 3 – Comunicação de Dados, Leandro Baçon,
http://200.195.174.230/Materiais/68_57.pdf
ELABORADO POR
Miguel Ângelo Vilas Boas Dias
IPCA – Instituto Politécnico do Vale do Ave – a6481
Engenharia Sistemas Informáticos (P.L) – 2ºano
Abril 2013