dns-erit

Introduzione

Il Domain Name Sysytem (DNS) è un sistema di denominazione per le risorse su Internet facente parte della suite di protocolli Internet TCP/IP. Il DNS fu progettato agli inizi degli anni ’80 e fu lanciato nel 1985; da allora è divenuto uno dei servizi cardine di Internet. L’Internet è costituita da due spazi dei nomi detti, in lingua inglese, namespaces ossia: nomi di dominio (domain names) ed Indirizzi IP (IP Addresses).

Gli indirizzi IP (numerici) sono assegnati ad ogni dispositivo che si connette ad Internet e i nomi di dominio (alfanumerici) sono utilizzati per individuare facilmente gli indirizzi IP. Gli indirizzi IP (Internet Protocol) furono ideati ben prima del DNS ma è sempre stato noto che l’uso di indirizzi numerici per individuare risorse non fosse di facile impiego a livello degli utenti; insomma, non era un sistema user-friendly.

La soluzione fu proprio il Domain Name System (DNS): esso consiste in nomi di dominio alfanumerici (come eritrium.org) e che possono essere associati ad un indirizzo IP; come risultato l’utente necessita solamente di conoscere un nome di dominio per trovare una risorsa su Internet.



Funzioni e motivazioni

Un modo semplice per spiegare il Domain Name System è quello di fare un’analogia con le rubriche telefoniche; possiamo in questa analogia affermare che il DNS, per Internet, ha lo stesso compito della rubrica telefonica, per la telefonia: quello di tradurre nomi testuali in stringhe numeriche. Fatta quest’analogia la motivazione e l’utilità del DNS risulta chiara: la possibilità di assegnare un nome alfanumerico ad una risorsa su Internet (come potrebbe essere un server che ospita siti www) risulta conveniente per l’utente, migliorando evidentemente l’uso della risorsa stessa. Ciò è dovuto al fatto che agli esseri umani, per loro natura, è più facile ricordare nomi, come le parole, rispetto a stringhe numeriche… d’altra parte, per le macchine è più efficiente l’uso di stringhe numeriche e una risorsa su Internet come gli host computer e i router sono raggiungibili tramite gli indirizzi IP: un sistema, se vogliamo, “duale”. Per queste ragioni il DNS è fondamentale, vista la diffusione di massa di Internet in tutto il mondo e dunque con un’amplissima platea di utenti non tecnici: questo “vantaggio” è la peculiarità forse più visibile fra tutte.

A questo punto possiamo fare l’esempio del nome di dominio www.eritrium.org che viene tradotto negli indirizzi 144.76.162.241 (IPv4) e 2a01:04f8:0200:33f0:0000:0000:0000:0002 (IPv6). Rispetto ad una semplice rubrica, la cui gestione è a carico del suo (o suoi) utenti, il DNS può essere aggiornato velocemente, consentendo la modifica della localizzazione di un servizio sulla rete in modo del tutto trasparente rispetto agli utenti finali, che continueranno ad usare il medesimo nome di dominio. Ciò è di grande vantaggio per gli utenti quando usano Uniform Resource Locators (URLs) intelligibili e indirizzi di posta elettronica senza la necessità di sapere come il computer realmente localizza il servizio.
Immaginiamo ora un utente voglia accedere ad un servizio Internet distribuito tramite un URL, succede che il nome di dominio presente nell’URL viene tradotto nell’indirizzo IP di un server che è prossimale all’utente stesso. La funzionalità chiave del DNS qui descritta sta a significare che utenti diversi possono simultaneamente ricevere differenti traduzioni per lo stesso nome di dominio, come si vede è una caratteristica molto differente dal tradizionale modello a rubrica telefonica del DNS. Questo processo di assegnare server prossimali agli utenti è importante per fornire su Internet risposte più veloci e più attendibili ed è ampiamente usata dalla maggior parte dei principali servizi su Internet.



"Domain names - concepts and facilities
Mockapetris, P., “Domain names – concepts and facilities”, STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, <https://www.rfc-editor.org/info/rfc1034>.

La struttura del DNS riflette la struttura dalle responsabilità a livello di ripartizione amministrazione dell’Internet. Ciascun nome di dominio è, come detto, costituito da stringhe alfanumeriche separate da punti (es. www.eritrium.org) e ciascuna di esse rappresenta quello che si definisce sottodominio (subdomain) ovvero un sottodominio è un dominio che fa parte di un dominio più ampio. L’unico dominio che non sia anche un sottodominio è il dominio principale, questo è detto root domain e lo si indica con il punto alla fine del nome di dominio. Ogni sottodominio rappresenta una zona ad amministrazione autonoma, il cui controllo è delegato ad un gestore. Per le zone gestite da un registro (domain name registry), le informazioni amministrative sono spesso completate dai servizi del registro quali WHOIS e il suo successore RDAP (Registration Data Access Protocol). Questi dati possono essere utilizzati a scopi informativi, e monitorare le responsabilità, per un determinato host su Internet.

DNS sta per “Domain Name System”. I server DNS traducono gli indirizzi web (come www.eritrium.org) in indirizzi IP (come 144.76.162.241) in modo che le persone non debbano ricordare stringhe di numeri per ogni sito web che vogliano visitare.