DNS (Domain Name System)

DNS ou Domain Name System é um sistema de bancos de dados distribuídos que permitem a tradução de um nome para um endereço IP (Internet Protocol Address). Esse sistema é uma parte fundamental da infraestrutura da Internet.

No início havia apenas um pequeno número de computadores conectados à rede, e isso permitia ter um arquivo com o nome e o endereço IP de cada computador. Mas mesmo com um pequeno número de computadores, era mais fácil memorizar nomes do que endereços IP. Esse arquivo ficava disponibilizado em um site central para ser copiado pelos administradores dos outros sites.

Com o crescimento da Internet e o consequente aumento do número de computadores conectados, tornou-se difícil manter esse arquivo com nomes e endereços de todos os computadores. A solução foi criar um sistema distribuído para a resolução de nomes para os endereços IP.

Nomes e hierarquias do DNS

Nesse sistema existe uma hierarquia de nomes de domínio e cada site é responsável apenas por manter as informações de seu domínio. Por isso é considerado um sistema distribuído.

Nessa hierarquia, cada parte do nome, ou seja, cada domínio é separado por um ponto (.). A parte mais à esquerda é a mais específica. Por exemplo, em www.example.org, o nome mais à esquerda representa um servidor (geralmente um servidor web) e é a parte mais específica dentro do domínio example, que por sua vez está dentro do domínio org (a parte menos específica desse nome).

Cada parte do nome de domínio pode estar sob a responsabilidade de uma entidade diferente. Quer dizer, a entidade responsável pela zona org não é necessariamente a responsável pela zona example.

Três componentes do DNS

Esse sistema DNS é composto basicamente por três componentes: servidores autoridade, servidores recursivos e clientes (resolvers).

O cliente (resolver) é o que está instalado nos computadores com software TCP/IP. Em geral, são todos aqueles que se conectam à Internet.

Como funciona?

O software cliente inicia uma resolução DNS (em resposta a uma solicitação de outros softwares em execução no computador) para acessar algum computador por meio de seu nome. A configuração de um resolver é simples e só precisa do endereço IP de um servidor recursivo.

O servidor recursivo é aquele que recebe as consultas DNS dos resolvers e se encarrega de executar a resolução para devolver a resposta final ao cliente (resolver). Servidores recursivos consultam servidores até obter a resposta à consulta.

Finalmente, o servidor autoridade (authoritative server) é aquele que tem autoridade sobre um nome de domínio. Ou seja, é a fonte confiável das informações sobre um nome de domínio. Ele contém informações sobre quais endereços IP estão associados a computadores que usam o nome de domínio em questão.

Uma resolução de nome de domínio é iniciada no software cliente, que a envia para um servidor recursivo. Esse outro servidor, em geral, inicia a resolução consultando os servidores raiz (root servers), que são os responsáveis ??pelo topo da hierarquia de nomes de domínio.

Em seguida, com base nas informações recebidas dos servidores raiz, o servidor recursivo consulta outros servidores até chegar ao responsável pelo domínio desejado.

CHK_LACNIC