Sei sulla pagina 1di 11

LEZIONE 6

DNS: IL DOMAIN NAME SYSTEM

IN QUESTA LEZIONE IMPAREREMO...


le funzioni del D N S
i compiti dei root server e dei server di dominio
il formato dei messaggi DNS e dei record di risorsa

Generalit: nome simbolico e indirizzo IP


Per identificare un host oppure u n router i n Internet sappiamo che necessario conoscere i l suo
indirizzo IP, che unico sulla rete pubblica: ma u n sito Internet generalmente individuato da un
nome mnemonico, che pi semplice utilizzare da parte dagli "esseri umani".
decisamente pi facile ricordare www.hoepli.it piuttosto che il suo indirizzo IP 193.202.13.14

Anche ai PC d i una LAN viene generalmente associato u n nome simbolico che per deve essere
mantenuto i n corrispondenza del rispettivo indirizzo IP: i n una rete locale questo pu essere fatto
con u n semplice "file hosts" composto da coppie di dati, come nel seguente esempio:
I 192.168.1.1 Gontabilit_l
192.168.1.2 Gontabilit_2
I 192.168.1.3 Magazzino_l
I 192.168.1.4 Magazzino_2
> 192.168.1.5 Vendite_l
I 192.168.1.6 Server
...

ma al crescere della dimensione della rete e quindi del numero di host questa soluzione impraticabile.

Capita anche di assegnare allo stesso host pi di un nome simbolico: siamo in presenza quinI di di alias.

286

In Internet la risoluzione dei nomi degli host i n indirizzi IP u n servizio che viene effettuato dal
Domain Name System (DNS).

DNS
Con Domain Name System si intende:
un data base distribuito che memorizza coppie (nome simbolico - indirizzo IP) su un
insieme di nodi della rete (name servers);
un protocollo a livello applicazione che regola la comunicazione tra hosts e ame
utilizzato da altri protocolli per la risoluzione dei nomi simbolici.

ESEMPIO 14
Se inseriamo i n u n browser (HTTP client) i l nome:
http://www.hoepli.it/index.html
n client HTTP attiva u n client DNS che
estrae dall'URL l'indirizzo simbolico IS del server (hoepli.it);
I interroga i l DNS e ottiene l'indirizzo IP corrispondente a IS;
> invia quindi una richiesta (secondo i l protocollo HTTP) al web server (passa l'indirizzo IP al livello
TCP).

Funzioni e caratteristiche del DNS


servizio Domain Name System definito i n RFC 1034 e RFC 1035 e funziona attraverso lo scamd di messaggi UDP sulla porta 53.
Possiamo individuare tre funzioni principali del DNS:
D traduzione dei nomi simbolici i n indirizzi IP;
gestione degli alias, cio permettere la definizione d i pi nomi simbolici per lo stesso host: per
esempio pu essere comodo utilizzare u n soprannome al posto di u n nome completo come www.
rai.it al posto di rcsn1.roma.rai.it.
Analogo discorso degli alias pu essere fatto anche per gli indirizzi d i posta elettronica: pi
semplice utilizzare rossimario@rai.it piuttosto che rossimario@malsrv1 .roma.rai.it
esecuzione del bilanciamento del carico: molti web server, come per esempio www.ebay.com,
devono gestire una enorme quantit di richieste e per soddisfarle senza collassare le connessioni necessario replicare i server i n modo tale da avere pi PC che contemporaneamente ( i n
parallelo) possano offrire lo stesso servizio; allo stesso nome simbolico viene quindi associato
un insieme d i indirizzi IP ed compito del DNS restituire gli indirizzi IP
associati allo stesso nome simbolico secondo una disciplina circolare
"f , "f
senza che gli utenti se ne accorgano
y
ma distribuendo i n egual misura le
richieste su host differenti.
La prima idea per realizzare i l DNS
quella d i creare u n enorme database e
posizionarlo nel mezzo della rete Internet per fare i n modo che t u t t i gli host lo
"conoscano" e si rivolgano a esso.

287

Lo strato di applicazione

