Como funciona o DNS ?- DNS Recursivo, Root Servers, TLD Servers
0
0

Como funciona o DNS ?- DNS Recursivo, Root Servers, TLD Servers

Entenda como funciona um servidor DNS e qual a estrutura por trás da tradução do domínio para um endereço IP.

AF
5 min
0
0

Essa semana estive pensando sobre a importância de aprender redes de computadores e em como essa parte é um pouco negligenciada por desenvolvedores, principalmente os iniciantes.

Não que eu seja um dev experiente, longe disso, mas reconheço a importância desse assunto e no meu caso em particular, redes é um assunto que eu preciso dominar se quiser atingir alguma relevância no campo da segurança da informação.

Em vista disso, vou começar a compartilhar um pouco sobre o que estou aprendendo sobre redes e falar também sobre como funciona a internet.

As publicações talvez não sejam sequenciais, no sentido de uma complementar a outra diretamente uma logo após a outra.

No entanto, você pode acompanhar tudo que escrevi sobre o assunto no meu canal da Pingback.

Para dar início, quero falar sobre algo que é de certa forma misterioso para os olhos de quem é atencioso e não sabe muito sobre tech: o DNS.

O que é o DNS e o que ele faz?

Você já deve ter ouvido falar que cada máquina possui um endereço IP, isso de fato é apenas meia verdade.

Cada computador conectado numa rede, possui uma interface de rede, que recebe um endereço de IP.

Exemplo de uma interface de rede (componente fisico)
Exemplo de uma interface de rede (componente fisico)

É legal mencionar isso porque muita gente acredita que o computador tem um endereço de IP, mas na realidade, quem tem um endereço de IP é a interface de rede, que é um componente físico.

Uma outra coisa, o endereço de IP, em teoria deve ser único na rede a qual pertence.

Mas o que isso tem a ver com o DNS?

Calma cara, espera um pouco...

Tenha em mente que computadores se comunicam através de um número de IP e uma PORTA.

Na web, na maior parte das vezes, usaremos a porta 80 para realizar conexões (ou 443). Ela é padrão para conexões HTTP e nesse post não vamos entrar muito em detalhes sobre isso.

Ok tudo bem, mas você ainda não disse absolutamente nada sobre DNS.

Eu acredito em você.. então vamos lá...

Eu disse que computadores se comunicam através de um IP e uma PORTA.

E para a surpresa de alguns, um servidor também é um computador!

E adivinhe? Ele também tem um endereço IP.

Mas quando você quer acessar o google, você não digita diretamente o endereço ip desse servidor. Nesse cenário, você digita o domínio, o nome dele.

Entre o DOMÍNIO e o IP do servidor, existe o DNS (Domain Name System) que vai fazer a tradução do nome para o número IP do servidor correspondente.

Pense em uma lista telefônica, o DNS funciona de maneira bem parecida.

Você procura o nome do cidadão e atrelado a ele, existe um número de telefone correspondente.

Lista telefonica
Lista telefonica

Isso é muito útil porque é muito mais fácil lembrar de google.com do que 142.250.218.238, que é o endereço ip do servidor.

Como o DNS resolve nomes?

Tenha em mente o conceito de Top-Level-Domain.

Top-Level-Domain (TLD):

É a parte mais a direita de um domínio. Exemplo: .com / .br / .org

What is a Top-Level Domain (TLD)?
What is a Top-Level Domain (TLD)?

Veja a estrutura de como é feita uma consulta ao servidor DNS.

https://medium.com/basic-command-ls-linux/how-dns-works-b49c7395c91e
https://medium.com/basic-command-ls-linux/how-dns-works-b49c7395c91e

Parece complicado, mas não é.

Acompanhe as setas:

  • O usuário digita no browser www.example.com e este fica responsável por realizar uma requisição http para o domínio desejado.
  • Assim, o browser pergunta para um DNS Recursivo qual é o endereço IP do servidor - Atua como cliente a partir de agora.
  • Agora, o DNS Recursivo (se não houver no cache), pergunta para o Root Server, que separa o domínio de acordo com Top Level Domain. Por exemplo, se o TLD for .com ele retorna para qual servidor deve ser feita a consulta.
  • Por fim, agora o DNS Recursivo já sabe para quem perguntar finalmente. Agora então, ele fala com o DNS Autoritativo, que diz finalmente qual é o endereço IP do servidor.

Realmente é uma novela para conseguir o endereço IP de um servidor, por sorte, nós temos um cache em cada um dos servidores DNS, que armazena o endereço IP dos sites mais visitados.

Imagine só se você tivesse que passar por esse processo cada vez que entra em algum site famoso tipo o YouTube?

Vamos por partes:

DNS Recursivo :

  • Geralmente cada provedor de internet possui o seu próprio, mas isso não te impede de usar um servidor DNS Recursivo do Google ou da Cloudflare.
  • Mantém nos registros, o número dos ips dos domínios mais procurados.
  • O nome recursivo é justamente pelo fato de que ele atua como cliente, perguntando para outros servidores DNS.

Root Server :

  • São servidores raiz cujo propósito é responder as requisições de acordo com a zona de dns.
  • No mundo inteiro, existem 13 servidores root server espalhados pelo mundo.

DNS Autoritativo:

  • O nome autoritativo é porque ele é o responsável por dizer exatamente qual é o endereço IP do servidor.

Existem mais detalhes sobre o DNS que merecem ser mencionados, como por exemplo os tipos de registro A, AAAA, TXT, CNAME, MX e afins.

Porém, quero criar um outro artigo separado e com mais detalhes, inclusive falando sobre enumeração de DNS.

Obrigado pelo seu tempo.