Sotto un dato dominio vengono raggruppati tutti i nodi che soddisfano ad un qualche criterio comune di organizzazione.
La struttura DNS è illustrata schematicamente in figura
Ogni nodo, ad esclusione della radice, e del 1° livello, è contrassegnato da un nome di max 63 caratteri e deve essere unico al suo livello.
I nomi di domini di primo livello, (TLD ,Top Level Domain) sono di 3 o 2 caratteri. Essi comprendono:
I nomi sotto un dominio sono registrati su speciali server chiamati Name Server
o Server DNS Ogni server DNS conosce i nomi e gli indirizzi di tutte le
macchine del livello sottostante. Per es. un server .com conosce tutte le
macchine con dns del tipo qualche_nome.com cioè del secondo livello e così via.
I nomi associati alle foglie
dell'albero denotano i computer sulla rete. Per es. www indica un server WEB,
ftp un server FTP. mail un server di posta.
Il nome
completo di un dominio è chiamato FQDN (Fully Qualified Domain Name).
Anche la gestione dei
nomi viene effettuata "gerarchicamente". Ogni dominio è gestito
infatti da una organizzazione.
I nomi di livello 1 (Top level domain) vengono gestiti da InterNIC. Quelli dei livelli inferiori vengono gestiti da altri enti su delega. Per esempio:
il dominio
.it è amministrato dalla
Registration Authority Italiana su delega di InterNIC,
il dominio wind.it a sua volta viene gestito da Wind su delega dalla Registration
Authority
il
dominio net.wind.it è gestito da Net su delega da Wind.
L'autorità centrale
al di sopra di queste organizzazioni, responsabile del coordinamento e della
gestione del sistema DNS, è Internet Assigned Numbers Authority (IANA).
Il DNS risulta quindi suddiviso in zone , ciascuna controllata da un max si 10-12 Server DNS. Questi server mantengono tutte le informazioni sulla loro zona di competenza e vengono perciò chiamati Server Autoritativi.
I
server autoritativi associati alla radice vengono chiamati root name server.
Essi contengono tutte le informazioni sui domini top-level
Le informazioni relative ad una determinata zona si trovano memorizzate in strutture chiamate Resource Record (RR).
Un RR
ha la seguente struttura
Nome | TTL | Classe | Tipo | RDATA |
A seconda del valore del campo Tipo, RDATA conterrà informazioni diverse. Specificatamente
Nella figura è riportato un esempio di file contenente RR
Le righe da 1 a 7 contengono un RR di tipo SOA per il dominio mydomain.com, Vengono specificati il nome del Server autoritativo e una lista di informazioni tecniche fra cui TTL.
La riga 8 è un RR di tipo NS e come si vede viene specificato lo stesso server
La riga 9 è un RR di tipo MX, con il numero di preferenza, 10, e nome del server di posta
le righe 10 11 12 sono RR di tipo A e specificano gli indirizzi IP dei due server e di un computer di nome "host" appartenente dominio
Per comprendere il meccanismo che porta all'individuazione dell'indirizzo IP di un nodo supponiamo che qualcuno intenda collegarsi dalla rete dell'istituto con www.tiscali.it
Per rendere più efficiente questo meccanismo, ogni server DNS memorizza nella propria cache l'informazione sul dominio di appartenenza, in modo tale da girare subito una successiva richiesta.
Dall' esempio su esposto distinguiamo due tipi di richiesta:
DNS è un protocollo client- server che utilizza UDP (porta 53). Il client, chiamato resolver, effettua richieste sempre ricorsive mentre il server è ricorsivo nei confronti del client e iterativo verso i server di livello più alto.