Introduzione
Capire cosa accade dietro le quinte quando si effettua una query DNS aiuta a diagnosticare problemi di connettività, lentezza e mancata raggiungibilità di un sito. In questa guida analizziamo passo dopo passo il viaggio di una richiesta dal browser all'authoritative server.
Step 1: il browser e la cache locale
Il browser controlla prima la propria cache interna. Chrome, Firefox e Safari mantengono per qualche minuto i record già risolti. Se trova l'IP, salta tutto il resto.
Step 2: cache del sistema operativo
Se il browser non ha cache, chiede al sistema operativo. Windows e Linux mantengono una cache DNS (visibile con ipconfig /displaydns o resolvectl statistics). Anche questa è temporanea, limitata dal TTL del record.
Step 3: file hosts
Il sistema controlla il file hosts (in C:\Windows\System32\drivers\etc\hosts o /etc/hosts). Se contiene una corrispondenza statica, la usa senza interrogare il DNS.
Step 4: recursive resolver
Se nulla è in cache, la richiesta esce dal computer e raggiunge il recursive resolver, tipicamente quello dell'ISP o un DNS pubblico come 8.8.8.8 o 1.1.1.1.
Step 5: interrogazione dei root server
Il resolver, se non ha la risposta in cache, chiede ai 13 root server globali. Questi non conoscono l'IP finale ma sanno chi gestisce i TLD.
Step 6: TLD server
Il root indirizza al server TLD competente: .com, .it, .org. Il TLD server restituisce l'indirizzo dei nameserver autoritativi del dominio.
Step 7: authoritative server
Il resolver interroga l'authoritative DNS server indicato. Questo contiene i record reali della zona e risponde con l'IP definitivo.
Step 8: ritorno e cache
La risposta torna indietro lungo la catena: il resolver memorizza in cache per il tempo del TTL, il sistema operativo aggiorna la sua cache, infine il browser riceve l'IP e apre la connessione TCP/HTTPS.
Iterativa vs ricorsiva
Tra resolver e altri server la query è iterativa (ogni server fornisce un riferimento). Tra client e resolver invece è ricorsiva (il resolver risolve tutto e restituisce la risposta finale).
Tempi tipici
Una query non in cache richiede 20-100 ms. In cache, 1-5 ms. Per questo i grandi resolver hanno cache enormi.
Hai bisogno di aiuto?
Se vuoi gestione DNS affidata a G Tech Group, scrivici tramite il modulo di contatto.