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.
