DNS - Domain Name Service

Jon Postel, inventore del DNS DNS viene inventato da Jon Postel nel 1982 per poter "chiamare" i computer per nome anziché per numero.
Si pensi ad un elenco telefonico o alla rubrica del telefonino. Non siamo costretti a ricordarci a memoria i numeri di telefono dei nostri conoscenti perché abbiamo una rubrica che è una mappa 1:1 di numeri verso nomi.
Allo stesso modo un DNS è in sostanza una mappa tra numeri IP e nomi di computer.

Tuttavia, il DNS è stato pensato in un modo un po' più complesso dell'elenco telefonico. Il DNS è innanzitutto un database distribuito. Ciò significa che è come se esistesse un elenco "telefonico" mondiale che è formato dall'unione di tutti le copie "locali" e in cui ogni copia viene continuamente aggiornata ogni volta che in una determinata regione viene invocato un determinato numero che non esiste in quell'elenco. Quindi non esiste un unico elenco centralizzato ma molti (moltissimi) elenchi locali che si possono alimentare tra di loro.

Ad esempio, supponiamo che l'host www.betaingegneria.it abbia come IP number la quaterna 217.64.198.227.
Esiste un elenco "telefonico" ufficiale detto .it in cui vi sono tutti gli utenti .it tra cui betaingegneria.
Ogni fornitore di accesso ad Internet ne possiede una copia che può essere più o meno aggiornata. Supponiamo che io

insomma ho bisogno di riferirmi ad una macchina, od un gruppo di servizi, che fanno capo ad un determinato dominio e supponiamo che io lo faccia dopo essermi connesso ad Internet tramite un provider come Tiscali o WIND.
Si danno due casi:

  1. Nell'elenco del provider c'è il record betaingegneria.it: in tal caso il DNS del provider fornirà al mio client (web, mail o ftp) il corretto IP 217.64.198.227 a cui deve spedire i pacchetti del protocollo.
  2. Nell'elenco del provider non c'è il record betaingegneria.it: in questo caso il DNS del provider, prima di arrendersi e comunicare al vostro client che non è in grado di risolvere (questo il nome tecnico della trasformazione di nome in IP) il dominio richiesto, interroga un DNS che ha più autorità sul TLD (Top Level Domain - Dominio di massimo livello) .it, il DNS cosiddetto autoritativo sul dominio .it, se per caso ha lui quel record che gli manca. Il DNS autoritativo può a sua volta rispondere SÌ o NO; nel caso in cui sia NO allora il client viene avvisato che il dominio non esiste. Se invece è SÌ, allora il DNS del provider, oltre a restituirmi l'IP desiderato (217.64.198.227) fa anche una copia del record nel suo database. Se qualcun altro collegato a quel provider chiede di betaingegneria.it avrà la risposta più velocemente poiché il DNS del provider ha una copia del record già in locale. Questo record ha però una data di scadenza, passata la quale se qualcuno ancora chiede di betaingegneria.it il DNS rifà il procedimento di richiesta al DNS autoritativo.

Il DNS del dominio .it viene gestito in modo autoritativo da una (appunto) authority detto NIC qui in Italia, che è un'emanazione dell'IIT-CNR (Istituto di Informatica e Telematica del CNR) ed ha sede a Pisa.

Ma il DNS, come detto, è un sistema mondiale per cui esistono molti elenchi "telefonici". E non solo per ogni nazione, perché i domini non soltanto rispecchiano una suddivisione geografica, ma anche per argomento, per settore di attività. Quindi, oltre ai domini geografici:

it
Italia
uk
Regno Unito
de
Germania
jp
Giappone
...

esistono i domini

.com, .biz, .net
Domini di attività commerciale
.org, .coop
Società no-profit e non governative
.info
Attività informativa e di comunicazione
.edu
Università degli Stati Uniti
...

Mentre per i domini geografici la gestione dell'elenco "telefonico" è demandata ad appositi organi nazionali (come il CNR in Italia) la gestione dei domini .com, .biz etc. è sotto la giurisdizione diretta dello IANA (Internet Assigned Numbers Authority) e, più recentemente dell'ICANN (Internet Corporation for Assigned Names and Numbers).

I DNS sono database interrogabili da chiunque (chiunque può eseguire una interrogazione, o query, nei database dei vari gestori di dominio).

Ad esempio, per quanto riguarda l'ICANN, esiste un'autorità di registrazione, l'InterNIC (http://www.internic.com) al quale si può sottoporre l'interrogazione per stabilire, ad esempio, se il dominio google.com esiste e se sì, chi ne sono le persone di riferimento.

Per quanto riguarda l'italia ed il TLD .it, si può accedere al sito della Registration Authority Itliana che è il NIC (http://www.nic.it) e interrogare il database.

Lo strumento per interrogare i DNS si chiama WHOIS ed è un programma che in genere viene messo a disposizione come applicazione web: una form HTML permette di scrivere il nome del dominio, e WHOIS ritorna i dati del dominio in questo formato (si è interrogato il WHOIS di InterNIC chiedendogli chi è aol.com):

America Online AOL-DOM
   12100 Sunrise Valley Drive
   Reston, VA 20191

   Domain Name: AOL.COM

   Administrative Contact:
      O'Donnell, David B  DBO3  *******@AOL.COM
      703/265-5666 (FAX) 703/265-4003
   Technical Contact, Zone Contact:
      America Online  AOL-NOC  *****@AOL.NET
      703-265-4670
   Billing Contact:
      Barrett, Joe  JB4302  *****@AOL.COM
      703-453-4160 (FAX) 703-453-4001

   Record last updated on 29-Apr-98.
   Record created on 22-Jun-95.
   Database last updated on 9-May-98 03:38:53 EDT.

   Domain servers in listed order:

   DNS-01.NS.AOL.COM		152.163.200.52
   DNS-02.NS.AOL.COM		152.163.200.116

Nella risposta vi sono diversi dati:

I DNS possono essere interrogati anche dal proprio PC (ottenendo meno informazioni) utilizzando una utility normalmente presente nei vari sistemi operativi (intendo UNIX/Linux o MS-Windows): nslookup.
Generalmente se da linea di comando si lancia nslookup esso si connetterà ad un DNS di default, ma potremo interrogare anche dei name server diversi, ad esempio ns.libero.it, lanciando il comando server [name-sever].
Se nel server esiste l'host che stiamo cercando, verrà ritornato l'IP (e se l'IP è afferente ad un dominio su cui il DNS interrogato non ha autorità, verrà specificato che la risposta proviene da un server DNS non di fiducia), altrimenti verrà detto che l'IP non esiste. In tal caso può essere necessario cambiare il nameserver chiamandone un altro, oppure (se si hanno i provilegi di amministrazione) riavviare il DNS locale che si è interrogato, in modo tale che richieda ai DNS autoritativi informazioni sui domini che ha nella sua coda di richieste.

Torna all'inizio - I servizi