una soluzione che potrebbe anche essere realizzata, ma che comporterebbe u n insieme di inconvenienti d i seguito descritti che di fatto la rendono irrealizzabile:
single point of failure: essendo u n unico elemento diventerebbe un -4 SPOF e u n suo guasto
sarebbe la causa d i un "disastro universale";
I volume di traffico: tutto i l traffico d i Internet dovrebbe essere veicolato verso d i esso, portando la
rete al collasso;
database distante: sarebbe irraggiungibile dagli host distanti (massimo numero d i hop);
manutenzione permanente: la manutenzione con l'aggiunta dei nuovi indirizzi e le modifiche di
quelli esistenti renderebbero inagibile i l sistema per la maggior parte del tempo.

Inoltre un database centralizzato su un singolo server DNS non scalabile!

M Single point of failure (SPOF) A single point of failure (SPOF) is a potential risk posed by
a flaw in the design, implementation or configuration of a circuit or system in which one fault
or malfunction causes an entire system to stop operating.
La soluzione adottata stata quella di realizzare u n database distribuito sul territorio utilizzando
diversi server, ciascuno con la responsabilit di raccogliere, gestire, aggiornare e divulgare le informazioni che lo riguardano.
L'approccio di tipo gerarchico dove gli elementi pi alti nella gerarchia contengono molte informazioni non dettagliate e man mano si scende ai livelli inferiori aumenta i l dettaglio delle stesse.
In prima approssimazione la gerarchia d i server DNS organizzata i n tre classi:
I server radice;
I server top-level domain (TLD);
I server di competenza.
Quando u n server locale non riesce a tradurre i l nome simbolico d i u n sito Web i n u n indirizzo IP
contatta u n server DNS radice che se non conosce la mappatura contatta a sua volta u n server DNS
autorizzato ottenendo la mappatura e restituendola al server DNS locale.
Attualmente esistono sparsi per il mondo 13 server radice etichettati da A a M organizzati
come un cluster di server replicati, e hanno il nome da a.root-servers.net a m.root-servers.
net; sono anche detti server di nomi radice e corrispondono ai domini di pi alto livello
(top-level domain).

288

DNS: il Domain Name System

I server TLD (Top-Level Domain) sono collegati agli altri server presenti nella rete generando una
-trattura "ad albero", e comprendono i domini com, org, net, edu ecc. e t u t t i i domini locali di alto
livello, quali uk, fr, ca e j p .

NOMI DI PRIMO LIVELLO


I nomi di primo livello possono essere classificati in tre gruppi, a seconda della gerarchia
di cui sono "a capo":
I gerarchia organizzativa:
- .arpa corrisponde ai terminali derivanti dalla rete originale;
- .com corrispondevano inizialmente alle aziende a vocazione commerciale.
- .edu corrisponde agli enti educativi;
- .gov corrisponde agli enti governativi;
- .net corrispondeva inizialmente agli enti con tratti di rete;
t gerarchia geografica:
- .it domini italiani;
- .fr domini francesi;
- .uk domini inglesi;
- .us domini degli Stati Uniti;
gerarchia generica:
- .museum corrisponde ai musei;
- .aero corrisponde all'industria aeronautica;
- .biz (business) corrisponde alle aziende commerciali;
- .coop corrispondente alle cooperative;
- .info corrisponde agli enti con tratti di informazione;
- .name corrisponde a nomi di persone o a nomi di personaggi immaginari.
Una seconda metodologia di classificazione "pi formale" raggruppa i domini in due categorie:
i domini detti generici, chiamati gTLD (generic TLD), classificati in base al settore di attivit,
a loro volta suddivisi in tre gruppi:
gTLD storici:
- .arpa, .com, .edu, .gov, .int, .mil, .net, .org
- gTLD nuo>- introdotti nel novembre 2000 dall'
- .aero, .biz, .museum, .name, .info, .coop, .pr
I gTLD speciali:
- .arpa
I domini detti "nazionali", chiamati cTLD (country eoe
) sono uno per ogni Paese e i loro
nomi corrispondono alle abbreviazioni dei nomi degli Stati definiti dalla norma ISO 3166

mm

J .

Zoom su.

