Como o DNS funciona
Aprenda como o DNS traduz nomes de domínio em endereços IP para que os clientes possam encontrar e se conectar aos serviços.
Por que o DNS Existe
Humanos pensam em nomes de domínio, mas computadores se comunicam usando endereços IP — o DNS faz essa ponte.
- Humanos preferem nomes legíveis como google.com, não endereços IP numéricos.
- As redes roteiam o tráfego usando endereços IP como 142.250.x.x.
- O DNS traduz nomes de domínio em endereços IP para que a comunicação possa começar.
Detalhes
Quando você digita um nome de domínio em um navegador, seu computador não consegue usar esse nome diretamente para enviar dados pela Internet. Os roteadores não entendem palavras — eles encaminham pacotes com base em endereços IP numéricos.
Por exemplo, digitar google.com eventualmente precisa resolver para algo como 142.250.190.14. Esse endereço IP identifica o servidor de destino na rede global.
Sem um sistema de tradução, cada usuário precisaria memorizar endereços IP para todos os serviços que usa. Isso é claramente inviável na escala da Internet.
O Domain Name System (DNS) atua como a lista telefônica distribuída da Internet. Ele mapeia nomes legíveis por humanos para endereços IP legíveis por máquinas, para que a comunicação possa realmente começar.
Onde o DNS se Encaixa no Ciclo de Vida da Requisição
A resolução de DNS acontece antes que qualquer conexão TCP ou requisição HTTP possa ocorrer.
- O DNS precisa primeiro resolver um nome de domínio em um endereço IP.
- O TCP não pode estabelecer uma conexão sem um IP de destino.
- O HTTP depende totalmente da conexão criada após o DNS.
Detalhes
Quando você digita uma URL no navegador, o sistema não pode enviar imediatamente uma requisição HTTP. Primeiro, ele precisa saber para onde enviar essa requisição.
A resolução de DNS é a primeira etapa de rede. O navegador pergunta: “Qual endereço IP corresponde a este nome de domínio?” Somente depois de receber o endereço IP o sistema pode iniciar um handshake TCP com o servidor de destino.
A sequência é rígida:
DNS → conexão TCP → requisição HTTP → resposta do servidor
Se o DNS falhar, todo o processo para imediatamente. Não há tentativa de conexão, nem negociação de criptografia, nem comunicação na camada de aplicação. O DNS é o guardião que permite todo o resto no ciclo de vida da requisição.
Resolução Recursiva de DNS: A Jornada Completa
Se um endereço IP não estiver em cache localmente, a resolução de DNS se torna uma busca recursiva em várias etapas pela hierarquia global de DNS.
- O sistema verifica vários caches antes de consultar servidores DNS externos.
- Um resolvedor recursivo realiza buscas hierárquicas em nome do cliente.
- A resolução flui de Root → TLD → servidor Authoritative → de volta para o cliente.
Detalhes
Quando você solicita um nome de domínio, o navegador não entra em contato imediatamente com a infraestrutura global de DNS. Primeiro, ele verifica fontes locais:
- Cache do navegador
- Cache do sistema operacional
- Cache do roteador
Se não existir um resultado em cache, a solicitação é enviada para um resolvedor DNS recursivo, normalmente operado pelo seu ISP ou por um provedor público como 8.8.8.8.
Em seguida, o resolvedor realiza uma busca hierárquica:
- Ele pergunta a um servidor Root: “Onde posso encontrar
.com?” - O Root responde com o endereço do servidor TLD (Top-Level Domain) apropriado.
- O resolvedor pergunta ao servidor TLD: “Onde está
example.com?” - O TLD responde com o servidor de nomes Authoritative para esse domínio.
- O resolvedor pergunta ao servidor authoritative o endereço IP real.
Depois que o servidor authoritative retorna o IP, o resolvedor o envia de volta ao cliente e o armazena em cache para uso futuro.
Todo esse processo normalmente acontece em milissegundos, mas estruturalmente envolve vários servidores distribuídos globalmente trabalhando juntos para resolver um único nome de domínio.
Cache e TTL
O DNS seria lento demais e sobrecarregado se cada consulta chegasse aos servidores raiz, então o cache armazena resultados temporariamente para reduzir buscas repetidas.
- As respostas DNS são armazenadas em cache em vários níveis para evitar buscas globais repetidas.
- TTL (Time To Live) define por quanto tempo um registro DNS pode ser armazenado.
- O cache reduz drasticamente a latência e a carga da infraestrutura.
Detalhes
Se cada consulta de domínio exigisse contatar os servidores raiz, os servidores TLD e os servidores autoritativos toda vez, o DNS rapidamente se tornaria um gargalo global.
Para evitar isso, as respostas DNS são armazenadas em cache em vários pontos: o navegador, o sistema operacional, o roteador e o resolvedor recursivo. Depois que um domínio é resolvido, o resultado é armazenado temporariamente para que futuras solicitações possam pular o processo recursivo completo.
Cada registro DNS inclui um valor de TTL (Time To Live), medido em segundos. O TTL informa aos resolvedores por quanto tempo eles podem manter o registro antes que ele precise ser atualizado a partir da fonte autoritativa.
Valores de TTL curtos permitem que os proprietários de domínios alterem endereços IP mais rapidamente, enquanto valores de TTL longos melhoram o desempenho e reduzem o tráfego DNS. O TTL é o equilíbrio entre flexibilidade e eficiência.
O cache é o motivo pelo qual a resolução DNS geralmente parece instantânea, mesmo que o sistema subjacente seja distribuído globalmente.
Tipos de Registros que Importam
Diferentes tipos de registros DNS definem como um domínio se mapeia para endereços IP ou outros serviços.
- Os registros A e AAAA mapeiam um domínio diretamente para endereços IPv4 ou IPv6.
- CNAME cria um alias que aponta um domínio para outro.
- Os registros MX definem quais servidores de e-mail lidam com o e-mail de um domínio.
Detalhes
DNS faz mais do que traduzir um nome para um único IP. Ele armazena registros estruturados que definem como diferentes serviços devem se comportar.
Um registro A mapeia um nome de domínio para um endereço IPv4 (por exemplo, example.com → 93.184.216.34).
Um registro AAAA faz o mesmo, mas para endereços IPv6.
Um registro CNAME (Canonical Name) cria um alias. Em vez de apontar diretamente para um endereço IP, ele aponta um nome de domínio para outro nome de domínio. Isso é comumente usado quando serviços estão hospedados em plataformas externas.
Um registro MX (Mail Exchange) especifica quais servidores de e-mail são responsáveis por lidar com o e-mail de um domínio. Ele inclui valores de prioridade para dar suporte a servidores de e-mail de backup.
Entender esses tipos principais de registros explica como sites são resolvidos, como aliases funcionam e como o roteamento de e-mail é नियंत्रado por meio do DNS.
DNS e Balanceamento de Carga
O DNS pode distribuir o tráfego retornando endereços IP diferentes para o mesmo nome de domínio.
- Um domínio pode mapear para vários endereços IP.
- Os resolvedores podem alternar as respostas usando comportamento round-robin.
- O DNS pode rotear usuários com base na localização geográfica.
Detalhes
Um único site raramente é hospedado em apenas um servidor. Serviços com alto tráfego operam vários servidores em diferentes regiões para desempenho e confiabilidade.
O DNS permite um balanceamento básico de carga ao associar um domínio a vários registros A ou AAAA. Quando um resolvedor consulta o domínio, ele pode receber diferentes endereços IP em ordem alternada. Isso é chamado de DNS round-robin.
Configurações mais avançadas usam DNS baseado em geolocalização, em que o resolvedor retorna um endereço IP com base na localização aproximada do usuário. Por exemplo, um usuário na Europa pode ser direcionado para um data center europeu em vez de um na América do Norte.
Embora o balanceamento de carga baseado em DNS seja relativamente simples em comparação com balanceadores de carga na camada de aplicação, ele é escalável globalmente e acontece antes mesmo de uma conexão ser estabelecida.
Portanto, o DNS faz mais do que traduzir nomes — ele pode influenciar desempenho, disponibilidade e distribuição de tráfego em escala da Internet.
O que acontece se o DNS falhar?
Se o DNS não conseguir resolver um nome de domínio, todo o ciclo de vida da requisição para antes de qualquer conexão ser feita.
Consulta DNS
Handshake TCP
TLS
Requisição HTTP
- Se um domínio não resolver, nenhuma comunicação TCP ou HTTP pode começar.
- Falhas podem ocorrer no resolvedor, no servidor autoritativo ou devido a registros expirados.
- Problemas de DNS geralmente aparecem como erros “servidor não encontrado” ou “não foi possível resolver o host”.
Detalhes
DNS é o ponto de entrada para o ciclo de vida de uma requisição na Internet. Se ele falhar, tudo depois disso falha automaticamente.
Cenários comuns de falha incluem:
- O resolvedor recursivo está indisponível ou mal configurado.
- O servidor de nomes autoritativo está fora do ar.
- O registro DNS foi alterado recentemente, mas ainda não se propagou completamente.
- O TTL expirou, e uma nova consulta não consegue recuperar uma resposta válida.
- O próprio domínio está mal configurado ou não existe mais.
Do ponto de vista do usuário, falhas de DNS normalmente aparecem como mensagens como “DNS_PROBE_FINISHED_NXDOMAIN” ou “Servidor não encontrado.” Esses erros ocorrem antes de qualquer handshake TCP ou negociação TLS começar.
Como o DNS opera antes do estabelecimento da conexão, sua falha bloqueia toda a comunicação na camada de aplicação. O sistema não consegue se conectar ao que não consegue localizar.
Seção de Perguntas
1 / 5