O que é DNS? Uma introdução ao sistema de nomes de domínio

Publicados: 2022-04-11

Quando você se senta em seu computador, a internet parece simples. Você abre um navegador, digita o nome de domínio e vê o site na tela. No entanto, sob a Interface Gráfica do Usuário (GUI) há uma rede expansiva de software e servidores conhecida como Sistema de Nomes de Domínio (DNS). No entanto, o que é DNS e como ele nos ajuda a visualizar a web em nossos dispositivos?

A resposta para isso é complexa, devido ao grande número de partes móveis envolvidas. Você verá que quase todos os elos da cadeia utilizam um servidor. Além disso, existem técnicas para ajudá-lo a reduzir os gargalos que podem corroer suas velocidades de carregamento rápido de página.

Para esta postagem, vamos ajudá-lo a entender o DNS da maneira mais direta possível. Vamos resumir o que este artigo vai cobrir.

Índice

  • Como a Internet obtém uma página da Web de um servidor para seu navegador
    • Os 4 servidores DNS que buscam e carregam páginas da Web
  • A diferença entre o DNS Recursor e o servidor de nomes autoritativo
  • Como funciona uma pesquisa de DNS
    • As consultas que você encontrará em uma pesquisa de DNS
  • Uma cartilha sobre cache de DNS
  • Fazendo alterações nos registros DNS: 'Propagação'
  • Conclusão

Como a Internet obtém uma página da Web de um servidor para seu navegador

Resumindo, o DNS é a maneira pela qual convertemos um nome de domínio legível no endereço IP (Internet Protocol) resultante que ele representa. Embora isso pareça uma tarefa simples na superfície, está longe de ser o caso.

Cada site vive em um servidor e cada servidor (e computador, na verdade) tem um endereço IP. O DNS é o sistema que mapeia endereços IP para nomes de domínio, para que possamos desfrutar de uma navegação amigável. Como analogia, pense em como o nome de uma rua e o endereço de uma casa são realmente um conjunto de coordenadas do mapa. Usamos endereços de rua para simplificar a longitude e a latitude de um local.

Uma tela de mapa mostrando um endereço físico e a latitude e longitude.

Quando você converte um endereço IP em um nome de domínio (e vice-versa), isso é 'resolução DNS'. Há vários componentes de hardware nessa cadeia, especificamente quatro tipos diferentes de servidor. Vamos discutir isso a seguir.

Os 4 servidores DNS que buscam e carregam páginas da Web

Cada solicitação e resolução de DNS passa por quatro servidores. Aqui estão eles, em poucas palavras:

  • Recursor DNS. Este é o 'transportador de água' para todo o DNS. Quando você solicita um site do seu navegador, você diz ao recursor para encontrar (ou 'pesquisar') o site no DNS.
  • O servidor de nomes raiz. Se você considerar um servidor web que contém muitos sites, o servidor de nomes raiz representa o todo. É a localização geral do endereço IP.
  • O servidor de nomes de domínio de primeiro nível (TLD). Um site ficará dentro do servidor de nomes raiz, mas o servidor de nomes TLD extrairá a parte final do endereço IP: A parte final do nome do host. Pode ser .com, .net ou uma infinidade de outros.
  • O servidor de nomes autoritário. Para simplificar esse servidor complicado, é a biblioteca de referência para o endereço IP. Este servidor enviará o endereço IP completo de volta ao recursor, que por sua vez exibe o site em seu navegador.

Uma consulta DNS passa por todas essas etapas, mesmo várias vezes, antes de ser resolvida. Como tal, existem muitos pontos na cadeia que podem causar uma falha na consulta – por isso temos erros de HTTP.

No entanto, vale a pena investigar a frente e a parte de trás desta cadeia com mais detalhes. Vamos fazer isso a seguir.

A diferença entre o DNS Recursor e o servidor de nomes autoritativo

Você entenderá que o recursor busca o resultado de uma consulta e é o início de todo o processo DNS. Por sua vez, você também saberá que o servidor de nomes autoritativo passa o resultado desse processo de volta ao recursor. No entanto, ambos têm mais diferenças que você precisa saber:

  • Recursor DNS. Este servidor responde a uma solicitação de consulta DNS. É ativo porque rastreia o registro DNS ao longo da cadeia. Embora a abordagem típica para um recursor seja fazer várias solicitações para outros servidores, o armazenamento em cache pode reduzir esse tempo. Falaremos mais sobre isso mais tarde.
  • Servidor de nomes autoritário. Este servidor contém todos os registros DNS. Seu trabalho é responder a uma solicitação com base nas informações recebidas dos outros servidores da cadeia, incluindo o recursor. É esse servidor que permite que um navegador exiba um site. Por ser autoritário, não precisa consultar outras fontes para validar uma consulta – é uma fonte de verdade.

No entanto, embora o servidor de nomes autoritativo seja o ponto de extremidade para uma solicitação de DNS, nem sempre será assim. Você também encontrará servidores de nomes adicionais após esse ponto, dependendo da solicitação.

Se uma consulta DNS for para um subdomínio (como shop.example.com), você descobrirá que haverá um servidor de nomes extra após o autoritativo. Isso armazena um registro CNAME para o subdomínio em questão.

Um registro CNAME em um registrador.

Em teoria, não há limite para o número de servidores de nomes extras que uma consulta solicita. No entanto, na maioria das vezes, haverá apenas um servidor de nomes extra.

Como funciona uma pesquisa de DNS