ICANN
CANN l'acronimo per Internet Corporation for Assigned Names and Numbers, una organizzazione senza scopo di lucro che aiuta a controllare la crescita di Internet: tra i suoi compiti
orevisto anche quello di gestire il sistema dei nomi di dominio di primo livello generico (gTLD)
i zei codici nazionali (ccTLD). La missione principale di ICANN quella di assicurarsi che ogni
dominio abbia un identificatore univoco (unico URL) e un unico indirizzo IP.

289

Al livello inferiore ogni nodo dell'albero viene detto "nome del dominio" e pu essere al massimo
lungo 63 caratteri: vengono definiti nomi di secondo livello e possono essere d i due t i p i :
I i n alcune gerarchie prevedono semplicemente i l nome dell'organizzazione, come .enel.it, .rai.it ecc.;
I i n altre prevedono prima una caratterizzazione .bt.co.uk.
ESEMPIO 15
Un esempio d i albero i l seguente:
Server DNS radice

Server DNS ( r a m )

Server DNS di
yahoo.com

Server DNS di
facebook.com

Server DNS (org

Server DNS di
WWF.org

Domini
di primo livello

Server DNS ( e d u )

Server DNS di
MIUR.edu

Server DNS di
POLIMI.edu

Domini
di secondo livello

L'estremit di u n ramo (foglia) detta host e corrisponde a un terminale o a un'entit di rete: i l nome simbolico che viene attributo all'host deve essere unico nel dominio considerato (generalmente
gli viene assegnato i l nome www).
Il numero di livelli di
Oltre ai domini di secondo livello possono esistere altri
variabile pu arrivare fino
livelli inferiori, chiamati sottodomini.
a un valore massimo di 127.
Anche ogni nodo dell'albero ha u n nome di dominio che
si ottiene dalla sequenza di etichette separate da punti (.)
L'ultima etichetta quella della
ottenute scorrendo i l ramo dalla foglia alla radice, come per
, che una stringa nulla:
esempio www.milano.hoepli.it.; ogni punto separa u n nodo
quindi tutti i nomi di dominio
e concatena da sinistra verso destra le label associate ai vari
terminano con un punto.
nodi a partire da quello i n questione fino alla radice.

ESEMPIO 16
Per ottenere i l nome del dominio della foglia editore risaliamo
il ramo fino alla radice inserendo dopo ogni etichetta che i n contriamo i l separatore
Il nome di dominio della foglia
quindi editore.milano.hoepli.
it.: possiamo anche avere nomi
di dominio intermedi, a seconda
del livello da cui partiamo, come
hoepli.it. se consideriamo solo i l
secondo livello.

Radice

it.

Nome di dominio

hoepli.it.

Nome di dominio

milano.hoepli.it.

Nome di dominio

editore.milano.hoepli.it.

Nome di dominio

DNS: il Domain Name System

INDIRIZZO FQDN
Viene chiamato indirizzo FQDN, cio Fully Qualified Domain Name o Nome del Dominio
Totalmente Qualificato, il nome assoluto corrispondente all'insieme delle etichette dei

La lunghezza massima di u n nome FQDN d i 255 caratteri e deve permettere d i individuare inequivocabilmente u n terminale sulla "rete d i reti".
ESEMPIO 17
Radice
ca

com

ir

net edu it

-TLD

gov fr ', net

Il primo indirizzo FQDN indicato i n figura www.MIUR.net. cos composto:

www.MIUR.net
calcolatore

ente
Il livello

nazione
I livello

Il secondo indirizzo FQDN indicato i n figura www.roma.rai.it. e presenta u n sottodominio:

www.roma.rai.it
calcolatore

istituto/dipartimento
sottodominio

ente
II livello

nazione
I livello

INDIRIZZO PQDN
Se invece abbiamo una sequenza di stringhe che non terminano con una stringa nulla
o Nome del Dominio Parzialsiamo in presenza di un Parti;
mente Qualificato.
La seguente tabella riporta alcuni indirizzi di dominio dei due t i p i :
PQDN

FQDN
www.hoepli.it.

www.hoepli.it

istruzione.miur.it.

istruzione.miur

editore.hoepli.it.

editore.hoepli

www.mario.it.

www

291

Lo strato di applicazione

