Anatomia di una query DNS step-by-step

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.

Hai trovato utile quest'articolo?