Seu computador possui uma lista de servidores DNS que podem ser consultados para obter mais informações. Em um sistema unix ou linux, isso é armazenado em /etc/resolv.conf
. No Windows, é configurável nas suas configurações de rede. Freqüentemente, seu servidor DNS será fornecido pelo servidor DHCP, possivelmente junto com outras configurações, como domínio padrão, servidores proxy etc.
A localização do servidor DNS que você usa não importa muito. Desde que o seu computador tenha um endereço IP e uma rota padrão que funcione (por exemplo, você pode ping
o servidor DNS), você poderá fazer consultas DNS.
Os servidores DNS não precisam conhecer "todos" os domínios. Eles só precisam saber quem é "autoritário", o que ele aprende em um conjunto de servidores "raiz". Cada servidor DNS possui uma lista de servidores "raiz" e essa lista é alterada com pouca frequência. Em um dos meus servidores DNS, há 18 servidores raiz configurados, e essa configuração ocorreu quando eu instalei o servidor DNS, há dois anos. Se a lista de servidores raiz mudou desde então, é possível acessar um número suficiente deles que eu não tenho percebi isso.
Meu servidor DNS, quando solicitado a resolver um domínio que não conhece, faz uma consulta a um servidor raiz para descobrir qual outro servidor DNS é autoritário para o domínio. A resposta obtida pode conter registros "NS" adicionais e ser marcada como não autoritativa; nesse caso, meu servidor DNS sabe que precisa "seguir a cadeia" e fazer uma nova consulta para um novo servidor. Eventualmente, ele encontra um servidor DNS que fornece informações autorizadas e podem ser feitas consultas que não são apenas registros NS. A (endereço) e MX (troca de correio) são obviamente os dois mais comuns.
Cada TLD (domínio de nível superior), como COM, NET, ORG, CA, UK, etc, mantém seu próprio registro de subdomínios. (Um "subdomínio" é qualquer domínio dentro de outro domínio; portanto, "example.com" é um subdomínio dentro de "com" e "com" é mesmo um subdomínio dentro de ".", A "raiz".) As regras para cada registro aplicam-se apenas ao TLD que administra - ou seja, há um conjunto de critérios completamente diferente para cada TLD com código de país, e os TLDs "genéricos" são administrados por diferentes organizações com políticas diferentes. Mas todos eles mantêm servidores DNS para seu TLD, que, a partir de uma linha de comando, você pode ver usando as ferramentas básicas de consulta DNS:
[ghoti@pc ~]$ host -t ns ca.
ca name server c.ca-servers.ca.
ca name server e.ca-servers.ca.
ca name server z.ca-servers.ca.
ca name server a.ca-servers.ca.
ca name server f.ca-servers.ca.
ca name server sns-pb.isc.org.
ca name server j.ca-servers.ca.
ca name server k.ca-servers.ca.
ca name server tld.isc-sns.net.
ca name server l.ca-servers.ca.
[ghoti@pc ~]$ host -t ns info
info name server c0.info.afilias-nst.info.
info name server d0.info.afilias-nst.org.
info name server b2.info.afilias-nst.org.
info name server b0.info.afilias-nst.org.
info name server a2.info.afilias-nst.info.
info name server a0.info.afilias-nst.info.
[ghoti@pc ~]$
Quando você compra um domínio de um registrador (dos quais existem muitos), esse registrador envia informações sobre o domínio ao registro (dos quais existe apenas um por TLD). É responsabilidade de cada registro manter a lista de domínios registrados em seu TLD e manter os servidores DNS que fornecem essas informações a outros servidores.