I server d i secondo livello prendono i l nome di server d i competenza o di dominio (domain server
DNS o semplicemente domain server oppure server DNS) e ogni organizzazione che ha u n host accessibile pubblicamente su Internet deve fornire i record DNS d i pubblico dominio, che mappano i
nomi di tali host i n indirizzi IP.
Un server DNS si dice autoritativo per una determinata zona (< Authoritative Server ) se contiene tutti i dati relativi alle zone d i sua competenza.
4 Authoritative DNS Refers to an authoritative DNS server that receives domain/zone information (that is, the DNS resource records it is responsible for) by requesting this information
from the primary server for the domain in a process known as a zone transfer. The main reason secon- j
dary servers were invented was to lower administrative burden. In other words, the administrator only
has to maintain the primary server, after which the zone transfer mechanism ensures that the secondary
servers are automatically updated.

I record D N S , anche detti Resource Record (RR), sono memorizzati nei domain servers e, come vedremo in seguito, contengono un insieme di informazioni su quel
tra le
quali la principale l'indirizzo IP del dominio.

All'interno di u n dominio, u n server DNS pu essere:


primario: i l responsabile dell'inserimento e della eliminazione di informazioni relative ai nodi
della rete tenendo aggiornate nel suo database le informazioni sulla corrispondenza tra nomi e
indirizzi IP dei nodi appartenenti al proprio dominio d i autorit;
I secondario: una copia del database primario e quindi possiede le stesse informazioni del primario e viene aggiornato contemporaneamente a esso; viene interrogato dai client i n caso di
fallimento del primario.
Non necessario che i server siamo fisicamente all'interno dell'organizzazione: possono essere mantenuti anche da service provider, che offrono un insieme di servizi quali la registrazione dei domini, il mantenimento (hosting) dei domini, oppure anche il semplice servizio di
redirect o di gestione D N S .

Zoom su...
REDIRECT
Il servizio redirect permette di mostrare alla apertura di un dominio il contenuto di un sito web
esistente su un altro dominio: inoltre possibile scegliere se i visitatori possano o meno vedere
l'indirizzo reale dello spazio Web sul quale risiedono le pagine.

Oltre questi server ogni ISP (universit, azienda ecc.) ha un server DNS locale chiamato default name
server e quando u n host si connette a u n ISP riceve u n indirizzo IP e u n DNS locale. Questo server
non appartiene alla gerarchia ma gioca u n ruolo fondamentale i n quanto soddisfa tutte le richieste
DNS degli host, opera cio da proxy e inoltra la query nei livelli superiori della gerarchia di server DNS.
Ciascun host deve essere configurato con l'indirizzo del DNS server locale per i l dominio a cui
appartiene i n quanto deve inviare verso d i esso le proprie richieste d i risoluzione: generalmente la
configurazione avviene i n maniera automatica al momento della sua connessione (ma pu anche
essere effettuata manualmente).

292

DNS: 1 Domain Name System

Risoluzione dei nomi di dominio


Il meccanismo che consiste nel trovare l'indirizzo IP corrispondente al nome di u n host detto
"risoluzione d i nome d i dominio". Per effettuare questa operazione i l client, che ha nella sua configurazione gli indirizzi I I ' dei due default name server del suo fornitore di accesso a Internet, il DNS
primario (o principale) e i l DNS secondario (o alternativo), invia una richiesta al server primario
tramite i l < resolver : i l default name server consulta u n database che contiene i nomi ed effettua
la traduzione, inviando poi la risposta al client; se invece il server locale non riesce a trovare la corrispondenza nel suo database, consulta u n server DNS d i livello superiore.
Resolver Si tratta di una applicazione generalmente integrata al sistema operativo che
permette di realizzare la risoluzione di nome di dominio.
Ogni name server memorizza localmente i nomi usati d i recente (mapping) insieme al riferimento
del server remoto da cui l'informazione stata ricavata: questo meccanismo prende i l nome d i caching, e viene realizzato per cercare di evitare che vengano spesso interpellati i server DNS di radice; i n questo modo nei server DNS locali vengono memorizzati gli indirizzi dei server TLD e quindi
la maggior parte delle volte si pu risolvere i l nome localmente, senza propagare la query.
Le informazioni della cache devono per periodicamente essere rinnovate (tipicamente entro
due giorni): la procedura di aggiornamento descritta nella RCF 2136.
Vediamo i passi per effettuare la risoluzione di un indirizzo richiesto da una applicazione che vuole
connettersi a un host conosciuto con il suo nome di dominio (per esempio ministero.miur.istruzione.it):
D la prima operazione consiste nell'interrogare i l server di nomi primario definito nella sua configurazione d i rete;
0 se l'informazione richiesta presente nella sua cache oppure si verifica che i l nome richiesto
relativo alla propria zona d i autorit, la risposta viene marcata come non-authoritative e viene
comunicata alla applicazione, altrimenti i l server analizza la richiesta per poter interrogare i l
server radice che nel nostro caso u n server radice TLD .it:
I se l'interrogazione ricorsiva, contatta un server di livello superiore che possa risolvere il nome;
) se iterativa, si limita a comunicare al client i l nome del server a cui rivolgersi.
Possiamo schematizzare graficamente le due situazioni:
Server dei nomi
fondamentale
(root name server)

