Die Time to live (TTL, deutsch „Lebenszeit“) ist die Gültigkeitsdauer, die Daten in Rechnernetzen mitgegeben wird.
Internet Protocol
BearbeitenBeim Internet Protocol (IP) gibt die TTL eines Datenpakets die verbleibende maximale Anzahl an passierten Hops (eine Zwischenstation wie z. B. ein Router) im Netzwerk an.[1] Ursprünglich sollte jede Zwischenstation den TTL-Wert um die Verweildauer des Pakets in Sekunden reduzieren, jedoch mindestens um eins.[2] Heutige Hardware ist jedoch um ein Vielfaches schneller, so dass heutzutage in IPv4 das TTL-Feld effektiv ein Hop-Zähler und kein Sekundenzähler mehr ist. In IPv6 wurde die TTL durch ein gleich bemessenes Hop Limit ersetzt und eine zeitliche Lebensdauerbeschränkung höheren Protokollen überlassen,[1] oft wird jedoch noch die alte Bezeichnung verwendet.
Das Datenfeld für die TTL ist ein Oktett (8-Bit-Feld), daher beträgt der Wertebereich 0 bis 255. Wenn ein Datenpaket nach Ablauf seiner TTL noch nicht sein Ziel erreicht hat, wird es verworfen. Dabei soll die letzte Station die ICMP-Antwort Typ 11: Time exceeded mit Code 0: Time to live exceeded in transit an den Absender senden.[3] Angewandt wird dieses Verfahren z. B. beim Programm Traceroute.
Domain Name System
BearbeitenIm Domain Name System (DNS) gibt die TTL jedes Resource Records an, wie lange (in Sekunden) eine soeben erfolgte Namensauflösung voraussichtlich noch mindestens gültig bleibt. In diesem Zeitraum kann auf das DNS-Caching zurückgegriffen werden. Nach Ablauf der TTL sollte der Client die jeweilige Namensauflösung verwerfen und bei Bedarf wiederholen.
Während eine kurze TTL zu erheblicher Belastung von Servern führen kann, verzögert eine lange TTL notwendige Updates entsprechend. Eine nicht ungewöhnliche TTL von 86.400 Sekunden bedeutet zum Beispiel, dass eine Änderung spätestens erst nach 24 Stunden abgeschlossen ist. Dagegen verwenden dynamische DNS-Dienste TTL-Werte von typischerweise 60 Sekunden, damit nach (häufigeren) Adressänderungen zeitnah die jeweils neuen Daten verwendet werden.