BLOG

DNS — Uma breve introdução para deixar de ser noob

Sistema de Nomes de Domínio (DNS — Domain Name System) é uma das inovações mais significativas da internet, permitindo que usuários e sistemas se comuniquem em um ambiente digital complexo com facilidade surpreendente.

Imagine tentar memorizar sequências numéricas complexas para cada site que você deseja visitar na internet. Graças ao DNS, essa não é uma realidade que precisamos enfrentar. Em vez disso, digitamos nomes de domínio fáceis de lembrar, como “www.uol.com.br”, e o DNS se encarrega de traduzir esses nomes para os endereços IP correspondentes que os computadores utilizam para se conectar entre si na internet.

A ideia desse nosso artigo é fazer uma referencia ao que falamos há algum tempo atrás sobre “A importância de fazer o básico bem feito”. Com o avanço de cloud, AI, SaaS, XaaS, etc, é nitido que as pessoas estão se esquecendo do básico! Problemas que poderiam ser facilmente identificados com um simples comando Linux como dig ou whois, tem se tornado um tormento do dia-a-dia das pessoas.

Além do mais, essa é apenas a jornada de um longo caminho de coisas que podemos explorarmos ao falarmos de DNS!

O Papel do DNS

O DNS é comparável ao de uma agenda telefônica para a web. Assim como procuramos nomes em uma agenda para encontrar números de telefone, o DNS permite que procuramos por nomes de domínio para encontrar os endereços IP correspondentes. Esse sistema de tradução é o que torna possível a navegação intuitiva e fácil pela internet, eliminando a necessidade de memorizar endereços IP complexos para acessar websites.

Importância do DNS

O DNS transcende a mera conveniência! Ele é fundamental para a funcionalidade da internet como nós conhecemos, permitindo a escalabilidade e a gestão eficiente do espaço de nomes global da internet. Sem o DNS, a internet seria não apenas menos acessível para o usuário médio, mas também mais difícil de administrar e escalar para acomodar o crescimento contínuo do número de sites e serviços online.

O DNS também desempenha um papel crucial em várias funcionalidades e serviços da internet além da navegação web, incluindo email, serviços em nuvem e muitos outros que dependem da resolução de nomes de domínio para operar eficientemente. Isso torna o entendimento do DNS não apenas útil para usuários da internet interessados em como a tecnologia funciona, mas também essencial para profissionais de TI, desenvolvedores web e administradores de sistemas que gerenciam a infraestrutura digital.

Legal, mas como ele funciona?

O processo de resolução de nomes pelo DNS é um mecanismo fascinante que ocorre quase instantaneamente toda vez que digitamos um endereço de website em nosso navegador. Este processo pode ser comparado a uma busca em várias etapas por um número de telefone em uma agenda telefônica globalmente distribuída.

Etapa 1: Consulta Inicial

Tudo começa quando você digita um URL, como “www.uol.com.br“, na barra de endereços do seu navegador. O navegador verifica primeiro se o endereço IP está armazenado no cache local. Se não estiver, ele faz uma consulta ao resolver DNS configurado pelo seu provedor de acesso à internet (O famoso ISP).

Etapa 2: Servidor Resolver DNS

resolver DNS, que nada mais é que um servidor configurado pelo seu provedor, recebe a consulta e verifica seu próprio cache. Se a informação estiver desatualizada ou ausente, o resolver inicia uma busca pela resposta correta. Ele primeiro contata um dos servidores de nomes raiz.

Por padrão, nossas máquinas e demais equipamentos recebem o DNS do nosso provedor, o que pode variar de acordo com inumeros fatores.

Etapa 3: Servidor de Nomes Raiz

A internet possui 13 conjuntos de servidores de nomes raiz (ou os famososo root name servers), que direcionam as consultas para os servidores de nomes de domínios de topo (TLD — top-level domain), como “.com”, “.net”, ou “.org”, baseados na parte do TLD do URL solicitado.

Por incrível que pareça, é isso mesmo que você leu! Temos 13 root name servers ao redor do mundo, que são responsáveis por nos ajudar com a resolução de nomes globalmente. Você pode conferir algumas informações em: https://root-servers.org/ ou https://www.iana.org/domains/root/servers.

Etapa 4: Servidor de Nomes de TLD

O servidor de nomes de TLD consulta seu banco de dados para encontrar o servidor de nomes autoritativo responsável pelo domínio em questão. Por exemplo, para “www.uol.com.br“, o servidor de nomes de TLD para “.br” é consultado para encontrar quem controla “uol.com.br”.

Etapa 5: Servidor de Nomes Autoritativo

Uma vez que o servidor de nomes autoritativo é identificado, o resolver DNS faz uma consulta a ele para obter o registro DNS correspondente ao nome de domínio solicitado, como o endereço IP associado a “www.uol.com.br“.

Etapa 6: Resposta ao Cliente

Com o endereço IP obtido do servidor de nomes autoritativo, o resolver DNS responde ao navegador com o endereço IP do site solicitado. O navegador, então, pode estabelecer uma conexão com o servidor web do site usando esse endereço IP para recuperar o site e exibi-lo ao usuário.

Este processo, embora pareça longo e complicado, ocorre em milissegundos, graças à eficiência do sistema DNS e ao uso extensivo de caching para minimizar o tempo de resposta.

Caching

Durante esse processo, cada servidor que participa pode armazenar a resposta em seu cache para acelerar respostas futuras a consultas pelo mesmo nome de domínio. Isso significa que se outra pessoa na mesma rede solicitar “www.uol.com.br“, o resolver DNS pode fornecer o endereço IP diretamente do seu cache, evitando a necessidade de passar por todas as etapas novamente.

Conclusão

E aí, gostaram da nossa introdução ao DNS?

Não se esqueça de deixar nos comentários o que achou dessa nossa introdução e o que mais você gostaria de ver nos próximos capítulos

 

João Heytor

João Heytor

Cofundador da Toolbox, computeiro desde que me conheço como gente.
DevOps por escolha e colaborador por natureza!

Esta gostando do conteúdo ? Compartilhe!