Server
dei nomi
intermedio
dns.istruzione.it

Server
dei nomi
locale
dns.hoepli.it

ti

Iterated query

ministro.miur.istruzione.it
Interrogazione ricorsiva

(root name server)

Server
dei nomi
intermedio
dns.istruzione.it

Server
dei nomi
locale
dns.hoepli.it

Server
dei nomi
authoritative
dns.miur.istruzione.it

Server
dei nomi
authoritative
dns.miur.istruzione.it

Host richiedente
editore.hoepli.it

Server dei nomi


I fondamentale

Host richiedente
editore.hoepli.it

ministro.miur.istruzione.it
Interrogazione iterativa

293

Record DNS
Gli elementi che compongono i l database dei DNS sono i record d i risorsa (RR), che contengono le
informazioni inerenti ai nomi dei domini.
La struttura del record di risorsa la seguente:
TTL

Nome del dominio (FQDN)


hoepli.it.

3600

Tipo
A

RData

Classe
IN

163.5.255.85

Descriviamo i singoli c a m p i .

I Nome del dominio: i l nome del dominio deve essere u n nome FQDN e quindi terminare con un
punto, altrimenti i l nome del dominio relativo e i l nome del dominio principale suffisser i l dominio inserito.
I I I campo TTL (Time To Live, tradotto i n speranza di vita), indica la validit temporale del dato
in quanto si detto che la presenza del sistema di cache richiede d i introdurre una scadenza alle
informazioni i n modo che i server intermedi possano regolarsi se accettare i l dato o richiederne
una verifica ai livelli superiori.
Tipo: u n valore a 16 bit che specifica i l tipo d i risorsa descritta dalla registrazione nel campo RDATA, tra le seguenti:
- A : i l tipo di base che stabilisce la corrispondenza tra un nome canonico e u n indirizzo I P ;
- C N A M E (Ganonical Name): permette d i far corrispondere u n alias al nome canonico;
- H I N F O : u n campo unicamente descrittivo che permette di descrivere soprattutto l'hardware
(GPU) e i l sistema operativo d i u n host;
- M X (Mail eXchange): corrisponde al server di gestione della posta che viene interrogato dal
server della posta i n uscita quando u n utente invia u n messaggio elettronico a un indirizzo con
formato: utente@dominio;
- N S : corrisponde al server di nomi con autorit sul dominio;
- PTR: u n puntatore verso un'altra parte dello spazio d i nomi dei domini;
- SOA (Start Of Authority): i l campo SOA permette d i descrivere i l server d i nome con autorit
sulla zona e l'indirizzo elettronico del contatto tecnico.
I Glasse: la classe pu essere
- I N : corrispondente ai protocolli d'Internet;
- C H : per i sistemi caotici e per applicazioni particolari.
I RDATA: sono dati attesi che cambiano a seconda del valore del campo tipo:
- A : u n indirizzo IP a 32 bits;
- C N A M E : u n nome di dominio;
- M X : u n valore d i priorit a 16 bits, seguito da u n nome dell'host;
- N S : u n nome dell'host;
- PTR: u n nome d i dominio;
- S O A : pi campi.

DNS: il Domain Name Syste

Possiamo riassumere tipo e RDATA i n una tabella.


Tipo (sigla)

