Executando verificação de segurança...
18

DNS: EASY LEVEL VS HARD LEVEL.

Ao estudar o DNS (Domain Name System), pude compreender o assunto de uma maneira dinâmica e divertida. Gostaria de compartilhar essa compreensão aqui na rede para ajudar aqueles que desejam entender mais sobre o tema. Dividirei a explicação, de forma resumida, em dois níveis: EASY LEVEL e HARD LEVEL.

EASY LEVEL:

Você sabia que os domínios são uma espécie de "apelido"? "Google.com", "youtube.com", "linkedin.com" - todos esses não são endereços reais, mas sim formas de identificação. O verdadeiro endereço na internet é o IP (Internet Protocol).

Cada computador e servidor conectado à internet possui um IP único. Mas como nossos computadores sabem os IPs dos sites que desejamos acessar? Aqui entra o DNS! O DNS tem como principal função converter um domínio, como "google.com", no endereço IP correspondente onde o servidor está localizado. Podemos pensar no DNS como um vasto banco de dados que relaciona o domínio desejado ao seu IP correspondente.

HARD LEVEL:

Seu servidor de internet possui algo chamado RECURSIVE RESOLVER (a primeira etapa em uma consulta DNS). Quando você solicita uma URL, o seu sistema operacional realiza uma requisição para esse recursive resolver, que então busca o IP.

O recursive resolver faz uma solicitação a um dos root-servers (servidores que respondem diretamente a consultas de registros armazenados em cache na zona raiz) para descobrir o IP. Os root-servers começam lendo o domínio de trás para frente para localizar o IP. A primeira leitura do domínio feita pelos root-servers é um ".", localizado no final da URL, por exemplo: Google.com.br(.), que é chamado de FQDN (Fully Qualified Domain Name).

A busca continua pelo TLD (Top-Level Domain), que é a única informação que os root-servers possuem, indicando onde os TLDs estão localizados. Os TLDs estão divididos em duas categorias:

  1. CCTLDs (country code top-level domain): Reservados para países (por exemplo: .br, .pt, .ca...)
  2. GTLDs (generic top-level domain): Onde estão os demais registros

Em seguida, o Recursive Resolver recebe o IP do TLD ao qual a URL pertence. Esse TLD contém o IP de outro servidor, o Authoritative Server, que armazena as informações do domínio. O Authoritative Server então fornece ao Recursive Resolver o IP da URL solicitada, que é repassado para sua máquina para acessar o servidor de fato. Muito bacana, não é?

3

Parabéns pelo post, muito legal! Nessa resolução de nome fiquei com uma dúvida, qual o papel do DNS que configuramos em nossa máquina por exemplo 8.8.8.8 e outros?

3

Existem diversos servidores DNS auxiliares espalhados pelo mundo, se não definir nenhum servidor na sua máquina, o seu provedor de internet será o responsável por essa requisição.

Usar o 8.8.8.8 por padrão nem sempre pode ser a melhor opção pois em cada região do pais pode haver um servidor com melhores tempos de resposta, então vale a pena testar em cada máquina se você é exigente o suficiente pra brigar por milissegundos de diferença rsrsr

O software mais conhecido que faz isso é o Namebench: https://code.google.com/archive/p/namebench/downloads

0