DNS (Sistema dei nomi di dominio)

Settembre 2015

Che cosa è un DNS?

Ogni computer direttamente connesso a internet possiede almeno un proprio indirizzo IP . Tuttavia, gli utenti non vogliono lavorare con degli indirizzi numerici tipo 194.153.205.26 ma con un nome di dominio o degli indirizzi più espliciti (detti indirizzi FQDN) del tipo [www.ccm.net].

Così, è possibile associare dei nomi in linguaggio corrente agli indirizzi numerici grazie ad un sistema chiamato DNS (Domain Name System).

Viene detta risoluzione dei nomi di domini (o risoluzione di indirizzi) la correlazione tra gli indirizzi IP e il nome del dominio associato.

Nomi di host

Alle origini del TCP/IP, dato che le reti erano poco estese o detto in un altro modo il numero di computer connessi ad una stessa rete era basso, gli amministratori di rete crearono dei file detti tabelle di conversione manuale. Queste tabelle di conversione manuale erano dei file sequenziali, generalmente chiamati host o hosts.txt, che associavano ad ogni linea l'indirizzo IP del terminale e il nome letterale associato, detto nome del host.

Introduzione al Domain Name System

Il precedente sistema delle tabelle di conversione necessitava tuttavia dell'aggiornamento manuale delle tabelle di tutti i computer in caso di aggiunta o modifica di un nome di terminale. Così, con l'esplosione della dimensione delle reti, e della loro interconnessione, si è dovuto realizzare un sistema di gestione dei nomi gerarchizzato e più facilmente amministrabile. Il sistema detto Domain Name System (DNS), tradotto Sistema di nome di dominio, è stato elaborato nel novembre del 1983 da Paul Mockapetris (RFC 882 e RFC 883), poi rivisto nel 1987 negli RFCs 1034 e 1035. Il DNS è stato oggetto di più RFC.

Questo sistema propone :
  • uno spazio dei nomi (namespace) gerarchico che permette di garantire l'unicità di un nome in una struttura ad arborescenza, allo stesso modo dei sistemi di file di Unix.
  • un sistema di server distribuiti permette di rendere disponibile lo spazio dei nomi.
  • un sistema di client permette di « risolvere » i nomi dei domini, cioè di interrogare i server per conoscere l'indirizzo IP corrispondente ad un nome.

Lo spazio dei nomi

La strutturazione del sistema DNS si basa su una struttura ad arborescenza in cui sono definiti dei domini di livello superiore (detti TLD, per Top Level Domains), collegati ad un nodo radice rappresentato da un punto.
Arborescenza del Domain Name System


Viene detto « nome del dominio » ogni nodo dell'albero. Ogni nodo possiede un'etichetta (in inglese « label ») con una lunghezza massima di 63 caratteri.

L'insieme dei nomi di dominio costituisce quindi un albero inverso dove ogni nodo è separato dal seguente da un punto (« . »).

L'estremità di un ramo è detta host, e corrisponde ad un terminale o un'entità di rete. Il nome del host che gli è attribuito deve essere unico nel dominio considerato, o se esiste nel sotto-dominio. Ad esempio il server web di un dominio ha quindi generalmente il nome www .

La parola «dominio» corrisponde formalmente al suffisso di un nome di dominio, cioè l'insieme delle etichette dei nodi di un arborescenza, ad eccezione del host.

Il nome assoluto corrispondente all'insieme delle etichette dei nodi di un'arborescenza, separate da punti, e terminato da un punto finale, è detto indirizzo FQDN (Fully Qualified Domain Name, cioè Nome del Dominio Totalmente Qualificato). La profondità massima dell'arborescenza è di 127 livelli e la lunghezza massima di un nome FQDN è di 255 caratteri. L'indirizzo FQDN permette di individuare inequivocabilmente un terminale sulla rete di reti. Quindi www.ccm.net. rappresenta un indirizzo FQDN.

I server dei nomi

I terminali detti server di nome di dominio permettono di stabilire la corrispondenza tra il nome del dominio e l'indirizzo IP dei terminali di una rete.

Ogni dominio possiede un server di nomi di domini, detto «server di nomi primario » (primary domain name server), nonché un server di nomi secondario (secondary domaine name server), che permette di sostituirsi al server di nomi primario in caso di indisponibilità.

Ogni server di nomi è dichiarato in un server di nomi di dominio di livello immediatamente superiore, cosa che permette implicitamente una delega di autorità sui domini. Il sistema di nomi è un'architettura distribuita, dove ogni entità è responsabile della gestione del proprio nome di dominio. Non esiste quindi un organismo che abbia il compito di gestire l'insieme dei nomi di domini.