Significato

Contenuto RDATA

Indirizzo di host

Indirizzo IP a 32 bit

CNAME

Nome canonico

Nome di dominio canonico

HINFO

CPU & OS

Nome CPU e sistema operativo

MX

Scambiatore di posta elettronica

Nome del server di posta

NS

Server di nomi

Nome del server che ha autorit sul dominio

PTR

Puntatore

Nome di host

SOA

Inizio dell'autorit

Campi che specificano la gerarchia di nomi usata dal server

Messaggi D N S
I messaggi DNS sono le interrogazioni (query) che vengono effettuate dai client e le risposte che i n viano i server: nel protocollo DNS le query e i messaggi di risposta hanno entrambi lo stesso formato.
II tracciato riportato nella seguente figura:
Identificazione

Flag

Numero di domande

Numero di RR di risposta

Numero di RR autorevoli

Numero di RR addizionali

Header

Domande
Risposte
Sezione domande/risposte
Competenze
Informazioni aggiuntive

Possiamo individuare due sezioni:


D l'header, composto da 12 byte, organizzato i n sei campi:
> identificazione: indice che numera con u n valore binario a lbit sia la domanda che la corrispondente risposta, i n modo che possano essere associate;
I flag: specificano le operazione richieste e le opzioni da applicare;
I numero d i domande/risposte RR specifica i l numero d i richieste/risposta;
I numero di RR autorevoli/risposte RR specifica i l numero d i richieste autorit/informazioni d i
ritorno corrispondenti.
la sezione domanda o risposta, organizzata i n quattro record (o gruppi d i record):
I I record: sezione di domanda d i u n DNS Query Message, che cos strutturata:
Nome richiesto
Tipo interrogazione

Classe interrogazione

Nome richiesto: i l nome del sistema su cui si richiedono informazioni;


Tipo d i interrogazione: i l tipo d i informazione richiesta (indirizzo di u n host, mail server);
Classe interrogazione: i l protocollo associato alla richiesta.

295

All'atto della domanda i l client riempie solo i l primo record i n quanto i successivi tre sono riservati
a contenere le risposte da parte dei server:
I I I record: sezione risposte (answers): contiene le informazioni restituite i n risposta a una
richiesta;
I I I record: sezione competenze (authority): identifica i l server che ha fornito l'informazione
richiesta se i l server di partenza ha dovuto contattarne un altro per soddisfare la richiesta
(authority di competenza);
IV record: sezione informazioni aggiuntive (additional info): contiene informazioni addizional i , che qualificano meglio una risposta.
Nel suo messaggio di risposta il server ricopia la sezione domanda e riempie le altre sezioni
(risposta, competenze, informazioni aggiuntive) completandole con i dati letti nel
r e c o r d i n d i v i d u a t o . In u n m e s s a g g i o DNS possono essere presenti anche pi domande contemporaneamente e, di conseguenza, nella riposta saranno replicati sia i record domanda che
quelli risposta.

ESEMPIO 18
Vediamo un primo esempio di messaggio d i richiesta (DNS Query Message):

Intestazione IP
Identificatore = 4

Parametro = Richiesta + Ricorsione

Numero richieste = 1

Numero risposte = 0

Numero autorit = 0

Numero altre Info = 0

Nome: milano.hoepll.com.it Tipo = Host Classe = IN

Header

Domanda

L'indirizzo di cui i l client chiede la risoluzione milano.hoepli.com.it e si indica al server che, se


necessario, possibile effettuare la ricorsione.
Vediamo come secondo esempio di messaggio i l seguito che ha la richiesta appena fatta col messaggio precedente:

Intestazione IP
Identificatore = 2

Parametro = Interrogazione

Numero richieste = 1

Numero risposte = 0

Numero autorit = 0

Numero altre info = 0

Nome: milano.hoepll.com.it Tipo = Host Classe = IN

Header

Domanda

Ipotizziamo che i l server interrogato non abbia nessuna autorit sul nome e quindi a sua volta
inoltri la query formulando la domanda a lui fatta come interrogazione a u n altro server; si osservi
che ha modificato l'identificatore assegnando un suo numero progressivo d i riconoscimento per poi
poter interpretare la risposta che gli perverr.

296