|
I DNS (Domain Name Service) a ciscun host il suo nome.
Il metodo di indirizzamento numerico dell'Internet Protocol, sebbene sia molto efficiente dal punto di vista dei computer, che macinano numeri, è assai complicato da maneggiare per un utente. Ricordare le varie sequenze numeriche corrispondenti agli indirizzi dei computer a cui ci si intende connettere può essere molto noioso, come lo sarebbe dover ricordare a memoria tutti i numeri telefonici dei nostri amici e conoscenti. Per questo sono nate le agende: se voglio telefonare a Gino, cerco sulla mia agenda, magari elettronica, il suo nome e leggo il suo numero di telefono. Pensate, poi, quanto sarebbe comodo dire al telefono "voglio telefonare a Gino" e sentire il telefono comporre da solo il numero. Proprio al fine di facilitare l'impiego della rete da parte degli utenti è stato sviluppato un sistema di indirizzamento simbolico, che funziona in modo simile: si chiama Domain Name Service (DNS).
Attraverso il DNS ogni host di Internet può essere dotato di un nome (domain name), composto da stringhe di caratteri. Tali stringhe, a differenza dell'indirizzo numerico, possono essere di lunghezza illimitata. È evidente che per un utente utilizzare dei nomi simbolici è molto più semplice e intuitivo che maneggiare delle inespressive sequenze di numeri. Ad esempio, all'host 151.100.20.152 corrisponde il seguente nome: crilet.let.uniroma1.it.
Come si può vedere, anche i nomi sono sequenze di simboli separati da punti. Questa articolazione rispecchia la struttura gerarchica del Domain Name Service. Esso suddivide l'intera rete in settori, denominati domini, a loro volta divisi in sottodomini, e così via per vari livelli; ogni sottodominio fa parte del dominio gerarchicamente superiore: alla base della piramide ci sono i singoli host.
L'identificativo di un host riassume le varie gerarchie di domini a cui appartiene: ogni sottostringa rappresenta o un dominio, o un sottodominio, o il nome del computer. Ma l'ordine di scrittura è inverso all'ordine gerarchico! Suona complicato, ma non lo è. Vediamo più da vicino il nostro esempio.
La parte di indirizzo più a destra nella stringa indica il dominio più alto della gerarchia, nel nostro caso 'it'. In genere, il livello più alto identifica il paese o, per gli Stati Uniti, il tipo di ente che possiede il computer in questione. Gli altri livelli della gerarchia, muovendosi da destra a sinistra, scendono per i vari sottodomini fino ad identificare uno specifico host. Così, nel caso sopra considerato 'uniroma1' si riferisce al dominio di rete dell'Università di Roma 'La Sapienza'; 'let' si riferisce al sottodominio della facoltà di Lettere di questa università, e infine 'crilet' è il nome del singolo host, che nel nostro caso prende il nome dal Centro Ricerche Informatica e Letteratura. Dunque un nome simbolico fornisce all'utente dotato di un minimo di esperienza una serie di informazioni che possono essere molto utili.
Il numero e le sigle dei domini di primo livello sono fissati a livello internazionale e vengono gestiti da appositi organismi. Nell'ambito di ogni dominio di primo livello possono essere creati un numero qualsiasi di sottodomini, anche se ogni autorità nazionale di gestione del DNS può imporre delle regole particolari.
Quando il DNS è stato sviluppato, Internet era diffusa, salvo rare eccezioni, solo negli Stati Uniti. Per questa ragione la rete venne suddivisa in sei domini, le cui sigle si caratterizzavano per il tipo di ente o organizzazione che possedeva gli host e le reti ad essi afferenti:
* EDU: università ed enti di ricerca
* COM: organizzazioni commerciali
* GOV: enti governativi
* MIL: enti militari
* NET: organizzazioni di supporto e di gestione della rete
* ORG: organizzazioni ed enti di diritto privato non rientranti nelle categorie precedenti, come enti privati no profit, associazioni, organizzazioni non governative.
Quando la rete ha cominciato a diffondersi a livello internazionale sono stati creati altri domini di primo livello, suddivisi per nazioni: questi domini usano delle sigle che spesso (ma non sempre) corrispondono alle sigle delle targhe internazionali. L'Italia, come si può evincere dal nostro esempio, è identificata dalla sigla 'IT', l'Inghilterra dalla sigla 'UK', la Francia da 'FR', la Germania 'DE' e così via.
Dal punto di vista tecnico il Domain Name Service è costituito da un sistema di database distribuiti nella rete chiamati name server, che sono collegati tra loro. Ogni dominio e ogni sottodominio ha almeno un name server di riferimento. Quest'ultimo svolge la funzione di tradurre i nomi in indirizzi numerici per conto degli host o di altri name server. Infatti la comunicazione effettiva tra gli host avviene sempre attraverso gli indirizzi numerici. La traduzione viene chiamata tecnicamente risoluzione.
Quando un host (sollecitato da un utente o da una applicazione) deve collegarsi ad un altro host che ha un determinato nome simbolico, ad esempio sunsite.dsi.unimi.it, chiede al proprio name server locale di tradurre il nome simbolico nel corrispondente indirizzo numerico. Il name server locale va a vedere nella sua tabella se ha l'informazione richiesta. In caso positivo risponde all'host che lo ha interpellato, fornendo il corrispondente indirizzo numerico, altrimenti chiede ad un altro name server (detto name server di primo livello). La scelta di questo 'super-aiutante' è determinata dal dominio di primo livello dell'indirizzo da risolvere ('it', nel nostro caso). I name server di primo livello vengono detti authoritative name server. Essi possono sia rispondere direttamente, sia dirottare la richiesta a degli altri name server (questa volta di secondo livello). Il processo può continuare per vari sottolivelli, finché non viene risolto per intero l'indirizzo dell'host cercato. Intelligentemente, nel fare questo lavoro di interrogazione il nostro name server locale si annota gli indirizzi che ha conosciuto, in modo che le future richieste possano essere risolte immediatamente.
Grazie a questo meccanismo il DNS è sempre aggiornato: infatti la responsabilità di aggiornare i singoli name server è automatica e decentralizzata e non richiede una autorità centrale che tenga traccia di tutti i milioni di host computer collegati a Internet.
Come avviene per gli indirizzi, la gestione del sistema DNS in un dominio di primo livello viene affidata a degli enti specifici. Questi enti hanno il compito di assegnare i nomi di sottodominio e di host, curando attentamente che non esistano omonimie; essi inoltre debbono occuparsi di gestire il database principale del dominio di cui sono responsabili, e dunque di garantire il funzionamento del DNS a livello globale. In Italia l'ente che effettua la gestione del DNS primario è il medesimo che assegna gli indirizzi di rete numerici, la già ricordata Registration Authority, collegata al CNR e dunque - attraverso il MURST - al Governo. Anche negli Stati Uniti la gestione dei nomi veniva controllata da una agenzia federale. Ma la crescita della rete e la sua commercializzazione ha fatto di questa attività tecnico/amministrativa una possibile fonte di profitto. Per questo la sua gestione è stata recentemente privatizzata e assegnata ad una serie di società concessionarie, che impongono delle tariffe sulla registrazione di un nome e sulla sua associazione ad un indirizzo.
|