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