Leia o primeiro artigo desta série clicando aqui!
Todos os servidores DNS se enquadram em uma das quatro categorias: resolvedores recursivos, servidores de nomes raiz, servidores de nomes de TLD e servidores de nomes oficiais. Em uma típica pesquisa de DNS (quando não há cache no jogo), esses quatro servidores trabalham em harmonia para concluir a tarefa de entregar o endereço IP de um domínio especificado ao cliente (o cliente geralmente é um resolvedor de stub – um simples resolvido embutido em um sistema operacional). Vale disponibilizar brevemente o que é cada um deles.
Resolvedores Recursivos
Um resolvedor recursivo (também conhecido como um recurso DNS) é a primeira parada em uma consulta DNS. O resolvedor recursivo atua como intermediário entre um cliente e um servidor de nomes DNS. Depois de receber uma consulta DNS de um cliente da Web, um resolvedor recursivo responderá com dados em cache ou enviará uma solicitação a um servidor de nomes raiz, seguido por outra solicitação a um servidor de nomes de TLD e, em seguida, uma última solicitação a um servidor de nomes autoritativo. Depois de receber uma resposta do servidor de nomes oficial contendo o endereço IP solicitado, o resolvedor recursivo envia uma resposta ao cliente.
Durante esse processo, o resolvedor recursivo armazenará em cache as informações recebidas dos servidores de nomes oficiais. Quando um cliente solicita o endereço IP de um nome de domínio que foi solicitado recentemente por outro cliente, o resolvedor pode contornar o processo de comunicação com os servidores de nomes e apenas entregar ao cliente o registro solicitado de seu cache.
A maioria dos usuários da Internet usa um resolvedor recursivo fornecido pelo ISP, mas há outras opções disponíveis; por exemplo, o Google executa seu próprio serviço DNS recursivo público
Servidores de Nomes Raiz (Root Servers)
Os 13 servidores de nomes raiz do DNS são conhecidos de todos os resolvedores recursivos e são a primeira parada na busca de um resolvedor recursivo por registros DNS. Um servidor raiz aceita uma consulta de resolvedor recursivo que inclui um nome de domínio e o servidor de nomes raiz responde direcionando o resolvedor recursivo a um servidor de nomes de TLD, com base na extensão desse domínio (.com, .net, .org, etc.). Os servidores de nomes raiz são supervisionados por uma organização sem fins lucrativos chamada ICANN (Internet Corporation for Assigned Names and Numbers).
Observe que, embora haja 13 servidores de nomes raiz, isso não significa que existam apenas 13 máquinas no sistema de servidores de nomes raiz. Existem 13 tipos de servidores de nomes de raiz, mas existem várias cópias de cada um em todo o mundo, que usam roteamento Anycast para fornecer respostas rápidas. Se você adicionasse todas as instâncias de servidores de nomes raiz, teria 632 servidores diferentes (informação de outubro de 2016)
Servidores de nomes de TLD
Um servidor de nomes TLD mantém informações para todos os nomes de domínio que compartilham uma extensão de domínio comum, como .com, .net ou o que vier depois do último ponto em uma URL. Por exemplo, um servidor de nomes TLD .com contém informações de todos os sites que terminam em “.com”. Se um usuário estivesse procurando por google.com, depois de receber uma resposta de um servidor de nomes raiz, o resolvedor recursivo enviaria uma consulta para um servidor de nomes TLD .com, que responderia apontando para o servidor de nomes autoritativo para esse domínio.
O gerenciamento de servidores de nomes de TLDs é feito pela IANA (Internet Assigned Numbers Authority), que é uma filial da ICANN. A IANA divide os servidores TLD em dois grupos principais:
- Domínios de nível superior genéricos: são domínios que não são específicos de um país. Alguns dos TLDs genéricos mais conhecidos incluem .com, .org, .net, .edu e .gov.
- Domínios de nível superior com código de país: incluem domínios específicos de um país ou estado. Exemplos incluem .uk, .us, .ru e .jp.
Na verdade, existe uma terceira categoria para domínios de infraestrutura, mas quase nunca é usada. Essa categoria foi criada para o domínio .arpa, que era um domínio de transição usado na criação do DNS moderno; seu significado hoje é principalmente histórico.
Servidores de nomes oficiais
Quando um resolvedor recursivo recebe uma resposta de um servidor de nomes de TLD, essa resposta direcionará o resolvedor para um servidor de nomes autoritativo. O servidor de nomes com autoridade geralmente é a última etapa do resolvedor na jornada para um endereço IP. O servidor de nomes oficial contém informações específicas para o nome de domínio que ele atende (por exemplo, google.com) e pode fornecer um resolvedor recursivo com o endereço IP desse servidor localizado no registro DNS A ou se o domínio tiver um registro CNAME (alias) ele fornecerá ao resolvedor recursivo um domínio de alias, ponto no qual o resolvedor recursivo terá que executar uma pesquisa de DNS totalmente nova para obter um registro de um servidor de nomes autoritativo (geralmente um registro A contendo um endereço IP). O DNS 1.1.1.1 da Cloudflare distribui os servidores de nomes oficiais com o Anycast para torná-los mais confiáveis.
Bom, agora já estamos familiarizados com os tipos de servidores DNS para seguirmos em frente. Em breve publicaremos a terceira parte da minissérie de artigos sobre o DNS Cloudflare DNS 1.1.1.1.
Leia o primeiro artigo desta série clicando aqui!