Internet: architettura e protocolli/Domain Name System

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Il DNS serve per risolvere (convertire) i nomi in indirizzi IP e viceversa:

  • database distribuito: contengono tutte le coppie nomi-indirizzi;
  • protocollo di livello applicazione: per la gestione delle interrogazioni al database.
Funzionalità
  • risoluzione di nomi in indirizzi;
  • host aliasing: oltre al nome canonico, a un indirizzo IP possono venire associati altri nomi chiamati alias (soprannomi) (ad esempio mail.polito.it è associato a polito.it);
  • mail server aliasing: riguarda gli alias di posta elettronica;
  • load distribution: allo stesso nome possono essere associati più indirizzi IP per il load balancing tra vari server.

Gerarchia del database distribuito[modifica]

Non esiste un unico server centralizzato, ma vari server organizzati in modo gerarchico:

Root server

Vari root server gemelli sono distribuiti geograficamente nel mondo. La ricerca di un sito parte sempre dal root server e percorre un ramo dell'albero.

Top-level domain (TLD) server

I TLD server sono responsabili per i domini .com, .org, .net, ecc. Per registrare un sito in un dominio .com, per esempio, bisogna contattare Network Solutions.

Authoritative DNS server

Gli authoritative DNS server sono i server DNS veri e propri che individuano gli indirizzi IP dei vari siti.

Local DNS name server

Un gateway domestico ha un nome associato al loro IP, a cui si può accedere dai PC collegati. Hanno funzioni di caching: memorizzano temporaneamente la risposta del server DNS, per migliorare le prestazioni se quel sito viene contattato dopo poco tempo.

Query[modifica]

Tipi di query
  • query iterativa: un server risponde dicendo qual è il prossimo server da contattare;
  • query ricorsiva: il server si occupa di forwardare la richiesta agli altri server.

I record del database (RR) hanno il seguente formato:

(name, value, type, ttl)
Tipo A
  • name = nome dell'host
  • value = indirizzo IP (tipo AAAA se IPv6)
Tipo CNAME
  • name = alias
  • value = nome canonico
Tipo NS

È la entry di livello superiore che gestisce il puntatore al server autoritativo.

  • name = dominio
  • value = nome del server autoritativo per il dominio
Tipo MX

value = nome del mailserver associato a name

Tipo PTR

Gestisce i mapping da un indirizzo IP al suo nome, ad esempio per il traceroute.

Il database deve essere dinamico perché i mapping possono essere cambiati → le entry della cache hanno TTL.

Formato dei pacchetti[modifica]

Nell'intestazione:

  • identification: identifica se si tratta di una domanda o di una risposta;
  • flag:
    • ricorsione desiderata/disponibile: servono per sapere se si può fare la query ricorsiva;
    • reply is authoritative: la query non è stata risolta da alcuna cache ma è arrivata fino al server autoritativo;
  • altri campi: questions, answers, authority, additional info.

Registrazione dei domini[modifica]

I DNS registrar sono gli enti a cui ci si deve rivolgere per registrare nuovi domini. Un DNS registrar fornisce anche:

  • due server autoritativi (primario e secondario), perché se il primario smette di funzionare subentra il secondario;
  • due entry: una di tipo NS per arrivare al server autoritativo, l'altra di tipo A per l'indirizzo IP.