Ogni server DNS (Domain Name System) si fa carico di tradurre gli indirizzi mnemonici digitati nella barra degli indirizzi del browser in indirizzi IP.
Questa particolare operazione si chiama risoluzione del nome a dominio ed è necessaria per stabilire qual è il sistema, collegato alla rete Internet, che eroga un servizio (per esempio il sistema sul quale è installato il server web utilizzato per pubblicare online uno specifico sito).
Infatti ad ogni dispositivo collegati a Internet è associato un indirizzo IP (una sequenza numerica), che è decisamente poco usabile e difficile da ricordare, mentre i nomi parlanti lo sono decisamente di più. Scopo del DNS è proprio quella di fare questa associazione.
Ogni dispositivo collegato direttamente alla rete Internet, infatti, utilizza un indirizzo IP pubblico, raggiungibile da qualunque altro sistema a sua volta collegato a Internet.
I server DNS conservano, all'interno di appositi record, l'associazione tra indirizzi mnemonici e IP (nel formato IPv4 e/o IPv6).
Quando si scrive qualunque indirizzo nella barra del browser, si innescano una serie di eventi che permettono di raggiungere il server di destinazione corretto:
-
Viene in primis verificato il contenuto del file HOSTS memorizzato sul sistema locale. In questo modo si controlla se l'utente abbia impostato manualmente un'associazione tra indirizzi mnemonici specifici e IP.
Questo meccanismo è utile, per esempio, quando si fosse allestito un nuovo sito web ma non si fossero ancora aggiornati i record DNS pubblici.
Inserendo nel file HOSTS, ad esempio, INDIRIZZO_IP_SERVER terzolivello.nomedominio.it, il browser interpellerà il server web in ascolto su INDIRIZZO_IP_SERVER chiedendogli di erogare terzolivello.nomedominio.it (anche quando tale dominio non fosse presente nei record DNS pubblici).
-
Dopo la verifica del contenuto del file HOSTS si passa alla cache del resolver DNS del sistema operativo.
Se la corrispondenza tra indirizzo IP fosse già nota a livello locale non si proseguirà oltre.
-
Viene quindi interrogato il server DNS definito dall'utente nelle impostazioni dell'interfaccia di rete sul sistema locale oppure quello impostato a livello di modem router.
Quando l'utente non avesse impostato l'utilizzo di alcun server DNS specifico, la macchina locale è generalmente configurata per ottenere, via DHCP, l'indirizzo IP del server DNS da interrogare. Il server DHCP è di solito automaticamente abilitato sul modem router e il modem router, per default, è configurato in maniera tale da ricevere dall'operatore di telecomunicazioni scelto dall'utente i DNS da usare e da comunicare ai client.
-
Se il server DNS non conoscesse l'IP corrispondente all'indirizzo mnemonico specificato, allora verrà attivato un meccanismo ricorsivo: si comincia interrogando uno dei server root nel dominio di primo livello, si ottiene il server che lo gestisce, si procede a un'interrogazione nel dominio di secondo livello fino a raggiungere il server autorevole (detto anche server autoritativo) per il nome a dominio d'interesse.