Un lookup DNS ricorsivo, un passaggio alla volta
Browser
vuole example.com
Resolver
il tuo ISP / 1.1.1.1
Root + TLD
chi gestisce .com?
Autorevole
la risposta vera
Ogni passaggio della catena è a sua volta un lookup DNS, poi messo in cache
Come funziona il DNS: da un nome di dominio a un indirizzo IP
Digita example.com in un browser e una pagina appare quasi all'istante. Tra questi due momenti, un database distribuito che copre l'intero pianeta ha risposto a una domanda: quale indirizzo IP appartiene a questo nome? Quel sistema è il DNS, il Domain Name System.
Vale la pena capirlo bene, perché quasi ogni problema confuso di un sito web (una modifica che non ha effetto, email che spariscono, un sito che funziona su un dispositivo ma non su un altro) risale a come si comportano davvero la risoluzione DNS e la cache.
Un lookup DNS ricorsivo, un passaggio alla volta
Browser
vuole example.com
Resolver
il tuo ISP / 1.1.1.1
Root + TLD
chi gestisce .com?
Autorevole
la risposta vera
Ogni passaggio della catena è a sua volta un lookup DNS, poi messo in cache
I quattro partecipanti
- Lo stub resolver: il piccolo client DNS integrato nel tuo sistema operativo. Non sa quasi nulla e delega subito.
- Il resolver ricorsivo: di solito gestito dal tuo provider, o uno pubblico come
1.1.1.1o8.8.8.8. È il cavallo da tiro che insegue la risposta e la mette in cache. - Server root e TLD: non conoscono la risposta, ma sanno chi la conosce. Il root rimanda a
.com; i server TLD.comrimandano ai nameserver del dominio stesso. - Nameserver autoritativi: i server che contengono i record reali del dominio. Ciò che dicono è, per definizione, la verità.
Un lookup, passo dopo passo
Prima si controllano le cache locali
Il browser ha una propria cache DNS, e anche il sistema operativo. Se uno dei due ha una risposta non scaduta per
example.com, il lookup finisce in microsecondi e non c'è alcun traffico di rete.Si interroga il resolver ricorsivo
In caso di mancanza, lo stub resolver invia la query al resolver ricorsivo configurato: un pacchetto UDP, di solito sulla porta 53.
Il resolver interroga un root server
Se il resolver non ha nulla in cache, parte dall'alto. Il root server non conosce
example.com, ma risponde: ecco i nameserver per.com.Il resolver interroga i server TLD
I server
.comrispondono con un referral: i nameserver autoritativi perexample.comsono questi. Ancora non è la risposta: un altro puntatore.Il resolver interroga il nameserver autoritativo
Questo ha il vero file di zona. Restituisce il record
A:93.184.216.34, insieme a un TTL che indica per quanto tempo la risposta può essere riutilizzata.La risposta viene messa in cache e restituita
Il resolver mette in cache il risultato per la durata del TTL, lo passa al tuo sistema operativo, che lo passa al browser. Solo ora può iniziare una connessione TCP al server.
Ricorsivo contro autoritativo: la distinzione che conta
Le persone le confondono di continuo, e questo causa veri errori di debug.
| Resolver ricorsivo | Nameserver autoritativo | |
|---|---|---|
| Compito | Trovare la risposta per conto tuo | Memorizzare e pubblicare la risposta |
| Esempi | 1.1.1.1, 8.8.8.8, il tuo provider | Cloudflare DNS, Route 53, il tuo registrar |
| Usa la cache? | Sì: è il suo compito principale | No, è la fonte |
| Chi lo configura? | Tu o la tua rete | Il proprietario del dominio |
La conseguenza pratica: quando modifichi un record DNS, il server autoritativo si aggiorna all'istante. Ogni resolver ricorsivo del mondo continua a servire la propria copia in cache finché il TTL non scade. Quel divario è ciò che le persone chiamano propagazione DNS.
Cosa restituisce davvero un resolver
Una risposta è più di un indirizzo. Contiene un tipo di record, un valore e un TTL, oltre a flag che indicano se la risposta era autoritativa o servita dalla cache. Un singolo dominio pubblica molti tipi di record contemporaneamente: A e AAAA per gli indirizzi, MX per l'instradamento della posta, NS per i suoi nameserver e TXT per verifiche e policy.
example.com. 3600 IN A 93.184.216.34
example.com. 3600 IN AAAA 2606:2800:220:1::248
example.com. 3600 IN MX 10 mail.example.com.
example.com. 86400 IN NS ns1.example.com.Il numero dopo il nome è il TTL in secondi. IN indica la classe Internet. Il resto è il tipo di record e il suo valore.
Dove il DNS va storto nella pratica
- La modifica non si è propagata. Il server autoritativo è corretto; una cache tra te e lui no. Non c'è nulla da riparare, solo da aspettare.
- I nameserver puntano al provider sbagliato. Hai modificato i record presso il registrar, ma il dominio è delegato ai nameserver del tuo hosting, quindi le modifiche vengono ignorate.
- Un punto finale mancante. In un file di zona,
mail.example.comsenza il punto finale può essere interpretato relativamente alla zona, producendomail.example.com.example.com. - Nessun record
AAAAma client solo IPv6. Il sito è irraggiungibile per loro mentre funziona perfettamente per tutti gli altri.
Da ricordare
Se un problema DNS compare su un dispositivo ma non su un altro, è quasi sempre una cache, non un record rotto. Controlla la risposta autoritativa prima di cambiare qualsiasi cosa.
Puoi vedere tutti questi record per qualsiasi dominio con lo strumento di lookup nella homepage: li interroga in modo indipendente, quindi un dominio che manca di un tipo mostra comunque gli altri.
Devi controllare gli indirizzi DNS pubblici di un dominio? Usa lo strumento Domain IP Lookup.
Domande frequenti
Per approfondire
Un lookup DNS ricorsivo, un passaggio alla volta
Browser
vuole example.com
Resolver
il tuo ISP / 1.1.1.1
Root + TLD
chi gestisce .com?
Autorevole
la risposta vera
Ogni passaggio della catena è a sua volta un lookup DNS, poi messo in cache
Cos'è un nameserver? Come funziona la delega del dominio
L'unica impostazione che decide quale provider controlla il tuo DNS, e il motivo per cui a volte le modifiche ai record non hanno alcun effetto.
I record che incontrerai in quasi ogni zona DNS
I tipi di record DNS spiegati: guida di riferimento completa
Ogni tipo di record che vale la pena conoscere, cosa fa, che aspetto ha e l'errore che si commette più spesso, tutto in un'unica pagina di riferimento.
Scegliere un TTL nella pratica
Cos'è il TTL DNS? Scegliere il valore giusto
Un solo numero decide quanto in fretta hanno effetto le tue modifiche e quanto traffico DNS generi. Ecco come sceglierlo con cognizione di causa.