Il tuo computer ha un elenco di server DNS che può richiedere per ulteriori informazioni. Su un sistema unix o linux, questo è archiviato in /etc/resolv.conf
. In Windows, è configurabile nelle impostazioni di rete. Spesso, il server DNS viene fornito dal server DHCP, possibilmente insieme ad altre impostazioni come dominio predefinito, server proxy, ecc.
La posizione del server DNS che usi non ha molta importanza. Finché il tuo computer ha un indirizzo IP e un percorso predefinito funzionante (cioè puoi farloping
usare il server DNS), dovresti essere in grado di fare query DNS.
I server DNS non devono conoscere tutti i domini. Devono solo sapere chi è "autorevole", che apprende da un insieme di server "root". Ogni server DNS ha un elenco di server "root" e questo elenco cambia di rado. Su uno dei miei server DNS, ci sono 18 server root configurati e questa configurazione è arrivata quando ho installato il server DNS due anni fa, e se da allora l'elenco dei server root è cambiato, sono accessibili abbastanza che non ho notato.
Il mio server DNS, quando viene richiesto di risolvere un dominio che non conosce, effettua una query a un server principale per scoprire quale altro server DNS è autorevole per il dominio. La risposta che riceve può contenere ulteriori record "NS" ed essere contrassegnata come non autorevole, nel qual caso il mio server DNS sa che deve "seguire la catena" ed effettuare una nuova query su un nuovo server. Alla fine, trova un server DNS che fornisce informazioni autorevoli e possono essere fatte query che non sono solo record NS. A (indirizzo) e MX (scambio di posta) sono ovviamente i due più comuni.
Ogni TLD (dominio di primo livello) come COM, NET, ORG, CA, UK, ecc. Mantiene il proprio registro di sottodomini. (Un "sottodominio" è qualsiasi dominio all'interno di un altro dominio, quindi "esempio.com" è un sottodominio all'interno di "com", e "com" è persino un sottodominio all'interno di ".", La "radice".) Le regole per ciascun registro si applicano solo al TLD che amministra, ovvero esiste un insieme completamente diverso di criteri per ciascun TLD con prefisso nazionale e i TLD "generici" sono gestiti da organizzazioni diverse con politiche diverse. Ma mantengono tutti i server DNS per il loro TLD, che, da una riga di comando, puoi vedere usando gli strumenti di query DNS di base:
[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 si acquista un dominio da un registrar (di cui ce ne sono molti), quel registrar invia informazioni sul dominio al registro (di cui ce n'è solo uno per TLD). È responsabilità di ciascun registro mantenere l'elenco dei domini registrati all'interno del proprio TLD e mantenere i server DNS che forniscono queste informazioni ad altri server.