Comprendre le TTL et son rôle dans le DNS
Auteur : Rédaction Domeny.ForSale Publié le
En bref : le TTL (de l’anglais Time To Live, « durée de vie ») est un paramètre qui détermine combien de temps des données restent valides ou combien de temps un paquet peut circuler sur le réseau. Dans les paramètres d’un domaine, le TTL désigne surtout la durée de conservation d’une réponse DNS en cache, généralement exprimée en secondes. Une valeur plus faible permet de prendre en compte les modifications plus rapidement, sans garantir que tous les utilisateurs les verront au même moment.
Que signifie le TTL dans le DNS ?
Le DNS est un système qui permet de trouver les services associés à un nom de domaine, par exemple l’adresse IP du serveur d’un site web. Ces informations sont stockées dans des enregistrements : un enregistrement A indique une adresse IPv4, tandis qu’un enregistrement MX désigne les serveurs qui gèrent le courrier électronique. Le TTL accompagne ces données et indique combien de temps une réponse mémorisée peut être utilisée sans être récupérée à nouveau auprès de sa source.
Les requêtes des utilisateurs sont souvent traitées par un résolveur DNS, c’est-à-dire un serveur qui recherche les réponses et les conserve en cache. Il n’a donc pas besoin d’interroger, à chaque visite du site, le serveur faisant autorité — celui qui publie les enregistrements de référence du domaine.
Si un enregistrement a un TTL de 3600, la réponse peut normalement être conservée pendant une heure à compter de sa récupération. La valeur 300 correspond à cinq minutes, et 86400 à une journée. Le TTL ne désigne ni la durée de validité de l’enregistrement du domaine ni la date d’expiration du certificat HTTPS.
Quel effet le TTL a-t-il sur un changement d’adresse du site ?
Supposons que l’enregistrement A du domaine pointe vers l’ancien hébergement et possède un TTL de 3600 secondes. Un résolveur le récupère à 12:00, puis vous remplacez l’adresse IP par la nouvelle à 12:10. Ce résolveur peut continuer à renvoyer l’ancienne adresse jusqu’à environ 13:00, car la réponse précédente reste valide dans son cache.
Un autre résolveur qui demande cet enregistrement pour la première fois à 12:15 peut déjà recevoir la nouvelle adresse. Voilà pourquoi, après une modification du DNS, certaines personnes arrivent sur le nouveau serveur et d’autres encore sur l’ancien. Cela ne signifie pas nécessairement qu’il y a une erreur de configuration.
Modifier le TTL ne réduit pas rétroactivement la durée de vie des réponses déjà stockées dans les caches d’autres serveurs. Si vous changez l’adresse IP tout en réduisant le TTL d’une journée à cinq minutes, les copies précédentes peuvent rester valides selon l’ancienne valeur.
L’expression « propagation DNS » est parfois utilisée pour désigner ce processus. Il ne s’agit pourtant pas d’un mécanisme global unique qui diffuserait la modification à une heure déterminée. Les caches indépendants, la mise à jour des serveurs du fournisseur DNS et, parfois, le comportement du système d’exploitation ou de l’application entrent en jeu. Le TTL constitue donc une indication importante de délai, pas une garantie sur l’heure exacte à laquelle tous les utilisateurs basculeront.
Quelle valeur de TTL choisir ?
Le choix dépend de la fréquence à laquelle vous modifiez l’enregistrement et de l’importance d’un rafraîchissement rapide des réponses. Les valeurs ci-dessous illustrent des usages possibles : ce ne sont pas des réglages obligatoires.
| Situation | Exemple de TTL | Justification |
|---|---|---|
| Migration prévue du site | 300 secondes | Réduit la durée d’utilisation de l’ancienne réponse si vous abaissez le TTL à l’avance |
| Fonctionnement courant du site | 3600 secondes | Compromis entre rafraîchissement des réponses et utilisation du cache |
| Enregistrement rarement modifié | 86400 secondes | Permet d’utiliser plus longtemps les données mémorisées |
Un TTL faible entraîne des requêtes plus fréquentes aux serveurs faisant autorité. Un TTL élevé réduit leur nombre, mais rend plus difficile l’annulation rapide d’une modification qui pose problème. Réduire le TTL ne suffit pas à accélérer le téléchargement des images ou l’exécution du code du site.
Tous les fournisseurs ne permettent pas de saisir n’importe quelle valeur. Le panneau de gestion peut imposer un minimum, proposer une option « automatique » ou gérer lui-même le TTL des services qui servent d’intermédiaires pour le trafic. Consultez la documentation à jour de votre opérateur DNS pour connaître la signification de ces réglages et la plage de valeurs disponible.
Comment préparer le TTL avant une migration d’hébergement ?
L’essentiel est de réduire le TTL suffisamment tôt, avant de changer le serveur de destination. Si le TTL actuel d’un enregistrement est d’une journée, prévoyez de le réduire au moins une journée avant la bascule. Ce délai se compte à partir de la publication de la modification sur les serveurs faisant autorité.
- Vérifiez les enregistrements actuels et leur TTL. Déterminez quelles adresses vous allez modifier : le site peut utiliser à la fois un enregistrement A et un enregistrement AAAA indiquant une adresse IPv6.
- Réduisez le TTL de ces enregistrements, par exemple à 300 secondes, si le fournisseur le permet. Attendez ensuite que la durée de l’ancien TTL soit écoulée.
- Préparez le nouvel hébergement. Vérifiez le fonctionnement du site, le certificat HTTPS et la connexion à la base de données avant de modifier le DNS.
- Modifiez les enregistrements et surveillez les deux serveurs. Ne désactivez pas immédiatement l’ancien hébergement. Pour une boutique ou des formulaires, veillez également à la cohérence des données pendant la transition.
- Une fois le fonctionnement stabilisé, rétablissez le TTL habituel, si une durée courte n’est plus nécessaire.
Cette procédure concerne la modification des enregistrements de services. Un changement des serveurs de noms du domaine implique aussi la délégation, c’est-à-dire la désignation des serveurs responsables de son DNS. Réduire uniquement le TTL de l’enregistrement A ne permet pas de maîtriser l’ensemble de cette bascule.
Que signifie le TTL en dehors du DNS ?
Dans les paquets IPv4, le TTL limite le nombre de passages par des routeurs. Même si son nom fait référence au temps, en pratique, chaque routeur qui transmet le paquet diminue cette valeur de un ; lorsqu’elle est épuisée, le paquet est supprimé. Cela protège le réseau contre les paquets qui circuleraient indéfiniment en boucle. Son équivalent dans IPv6 est le champ Hop Limit.
Le TTL est également utilisé dans les caches des applications, où il définit la durée de validité d’un résultat stocké, par exemple une réponse récupérée auprès d’une API. Vérifiez donc toujours le contexte : le TTL affiché pour un enregistrement de domaine concerne le DNS, tandis que le TTL dans le résultat de la commande ping concerne le paquet réseau.
Si vous préparez un changement d’hébergement, commencez par relever le TTL actuel : il vous permettra de déterminer combien de temps à l’avance commencer les préparatifs.
Voir aussi : Qu’est-ce qu’un VPS ?
