Time to Live (TTL)
Che cos’è il TTL?
Nella rete, il time to live (TTL) determina per quanto tempo una query o un contenuto devono essere memorizzati nella cache. Il significato di TTL differisce in base al tipo di TTL descritto.
Scoperto il significato di TTL, è necessario differenziare tra TTL del sistema dei nomi di dominio (DNS) e TTL della rete di distribuzione dei contenuti (CDN). Il TTL DNS indica al resolver DNS, la quantità di tempo necessaria per memorizzare nella cache una query prima di richiederne una nuova. Queste informazioni vengono archiviate all'interno della cache ricorsiva o locale del resolver, che gestisce il TTL fin quando non dovrà raccogliere nuovi dettagli.
Il TTL CDN è diverso, in quanto fa riferimento al caching dei contenuti. Ciò comporta la conservazione di una copia delle risorse su un sito Web sulle proxy CDN, per accelerare il caricamento della pagina e ridurre la quantità di larghezza di banda consumata.
Il TTL DNS viene espresso in termini di tempo, poiché determina la quantità di tempo necessaria prima che il resolver raccolga le informazioni di un sito Web. Ad esempio, se il TTL DNS di Fortinet.com fosse impostato su 900 secondi (15 minuti), il resolver raccoglierebbe le informazioni su Fortinet.com una volta ogni 15 minuti. Durante questo periodo di 15 minuti, ogni utente che ha visitato il sito web Fortinet.com avrebbe visto esattamente la stessa cosa. Se tra le 12:00 e le 12:15, i 2.000 utenti andassero su Fortinet.com, tutti vedrebbero lo stesso testo, le stesse immagini, gli stessi collegamenti, ecc.
Tuttavia, anche se un aggiornamento sul sito web è stato eseguito alle 12:10, non avrebbe effetto fin quando il TTL DNS non tornerà a raccogliere maggiori informazioni per il sito alle 12:15. Pertanto, un utente che ha visitato il sito Fortinet.com alle 12:16 avrebbe visto il contenuto aggiornato, ma un utente che l’ha visitato alle 12:14 avrebbe visto gli stessi contenuti delle 12:00 e delle 12:15.
Come funziona il TTL?
La funzione di base del TTL ruota intorno alla gestione dei pacchetti di informazioni in relazione alle richieste DNS. Quando uno di questi pacchetti viene creato e trasmesso via Internet, c’è la possibilità che passi per sempre e in modo continuo da router a router. Per evitare che ciò accada, ogni pacchetto ha un limite hop o TTL specifico. Inoltre, è possibile esaminare il TTL di un pacchetto di dati per ottenere informazioni su come si è spostato su Internet nel corso dei suoi viaggi.
All'interno di ogni pacchetto, viene specificato il luogo in cui è archiviato il valore TTL. Si tratta di un valore numerico che indica per quanto tempo il pacchetto deve spostarsi su Internet. Quando un router riceve un pacchetto di dati, rimuove un'unità dal contatore TTL prima di inviarlo alla destinazione successiva all'interno della rete. Ciò continua ad accadere finché il conteggio TTL all'interno del pacchetto non scenda completamente a zero.
A quel punto, il router elimina il pacchetto di dati e trasmette un messaggio ICMP (Internet Control Message Protocol) all'host da cui ha avuto origine il pacchetto. L’ICMP è un protocollo che consente ai dispositivi di comunicare tra di loro e trasmettere errori relativi al flusso dei pacchetti di dati.
Per illustrare il funzionamento del TTL, è utile vedere come viene utilizzato dal tracerouting, in particolare con l’Internet Protocol versione 6 (IPv6). L’IPv6 si riferisce a un indirizzo costituito da una stringa alfanumerica a 128 bit, utilizzata per identificare un endpoint. Con l’IPv6, il TTL si riferisce al limite hop o al numero di arresti a cui può passare un pacchetto di dati prima di provocare un errore che viene restituito tramite ICMP.
Ciò consente di utilizzare il TTL per raccogliere informazioni sul modo in cui un pacchetto di dati si sposta attraverso Internet. Con il Protocollo di controllo trasmissione/l’Internet Protocol (TCP/IP), in genere i pacchetti di dati non viaggiano in linea retta durante il loro spostamento dalla fonte alla destinazione. Rimbalzano da un nodo all'altro, raggiungendo infine l'endpoint designato.
Il tracerouting viene utilizzato per capire quanto tempo impiega un pacchetto di dati per passare da un luogo all'altro durante il suo viaggio attraverso Internet. Durante l'esecuzione di un comando traceroute, un flusso di pacchetti viene inviato lungo un percorso. Ogni pacchetto ha un valore TTL, che corrisponde a uno in più rispetto a quello precedente. Questo significa che può andare più lontano senza inviare un errore utilizzando l’ICMP. I messaggi di errore inviati tramite ICMP vengono utilizzati per determinare il tempo che ciascun pacchetto di dati ha impiegato per raggiungere ogni punto lungo la rete mentre si spostava verso la sua destinazione.
A cosa serve il TTL DNS?
I TTL DNS sono particolarmente utili per i siti Web che apportano modifiche ed eseguono aggiornamenti costantemente e frequentemente. Con un TTL inferiore, un sito Web può ricevere gli aggiornamenti più recenti con maggiore frequenza. Ad esempio, se una società fittizia denominata ABC Widgets aveva un sito web denominato GetWidgets.com e un valore TTL di 3.600 secondi (un'ora), avrebbe ricevuto gli aggiornamenti una volta ogni ora. Tuttavia, se GetWidgets.com eseguisse aggiornamenti frequenti, potrebbe regolare il valore TTL per renderlo più frequente.
La personalizzazione del TTL può essere particolarmente utile, quando si ottimizza l'esperienza utente per i clienti. Nell'esempio GetWidgets.com, per l'azienda potrebbe essere necessario aggiungere prodotti su base continuativa, in particolare quando si avvia per una stagione di vendita intensa.
Ad esempio, il personale potrebbe caricare descrizioni di prodotti, immagini e video per i nuovi widget ogni giorno, per tutta la giornata. Se il loro TTL dovesse rimanere a 3.600 secondi, gli acquirenti online dovrebbero attendere un’ora prima di vedere gli ultimi prodotti disponibili. Tuttavia, se i clienti del sito Web riducessero il tempo del TTL, verrebbero aggiornati più frequentemente, il che offrirà loro una visione più accurata dei widget disponibili.
D’altra parte, se ogni pagina di prodotto doveva essere sottoposta a un attento processo di revisione prima di essere approvata per il sito web, ABC Widgets potrebbe voler modificare il TTL al fine di consentire il tempo necessario per eseguire ciascuna revisione.
Il TTL DNS è utile anche perché fornisce all'utente una versione del sito Web memorizzata nella cache. Se il sito Web di un'organizzazione possiede molti contenuti e richiede molto tempo per il caricamento, il processo di caching può semplificare l'accesso ai contenuti da parte degli utenti perché sono archiviati nella cache. Ciò consente ai siti di grandi dimensioni di essere accessibili facilmente da un numero maggiore di utenti.
Poiché il TTL DNS gestisce il caching di un sito Web, un'organizzazione può anche utilizzarlo per ottimizzare l'esperienza dell'utente in base alle limitazioni dei server impiegati. Il caching alleggerisce il carico sul server centrale, archiviando una versione del sito Web in un livello facilmente accessibile dall'utente finale.
Se il server dell'azienda è esteso al massimo, è possibile aumentare il TTL DNS per fare in modo che invii una nuova versione del sito con minor frequenza. In questo modo, il server deve essere sottoposto di tanto in tanto a un'attività impegnativa volta a distribuire una versione aggiornata dell'intero sito. Il TTL DNS, in questo caso, consentirebbe al server di "riposare" prima di essere raggiunto per ottenere una copia aggiornata del sito Web.
Al contrario, se il sito web della tua organizzazione dispone di un'interfaccia di programmazione interattiva dell'applicazione (API), fondamentale per l'esperienza del cliente, potresti voler regolare il tuo TTL per migliorare le prestazioni del sito dal punto di vista dell'utente. In alcuni casi, un valore TTL inferiore potrebbe produrre risultati migliori poiché l'utente ottiene una versione aggiornata del sito più frequentemente.
Ad esempio, se usi Yahoo Finance API, potresti desiderare che gli utenti visualizzino le informazioni finanziarie più aggiornate sulle società menzionate sul sito. Con un'impostazione TTL DNS inferiore, l'utente avrebbe accesso ai dati aziendali più recenti.
Come può aiutarti Fortinet
Uno dei vantaggi principali di una corretta gestione del TTL è il mantenimento di un tempo di attività regolare ed efficiente per il tuo sito web. Poiché le operazioni di un'azienda si basano sulle prestazioni delle sue risorse online, l'ottimizzazione del TTL e delle prestazioni delle applicazioni online spesso è di fondamentale importanza. Il Fortinet Cloud FortiGSLB garantisce il massimo tempo di attività, indipendentemente dalla situazione.
Questo cloud Bilanciamento del Carico del Server Globale (GSLB) è un potente strumento di business continuity, perché mantiene un'applicazione online e pronta in caso di picchi imprevisti durante l’utilizzo, o persino se la rete non funziona.
Inoltre, con GSLB, puoi configurare risorse ridondanti in sedi strategicamente selezionate in tutto il mondo. Ciò consente di gestire il failover istantaneo, gestito con un'API integrata, garantendo ai clienti l'accesso continuo alle applicazioni più importanti per la tua azienda.