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.10 nã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: C para Complete/Permanente, M para 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).