I server corrispondenti ai domini di più alto livello (TLD) sono detti «server di nomi radice». Ne esistono tredici, ripartiti in tutto il mondo, sotto i nomi «a.root-servers.net» a «m.root-servers.net».

Un server di nomi definisce una zona, cioè un insieme di domini sui quali il server ha autorità. Il sistema di nomi di dominio è trasparente per l'utente, tuttavia non bisogna dimenticare i punti seguenti :
  • Ogni computer deve essere configurato con l'indirizzo di un terminale capace di trasformare qualunque nome in un indirizzo IP. Questo terminale è detto Domain Name Server. Niente panico: quando vi connettete ad internet, l'ISP modifica automaticamente i vostri parametri di rete per mettervi a disposizione questi server di nomi.
  • L'indirizzo IP di un secondo Domain Name Server (secondary Domain Name Server) deve essere ugualmente definito : il server di nomi secondario può sostituire il server di nomi primario in caso di malfunzionamento del primo.


Il server più conosciuto si chiama BIND (Berkeley Internet Name Domain). Si tratta di un software libero disponibili sui sistemi UNIX, sviluppato inizialmente dall'università di Berkeley in California e ormai mantenuto dall'ISC (Internet Systems Consortium).

Risoluzione dei nomi di dominio

Il meccanismo che consiste nel trovare l'indirizzo IP corrispondente al nome di un host è detto «risoluzione di nome di dominio». L'applicazione che permette di realizzare questa operazione (generalmente integrata al sistema operativo) è detta «resolver».

Quando un'applicazione vuole connettersi ad un host conosciuto con il suo nome di dominio (ad esempio «www.ccm.net»), questa interroga un server di nomi definito nella sua configurazione di rete. Ogni terminale connesso alla rete ha in effetti nella sua configurazione gli indirizzi IP dei due server di nomi del suo provider internet.

Una richiesta è quindi inviata al primo server di nomi (detto «server di nome primario»). Se questo ha la registrazione nella sua cache, la invia all'applicazione, in caso contrario interroga il server radice (nel nostro caso un server radice che corrisponda al TLD «.net»). Il server del nome radice rinvia un elenco di server di nomi che rappresentano un'autorità sul dominio (in questo caso gli indirizzi IP dei server di nomi primari e secondari di ccm.net).

Il server di nomi primario che ha autorità sul dominio sarà interrogato e manderà la registrazione corrispondente al host sul dominio (nel nostro caso www).
Processo di risoluzione dei nomi di dominio

Tipi di registrazioni

Un DNS è un database ripartito contenente delle registrazioni, dette RR (Resource Records), che riguardano i nomi dei domini. I soli ad essere interessati alla lettura delle informazioni riportate in seguito sono le persone responsabili dell'amministrazione di un dominio, dato che il funzionamento dei server di nomi è totalmente trasparente per gli utenti.

A causa del sistema di cache che permette al sistema DNS di essere ripartito, le registrazioni di ogni dominio possiedono una durata di vita, detta TTL (Time To Live, tradotto speranza di vita), che permette ai server intermedi di conoscere la data di scadenza delle informazioni e così di sapere se una verifica è più o meno necessaria.

In maniera generale, una registrazione DNS comporta le seguenti informazioni :

