Fundamentos de DNS
Entenda o que é DNS, como funciona a resolução de nomes, tipos de registros, cache/TTL e mecanismos de segurança como DNSSEC, DoT e DoH.
O que é DNS
O DNS (Domain Name System) é o sistema responsável por associar nomes legíveis a endereços IP. Em vez de acessar um serviço usando um endereço numérico, como 203.0.113.10, o usuário pode utilizar um nome como www.exemplo.com.
Essa função existe porque pessoas interagem melhor com nomes, enquanto dispositivos precisam de endereços IP para se comunicar na rede.
Sem o DNS, seria necessário memorizar endereços IP para acessar sites, APIs, servidores de e-mail e outros serviços. O DNS reduz esse atrito ao atuar como um mecanismo de tradução entre nomes e endereços, sem eliminar o uso de IP na comunicação.
Conceito principal
O DNS é um sistema distribuído e hierárquico responsável pela resolução de nomes.
Em vez de centralizar todas as informações em um único ponto, ele distribui a responsabilidade entre diferentes servidores, permitindo que nomes de domínio sejam resolvidos de forma escalável e eficiente.
Esse processo de associação entre nomes e endereços IP é chamado de resolução de nomes.
Funcionamento geral
A resolução DNS começa quando uma aplicação precisa descobrir o endereço IP associado a um nome de domínio. Isso pode ocorrer em navegadores, clientes de e-mail ou qualquer sistema que precise localizar outro host na rede.
O sistema operacional participa desse processo por meio de componentes locais de resolução, que recebem a solicitação da aplicação e a encaminham para um resolvedor configurado.
Em um fluxo comum, a consulta é enviada a um resolvedor recursivo, que percorre a hierarquia DNS até encontrar a resposta. Essa resposta é então retornada ao cliente e pode ser armazenada em cache.
De forma simplificada, o processo envolve um cliente que solicita a informação, um resolvedor que realiza a busca e servidores DNS que armazenam ou indicam onde os dados estão.
Estrutura do DNS
O DNS é organizado como uma estrutura hierárquica em árvore, chamada namespace DNS. Cada nome de domínio é composto por partes separadas por pontos, e cada parte representa um nível dessa hierarquia.
No topo está a raiz, representada por um ponto final em um nome totalmente qualificado. Embora nem sempre visível, ela define o nível mais alto do sistema.
Logo abaixo estão os TLDs (Top-Level Domains), como .com, .org, .net e .br, que organizam os domínios registrados.
Abaixo dos TLDs estão os domínios, como exemplo.com, e seus respectivos subdomínios ou hosts, como www.exemplo.com.
Conceitos fundamentais
Dentro do DNS, alguns conceitos são essenciais para entender seu funcionamento.
O FQDN (Fully Qualified Domain Name) representa o nome completo de um recurso dentro da hierarquia, incluindo todos os níveis até a raiz.
A delegação é o mecanismo que permite transferir a responsabilidade sobre uma parte do namespace para outro conjunto de servidores, tornando o sistema distribuído.
A autoridade está relacionada à responsabilidade administrativa sobre uma zona DNS. Um servidor autoritativo responde com base nos dados da zona que controla.
Embora frequentemente confundidos, domínio e zona não são a mesma coisa. Um domínio representa uma parte da hierarquia de nomes, enquanto uma zona corresponde à porção administrativa efetivamente gerenciada por um servidor DNS.
Transporte no DNS
O DNS utiliza principalmente a porta 53 sobre UDP, pois consultas e respostas tendem a ser pequenas e exigem baixa latência.
O TCP também é utilizado em situações específicas, como quando as respostas excedem o tamanho suportado pelo UDP ou durante transferências de zona entre servidores.
Próximo passo
Para aprofundar o entendimento do DNS, você pode seguir para:
-
Resolução DNS (detalhado)
-
Registros DNS
-
Cache e TTL