A Tabela ARP (ARP Table) é uma estrutura de dados mantida na memória de cada dispositivo conectado a uma rede (hosts e roteadores) que funciona como um catálogo de mapeamento. Ela armazena a associação entre endereços lógicos de rede (Endereços IP) e endereços físicos de hardware (Endereços MAC).
É na Tabela ARP que o sistema operacional consulta quando precisa enviar um pacote IP para saber para qual endereço MAC físico deve encapsular esse pacote antes de transmiti-lo no meio local (Ethernet ou Wi-Fi).
1. Estrutura da Entrada ARP
Cada linha na Tabela ARP é um registro que liga um endereço IP a um endereço MAC. Uma entrada típica contém, no mínimo, as seguintes informações:
- Endereço IP (Protocol Address): O endereço lógico da máquina de destino (ex:
192.168.1.5). É o endereço para o qual queremos enviar dados. - Endereço MAC (Hardware Address): O endereço físico da placa de rede do destino (ex:
00:1A:2B:3C:4D:5E). É o endereço que o quadro da Camada de Enlace deve usar. - Tipo de Interface: Indica qual placa de rede (eth0, wlan0) está conectada àquele IP e MAC.
2. Como a Tabela é Preenchida (Aprendizado Dinâmico)
A tabela não é estática (geralmente); ela é construída dinamicamente através de um processo de aprendizado automático sempre que o dispositivo precisa se comunicar com outro na rede local.
- Passo 1: Necessidade: O sistema (Host A) quer enviar um pacote IP para o Host B (IP
192.168.1.10). - Passo 2: Consulta: O sistema verifica sua Tabela ARP. Se o IP
192.168.1.10não estiver lá, ele cria um Request ARP (pedido) dizendo “Quem tem o IP 192.168.1.10? Me digam seu MAC” e envia um broadcast para toda a rede local. - Passo 3: Resposta: O Host B, que tem esse IP, ouve o pedido e envia um Reply ARP (resposta) em unicast para o Host A dizendo “Eu sou 192.168.1.10 e meu MAC é XX:XX:XX:XX:XX:XX”.
- Passo 4: Armazenamento (Cache): O Host A recebe a resposta e adiciona o par
{IP: 192.168.1.10, MAC: XX:XX...}à sua Tabela ARP.
A partir de agora, até que a entrada expire, o Host A pode enviar dados para o IP 192.168.1.10 sem precisar perguntar novamente.
3. Cache e Expiração (TTL)
As entradas da Tabela ARP não são permanentes. Elas têm um tempo de vida limitado, conhecido como Aging ou TTL (Time To Live).
- Tempo de Vida Geral: Em sistemas como Linux, uma entrada dinâmica na tabela ARP geralmente expira em cerca de 60 segundos (tempo padrão configurável).
- Por que expirar? Dispositivos podem ser desligados, placas de rede podem ser trocadas ou endereços IP podem mudar. Se a tabela fosse permanente, o dispositivo continuaria tentando enviar dados para um endereço MAC que não existe mais (por exemplo, um smartphone que saiu da rede), resultando em perda de pacotes silenciosa.
- Atualização: Se a entrada expirar e o host precisar enviar dados novamente, o processo de solicitação (Request) será repetido e a tabela será atualizada com o novo valor (se o dispositivo ainda estiver lá) ou gerará um erro (se não estiver).
4. Entradas Estáticas
Além das entradas dinâmicas, a Tabela ARP pode conter entradas estáticas, configuradas manualmente pelo administrador de rede.
- Como Funcionam: O administrador insere manualmente um par IP-MAC na tabela.
- Utilidade: Usadas para dispositivos que não respondem a requisições ARP (por segurança ou limitação de hardware) ou para garantir que tráfego crítico não sofra atrasos de processamento de ARP.
- Exemplo: Em servidores de rede ou roteadores, pode-se configurar uma entrada estática para o Gateway Padrão para garantir que o roteamento não falhe mesmo se o protocolo ARP falhar.
5. Visualização (Comando arp -a)
Em sistemas operacionais tipo Unix/Linux ou Windows, você pode visualizar a Tabela ARP atual com um comando simples no terminal:
bash
Linux/Mac
arp -a
Windows
arp -a
A saída típica mostra:
- Address: O endereço IP.
- HWtype: O tipo de hardware (geralmente Ethernet).
- HWaddress: O endereço MAC.
- Flags: Marcadores internos (ex:
Cpara Complete/Permanente,Mpara Manual/Estática). - Iface: A interface de rede.
6. O Problema ARP (Gratuitous ARP) e Duplicatas
A Tabela ARP também é usada para evitar conflitos de endereçamento.
- Gratuitous ARP (GARP): Quando um dispositivo se conecta à rede, ele envia um pacote ARP anunciando seu próprio IP e MAC. Se outro dispositivo já tiver esse IP na tabela, ele perceberá o conflito e poderá alertar o administrador (Duplicate Address Detection - DAD).