Sobes.tech
Junior

Como funciona o DNS?

sobes.tech IA

Resposta da IA

O DNS, ou Sistema de Nomes de Domínio, é uma base de dados distribuída que converte nomes de domínio legíveis por humanos (por exemplo, google.com) em endereços IP (por exemplo, 172.217.16.14), compreendidos pelos computadores.

O processo de conversão (resolução) de um nome de domínio em um endereço IP envolve várias etapas de interação entre diferentes componentes:

  1. Pedido do utilizador: O utilizador insere um nome de domínio no navegador.
  2. Resolver DNS: O sistema operativo ou a aplicação envia uma solicitação a um resolvedor DNS local (frequentemente fornecido pelo fornecedor de Internet ou localizado no router/computador local).
  3. Cache do resolvedor: O resolvedor verifica primeiro o seu cache local. Se encontrar o endereço IP, devolve-o ao cliente. Isto acelera o processo.
  4. Servidores DNS raiz (Root): Se não houver registo no cache, o resolvedor envia uma solicitação a um dos 13 servidores DNS raiz (denotados por um ponto .). Estes servidores sabem onde encontrar os servidores TLD (Top-Level Domain).
  5. Servidores DNS TLD (Top-Level Domain): O servidor raiz encaminha o resolvedor para o servidor TLD responsável pelo domínio de nível superior (por exemplo, .com, .org, .ru).
  6. Servidores DNS autoritativos: O servidor TLD encaminha o resolvedor para o servidor DNS autoritativo para o domínio específico (por exemplo, google.com). Este servidor armazena os registos DNS para esse domínio.
  7. Resposta do servidor autoritativo: O servidor autoritativo encontra o registo correspondente (por exemplo, registo A para IPv4 ou AAAA para IPv6) e devolve o endereço IP ao resolvedor.
  8. Cache do resolvedor: O resolvedor recebe o endereço IP, armazena-o em cache por um período determinado (TTL - Tempo de Vida) e devolve-o ao cliente.
  9. Conexão do cliente: O cliente usa o endereço IP recebido para estabelecer uma conexão com o servidor web.

Os servidores DNS armazenam diferentes tipos de registos:

  • A: Converte um nome de domínio em um endereço IPv4.
  • AAAA: Converte um nome de domínio em um endereço IPv6.
  • CNAME: Cria um alias para outro nome de domínio.
  • MX: Determina os servidores de correio responsáveis pelo domínio.
  • NS: Indica os servidores DNS autoritativos para o domínio.
  • PTR: Converte um endereço IP em um nome de domínio (usado em consultas DNS inversas).
# Exemplo de consulta DNS usando dig
dig google.com A
; <<>> DiG 9.16.1-Ubuntu <<>> google.com A
;; opções globais: +cmd
;; Resposta recebida:
;; ->>HEADER<<- opcode: QUERY, estado: NOERROR, id: 42650
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTORIDADE: 0, ADICIONAL: 1

;; SEÇÃO PSEUDO-OPCIONAL:
; EDNS: versão: 0, flags:; udp: 65494
;; SEÇÃO PERGUNTA:
;google.com.                    IN      A

;; SEÇÃO RESPOSTA:
google.com.             300     IN      A       172.217.16.142

;; Tempo de consulta: 42 ms
;; SERVIDOR: 127.0.0.53#53(127.0.0.53)
;; QUANDO: mar out 26 10:00:00 UTC 2023
;; TAMANHO DA MENSAGEM RECEBIDA: 55

Este método distribuído e hierárquico torna o DNS um sistema escalável e resistente a falhas.