Mas como eles fazem isso? Bem, vamos voltar um pouco no tempo para
entendermos sobre isso. No início da Internet, apenas poucos
computadores dela faziam parte. Esses computadores, para se comunicarem,
precisavam de um nome e, é lógico, de um número de IP. Essas informações
eram armazenadas em um arquivo chamado hosts.txt e o mesmo era
distribuído para todos os computadores da época para que todos pudessem
se conhecer. Sendo assim, toda vez que um computador necessitasse
encontrar outro na rede, ele consultava o hosts.txt e verificava a
existência do computador procurado lá dentro.
Bem, o número de computadores começou a crescer e virou isto que temos
hoje. O que aconteceu com o hosts.txt? Ficou sendo o tempo inteiro
atualizado e redistribuído na rede? Lógico que não. Para isso foi
inventado o DNS. Com a chegada do DNS, a informação pode ser
descentralizada e espalhada em diversos computadores. Hoje o que
acontece é que temos milhares de DNS espalhados no mundo e, cada um
deles, possui informações sobre uma quantidade de domínios específica.
A coisa começa a ficar mais clara agora, pois se vários computadores
são responsáveis por uma quantidade de domínios X, então, quando o meu
browser pergunta a um DNS sobre um domínio específico e este não possui
a informação, então ele sai perguntando a outros DNS afora até
alcançar a resposta. Como assim?
É como quando chegamos a um lugar desconhecido e estamos procurando a
casa de alguém. Perguntamos a uma pessoa que, caso não saiba, nos
indica outra e assim sucessivamente até encontrarmos a tal casa. Com
os servidores DNS acontece a mesma coisa.
Ao fazer uma conexão com a Internet, automaticamente o nosso provedor
diz a nossa máquina quais são os DNS que vão responder pelos domínios
que forem solicitados durante a navegação, envio de e-mail ou
transferência de arquivos, etc. Se esses DNS não forem capazes de
responder as minhas solicitações, então eles sairão buscando a
informação em outros DNS na web.
Assim como em quase tudo, os domínios obedecem a uma hierarquia. Os
servidores de Internet responsáveis pelos domínios de mais alto nível
são os
root servers. Neles encontram-se os
"
top level-domains" ou domínios de mais alto nível. Lembra que
a nossa máquina pergunta por um determinado domínio ao DNS indicado
pelo nosso provedor? Pois é, quando esse DNS não sabe a resposta,
então ele pergunta aos root servers. Os root servers podem não ter
informações sobre um domínio X e então vão precisar perguntar para
outros DNS no mundo. Mas, perguntar a quem?
Sigamos o exemplo do useredhat.com.br.
- Você digita na barra de endereços do seu browser o domínio
useredhat.com.br;
- Nesse instante o browser vai solicitar informações ao DNS
indicado pelo provedor.
- Este não sabe nada sobre esse domínio e vai perguntar aos root
servers, que também não conhecem o domínio.
E agora? Os root servers analisam o domínio e verificam que o mesmo
possui o final ".br". Opa!!! Quem é capaz de responder por
esse final? Isso o root server sabe e endereça rapidamente a
requisição para os servidores da Fapesp onde estão registrados os
domínios "br".
- Os servidores da Fapesp não são responsáveis pelo
useredhat, porém, sabem em que servidor o domínio se encontra e fazem
a pergunta ao mesmo. O.k., o DNS responsável responde.: "o.k., eu sou
o responsável por esse domínio". A busca foi encerrada.
Para ilustrar essa situação, veja a imagem abaixo.