Time to Live
Le Time to Live (« temps de vie » ou « durĂ©e de vie »), abrĂ©gĂ© TTL, indique le temps pendant lequel une information doit ĂȘtre conservĂ©e, ou le temps pendant lequel une information doit ĂȘtre gardĂ©e en cache.
Le Time to Live sur les paquets IP
Le TTL est une donnĂ©e placĂ©e au niveau de l'en-tĂȘte du paquet IP qui indique le nombre maximal de routeurs de transit. Ce champ est codĂ© sur huit bits, ce qui permet de spĂ©cifier des valeurs initiales de 1 Ă 255. La valeur initiale est gĂ©nĂ©ralement fixĂ©e par le systĂšme d'exploitation et dĂ©pend du « diamĂštre d'Internet » (RFC 1122[1]), c'est-Ă -dire du nombre maximal de routeurs qui peut exister entre deux hĂŽtes Internet Ă un moment donnĂ©. La valeur recommandĂ©e par le RFC 1700[2] est de 64[3] - [4].
Quand un routeur de transit arrive Ă la valeur 0 aprĂšs avoir dĂ©crĂ©mentĂ© ce champ, le paquet est dĂ©truit et un paquet ICMP 11 Time Exceeded est envoyĂ© vers la source. Ceci Ă©vite qu'un paquet boucle Ă l'infini sâil existe un problĂšme de boucle de routage. traceroute est un outil qui exploite ce mĂ©canisme pour dĂ©terminer la route empruntĂ©e par un paquet vers la destination.
La valeur initiale de 1 est utilisée par certains protocoles pour s'assurer que les paquets ne sont pas routés au-delà d'un segment, c'est le cas de eBGP ou de la diffusion multicast.
La valeur initiale de 255 est utilisĂ©e par des protocoles pour s'assurer que le paquet reçu Ă©mane bien du mĂȘme segment, il doit valoir donc impĂ©rativement avoir 254 Ă la rĂ©ception. C'est le cas du protocole Bidirectional Forwarding Detection.
Historique
Dans la définition du RFC 791[5], le Time to Live d'un paquet IP transitant sur un réseau représente le nombre de secondes pendant lesquelles il est autorisé à passer dans les divers routeurs ponctuant sa route. En théorie, chaque routeur par lequel passe le paquet décrémente le TTL du nombre de secondes que le paquet y passe avant de continuer sa route, avec un minimum de 1. En pratique, le temps passé dans un routeur étant bien inférieur à la seconde, cela revient à décrémenter le TTL de 1.
Ce champ est renommé Hop Limit en IPv6, reflétant ainsi la pratique existant en IPv4.
Le Time to Live dans le DNS
Dans le protocole utilisĂ© par les serveurs DNS, une donnĂ©e Time to Live est prĂ©sente et indique le temps, en secondes, pendant lequel l'information donnĂ©e par le serveur (le plus souvent un nom de domaine ou un autre serveur DNS) peut ĂȘtre conservĂ©e en cache. PassĂ© ce dĂ©lai, l'information doit ĂȘtre considĂ©rĂ©e comme obsolĂšte et ĂȘtre mise Ă jour.
Le TTL est en gĂ©nĂ©ral de l'ordre d'un jour (TTL = 86400), il peut ĂȘtre rĂ©duit jusqu'Ă 0 pour des informations variant frĂ©quemment.
L'enregistrement SOA contient également une valeur de TTL à utiliser pour le cache négatif.
Notes et références
- (en) « Requirements for Internet Hosts -- Communication Layers », Request for comments no 1122, .
- (en) « ASSIGNED NUMBERS », Request for comments no 1700, .
- Page 63, paragraphe IP TIME TO LIVE PARAMETER du RFC 1700
- IP Parameters sur le site de l'IANA (texte qui cite le RFC 791 et le RFC 1122)
- (en) « INTERNET PROTOCOL - DARPA INTERNET PROGRAM - PROTOCOL SPECIFICATION », Request for comments no 791, .