DNS e como funciona - Internet
Tags: programming, beginners, interne, webdev
Published: 2023-10-04 13:53:26

## O que é DNS?

O Domain Name System (DNS) é como um "tradutor" da internet que ajuda a encontrar sites. Imagine que a internet é como um mundo com milhões de endereços secretos. Nós, seres humanos, lembramos melhor de nomes amigáveis, como "www.exemplo.com", em vez de números complicados, como "192.168.1.1".

Aqui está uma comparação simples: pense no DNS como uma lista telefônica enorme, mas em vez de números de telefone, ela tem nomes de sites. Quando você digita um nome de site, o DNS pega esse nome e o transforma em um número especial que os computadores usam para encontrar o site na internet. É como se o DNS dissesse ao seu computador: "Ei, o site que você está procurando fica no número 192.168.1.1".

Atualmente, existem dois tipos de números que o DNS usa:

- IPv4: São números como "192.168.1.1".
- IPv6: São números ainda mais longos, como "2400:cb00:2048:1::c629:d7a2". Mas você não precisa se preocupar muito com eles.

Se quiser saber mais sobre as diferenças entre IPv4 e IPv6, você pode ler este [artigo](https://www.eletronet.com/blog/entenda-as-diferencas-entre-ipv4-e-ipv6/#:~:text=IPv4vs%20IPv6%20%E2%80%93%20Combina%C3%A7%C3%B5es,de%20340%20undecilh%C3%B5es%20de%20endere%C3%A7os).

## Como funciona o DNS?

O DNS se preocupa em transformar nomes de sites em números de internet (endereços IP). Vamos ver como isso acontece em algumas etapas simples:

*Muitas vezes, as informações de pesquisa de DNS serão armazenadas em cache ignorando algumas etapas que iremos mostrar abaixo.* 

## E**tapas de uma pesquisa de DNS:**

1. Você abre seu navegador e digita um nome de site, como "[exemplo.com](http://exemplo.com/)". Essa solicitação é enviada para um tipo especial de computador chamado "resolvedor DNS".
2. O resolvedor pega esse endereço e então consulta em um servidor de nomes raiz DNS.
3. O servidor raiz então responde ao resolvedor com o endereço de um servidor DNS de nível superior (TLD) (como .com ou .net), que armazena as informações de seus domínios. Ao pesquisar por example.com, nossa solicitação é direcionada para o TLD .com.
4. O resolvedor então realiza uma solicitação para o Servidor DNS de nível superior (TLD) .com.
5. Servidor DNS de nível superior (TLD) então responde com o endereço IP do servidor de nomes do domínio, exemplo.com.
6. Por fim, o resolvedor recursivo envia uma consulta ao servidor de nomes do domínio.
7. O endereço IP de example.com é retornado ao resolvedor do servidor de nomes (192.168.1.1).
8. O resolvedor de DNS responde ao navegador da Web com o endereço IP do domínio solicitado inicialmente.

Depois que as 8 etapas da pesquisa de DNS retornarem o endereço IP de example.com, o navegador poderá fazer a solicitação para a página da web:

1. O navegador faz uma solicitação [HTTP](https://www.cloudflare.com/learning/ddos/glossary/hypertext-transfer-protocol-http/) para o endereço IP.
2. O servidor naquele IP retorna a página da web para ser renderizada no navegador.
    

![Mostrando o fluxo que o DNS faz até retornar a página solicitada](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lcl04t7n6s07e43lb3yp.png)

## **O que é um resolvedor de DNS?**

Pense no resolvedor de DNS como um detetive da internet que ajuda seu computador a encontrar os sites que você deseja visitar. Ele é o primeiro passo em uma busca na internet e lida com a solicitação inicial do cliente.

## Servidor Raiz

Imagine o Servidor Raiz como o "diretório principal" da internet. É o ponto de partida na pesquisa de DNS. Ele não possui informações específicas sobre domínios individuais, como "example.com", mas ele saberá guiar até os domínios de topo, como ".com", ".org", ".net" e assim por diante.

## Servidor TLD (Top-Level Domain)

Ele está um passo mais próximo dos domínios específicos. Quando você digita um domínio, como "example.com", o Servidor Raiz encaminha sua solicitação para o servidor TLD correspondente ao domínio de topo, que no caso de "example.com" seria o servidor TLD ".com".

## Servidor Autoritativo

Um servidor autoritativo é um servidor que é a "fonte definitiva" de informações sobre um domínio específico. Isso significa que ele possui registros detalhados e precisos para um domínio específico.

---

## **O que é cache de DNS? Onde ocorre o cache de DNS?**

O cache de DNS é como a memória temporária do seu computador. Ele armazena informações sobre sites que você visitou recentemente para tornar a navegação mais rápida e eficiente.

O cache de DNS é armazenado em diferentes lugares e cada um deles mantém as informações por um período específico, chamado "tempo de vida" (TTL).

## **Cache de DNS do navegador**

Quando você usa um navegador da web moderno, ele armazena temporariamente informações de DNS dos sites que você visita. Isso significa que, se você retornar a um site recentemente visitado, o navegador verificará primeiro no cache de DNS para encontrar o endereço, tornando a navegação mais rápida.

Por exemplo, o Google Chrome permite verificar o status do seu cache DNS através do link chrome://net-internals/#dns.

## **Cache de DNS no nível do sistema operacional (SO)**

O sistema operacional do seu computador também possui seu próprio cache de DNS. Quando um aplicativo, como um navegador, precisa encontrar o endereço IP de um site, ele verifica primeiro o cache do sistema operacional.

---

Com isso nós vimos o básico de DNS, o que é, qual o caminho que ele faz até nos retornar o arquivo da página e seus possíveis cache, lembrando que o conteúdo é bem mais complexo do que foi apresentado aqui, a ideia é dar apenas uma pincelada no assunto.