DNS: o catálogo da internet
Você digita "google.com" e em 50ms o browser sabe o IP. O que acontece nesse intervalo é uma consulta hierárquica fascinante.
A lista telefônica distribuída
Antes da internet, tinha listas telefônicas: você procurava o nome, achava o número. O DNS faz o mesmo —
você fornece um nome (google.com) e ele devolve um número (IP). Mas diferente de uma lista centralizada,
o DNS é distribuído por milhões de servidores ao redor do mundo.
A hierarquia funciona como um organograma: o topo (root) sabe quem cuida de .com,
.br, .net. Cada TLD sabe quem cuida de cada domínio dentro dele. E cada
nameserver autoritativo sabe o IP final.
<link rel="dns-prefetch">)
existem para sites mais rápidos.
Siga uma consulta DNS ao vivo
Clique em Iniciar animação para ver cada etapa da resolução de "exemplo.com", do cache do navegador até o nameserver autoritativo.
Tipos de registros DNS
# Tipos de registros DNS mais comuns A exemplo.com. → 93.184.216.34 # IPv4 AAAA exemplo.com. → 2606:2800:220:1:: # IPv6 CNAME www → exemplo.com. # alias MX exemplo.com. → mail.exemplo.com. # e-mail TXT exemplo.com. → "v=spf1 …" # verificações (SPF, DKIM) NS exemplo.com. → ns1.registrar.com. # nameservers PTR 34.216.184.93 → exemplo.com. # DNS reverso
TTL e propagação de mudanças
# TTL (Time to Live) — tempo de cache em segundos exemplo.com. 300 IN A 93.184.216.34 ^^^ TTL = 300s = 5 minutos # Impacto do TTL: TTL alto (86400 = 1 dia): cache longo → menos consultas, mas mudanças demoram a propagar TTL baixo (60s): cache curto → mudanças rápidas, mas mais carga nos nameservers # Antes de mudar o IP de um servidor: reduza o TTL para 60s, # aguarde propagação, mude o IP, depois restaure o TTL alto.
Consulte o DNS você mesmo
Mini projeto: no terminal, use nslookup google.com ou dig google.com A para ver a resolução DNS real. Depois use dig google.com MX para ver os servidores de e-mail.
Projeto principal: implemente um resolver DNS simples usando sockets UDP (porta 53). Construa uma mensagem DNS query manualmente (header + question section) e interprete a resposta para extrair o IP.
Desafio extra: implemente um cache DNS em memória com suporte a TTL. Use um dict onde a chave é o domínio e o valor é {"ip": "...", "expira": timestamp}.
Teste sua intuição
Onde você encontra isso
CDN com GeoDNS
Cloudflare e Akamai respondem com IPs diferentes dependendo de onde o usuário está — DNS como balanceamento de carga geográfico.
DNSSEC
Assinaturas criptográficas nos registros DNS para evitar ataques de envenenamento de cache (DNS cache poisoning).
Bloqueio por DNS
Controles parentais e firewalls corporativos bloqueiam domínios respondendo com IP nulo. Pi-hole é um bloqueador de anúncios via DNS.
Registros SPF/DKIM
Configurações de e-mail vivem como registros TXT no DNS. Sem eles, seus e-mails vão para spam.