Seu computador tem uma lista de servidores DNS que pode consultar para obter mais informações. Em um sistema unix ou linux, isso é armazenado em /etc/resolv.conf
. No Windows, é configurável em suas configurações de rede. Muitas vezes, o servidor DNS será fornecido pelo seu 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 ativa (por exemplo, você pode ping
do servidor DNS), você poderá fazer consultas DNS.
Os servidores DNS não precisam saber "todos" os domínios. Eles só precisam saber quem é "autoritativo", que ele aprende com um conjunto de servidores "raiz". Cada servidor DNS tem 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 veio quando eu instalei o servidor DNS dois anos atrás, e se a lista de servidores raiz mudou desde então, o suficiente deles é acessível 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 o que outro servidor DNS é autoritativo para o domínio. A resposta recebida 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 autoritativas e consultas que não são apenas registros NS. Um (endereço) e MX (troca de correspondência) são, obviamente, os dois mais comuns.
Cada TLD (domínio de primeiro nível) como COM, NET, ORG, CA, Reino Unido, etc. mantém seu próprio registro de subdomínios. (Um "subdomínio" é qualquer domínio dentro de outro domínio, então "example.com" é um subdomínio dentro de "com" e "com" é 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 organizações diferentes com políticas diferentes. Mas todos eles mantêm servidores DNS para o seu TLD, que, a partir de uma linha de comando, você pode ver usando as ferramentas básicas de consulta do 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 (do qual há muitos), esse registrador envia informações sobre o domínio para o registro (do qual há 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.