31.01.2025

Noções básicas de DNS

Geral

Este artigo descreve os conceitos básicos do DNS.

O Sistema de Nomes de Domínio (DNS) é um sistema distribuído para armazenar e processar informações de zona de domínio. Ele é usado principalmente para mapear endereços IP de nós de rede para nomes legíveis por humanos. No entanto, esse mapeamento não é a única função do DNS. Ele também lida com diferentes tipos de registros de recursos e resolve várias tarefas, como redirecionamento entre nomes de domínio, balanceamento de carga entre hosts e vinculação de determinados serviços (como serviço de e-mail) a domínios:

 

O DNS é um dos pilares da Internet moderna, pois saber o endereço IP de um host solicitado é fundamental para receber uma resposta a qualquer solicitação da Internet. No entanto, os endereços IP são valores numéricos, como 1.23.45.67, que não são legíveis por humanos. Além disso, o princípio fundamental da atribuição de endereços IP em uma rede é a exclusividade. Além disso, o endereço IP não é algo permanente: ele pode mudar quando um host ou provedor de serviços de hospedagem muda, etc. Todos os fatores acima tornam a navegação na rede por endereços IP complicada para um ser humano.

O DNS converte um nome simbólico solicitado por um cliente em um ou mais endereços IP de um ou mais servidores responsáveis por essa zona de domínio. No estágio inicial da Internet, a conversão de endereços IP baseava-se no conteúdo do arquivo "hosts" preparado de forma centralizada e distribuído automaticamente para cada computador em uma rede. Entretanto, com o crescimento da Internet, surgiu a necessidade de um novo mecanismo, que foi desenvolvido por Paul Mockapetris em 1983: o DNS.

Principais recursos do DNS:

Hierarquia e delegação de nomes de domínio

Domínio é um ramo nomeado em uma árvore de nomes, incluindo o próprio nó (por exemplo, domínio de primeiro nível ".com") e seus nós subordinados ("exemplo.com", domínio de segundo nível, "mail.exemplo.com", domínio de terceiro nível etc.). Para designar a hierarquia do nome de domínio, o termo nível é usado, especificando a posição do nó em uma árvore. Quanto menor o número do nível, maior a posição do domínio na árvore.

 

 

Observe o domínio de nível zero "." (ponto), também chamado de domínio raiz. Na prática, o ponto geralmente é omitido (digitamos "exemplo.com" em vez de "exemplo.com."); em outras palavras, a especificação de um domínio raiz não é obrigatória para a resolução de endereços IP. A maioria dos programas clientes (como navegadores da Web, etc.) adiciona um domínio de nível zero automaticamente sem mostrá-lo ao usuário. Um nome de domínio sem um domínio de nível zero é chamado de nome de domínio relativo, enquanto o nome que termina com um ponto é chamado de Nome de domínio totalmente qualificado, ou FQDN.

Zona de domínio - uma parte de uma árvore hierárquica de nomes de domínio (por exemplo, ".ru"), que é totalmente transferida para serviço a um servidor DNS específico (ou, com mais frequência, a vários servidores) para posterior delegação de responsabilidade por esse domínio e todos os domínios subordinados ("anyaddress.ru", "any.anyaddress.ru") a outra parte.

Delegação - transferência de responsabilidade por um ramo específico de uma árvore de nomes de domínio para outro indivíduo ou organização. Esse procedimento implementa um dos princípios fundamentais do DNS: armazenamento distribuído de registros e processamento de solicitações. Durante o processo de delegação, os chamados registros glue NS para uma zona filha delegada ("example.com"), que apontam para os servidores DNS de uma parte que aceita o domínio (por exemplo, para os servidores DNS da nossa empresa), são adicionados aos registros de recursos de uma zona pai (".ru"). Desde então, todos os registros de recursos do domínio de segundo nível "example.com" e todos os seus subdomínios ("mail.example.com", etc.) são armazenados nos servidores DNS dessa empresa, com a zona pai ".ru" armazenando apenas registros NS que apontam para esses servidores.

Servidor DNS - um host que armazena registros de recursos e processa consultas de DNS. O servidor DNS pode resolver autonomamente endereços dentro da zona pela qual é responsável ("example.com" no exemplo acima) ou redirecionar solicitações de zonas "estrangeiras" para servidores de nível superior.

Cliente DNS - um conjunto de ferramentas de software para interagir com o DNS. Periodicamente, o próprio servidor DNS atua como um cliente.

Principais tipos de registros de recursos

Registro de recursos (RR) - uma unidade de armazenamento e transmissão de informações no DNS, que inclui os seguintes elementos (campos):

Os tipos de registro de recursos mais usados são:

Consultas de DNS recursivas e não recursivas

Recursão é um modelo de processamento de consultas por um servidor DNS, quando ele realiza uma pesquisa completa de informações (incluindo informações sobre domínios que não são delegados a ele) e acessa outros servidores DNS, se necessário.

As consultas DNS de um cliente (servidor) para um servidor podem ser recursivas ou não recursivas. No primeiro caso, um servidor DNS que recebeu uma consulta pesquisa todos os nós em ordem decrescente de níveis de zona até receber uma resposta positiva ou a informação de que o domínio solicitado não existe. No caso de uma consulta não recursiva, o servidor retorna uma resposta positiva se apenas o nó consultado estiver dentro da zona de domínio pela qual esse servidor é responsável. A não recursão pode se dever tanto ao tipo de consulta quanto à proibição de realizar tais consultas no nível do próprio servidor DNS:

 

O armazenamento em cache é outro recurso importante do DNS. Quando, durante a realização de uma consulta recursiva, o servidor DNS pesquisa outros nós, ele pode armazenar temporariamente em cache as informações contidas nas respostas que recebe. Nesse caso, uma consulta de domínio repetida não ultrapassa o cache do servidor DNS. O tempo máximo permitido de armazenamento em cache é especificado no campo TTL de um registro de recurso.