DNS é o que permite aos usuários se conectarem a sites usando nomes de domínio em vez de endereços IP. Saiba como o DNS funciona.
Após ler este artigo, você será capaz de:
Copiar o link do artigo
O Domain Name System (DNS) é a lista telefônica da internet. Os seres humanos acessam informações on-line por meio de nomes de domínio, como nytimes.com ou espn.com. Os navegadores da web interagem por meio de endereços de Protocolo de internet (IP). O DNS converte os nomes de domínio em endereços de IP para que os navegadores possam carregar os recursos da internet.
Cada dispositivo conectado à internet tem um endereço IP único que outras máquinas utilizam para localizar o dispositivo. Os servidores de DNS eliminam a necessidade de que humanos memorizem endereços IP como 192.168.1.1 (no IPv4) ou endereços IP alfanuméricos mais complexos mais recentes, como 2400:cb00:2048:1::c629:d7a2 (no IPv6).
O processo de resolução do DNS envolve a conversão de um hostname (como www.exemplo.com) em um endereço IP fácil de ser entendido por um computador (como 192.168.1.1). Um endereço IP é fornecido para cada dispositivo na internet, e esse endereço é necessário para que o dispositivo de internet apropriado seja encontrado — como um endereço postal é usado para encontrar uma determinada casa. Quando um usuário deseja carregar uma página da internet, precisa haver uma tradução daquilo que o usuário digita no navegador web (exemplo.com) para o endereço de máquina necessário para localizar a página do site exemplo.com.
Para entender o processo por trás da resolução do DNS, é importante aprender sobre os diferentes componentes de hardware pelos quais uma consulta de DNS deve passar. Para o navegador da web, a busca pelo DNS ocorre "nos bastidores" e não exige nenhuma interação do computados do usuário além da solicitação inicial.
Ambos os conceitos se referem a servidores (grupos de servidores) que são parte integrante da infraestrutura do DNS, mas cada um desempenha uma função diferente e fica em locais diferentes dentro do pipeline de uma consulta de DNS. Uma forma de se pensar sobre a diferença é que o resolvedor recursivo está no início da consulta de DNS e o nameserver autoritativo está no final.
O resolvedor recursivo é o computador que responde a uma solicitação recursiva de um cliente e dedica algum tempo a rastrear o registro de DNS. Isso é feito por meio de uma série de solicitações até chegar ao nameserver autoritativo de DNS do registro solicitado (ou atingir o limite de tempo ou retornar um erro se nenhum registro for encontrado). Felizmente, nem sempre os resolvedores recursivos de DNS precisam fazer diversas solicitações para rastrear os registros necessários para responder a um cliente; o armazenamento em cache é um processo de persistência de dados que ajuda a encurtar o caminho das solicitações necessárias fornecendo o registro do recurso solicitado mais no início da pesquisa de DNS.
Em termos simples, um servidor DNS autoritativo é o servidor que realmente mantém e é responsável pelos registros de recursos de DNS. Trata-se do servidor na parte inferior da cadeia de pesquisa de DNS, que responderá com o registro do recurso consultado, em última instância permitindo que o navegador de internet faça a solicitação para alcançar o endereço IP necessário para acessar um site ou outros recursos da internet. Um nameserver autoritativo pode atender a consultas com seus próprios dados, sem precisar consultar outra fonte, já que se trata da fonte final da verdade para determinados registros de DNS.
Vale mencionar que, nos casos em que a consulta é para um subdomínio, como foo.example.com ou blog.cloudflare.com, um nameserver adicional será adicionado à sequência após o nameserver autoritativo, que é responsável por armazenar o registro CNAME do subdomínio.
Há uma diferença fundamental entre os diversos serviços de DNS e o fornecido pela Cloudflare. Diferentes resolvedores recursivos de DNS, como o Google DNS, o OpenDNS e provedores como a Comcast, mantêm instalações de data center com resolvedores recursivos de DNS. Esses resolvedores permitem consultas rápidas e fáceis por meio de grupos otimizados de sistemas de computador otimizados para DNS, mas são fundamentalmente diferentes dos nameservers hospedados pela Cloudflare.
A Cloudflare mantém nameservers em nível de infraestrutura que são essenciais para o funcionamento da internet. Um exemplo importante é a rede de servidores raiz F, por cuja hospedagem a Cloudflare é parcialmente responsável. O raiz F é um dos componentes da infraestrutura de nameservers de DNS no nível raiz, responsável por bilhões de solicitações de internet por dia. Nossa rede Anycast nos coloca em uma posição única para lidar com grandes volumes de tráfego de DNS sem interrupção do serviço.
Na maioria das situações, o DNS se preocupa com a tradução de um nome de domínio para o endereço IP apropriado. Para aprender como esse processo funciona, é útil seguir o caminho de uma pesquisa de DNS à medida que ela viaja, partindo de um navegador web, ao longo do processo de pesquisa de DNS e de volta à origem. Vamos examinar essas etapas.
Observação: muitas vezes, as informações da pesquisa de DNS são armazenadas em cache localmente dentro do computador de consulta ou remotamente na infraestrutura de DNS. De modo geral, uma pesquisa de DNS tem 8 etapas. Quando as informações de DNS são armazenadas em cache, algumas etapas do processo de pesquisa de DNS são ignoradas, o que o torna mais rápido. O exemplo abaixo descreve todas as 8 etapas, quando não há nada armazenado em cache.
Assim que as 8 etapas da pesquisa de DNS tiverem retornado o endereço IP para exemplo.com, o navegador consegue fazer a solicitação da página da internet:
O resolvedor de DNS é a primeira parada da pesquisa de DNS e é responsável por lidar com o cliente que fez a solicitação inicial. O resolvedor inicia a sequência de consultas que, em última instância, leva à tradução de uma URL para o endereço IP necessário.
Observação: uma pesquisa típica de DNS não armazenada em cache envolverá consultas recursivas e iterativas.
É importante estabelecer a diferença entre uma consulta recursiva de DNS e um resolvedor recursivo de DNS. A consulta refere-se à solicitação feita a um resolvedor de DNS requerendo a resolução da consulta. Um resolvedor recursivo de DNS é o computador que aceita uma consulta recursiva e processa a resposta fazendo as solicitações necessárias.
Em uma pesquisa típica de DNS, ocorrem três tipos de consultas. Por meio do uso de uma combinação dessas consultas, um processo otimizado para a resolução do DNS pode resultar em uma redução da distância percorrida. Em uma situação ideal, os dados do registro armazenado em cache estarão disponíveis, permitindo que um nameserver de DNS retorne uma consulta não recursiva.
O objetivo do armazenamento em cache é armazenar dados temporariamente em um local que resulte em um aumento de desempenho e de confiabilidade para as solicitações de dados. O armazenamento de DNS em cache envolve o armazenamento de dados mais perto do cliente que os solicita, para que a consulta de DNS possa ser resolvida mais cedo e consultas adicionais mais à frente na cadeia de pesquisa de DNS possam ser evitadas, reduzindo os tempos de carregamento e o consumo de largura de banda/CPU. Os dados de DNS podem ser armazenados em cache em diversos locais, cada um dos quais irá armazenar registros de DNS por um período de tempo definido, determinado por uma vida útil (TTL).
Os navegadores web modernos são projetados por padrão para armazenar os registros de DNS em cache por um período de tempo definido. O objetivo aqui é óbvio: quanto mais próximo do navegador web o armazenamento do DNS em cache ocorrer, menos etapas de processamento precisarão ser realizadas para verificar o cache e fazer as solicitações corretas para um endereço de IP. Quando uma solicitação de um registro de DNS é feita, o cache do navegador é o primeiro local verificado na busca do registro solicitado.
No Chrome, você pode ver o status do seu cache de DNS acessando chrome://net-internals/#dns.
O resolvedor de DNS no nível do sistema operacional é a segunda e última parada local antes que uma consulta DNS saia da sua máquina. O processo dentro do seu sistema operacional projetado para lidar com essa consulta geralmente é chamado de "resolvedor de stub" ou cliente de DNS. Quando recebe uma solicitação de uma aplicação, um resolvedor de stub primeiro verifica seu próprio cache para ver se tem o registro. Caso contrário, envia uma consulta de DNS (com um sinalizador recursivo definido) para fora da rede local, para um resolvedor recursivo de DNS dentro do provedor de serviços de internet (ISP).
Como ocorre em todas as etapas anteriores, quando recebe uma consulta de DNS o resolvedor recursivo dentro do ISP também verifica se a tradução do host em endereço IP solicitada já está armazenada dentro de sua camada de persistência local.
O resolvedor recursivo também apresenta uma funcionalidade adicional, dependendo dos tipos de registros que estão em seu cache:
Saiba mais sobre o que diferencia o DNS da Cloudflare de outros provedores de DNS.
Vendas
Sobre o DNS
Servidores de DNS
Glossário de DNS
Navegação no Centro de Aprendizagem