In questo articolo andremo a vedere tutto quello che c’è fa sapere sui DNS: cosa sono e a che cosa servono.
Parleremo di record DNS, di modifiche e di tempi di propagazione. Se hai sempre sentito parlare di DNS, ma non ti è chiaro il loro funzionamento, questo approfondimento farà luce su tutti i tuoi dubbi.
Per cominciare partiamo da una definizione semplice che ci aiuti a capire cosa sono i DNS.
Table of Contents
Cos’è il DNS
Il sistema dei nomi di dominio, in inglese Domain Name System da cui l’acronimo DNS, è essenzialmente un database che permette di associare ogni nome di dominio a un indirizzo IP.
Visto che questo database deve contenere informazioni su milioni di domini internet esistenti, vengono utilizzati diversi server per condividere e catalogare queste informazioni. Come vedremo quando parleremo del funzionamento, questi server hanno una struttura gerarchica che permette di recuperare con precisione le informazioni.
Per capire il DNS cos’è e a cosa serve partiamo da una spiegazione molto semplice.
Nella pratica il DNS funziona come un elenco telefonico che associa i domini (come se fossero nominativi) agli indirizzi IP corrispondenti (come se fossero numeri di telefono).
La presenza del DNS permette di associare un nome in forma testuale e, quindi, facile da ricordare a un server ed è quello che ci permette di raggiungere un sito web ricordando un semplice nome anziché dover memorizzare l’indirizzo IP numerico.
Il processo che permette la conversione da nome a indirizzo IP viene chiamato risoluzione DNS. Quando, invece, un indirizzo IP viene associato a un nome di dominio si parla di risoluzione inversa.
Prima dello sviluppo del sistema DNS creato da Paul Mockapetris nel 1983, veniva usato un sistema diverso per collegare i nomi host agli indirizzi. Lo Stanford Research Institute conservava un file “HOSTS.TXT”, la prima versione dell’attuale file hosts, al cui interno erano state inserite le associazioni tra nomi host e indirizzi numerici dei computer che facevano parte dell’ARPANET.
Come funziona il DNS
Vediamo qual è il funzionamento dei DNS ed esaminiamo quindi quali sono i passaggi che permettono la risoluzione DNS.
In parole semplici i DNS ci permettono di convertire un nome di dominio in un indirizzo IP in modo che quest’ultimo possa essere utilizzato dalle macchine.
Per capire esattamente come funziona e quali sono i passaggi richiesti facciamo un esempio.
- Una persona digita un dominio o un URL sul browser, per esempio supporthost.com.
- La richiesta viene inviata al resolver DNS che in genere viene gestito dall’ISP (provider di servizi internet).
- A questo punto se il resolver DNS è già in possesso dell’indirizzo, lo comunica al server, altrimenti deve recuperarlo. Per farlo dovrà interrogare a sua volta altri server DNS.
- La richiesta viene inviata per prima cosa al root server che inoltrerà la stessa al TLD server (vale a dire il server dei domini di primo livello). Quest’ultimo invierà la richiesta al server autoritativo, siamo al passaggio finale quello che ci permetterà di ottenere l’indirizzo IP associato al nome di dominio della richiesta iniziale.
- A questo punto le informazioni viaggiano a ritroso fino a ritornare al browser che ha inviato la richiesta. Il browser adesso conosce l’IP e può inviare la richiesta al server che a sua volta risponderà con la pagina da visualizzare.
Dopo che la risoluzione è avvenuta e si è risaliti all’IP corretto, il resolver DNS memorizza questa informazione nella cache. In questo modo potrà risolvere le richieste successive senza dover richiedere l’informazione agli altri server.
Se, invece, l’indirizzo IP non viene trovato, verrà inviato in risposta un errore.
Questo processo che può sembrare lungo e complicato avviene in realtà in una frazione di secondo.
Richieste ricorsive e iterative
Abbiamo detto che la richiesta parte dal resolver DNS, questo può utilizzare diversi metodi per inviare la richiesta (o query) si parla infatti di query ricorsive o iterative.
Nelle richieste ricorsive il resolver DNS invia la richiesta a un solo server DNS ad esempio al root server. Sarà poi quest’ultimo a inviarla al server successivo, il TLD server che a sua volta invierà la richiesta al server autoritativo.
Le richieste iterative, invece, prevedono che il resolver DNS invia le richieste a catena ai diversi server DNS. In questo caso quindi le richieste partono sempre dal resolver DNS invece che dai server DNS che fanno parte della catena.
In altre situazioni si parla di richieste non ricorsive, ad esempio quando il resolver DNS può prelevare direttamente la risposta dalla cache.
Tipi di server DNS
Vediamo meglio quali sono i tipi di server DNS coinvolti nella risoluzione e qual è il compito di ognuno.
Resolver DNS: questi server hanno il compito di avviare la richiesta che permetterà di arrivare alla risoluzione. Possono usare uno dei metodi che abbiamo visto prima per inviare la richiesta.
Root name server: è il primo server che viene interpellato dal resolver DNS. Esso contiene una lista dei server e può reindirizzare la richiesta ai name server del dominio di primo livello (TLD name server).
TLD name server: sono server specifici per ogni dominio di primo livello (.com, .org, .it).
Name server autoritativo: costituisce l’ultimo passaggio della risoluzione DNS. Questo server contiene i DNS record del dominio compreso il record A che contiene l’indirizzo IP.
Tipi di record DNS
Le informazioni che vengono ricercate attraverso una richiesta DNS sono contenute all’interno di quelli che vengono chiamati record DNS. I record DNS vengono conservati in un file di zona DNS.
Alcune delle informazioni memorizzate nei record ti suoneranno senza dubbio familiari: indirizzo IP, alias del dominio e nameserver.
Vediamo brevemente i record DNS più comuni.
Record A (address): in questo record viene memorizzato l’indirizzo IP in formato IPv4.
Record AAAA: contiene gli indirizzi IP in formato IPv6.
Record NS (name server): indica quali sono i server responsabili di conservare e comunicare le informazioni DNS per quel dominio.
Record CNAME (nome canonico): permette di indicare qual è il dominio canonico associato a un dominio alias.
Record TXT: nasce con lo scopo di permettere di inserire delle note leggibili dagli umani, ma attualmente viene utilizzato anche per inserire testo comprensibile dai computer. Può essere usato per diversi scopi tra cui la conferma della proprietà del dominio per esempio per verificare la proprietà del sito tramite la Search Console di Google.
Record MX (Mail Exchange): permette di associare a un dominio un elenco di server di posta. Ci permette anche di indicare quale server usare con priorità ed è utile quando abbiamo a disposizione un MX secondario.
Oltre ai record DNS più comuni, ce ne sono anche di meno conosciuti come il record DS indispensabile per attivare la funzione DNNSEC.
Sintassi dei record DNS
Nella sezione precedente abbiamo semplificato la descrizione dei record DNS parlando solo delle informazioni principali conservate da ogni record. In realtà ogni record ha una struttura composta da diversi campi:
name - type - class - ttl - rdlength - rdata
Name: indica il nome di dominio.
Ttl: è il time to live e si usa per stabilire per quanto tempo quel record verrà memorizzato nella cache.
Class: in genere il valore è “IN” e sta per Internet.
Type: indica il tipo di record (A, CNAME, ecc).
Rdlength: viene usato per specificare la dimensione del record “rdata”, può anche essere lasciato vuoto.
Rdata: l’informazione vera e propria del record (per il record A sarà l’indirizzo IP).
Facciamo un esempio con il record A per capire meglio.
name | ttl | class | type | rdata |
---|---|---|---|---|
dominio.com | 14400 | IN | A | 123.456.789.12 |
Come e quando modificare i DNS di un dominio
Per quanto riguarda i siti web ci sono diverse circostanze in cui è necessario cambiare i DNS. Per esempio se si cambia server o se si vuole usare un indirizzo IP diverso sarà necessario modificare i record DNS.
Questo è il caso di quando si cambia hosting e si trasferisce il sito da un server all’altro. Dopo il trasferimento sarà anche necessario modificare i record DNS in modo che il dominio punti al nuovo server.
Allo stesso modo se hai acquistato un dominio con un registrar e hai un sito web con un provider differente, dovrai modificare i DNS per far puntare il dominio al server corretto.
I DNS possono essere gestiti dal pannello di controllo dell’hosting o del registrar.
Se sei cliente di SupportHost puoi seguire il nostro tutorial sulla gestione DNS e fare le modifiche direttamente da cPanel.
Ricordati che dopo che effettui una modifica dei record DNS dovrai aspettare i tempi di propagazione DNS che possono durare fino a 48 ore.
Conclusioni
Abbiamo visto cosa sono i DNS, a che servono e spiegato con un esempio pratico come avviene la risoluzione DNS vale a dire la conversione da nome di dominio a indirizzo IP.
Per darti una panoramica completa sull’argomento abbiamo anche esaminato i tipi di server DNS e i record per poi parlare della gestione dei DNS.
Ora l’argomento è più chiaro? Hai altre domande? Facci sapere con un commento.
Lascia un commento