DNS - Como funciona


DNS, ou Domain Name System, este é um dos serviços mais utilizados em nosso dia a dia de Internet, sem ele as coisas funcionariam de uma forma bem diferente de como as conhecemos hoje! A função do DNS é traduzir nomes em endereços IPs e IPs em nomes. Imagine ter que memorizar coisas do tipo 74.125.234.67 , 74.125.134.121 ou ainda 173.252.110.27 ! No meu caso isto seria impossível uma vez que atualmente nem número de telefone eu memorizo... Os endereços citados apontam respectivamente para google.com, blog.rmerces.com e facebook.com notação esta que torna a nossa vida muito mais simples...

O serviço de DNS conta com uma estrutura hierárquica (muito parecida com a estrutura de diretórios do Unix) e distribuída conforme podemos observar na figura abaixo:

No topo da estrutura encontramos os Servidores Raiz .  Os Root Servers são organizados da utilizando a nomeclatura letter.root-servers.net. "Letter" compreende o range de A até M, o que nos dá um total de 13 servidores. Como não poderia ser diferente existem espelhos destes servidores distribuídos geograficamente (inclusive aqui no Brasil) o que garante a disponibilidade do serviço ao redor do globo.

Logo abaixo, ou seja, na segunda camada temos os gTLDs e os ccTLDs que correspondem respectivamente aos Global Top Level Domains e aos Country Codes Top Levels Domains, estes de acordo com a figura acima são os domínios .com .net. .org .travel ... (TLDs) e .br .uk .fr ... (ccTLDs). Consulte a lista completa em iana.org.

Prosseguindo na estrutura temos os SLDs (Second Level Domains) e os demais servidores (seguindo a hierarquia) nos quais estão cadastrados os registros referentes aos domínios existentes. Falando de uma forma mais clara tomaremos o google.com como exemplo. Os servidores que são autoridade sobre o domínio google.com possuem as suas respectivas entradas em seus arquivos de configurações (zonas). Estas tabelas nada mais são do que texto no formato DE: PARA:

www corresponde a 74.125.234.80
maps corresponde a 74.125.234.71
groups corresponde a 74.125.137.139

Estas entradas refletidas no arquivo de configuração são registradas no seguinte formato:

www IN A 74.125.234.80
maps IN A 74.125.234.71
groups IN A 74.125.137.139

Assim, quando estamos acessando o maps.google.com em algum momento do processo o servidor google.com nos informará que o host maps está associado ao endereço 74.125.234.71. De posse desta informação estamos aptos a fazer o acesso.

Simples e genial, assim é o DNS !

Mas como acontece o processo de resolução de nomes no detalhe? Vejamos a figura abaixo seguida da explicação.

1- A máquina cliente faz uma consulta ao DNS SERVER (servidor da rede interna ou então algum servidor público conforme configurado). No exemplo o cliente deseja saber quem é www.example.com

2- O DNS SERVER caso não tenha a informação em seu cache faz uma consulta ao ROOT NAME SERVER perguntando o seguinte: quem é www.example.com?

3- O ROOT NAME SERVER irá responder o seguinte: eu não sei quem é www.example.com porém quem responde pelo domínio .com é o servidor X.X.X.X

4- De posse do endereçamento IP do servidor .COM o DNS SERVER pergunta ao servidor .COM quem é www.example.com?

5- O servidor .COM irá responder o seguinte: eu não sei quem é www.example.com porém quem responde pelo domínio example.com é o servidor Y.Y.Y.Y

6- De posse do endereçamento IP do servidor EXAMPLE.COM o DNS SERVER pergunta ao servidor EXAMPLE.COM quem é www.example.com?

7- Como o servidor example.com é autoridade sobre este domínio ele informa ao DNS SERVER que www.example.com é Z.Z.Z.Z

8-De posse do endereço Z.Z.Z.Z o DNS SERVER repassa a informação solicitada pelo cliente

Desta forma funciona o serviço de DNS, como dito antes, simples porém genial! Fique ligado aqui no blog pois em breve estarei publicando um artigo sobre a ferramenta DIG (utilizada para consultas aos servidores DNS).

Fonte: http://blog.rmerces.com/2013/08/dns-como-funciona.html