Tópico 06 · Serviço de Rede

Protocolo DHCP

Configuração automática de hosts: endereço, máscara, gateway e DNS — RFC 2131

Serviços de Redes

O que é o DHCP

O Dynamic Host Configuration Protocol automatiza a configuração de rede de um dispositivo, eliminando o ajuste manual.

  • Entrega endereço IP, máscara, gateway padrão e servidores DNS.
  • Reaproveita endereços por meio de concessões temporárias (leases).
  • Centraliza a gestão de toda a rede em um servidor.

Camada de aplicação, sobre UDP

É um protocolo da camada de aplicação que roda sobre UDP: porta 67 no servidor e 68 no cliente. Evoluiu do antigo BOOTP, herdando seu formato de mensagem.

Antes do DHCP, cada máquina precisava de IP configurado à mão — inviável em redes grandes e com dispositivos móveis.

Arquitetura: cliente, servidor e relay

Cliente

O dispositivo que, ao entrar na rede sem IP, solicita uma configuração. Usa a porta UDP 68.

Servidor

Mantém um pool de endereços e as regras (escopos, opções). Atribui e controla as concessões. Porta UDP 67.

Relay agent

Encaminha pedidos DHCP entre sub-redes, permitindo um servidor central atender várias redes.

O desafio inicial: o cliente ainda não tem IP. Por isso fala em broadcast (origem 0.0.0.0, destino 255.255.255.255) até receber sua configuração.

O processo DORA

Cliente (sem IP) Servidor DHCP ① DHCPDISCOVER — "há algum servidor?" (broadcast) ② DHCPOFFER — "ofereço o IP yiaddr" ③ DHCPREQUEST — "aceito esta oferta" (broadcast) ④ DHCPACK — "confirmado, lease ativo" DORA: Discover · Offer · Request · Acknowledge

O Request é em broadcast para que os demais servidores saibam que não foram escolhidos e liberem suas ofertas.

As quatro mensagens, em detalhe

EtapaQuem enviaO que faz
DiscoverCliente (broadcast)Procura servidores DHCP disponíveis na rede.
OfferServidorReserva e oferece um endereço (campo yiaddr) com as opções de configuração.
RequestCliente (broadcast)Aceita formalmente uma oferta, identificando o servidor escolhido (opção 54).
AcknowledgeServidorConfirma a concessão (DHCPACK) e fixa o tempo de lease. Em caso de problema, envia DHCPNAK.
Verificação final: antes de usar o IP, o cliente pode checar com ARP (ou DAD) se o endereço já não está em uso; se estiver, responde DHCPDECLINE.

Formato da mensagem (herdado do BOOTP)

A mensagem é uma estrutura de campos fixos seguida de opções variáveis. Campos-chave:

CampoFunção
op1=requisição, 2=resposta.
xidID da transação (casa pedido e resposta).
ciaddrIP atual do cliente (em renovação).
yiaddr"Your address": o IP oferecido/atribuído.
giaddrIP do relay agent (se houver).
chaddrEndereço de hardware (MAC) do cliente.

O campo de opções

Começa com o magic cookie 99.130.83.99 e segue no formato TLV (Tipo-Tamanho-Valor). A opção 53 define o tipo da mensagem DHCP (Discover, Offer, …).

opção 53 = 1 → DHCPDISCOVER
opção 53 = 2 → DHCPOFFER
opção 53 = 3 → DHCPREQUEST
opção 53 = 5 → DHCPACK

Principais opções de configuração

OpçãoNomePara que serve
1Máscara de sub-redeDefine a fronteira rede/host.
3Roteador (gateway)Saída padrão para outras redes.
6Servidores DNSResolução de nomes.
15Nome de domínioSufixo DNS da rede.
51Tempo de concessãoDuração do lease.
53Tipo de mensagemDiscover, Offer, Request, ACK, NAK…
54Identificador do servidorQual servidor concedeu/deve responder.
Há dezenas de opções (RFC 2132): NTP, TFTP, rota estática, identificador de cliente (61), lista de parâmetros solicitados (55), etc.

A concessão (lease) e sua renovação

O endereço é emprestado por um tempo. O cliente tenta renovar antes de expirar, em dois marcos:

0 — BOUND T1 = 50% RENEW (unicast ao servidor) T2 = 87,5% REBIND (broadcast a qualquer servidor) Expira ao expirar sem renovar, o cliente para de usar o IP e recomeça do Discover

T1 (50%) e T2 (87,5%) do tempo de lease disparam a renovação e a re-vinculação.

Por que lease? Endereços são um recurso finito. A concessão temporária permite reciclar IPs de dispositivos que saíram da rede.

Relay agent: DHCP entre sub-redes

O DHCPDISCOVER é broadcast e, por padrão, não atravessa roteadores. Como, então, ter um servidor central para toda a empresa?

Solução: o roteador atua como relay agent (o "IP helper"): recebe o broadcast local, preenche o campo giaddr e encaminha em unicast ao servidor remoto.

O papel do giaddr

O servidor usa o giaddr para saber de qual sub-rede veio o pedido e escolher o escopo correto de endereços, respondendo de volta ao relay.

Outras mensagens do protocolo

MensagemQuem enviaSignificado
DHCPNAKServidorRecusa/invalida o pedido (ex.: o IP solicitado não é mais válido naquela rede).
DHCPDECLINEClienteO endereço oferecido já está em uso (detectado por ARP).
DHCPRELEASEClienteDevolve voluntariamente o endereço antes do fim do lease.
DHCPINFORMClienteJá tem IP (fixo), mas quer apenas parâmetros (DNS, etc.).
Estados do cliente: INIT → SELECTING → REQUESTING → BOUND → RENEWING → REBINDING — um ciclo de vida bem definido pela RFC 2131.

DHCPv6: a versão para IPv6

No IPv6, o DHCPv6 (RFC 8415) convive com a autoconfiguração SLAAC. Muda a mecânica:

  • Usa UDP 546 (cliente) e 547 (servidor).
  • Em vez de broadcast, fala em multicast (ff02::1:2).
  • Troca: Solicit → Advertise → Request → Reply.

Stateful × Stateless

Pode operar com estado (atribui o endereço, como no IPv4) ou sem estado (o SLAAC dá o endereço e o DHCPv6 fornece só DNS e outros parâmetros).

Segurança: ameaças e defesas

Servidor DHCP falso (rogue)

Um servidor não autorizado distribui um gateway/DNS malicioso, interceptando o tráfego das vítimas (man-in-the-middle).

DHCP starvation

O atacante inunda o servidor com pedidos de MACs forjados, esgotando o pool e negando serviço aos hosts legítimos.

Defesas: DHCP snooping (o switch só aceita respostas DHCP de portas confiáveis) combinado com port security (limita os MACs por porta) neutralizam ambos os ataques.
Síntese

Em resumo

O DHCP automatiza a configuração de rede dos hosts via UDP (portas 67/68), entregando IP, máscara, gateway e DNS. O cliente passa pelo ciclo DORA (Discover, Offer, Request, Acknowledge) e recebe uma concessão temporária renovada em T1/T2. Relay agents levam o serviço a várias sub-redes, e o DHCPv6 atende ao IPv6. Por ser baseado em broadcast e sem autenticação, exige defesas como DHCP snooping.

Voltar aos Tópicos