Embora existam quatro servidores que processam uma pesquisa e consulta de DNS, há muitas etapas na cadeia que transmitem a consulta e obtêm resultados. Veja como funciona o processo de pesquisa:

  • Você digitará um nome de domínio em seu navegador. Depois de clicar em Enter , a consulta vai do seu navegador e sistema operacional (SO) para a Internet onde o recursor DNS a recebe.
  • O recursor passa essa consulta para o servidor de nomes raiz e conduz sua própria consulta.
  • O resultado dessa consulta será o servidor de nomes TLD, que retornará ao recursor.
  • Desta vez, o recursor consulta o servidor de nomes TLD, que responde com o endereço IP do servidor de nomes autoritativo do domínio.
  • O recursor envia outra consulta ao servidor de nomes autoritativo, que por sua vez responde com o endereço IP da solicitação de domínio inicial.

A partir daqui, o recursor envia o resultado de seu trabalho de volta ao navegador da web. Isso conclui o processo de DNS e o recursor pode descansar por alguns milissegundos! O navegador processará a solicitação HTTP para exibir o site no navegador.

Existem muitas etapas complexas e trabalhosas (relativas ao que um servidor pode alcançar), e isso acontece bilhões de vezes por segundo em todo o mundo. Mesmo assim, existem apenas três consultas que ocorrem em uma pesquisa.

As consultas que você encontrará em uma pesquisa de DNS

Há uma relação dentro de cada uma dessas consultas entre o cliente DNS e o servidor. Embora estes sejam termos genéricos, observaremos quaisquer detalhes em nossas explicações:

  • Consulta recursiva. Nesta consulta, o cliente solicitará que o recursor DNS responda com o registro DNS solicitado ou uma mensagem de erro.
  • Consulta iterativa. Essa consulta fornece ao recursor uma licença gratuita para fazer uma 'melhor suposição' com o que ele retorna. Se não houver correspondência para uma consulta, o resultado será uma referência a um servidor autoritativo de nível inferior até que esse 'caminho' se esgote.
  • Consulta não recursiva. Você verá que essa consulta ocorrerá se houver um registro DNS no cache ou se o recursor tiver acesso autoritário a um registro. Falaremos sobre cache no final do artigo.

Em muitos casos, você descobrirá que as consultas recursivas e não recursivas são as mais comuns. É por isso que você verá mensagens de erro e por que o processo de pesquisa pode ser complexo.

Uma cartilha sobre cache de DNS

Quando você lida com uma consulta não recursiva, um registro tem a chance de residir em um cache dedicado para registros DNS. Se você conhece o cache, entenderá que ele conterá arquivos que você acessa regularmente. Aplicativos locais podem fazer isso, mas o cache do seu site é o melhor exemplo:

O plugin W3 Total Cache no painel do WordPress.

Isso manterá os registros dos arquivos do seu site, para que você possa manter o número de solicitações HTTP baixo. O mesmo é possível para registros DNS também. Isso mantém os registros relevantes mais próximos da localização do seu computador, para que você possa buscar um endereço IP mais rápido do que normalmente faria.

Para desenvolvedores da Web, uma solicitação GET é o que o navegador emite. Com um cache, o recursor corta os outros servidores na cadeia e vai direto para o servidor de nomes autoritário ou o recupera sem a necessidade de consultas adicionais. É a consulta não recursiva mais típica que você pode fazer.

Na verdade, você encontrará caches DNS em várias tecnologias, como seu provedor de serviços de Internet (ISP), seu roteador e seu computador local.

O navegador Brave mostrando o número de arquivos em cache na memória.

Você descobrirá que o cache do seu navegador é a primeira porta de chamada para um recursor que procura um registro DNS e, como tal, os navegadores geralmente armazenam registros em cache como uma configuração padrão. Seu sistema operacional também terá um resolvedor de DNS, e isso também verifica seu cache para um registro de DNS.

Novamente, se o sistema operacional não contiver o registro em seu cache, ele enviará a consulta para o recursor do ISPs para processamento. Ambos esses recursors funcionarão com os registros A e NS do seu domínio para tentar resolver uma consulta, antes que o processo de pesquisa completo ocorra.

Fazendo alterações nos registros DNS: 'Propagação'

Falando nisso, você pode fazer alterações em seus registros A , NS ou CNAME com seu registrador. Em muitos casos, isso levará até 72 horas no total antes que todas essas alterações sejam registradas.

Esta é a propagação de DNS, e o tempo necessário para concluir depende de vários fatores – ou seja, o valor TTL (Time To Live) de um registro associado:

Registros do registrador mostrando os valores de TTL em segundos.

Em resumo, isso determina a rapidez com que uma alteração entrará em vigor para um registro DNS específico. Um TTL típico é de cerca de quatro horas e quanto maior o valor, mais tempo levará essa propagação.

O registrador geralmente define o TTL para seus servidores de nomes e, como tal, você ou qualquer outra pessoa não poderá fazer alterações. É por isso que muitas vezes você terá que esperar que a propagação termine e por que você verificará constantemente um site como What's My DNS? para avaliar seu progresso:

O que é meu DNS? local na rede Internet.

A solução é definir seu TTL o máximo possível antes de decidir alterar seus registros DNS. É claro que o registrador será responsável por seus servidores de nomes, mas você terá feito o máximo para reduzir o tempo de propagação.

Conclusão

Se você acha que acessar uma página da Web é simples, pense novamente. Para o usuário final, o processo é simples em sua essência. No entanto, sob o capô, é muito mais complexo e envolve uma infinidade de servidores adicionais.

Este post analisou o DNS – a maneira como a Internet pega um nome de domínio e o resolve para um endereço IP. A partir daí, ele pode voltar ao navegador e renderizar como uma página da web. No entanto, você descobrirá que muitos outros processos também acontecem, como propagação e armazenamento em cache. Combinados, eles nos proporcionam uma navegação rápida e (principalmente) sem problemas.

Você acha que este artigo responde à pergunta: “O que é o DNS?”, e se não, você tem mais perguntas? Se sim, pergunte na seção de comentários abaixo!