Che cos'è il TTL del DNS? Time To Live spiegato

Il TTL (Time To Live) è un campo presente in ogni record DNS che indica ai resolver per quanto tempo possono tenerlo in cache prima di richiederne una copia aggiornata al name server autoritativo. Il TTL determina direttamente la velocità con cui le modifiche DNS si propagano in Internet.

TTL breve contro TTL lungoTTL 300TTL 36001 h
Un TTL breve viene richiesto di continuo e cambia in fretta; uno lungo viene richiesto una volta e cambia lentamente.

Come funziona il TTL

Quando un resolver consulta un record DNS per la prima volta, ne mette in cache il risultato per il numero di secondi indicato dal TTL. In quel periodo, ogni query sullo stesso record viene servita dalla cache: nessuna query raggiunge il tuo name server.

example.com.  3600  IN  A  203.0.113.1
              ^^^^
              TTL = 3600 seconds = 1 hour

Dopo 3600 secondi il resolver scarta la copia in cache e interroga di nuovo il name server autoritativo per ottenere un record aggiornato.

Valori di TTL e loro impatto

TTLDurationUse Case
601 minuteDurante una migrazione in corso o test di failover
3005 minutesRecord che cambiano occasionalmente (utile per pianificare migrazioni)
36001 hourValore predefinito comune: equilibrio tra attualità e prestazioni
8640024 hoursRecord stabili come NS e MX, che cambiano raramente
6048007 daysRecord SOA e altri dati molto stabili

Il TTL prima di una migrazione DNS

La tecnica classica quando si pianifica una modifica DNS (ad esempio il passaggio a un nuovo server):

  1. 48+ ore prima: Abbassa il TTL a 300 secondi
  2. Attendi che il vecchio TTL alto scada in tutto il mondo
  3. Effettua la modifica DNS (ad esempio aggiorna l'IP del record A)
  4. Attendi 5 minuti che il nuovo TTL si propaghi
  5. Dopo aver verificato che tutto funzioni, riporta il TTL a 3600 o più

Questo riduce al minimo i tempi di inattività, perché le cache si aggiornano rapidamente dopo la modifica.

TTL minimo del SOA

Il record SOA (Start of Authority) contiene un TTL minimo che si applica alle risposte negative (la cache di «questo record non esiste»). Se interroghi un record inesistente, il resolver mette in cache l'esito «non trovato» per quel periodo.

Compromessi del TTL

Low TTLHigh TTL
Le modifiche si propagano rapidamenteLe modifiche richiedono più tempo per propagarsi
Più query DNS verso il tuo serverMeno query DNS (prestazioni migliori)
Failover e ripristino più rapidiPiù difficile modificare rapidamente i record
Latenza DNS un po' più alta per gli utentiCache migliore: più veloce per gli utenti

Valori di TTL consigliati per tipo di record

Record TypeTTL consigliatoReason
A / AAAA3600 (1h)Può cambiare durante le migrazioni di server
CNAME3600 (1h)Stabile, ma può cambiare al cambio di CDN
MX3600–86400I server di posta cambiano raramente
TXT (SPF/DMARC)3600La policy può richiedere aggiornamenti occasionali
NS86400 (24h)Molto stabile: cambia solo cambiando provider DNS
SOA86400Cambia raramente

Controlla i tuoi valori di TTL attuali

Provalo sul tuo dominio

Vedi la teoria in pratica: esegui Ricerca DNS sul tuo dominio.