Come funziona il DNS

Il Domain Name System (DNS) è un sistema distribuito di risoluzione dei nomi per dispositivi collegati a una rete o a Internet. Il suo compito principale è quello di tradurre i nomi di dominio in indirizzi IP, per permettere l’accesso ad un sito web remoto senza dover conoscere un insieme di numeri.

Da Wikipedia:

Il Domain Name System (DNS) è un sistema utilizzato per la risoluzione di nomi dei nodi della rete in indirizzi IP e viceversa. Il servizio è realizzato tramite un database distribuito, costituito dai server DNS. Il DNS ha una struttura gerarchica ad albero rovesciato ed è diviso in domini (com, org, it, ecc.). Ad ogni dominio o nodo corrisponde un nameserver, che conserva un database con le informazioni di alcuni domini di cui è responsabile e si rivolge ai nodi successivi quando deve trovare informazioni che appartengono ad altri domini.

La parte curiosa è che il DNS opera nella stessa identica maniera anche nella nostra rete locale: quando si esegue l’accesso ad un computer con il suo nome (esempio: pc02.thesolving.local) un domain name server lo traduce in un indirizzo IP locale.

Il DNS può memorizzare differenti tipi di record. I più importanti sono tre:

  • A: traduce un nome di dominio in uno o più indirizzi IP (32-bit)
  • CNAME: traduce un nome di dominio (alias) in un altro nome di dominio
  • MX: traduce un nome di dominio in uno o più indirizzi IP (solo per i messaggi di posta elettronica)

La struttura dei nomi di dominio compone lo spazio del nome di dominio. Ogni dominio può avere sotto-domini ed è possibile segmentare questa struttura in zone di un singolo nome o più nomi di dominio.

La gerarchia di dominio è semplice: più si va sulla destra e più alto è il livello.

Ad esempio, in explanation.example.org abbiamo:

  • Un dominio di primo livello: org
  • Un dominio di secondo livello: example
  • Un dominio di terzo livello: explanation

E’ possibile aggiungere fino a 127 livelli di segmentazione.

La lunghezza totale di un nome di dominio non può superare i 253 caratteri, mentre ogni label non può contenere più di 63 caratteri.

Un domain name resolver, il lato client del DNS, determina il domain name server responsabile di un nome di dominio attraverso una sequenza di query. Si inizia con il dominio di primo livello a proseguire con i domini di livello inferiore.

Il Domain Name System fa affidamento al caching per evitare problemi di colli di bottiglia e di prestazioni.

Comments