Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

01 - Mapeamento IP para MAC

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

Mapeamento IP para MAC

1. O Conflito de Camadas

Para que um dado saia do seu computador e chegue ao vizinho, ele precisa atravessar duas camadas do modelo OSI:

  • Camada 3 (Rede): Trabalha com o Endereço IP. É a inteligência que sabe "para qual rede" o dado vai.
  • Camada 2 (Enlace): Trabalha com o Endereço MAC. É a força bruta que sabe "para qual cabo/porta" o dado vai.

O Problema: Um switch de rede comum (L2) não lê endereços IP. Ele só entende endereços MAC. Se o seu computador enviar um pacote apenas com o IP de destino, o switch não saberá o que fazer com ele. O Mapeamento ARP resolve isso criando uma "ponte" entre esses dois mundos.

O mapeamento entre endereços lógicos (IP) e físicos (MAC) é definido pela RFC 826 (1982), "An Ethernet Address Resolution Protocol". O protocolo ARP opera diretamente sobre a camada de enlace (EtherType 0x0806) e não tem cabeçalho IP próprio — ele é encapsulado em um quadro Ethernet.

2. O Processo de Encapsulamento

Quando você envia um dado, o sistema operacional realiza os seguintes passos:

  1. Criação do Pacote (L3): O sistema coloca o IP de Origem e o IP de Destino.
  2. Consulta à Tabela ARP: O PC olha na memória: "Eu já sei qual é o MAC do dono deste IP?".
  3. A Descoberta: Se não souber, ele pausa o envio e inicia a descoberta via ARP (conforme veremos adiante).
  4. Montagem do Quadro (L2): Assim que recebe o MAC de destino, o PC "embrulha" o pacote IP dentro de um Quadro Ethernet.
    • MAC de Origem: O seu.
    • MAC de Destino: O endereço físico que o ARP acabou de descobrir.

3. Estrutura do Pacote ARP

O pacote ARP tem 28 bytes (em redes Ethernet/IPv4) e a seguinte estrutura:

Campo Tamanho Descrição
Hardware Type 2 bytes 0x0001 = Ethernet
Protocol Type 2 bytes 0x0800 = IPv4
Hardware Address Length 1 byte 6 (MAC)
Protocol Address Length 1 byte 4 (IPv4)
Opcode 2 bytes 1 = Request, 2 = Reply
Sender MAC 6 bytes MAC do emissor
Sender IP 4 bytes IP do emissor
Target MAC 6 bytes MAC do alvo (0 no request)
Target IP 4 bytes IP do alvo

O Fluxo de Descoberta ARP

  1. ARP Request (Broadcast): O emissor constrói um quadro Ethernet com MAC destino FF:FF:FF:FF:FF:FF contendo o pacote ARP request. Todos os hosts da VLAN recebem e processam o quadro.
  2. Verificação Local: Cada host compara o campo Target IP com seu próprio IP. Apenas o dono do IP responde.
  3. ARP Reply (Unicast): O host dono do IP envia um quadro Ethernet unicast de volta ao emissor original com o campo Sender MAC preenchido com seu MAC real e o Opcode = 2.
  4. Cache: O emissor armazena o mapeamento IP→MAC na sua tabela ARP e prossegue com o envio dos dados.

4. O Mapeamento em Redes Locais vs. Remotas

O mapeamento físico muda drasticamente dependendo de onde o destino está:

A. Destino na Mesma Rede

O mapeamento é direto.

  • IP de Destino: 192.168.1.50
  • MAC de Destino: AA:BB:CC:DD:EE:FF (O MAC do próprio computador de destino).

B. Destino em Outra Rede (Internet)

Aqui está o segredo: O seu computador não mapeia o MAC do servidor do Google.

  • IP de Destino: 8.8.8.8 (Google)
  • MAC de Destino: 11:22:33:44:55:66 (O MAC do seu Roteador/Gateway).

Pense nisso como um Estafeta: Você coloca o nome do destinatário final na carta (IP), mas entrega a carta fisicamente nas mãos do carteiro (MAC do Roteador). O roteador, por sua vez, fará um novo mapeamento para o próximo salto.

A decisão "mesma rede ou rede remota" é feita pela tabela de rotas e pela máscara de sub-rede. Se o IP destino estiver dentro do prefixo da interface local, o ARP consulta diretamente o destino; caso contrário, o ARP consulta o MAC do next-hop (gateway padrão).

5. Tabela ARP Cache

Para evitar o overhead de broadcast a cada pacote, o sistema operacional mantém um cache temporário dos mapeamentos aprendidos.

  • Entradas Dinâmicas: Aprendidas automaticamente, expiram após um tempo (Linux: ~1 min a 60 min conforme uso; Windows: 2-10 min). O tempo é controlado pelos parâmetros gc_stale_time e gc_timeout no Linux.
  • Entradas Estáticas: Configuradas manualmente pelo administrador, não expiram. Úteis para servidores críticos ou como defesa contra ARP spoofing.

Comandos de Inspeção

# Linux/macOS — Ver cache ARP
arp -n
ip neigh show

# Linux — Adicionar entrada estática
ip neigh add 192.168.1.10 lladdr aa:bb:cc:dd:ee:ff dev eth0 nud permanent

# Linux — Limpar cache ARP
ip neigh flush all

