|
Il Domain Name System è una bancadati distribuita che permette il controllo locale dei nomi di dominio su segmenti della rete. Tramite un sistema di replica, le modifiche fatte su un determinato segmento di rete da parte degli amministratori incaricati vengono “copiate” e distribuite pubblicamente nella totalità dei computer collegati. I programmi che gestiscono tuttora questi segmenti di rete sono denominati Name Server mentre sono Resolver i programmi che interrogano quest’ultimi per la risoluzione di un nome di dominio in rete. Il DNS è in sostanza un servizio di risoluzione di nomi Host in indirizzi IP. Durante gli anni 70, quando ARPANET era una piccola e felice comunità di alcune centinaia di nodi, la tabella che consentiva di tradurre ogni nome di macchina nel rispettivo indirizzo IP numerico era contenuta in un unico file, HOSTS.TXT. Questo file veniva mantenuto al NIC (Network Information Center) dello Stanford Research Institute di Menlo Park, in California. Tipicamente gli amministratori delle varie reti spedivano via mail le modifiche da fare alla tabella, e periodicamente scaricavano la tabella aggiornata dal computer del NIC. Con la crescita di ARPANET, in particolare quando ARPANET passò ai protocolli TCP/IP, diventò impossibile continuare ad andare avanti con questo sistema. Nacque cosi il DNS inventato il 23 Giugno 1983 da Paul Mockapetris, John Postel e Craig Partrige; le specifiche originali sono descritte nello standard RFC 882. Nel 1987 vennero pubblicati degli aggiornamenti allo standard RFC del DNS, con i nomi RFC1034 e RFC1035 rendendo obsolete le specifiche precedenti. Un server DNS registra all'interno del proprio database distribuito le informazioni relativi ai domini.
Naturalmente non è obbligatorio utilizzare i nomi. Se volete collegarvi al server web del governo italiano potete battere (cliccare) il nome:
o semplicemente l’indirizzo IP:
Per motivi che approfondiremo in questa sezione, il secondo metodo è più veloce, perché evita l’interrogazione di un name server. Provare per credere. L'insieme dei record relativi a un dominio viene chiamata Zona. Quando un Host ha necessità di comunicare con un altro Host chiede al DNS di effettuare appunto la risoluzione di tale nome. Quando riceve una richiesta il DNS effettua una ricerca all'interno del suo database al fine di trovare l'indirizzo IP corrispondente al nome Host richiesto. Se il server interrogato possiede l'informazione richiesta la ricerca termina con l'invio dell'indirizzo ip al richiedente. Se la ricerca ha esito negativo il server effettua una richiesta detta ricorsiva al suo server DNS. Ogni server DNS infatti ha a sua volta un server DNS a cui richiedere le informazioni mancanti. In cima a questo tipo di connessione piramidale troviamo l'ARPA, cioe l'autorità suprema in materia di Indirizzi IP. Questa funzione è essenziale per l'usabilità di Internet, visto che gli esseri umani preferiscono ricordare nomi testuali, mentre gli Host ed i router si ritrovano utilizzando i numeri, o meglio gli indirizzi IP. Del resto questo è ciò che accade nella realtà. Quando vogliamo parlare al telefono con qualcuno di cui conosciamo il nome, ad esempio un grande negozio, per conoscere il numero effettuiamo una ricerca sull'elenco telefonico. Il DNS è strutturato ad albero; la radice dell’albero è il dominio vuoto; vengono poi i domini di livello speriore e gli altri sottodomini. Ma vediamo di capire meglio: ogni nodo ha un'etichetta di lunghezza massima 63 caratteri. La radice e' un nodo speciale senza etichetta e non vi è differenza nelle etichette tra maiuscole e minuscole. Il nome di dominio e' la sequenza di etichette a partire dal nodo verso la radice, usando il carattere 'punto' (.) come separatore di etichetta. Ogni nodo dell'albero DNS deve avere un nome di dominio univoco.
Per esempio il nome ftp.example.com è il nome di un host che appartiene al dominio di livello superiore .com, al sottodominio example.com e che ha nome ftp. I domini di livello superiore, inizialmente erano sette, tutti riferiti agli USA:
com (organizzazione commerciali USA, per esempio la Apple Computer apple.com)
edu (università, scuole USA, per esempio l’università di Berkeley, berkeley.edu)
gov (organizzazioni governative USA, per esempio la NASA, nasa.gov)
mil (organizzazioni militari USA, per esempio esercito e marina, army.mil e navy.mil)
net (organizzazioni di rete, come la Natonal Science Foundation, nsf.net)
org (organizzazioni non commerciali)
int (organizzazion internazionali come la NATO)
Oggi i domini di livello superiore sono molti di più perché, sono stati tra l’altro inseriti tutti i paesi del mondo (Stati Uniti compresi) con un codice a due lettere, regolato dallo standard internazionale ISO 3166 del 1974. Alcuni domini di paesi:
it (Italia)
de (Germania)
ch (Svizzera)
fr (Francia)
at (Austria)
va (Vaticano)
sm (San Marino
us (Stati Uniti)
af (Afganistan)
uk (Gran Bretagna)
Quando un programma, per esempio un browser, richiede di accedere ad un host che ha un certo nome, entra in azione il resolver che:
trasmette la richiesta al name server;
interpreta le risposte;
passa le informazioni al programma che le ha chieste.
I name server sono distribuiti in tutto il mondo e sono organizzati in modo gerarchico. Nessun name server ha la mappa di tutti gli host di Internet. Ci sono, in prima approssimazione, tre tipi di name server:
local namer server (name server locale)
root name server (name server radice)
authoritative name server (name server autorevole)
Per saperne di più consulta i seguenti approfondimenti:
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.