O protocolo de resolução de endereços (ARP) é um protocolo de rede usado para mapear Endereços IP para endereços físicos MAC (controle de acesso à mídia) dentro de um segmento de rede local.
O que é ARP?
O protocolo de resolução de endereços (ARP) opera dentro da camada de enlace do modelo OSI e desempenha um papel crítico nas redes IPv4, traduzindo endereços IP lógicos em endereços MAC físicos. Quando um dispositivo deseja enviar dados para outro dispositivo no mesmo rede local (LAN), ele primeiro verifica seu cache ARP para ver se já possui um registro do endereço MAC do dispositivo de destino correspondente ao seu endereço IP.
Se o mapeamento não for encontrado, o dispositivo transmite um pacote de solicitação ARP para todos os dispositivos na rede, perguntando qual deles possui o endereço IP especificado. O dispositivo com o endereço IP correspondente responde com uma resposta ARP contendo seu endereço IP. Endereço MAC. Essas informações são então armazenadas no ARP esconderijo para comunicações futuras, reduzindo a necessidade de transmissões repetidas.
O ARP é essencial para o funcionamento das redes Ethernet porque, embora os protocolos de nível superior, como o IP, operem com endereços lógicos, os reais transmissão de dados Acima de Ethernet depende de endereços MAC. O ARP funciona apenas dentro dos limites de um único domínio de transmissão e não opera em roteadores ou diferentes sub-redes, onde outros mecanismos, como proxy ARP ou roteamento, são necessárias para resolver endereços.
Tipos de ARP
Existem diversas variações de ARP, cada uma projetada para lidar com diferentes situações em redes IP. Esses tipos se baseiam no mecanismo básico do ARP, mas desempenham funções específicas dependendo da arquitetura e dos requisitos da rede:
- ARP padrão (ou simplesmente ARP) é a forma original usada para resolver um IPv4 endereço em um endereço MAC dentro do mesmo segmento de rede local. Um host transmite uma solicitação ARP, e o dispositivo com o IP correspondente responde com seu endereço MAC.
- Proxy ARP permite que um roteador responda a solicitações ARP em nome de um dispositivo que reside em uma sub-rede diferente. O roteador finge ser o host de destino respondendo com seu próprio endereço MAC, permitindo que dispositivos em sub-redes diferentes se comuniquem sem configuração de roteamento explícita, embora isso possa introduzir escalabilidade e questões de segurança.
- ARP reverso (RARP) foi projetado para permitir que um dispositivo que conhece seu endereço MAC solicite seu endereço IP de uma central server. Isso foi usado principalmente por estações de trabalho sem disco durante bota mas agora está obsoleto, substituído por DHCP.
- ARP Gratuita ocorre quando um dispositivo envia uma solicitação ARP para seu próprio endereço IP ou envia uma resposta ARP não solicitada. Isso é usado para atualizar tabelas ARP em outros dispositivos, detectar conflitos de IP ou anunciar alterações de endereço IP.
- ARP inverso (InARP) é usado principalmente em redes de frame relay e ATM. Em vez de resolver um IP para um Hardwares endereço, ele resolve um identificador de circuito virtual conhecido (como um DLCI) em um endereço de camada de rede.
- ARP Dinâmico refere-se a entradas ARP que são aprendidas automaticamente e mantidas temporariamente no cache ARP. Essas entradas expiram após um período definido, a menos que sejam atualizadas.
- ARP estático refere-se a entradas ARP configuradas manualmente que permanecem no cache permanentemente e não expiram. Isso pode ser usado por motivos de segurança ou desempenho, mas requer manutenção manual.
Como funciona o ARP?
Quando um dispositivo em uma rede local precisa enviar dados para outro dispositivo, ele primeiro verifica se já conhece o endereço MAC correspondente ao endereço IP de destino, consultando seu cache ARP.
Se o mapeamento existir, ele usa o endereço MAC armazenado para enviar os dados diretamente. Se o mapeamento não for encontrado, o dispositivo transmite uma solicitação ARP para todos os dispositivos na rede local, basicamente perguntando: "Quem tem este endereço IP?". Todos os dispositivos na rede recebem a solicitação, mas apenas o dispositivo com o endereço IP correspondente responde com uma resposta ARP que inclui seu endereço MAC.
Ao receber a resposta, o remetente armazena o novo mapeamento IP-MAC em seu cache ARP para uso futuro e prossegue com a transmissão dos dados para o destino usando o endereço MAC resolvido. Todo esse processo garante que os dispositivos na mesma sub-rede local possam se comunicar usando suas interfaces de rede físicas, enquanto protocolos IP de nível superior cuidam do endereçamento e do roteamento em redes mais amplas.
O que é um exemplo de ARP?
Por exemplo, suponha que um computador com endereço IP 192.168.1.10 queira enviar dados para outro computador na mesma rede local com endereço IP 192.168.1.20. O computador remetente primeiro verifica seu cache ARP para ver se já conhece o endereço MAC de 192.168.1.20. Caso contrário, ele envia uma solicitação ARP em broadcast para todos os dispositivos na rede, perguntando: "Quem tem o endereço IP 192.168.1.20?". O computador com endereço IP 192.168.1.20 recebe a solicitação e responde com seu endereço MAC, por exemplo, 00-14-22-01-23-45. O computador remetente recebe essa resposta, atualiza seu cache ARP com o novo mapeamento IP-MAC e usa esse endereço MAC para enviar os dados diretamente pela rede local.
Ferramentas ARP
Aqui está uma lista de ferramentas ARP comuns.
arp (ferramenta de linha de comando)
Disponível na maioria sistemas operacionais (Janelas, Linux, macOS), este de linha de comando A ferramenta permite que os usuários visualizem, adicionem e excluam entradas no cache ARP. Ela ajuda a solucionar problemas de comunicação de rede local, exibindo mapeamentos atuais de endereços IP para MAC ou forçando mapeamentos específicos.
arping
Usado principalmente em UNIX- sistemas semelhantes, o arping envia solicitações ARP para um endereço IP específico e informa se uma resposta foi recebida. Funciona de forma semelhante a um sibilo mas opera na camada de link, o que o torna útil para verificar se um host pode ser acessado no segmento de rede local e para detectar endereços IP duplicados.
netstat -arp (ou netstat -an em alguns sistemas)
Em alguns sistemas, o netstat pode exibir o cache ARP junto com outras estatísticas de rede, ajudando a diagnosticar problemas de rede mostrando entradas ARP ativas e seus status.
vizinho ip (Linux)
Faz parte do conjunto de comandos ip em sistemas Linux modernos. Ele exibe e manipula a tabela de vizinhos, que funciona de forma semelhante ao cache ARP para IPv4 (e ND para IPv6), permitindo que os administradores verifiquem e atualizem os mapeamentos de endereços MAC.
Wireshark
Um analisador de protocolo de rede que captura e exibe o tráfego de rede, incluindo solicitações e respostas ARP. O Wireshark permite a inspeção detalhada de pacotes ARP, o que o torna valioso para diagnosticar problemas relacionados a ARP, como falsificação ou resolução incorreta de endereços.
Nmap (com varredura ARP)
O Nmap pode realizar varreduras ARP para identificar hosts ativos em uma sub-rede local rapidamente. Como as solicitações ARP não dependem de respostas da camada IP, a varredura ARP costuma ser mais confiável para descobrir dispositivos dentro da mesma rede de broadcast. domínio.
Relógio Arp
Uma ferramenta de monitoramento de rede que rastreia o tráfego ARP em uma rede e registra mapeamentos de endereços IP para MAC. Ela pode alertar administradores a alterações nos mapeamentos, o que pode indicar possíveis problemas de rede ou ataques de falsificação de ARP.
Como funciona o cache ARP?
O cache ARP é uma tabela armazenada na memória de um dispositivo que rastreia mapeamentos de endereços IP para MAC resolvidos recentemente para reduzir a necessidade de solicitações ARP repetidas.
Quando um dispositivo precisa enviar dados, ele primeiro verifica o cache ARP para ver se o endereço IP de destino já possui uma entrada de endereço MAC correspondente. Se o mapeamento existir, o dispositivo o utiliza para enviar o quadro diretamente, evitando transmissões ARP desnecessárias. Se a entrada estiver ausente, uma solicitação ARP é transmitida para resolver o endereço, e a resposta é armazenada no cache.
Cada entrada no cache ARP tem um tempo de vida (TTL) valor, após o qual expira para garantir que mapeamentos desatualizados sejam removidos, especialmente se os dispositivos alterarem seus endereços IP ou saírem da rede. Algumas entradas ARP também podem ser configuradas manualmente como estáticas, permanecendo no cache indefinidamente até serem excluídas ou modificadas manualmente.
O cache ARP ajuda a melhorar a eficiência e o desempenho da rede, minimizando o tráfego da rede e latência na resolução de endereços.
Para que é usado o ARP?
O ARP é usado para permitir a comunicação entre dispositivos na mesma rede local, traduzindo endereços IP em endereços MAC físicos. Como os dispositivos usam endereços IP para endereçamento lógico na camada de rede, mas precisam de endereços MAC para entregar fisicamente os quadros na camada de enlace de dados, o ARP fornece o mecanismo para realizar essa resolução de endereços.
Sem o ARP, os dispositivos não seriam capazes de determinar para onde enviar pacotes dentro da sub-rede local. Ele é essencial para funções básicas de rede, como iniciar conexões, transferir dados e manter a comunicação de rede adequada. Além disso, o ARP desempenha um papel no diagnóstico de rede, na descoberta de dispositivos e em certos tipos de ataques ou defesas de rede, como a detecção de spoofing de ARP.
As vantagens e desvantagens do ARP
Aqui está uma tabela resumindo as vantagens e desvantagens do ARP:
Diferenciais | Desvantagens |
Mecanismo simples e eficiente para resolver endereços IP em endereços MAC dentro de uma rede local. | Limitado à sub-rede local; não funciona em roteadores ou domínios de transmissão diferentes. |
Opera automaticamente sem exigir configuração manual para a maioria dos ambientes. | Vulnerável a ataques de falsificação de ARP e man-in-the-middle, uma vez que o ARP carece autenticação. |
Resolução rápida usando cache para reduzir a sobrecarga da rede e a latência após a resolução inicial. | As entradas de cache ARP podem ficar obsoletas, levando a possíveis problemas de conectividade se os dispositivos alterarem os endereços IP ou MAC. |
Suporta ambientes de rede dinâmicos onde dispositivos frequentemente entram ou saem da rede. | Pode gerar tráfego de transmissão desnecessário, especialmente em redes grandes ou movimentadas. |
Amplamente suportado por todos os sistemas de rede baseados em IPv4. | Não oferece suporte a IPv6; substituído pelo Neighbor Discovery Protocol (NDP) em ambientes IPv6. |
ARP vs. MAC vs. IP vs. DNS
Aqui está uma tabela de comparação que distingue ARP, MAC, IP e DNS:
Aspecto | ARP (protocolo de resolução de endereços) | MAC (endereço de controle de acesso à mídia) | IP (endereço de protocolo de internet) | DNS (sistema de nome de domínio) |
função | Resolve endereços IP para endereços MAC em redes locais. | Identifica uma interface de rede física em uma rede local. | Fornece endereçamento lógico para dispositivos em redes. | Resolve nomes de domínio em endereços IP. |
Camada | Camada de Enlace (interação das Camadas 2/3) | Camada de enlace de dados (camada 2) | Camada de Rede (Camada 3) | Camada de aplicação |
Objetivo | Funciona em sub-redes locais. | Exclusivo por interface de rede; escopo de rede local. | Escopo global; roteável entre redes. | Escopo global da internet. |
Tipo de endereço | Protocolo para mapeamento de endereços. | Endereço fixo de 48 bits atribuído por hardware ou software. | Endereço lógico de 32 bits (IPv4) ou 128 bits (IPv6). | Nomes de domínio legíveis por humanos. |
Persistência | O cache ARP armazena mapeamentos temporários. | Geralmente estático (hardware); pode ser reatribuído. | Atribuição dinâmica ou estática via DHCP ou configuração. | Estático ou dinâmico; gerenciado via DNS servers. |
Caso de uso principal | Permite a entrega local de pacotes com base em IP. | Identifica o adaptador de rede que está recebendo quadros. | Identifica a localização do dispositivo em redes globais ou privadas. | Traduz nomes fáceis de usar para IP para acesso à rede. |
Riscos de segurança | Vulnerável a ataques de spoofing. | Geralmente seguro, mas pode ser clonado. | Suscetível a falsificação e sequestro de IP. | Vulnerável a falsificação de DNS e envenenamento de cache. |
Qual é o futuro do ARP?
Com a ampla adoção do IPv6, o ARP está sendo substituído pelo protocolo de descoberta de vizinhos (NDP), mais seguro e eficiente. Embora o ARP continue essencial em redes baseadas em IPv4, sua falta de recursos de segurança o torna vulnerável a spoofing e ataques man-in-the-middle, estimulando o desenvolvimento de alternativas mais seguras e medidas de proteção, como a inspeção ARP dinâmica (DAI) em redes modernas.
À medida que a adoção do IPv6 cresce e as demandas de segurança da rede aumentam, o papel do ARP diminuirá gradualmente, permanecendo principalmente em sistemas legados e ambientes IPv4 que continuam a persistir junto com tecnologias mais recentes.