Nome del dominio (FQDN)TTLTipoClasseRData
www.ccm.net. 3600 A IN 163.5.255.85
  • Nome del dominio: il nome del dominio deve essere un nome FQDN, cioè terminare con un punto. Se il punto è omesso, il nome del dominio è relativo, cioè il nome del dominio principale suffisserà il dominio inserito;
  • Tipo: un valore su 16 bit che specifica il tipo di risorsa descritta dalla registrazione. Il tipo di risorsa può essere una delle seguenti :
    • A: si tratta del tipo di base che stabilisce la corrispondenza tra un nome canonico e un indirizzo IP. D'altronde, possono esistere più registrazioni A, corrispondenti ai differenti terminali di rete (server).
    • CNAME (Canonical Name): permette di far corrispondere un alias al nome canonico. E' particolarmente utile per fornire dei nomi alternativi corrispondenti ai diversi servizi di uno stesso terminale.
    • HINFO: si tratta di un campo descrittivo che permette di descrivere soprattutto l'hardware (CPU) e il sistema operativo (OS) di un host. Generalmente si consiglia di non indicarlo per non fornire degli elementi di informazione che possano rivelarsi utili per dei pirati informatici.
    • MX (Mail eXchange): corrisponde al server di gestione della posta. Quando un utente invia un messaggio elettronico ad un indirizzo (utente@dominio), il server della posta in uscita interroga il server di nome che ha autorità sul dominio per ottenere la registrazione MX. Possono esistere più MX per dominio, per fornire una ridondanza in caso di guasto del server di messaggeria principale. Così la registrazione permette di definire una priorità con un valore che può andare da 0 a 65 535 :
      www.ccm.net. IN MX 10 mail.ccm.net.
    • NS: corrisponde al server di nomi con autorità sul dominio.
    • PTR: un puntatore verso un'altra parte dello spazio di nomi dei domini.
    • SOA (Start Of Authority): il campo SOA permette di descrivere il server di nome con autorità sulla zona, nonché l'indirizzo elettronico del contatto tecnico (da cui il carattere « @ » è sostituito da un punto).
  • Classe: la classe può essere sia IN (corrispondente ai protocolli d'internet, si tratta quindi del sistema usato nel nostro caso,) sia CH (per i sistemi caotici);
  • RDATA: si tratta dei dati corrispondenti alla registrazione. Ecco le informazioni attese secondo il tipo di registrazione :
    • A: un indirizzo IP a 32 bit;
    • CNAME: un nome di dominio;
    • MX: un valore di priorità a 16 bit, seguito da un nome del host;
    • NS: un nome dell'host;
    • PTR: un nome di dominio;
    • SOA: più campi.

Domini di alto livello

Esistono due categorie di TLD (Top Level Domain, ossia domini di più alto livello) :
  • I domini detti «generici», chiamati gTLD (generic TLD). I gTLD sono dei nomi di domini generici di livello superiore che propongono una classificazione secondo il settore di attività. Così ogni gTLD ha le proprie regole di accesso :
    • gTLD storici :
      • .arpa corrisponde ai terminali derivanti dalla rete originale;
      • .com corrispondevano inizialmente alle aziende a vocazione commerciale. Ormai questo TLD è diventato il « TLD di default » e l'acquisizione del dominio con questa estensione è possibile anche per i privati.
      • .edu corrisponde agli enti educativi;
      • .gov corrisponde agli enti governativi;
      • .int corrisponde alle organizzazioni internazionali;
      • .mil corrisponde agli organismi militari;
      • .net corrispondeva inizialmente agli enti con tratti di rete. Questo TLD è diventato da qualche anno un TLD corrente. L'acquisizione di domini con questa estensione è possibile anche per i privati.
      • .org corrisponde solitamente alle aziende senza scopo di lucro.
    • nuovi gTLD introdotti nel novembre 2000 dall'ICANN :
      • .aero corrisponde all'industria aeronautica;
      • .biz( business) corrisponde alle aziende commerciali;
      • .museum corrisponde ai musei;
      • .name corrisponde a nomi di persone o a nomi di personaggi immaginari;
      • .info corrisponde agli enti con tratti di informazione;
      • .coop corrispondente alle cooperative;
      • .pro corrispondente alle professioni liberali.
    • gTLD speciali :
      • .arpa corrisponde alle infrastrutture di gestione di rete. L'gTLD arpa serve quindi alla risoluzione inversa dei terminali di rete, permettendo di trovare il nome corrispondente ad un indirizzo IP.
  • I domini detti «nazionali », chiamati ccTLD(country code TLD). I ccTLD corrispondono ai differenti paesi e i loro nomi corrispondono alle abbreviazioni dei nomi dei paesi definite dalla norma ISO 3166. La tabella sottostante riassume l'elenco dei ccTLD.


CodicePaese
ACIsola dell'Ascensione
ADAndorra
AEEmirati Arabi Uniti
AFAfganistan
AGAntigua e Barbuda
AIAnguilla
ALAlbania
AMArmenia
ANAntille Olandesi
AOAngola
AQAntartica
ARArgentina
ASSamoa Americane
ATAustria
AUAustralia
AWAruba
AZAzerbaigian
BABosnia-Erzegovina
BBBarbados
BDBangladesh
BEBelgio
BFBurkina Faso
BGBulgaria
BHBahreïn
BIBurundi
BJBenin
BMBermuda
BNBrunei
BOBolivia
BRBrasile
BSBahamas
BTBhutan
BVIsola Bouvet
BWBotswana
BYBielorussia
BZBelize
CACanada
CCIsole del Coco
CDRepubblica democratica del Congo
CFRepublica Centrafricana
CGCongo
CHSvizzera
CICosta d'Avorio
CKIsole Cook
CLCile
CMCamerun
CNCina
COColombia
COMOrganismi a scopo commerciale
CRCosta Rica
CUCuba
CVCapo Verde
CXIsola Christmas
CYCipro
CZRepublica Ceca
DEGermania
DJGibuti
DKDanimarca
DMDominica
DORepublica Dominicana
DZAlgeria
ECEquatore
EDUOrganismo con un rapporto con l'educazione
EEEstonia
EGEgitto
EHSahara Occidentale
EREritrea
ESSpagna
ETEtiopia
EUEuropa
FIFinlandia
FJFiji
FKIsole Falkland (Malvine)
FMMicronesia
FOIsole Faroer
FRFrancia
FXFrance (Territorio Europeo)
GAGabon
GBGran Bretagna
GDGrenada
GEGeorgia
GFGuyana Francese
GGGuernesey
GHGhana
GIGibilterra
GLGroenlandia
GMGambia
GNGuinea
GOVOrganismo governativo
GPGuadalupe
GQGuinea Equatoriale
GRGrecia
GSGeorgia del Sud
GTGuatemala
GUGuam (USA)
GWGuinea-Bissau
GYGuyana
HKHong Kong
HMIsole Heard and McDonald
HNHonduras
HRCroazia
HTHaïti
HUUngheria
IDIndonesia
IEIrlanda
ILIsraele
IMIsola de Man
INIndia
IOTerritori Britannici dell'oceano Indiano
IQIrak
IRIran
ISIslanda
ITItalia
JMGiamaica
JOGiordania
JPGiappone
KEKenia
KGKirghizistan
KHCambogia
KIKiribati
KMComore
KNSaint Kitts and Nevis
KPCorea del Nord
KRCorea del Sud
KWKuwait
KYIsole Cayman
KZKazakhistan
LALaos
LBLibano
LCSanta Lucia
LILiechtenstein
LKSri Lanka
LRLiberia
LSLesotho
LTLituania
LULussemburgo
LVLettonia
LYLibia
MAMarocco
MCMonaco
MDMoldavia
MGMadagascar
MHIsole Marshall
MKMacedonia
MLMali
MILOrganismo militare
MMMyanmar
MNMongolia
MOMacao
MPIsole Marianne del Nord
MQMartinica
MRMauritania
MSMontserrat
MUIsole Mauritius
MVMaldive
MWMalawi
MXMessico
MYMalesia
MZMozambico
NANamibia
NCNuova Caledonia
NENiger
NETOrganismo con un rapporto con Internet
NFIsole Norfolk
NGNigeria
NINicaragua
NLPaesi Bassi
NONorvegia
NPNépal
NRNauru
NTZona Neutra
NUNiue
NZNuova Zelanda
OMOman
ORGOrganismo non referenziato
PAPanama
PEPerù
PFPolinesia Francese
PGPapuasia Nuova Guinea
PHFilippine
PKPakistan
PLPolonia
PMSaint-Pierre e Miquelon
PNPitcairn
PRPorto Rico (USA)
PSTerritori Palestinesi
PTPortogallo
PYParaguay
PWPalau
QAQatar
RERéunion
RORomania
RUFederazione Russa
RWRwanda
SAArabia Saudita
SBIsole Salomone
SCSeychelles
SDSudan
SESvezia
SGSingapore
SHSant'Elena
SISlovenia
SJIsole Svalbard e Jan Mayen
SKRepubblica Slovacca
SLSierra Leone
SMSan Marino
SNSenegal
SOSomalia
SRSuriname
STSao Tomé e Principe
SUUnione Sovietica
SVSalvador
SYSiria
SZSwaziland
TCIsole Turks e Caicos
TDCiad
TFTerritori Australi Francesi
TGTogo
THTailandia
TJTadjikistan
TKTokelau
TMTurkmenistan
TNTunisia
TOTonga
TPTimor Est
TRTurchia
TTTrinidad e Tobago
TVTuvalu
TWTaiwan
TZTanzania
UAUcraina
UGUganda
UKRegno Unito
UMUS Minor Outlying Islands
USStati Uniti
UYUruguay
UZUzbekistan
VACittà del Vaticano
VCSaint-Vincent e Grenadines
VEVenezuela
VGIsole Vergini Britanniche
VIIsole Vergini Americane
VNVietnam
VUVanuatu
WFWallis e Futuna
WSSamoa Occidentali
YEYemen
YTMayotte
YUIugoslavia
ZASud Africa
ZMZambia
ZRZaire
ZWZimbabwe

Vedere anche...

Per poter consultare questo documento offline, ne potete scaricare gratuitamente una versione in formato PDF:
Dns-sistema-dei-nomi-di-dominio .pdf

Vedi anche


DNS (Domain Name System)
DNS (Domain Name System)
DNS (Sistema de nombre de dominio)
DNS (Sistema de nombre de dominio)
DNS (Domänen Namen System)
DNS (Domänen Namen System)
DNS (Système de noms de domaine)
DNS (Système de noms de domaine)
DNS (Sistema de nomes de domínio)
DNS (Sistema de nomes de domínio)
Il documento intitolato « DNS (Sistema dei nomi di dominio) » da CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.