# Windows
arp -a
arp -s 192.168.1.10 aa-bb-cc-dd-ee-ff

Cisco IOS

R1# show ip arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  192.168.1.1            -   0050.56ab.cdef  ARPA   GigabitEthernet0/0
Internet  192.168.1.50           3   aabb.ccdd.eeff  ARPA   GigabitEthernet0/0

R1# clear ip arp 192.168.1.50

6. Por que o MAC é necessário?

Endereços IP são lógicos e podem mudar (via DHCP). O endereço MAC é globalmente único e fixo na peça de hardware. Se comunicássemos apenas por IP, teríamos que atualizar a "vizinhança" toda vez que alguém reiniciasse o roteador. O mapeamento ARP garante que, não importa qual IP o dispositivo tenha hoje, o sinal chegará à placa de rede correta.

Adicionalmente, a separação IP/MAC permite mobilidade: um laptop pode mudar de rede (e de IP) sem trocar de placa de rede (e de MAC). O ARP reconcilia as duas identidades a cada nova associação.

7. Variações do Protocolo ARP

A. Gratuitous ARP

Um host envia um ARP request com Sender IP = Target IP = seu próprio IP. Objetivos:
- Anunciar seu MAC para atualizar caches de vizinhos (útil após failover de cluster ou troca de placa).
- Detectar conflito de IP (se alguém responder, o IP já está em uso — usado em DHCP conflict detection).

B. Proxy ARP

Um roteador responde a ARP requests em nome de hosts em outra sub-rede. Útil quando hosts não sabem configurar gateway padrão, mas abre vetor de ataque (ARP spoofing intermediário). Definido na RFC 1027.

C. RARP (Reverse ARP)

O inverso do ARP: dado um MAC, descobre o IP. Definido na RFC 903. Foi usado por estações diskless (sem disco) para obter IP na inicialização. Hoje está obsoleto, substituído por BOOTP e DHCP, que são mais robustos.

D. InARP (Inverse ARP)

Usado em redes NBMA (Frame Relay, ATM) para descobrir o IP do lado remoto a partir do identificador de circuito virtual (DLCI). Definido na RFC 2390.

8. Equivalente em IPv6: NDP

O IPv6 não usa ARP. Em seu lugar, o Neighbor Discovery Protocol (NDP), definido na RFC 4861, usa mensagens ICMPv6:

  • Neighbor Solicitation (Type 135): equivalente ao ARP request, enviado para multicast ff02::1:ffXX:XXXX (Solicited-Node) em vez de broadcast.
  • Neighbor Advertisement (Type 136): equivalente ao ARP reply.

Vantagens do NDP sobre ARP: usa multicast scoped (não interrompe todos os hosts), integra detecção de duplicidade (DAD), descoberta de roteador (RA/RS) e redirecionamento.

9. Segurança: ARP Spoofing e Defesas

O ARP original não tem autenticação: qualquer host pode anunciar qualquer MAC. Isso viabiliza o ARP Spoofing (ou ARP Cache Poisoning):

  1. Atacante envia ARP reply forjado alegando ser o gateway (192.168.1.1 → MAC do atacante).
  2. Vítimas atualizam seu cache e passam a enviar todo tráfego para o atacante.
  3. Atacante intercepta (Man-in-the-Middle) ou descarta (DoS) o tráfego.

Defesas

Defesa Como Funciona Limitação
Entradas ARP estáticas MAC do gateway fixado no cache Não escala; quebra com troca de equipamento
Dynamic ARP Inspection (DAI) Switch valida ARP com base em tabela DHCP snooping Requer switch gerenciável L2
Port Security Limita MACs por porta do switch Não previne spoofing dentro do limite
802.1X + MACsec Autentica host e criptografa quadros L2 Requer infraestrutura RADIUS/certificados
ARP Watch / ArpON Monitora e detecta mudanças suspeitas Reage, não previne

Cisco IOS — DAI

! Habilitar DHCP snooping (pré-requisito)
ip dhcp snooping
ip dhcp snooping vlan 10
!
interface range Gi0/1-24
 ip dhcp snooping trust
 ip arp inspection trust
!
vlan 10
 ip arp inspection limit rate 15

10. Resumo Técnico

  • Entrada: Endereço IPv4 (Lógico).
  • Saída: Endereço MAC (Físico).
  • Ferramenta: Protocolo ARP (RFC 826).
  • Local de Armazenamento: Cache ARP do Sistema Operacional.
  • Encapsulamento: Quadro Ethernet, EtherType 0x0806.
  • Modo: Broadcast (request) + Unicast (reply).
  • Equivalente IPv6: NDP (ICMPv6 Type 135/136, RFC 4861).

11. Conclusão

O mapeamento IP para MAC é a ponte que permite que duas camadas abstratas distintas (Rede e Enlace) cooperem. Sem o ARP, o IP seria apenas uma abstração inútil sobre Ethernet. Apesar de sua simplicidade — um simples par IP/MAC aprendido por broadcast —, o ARP carrega problemas de segurança sérios por não possuir autenticação, exigindo mecanismos complementares como DAI, 802.1X e MACsec em ambientes críticos. Em IPv6, o protocolo foi substituído pelo NDP, mais seguro e eficiente, mas o ARP continuará presente em redes IPv4 por muitos anos, tornando seu domínio obrigatório para qualquer profissional de redes.