Time to live (TTL) limiteert in computernetwerken het aantal routers dat een pakket data in het netwerk kan passeren voordat het wordt weggegooid. Het wordt gebruikt in IP- oftewel internetprotocol-pakketjes en bij Domain Name System (DNS) records.

Time to live in het internetprotocol bewerken

In IPv4 is TTL een veld ter grootte van 8 bits (1 octet) in de header van het IP-pakket (het 9e octet van de 20). De TTL-waarde stelt een bovenlimiet aan de tijd dat het pakket kan bestaan in het netwerk. Het TTL-veld wordt ingevuld door de verzender en wordt verminderd bij elke router en computer fungerend als gateway die het IP-pakket tegenkomt op weg naar zijn bestemming. Als het TTL-veld de waarde 0 bereikt voordat het IP-pakket op de eindbestemming wordt afgeleverd, wordt het pakket weggegooid en er wordt een ICMP-pakket met een foutmelding naar de verzender gestuurd (met code: 11 - Time Exceeded). Het doel van de TTL-waarde is om te voorkomen dat een niet-afleverbaar pakket blijft rondgestuurd worden over het netwerk.

In theorie wordt de time-to-livewaarde in seconden gemeten, maar in de praktijk is de TTL-waarde een getal wat bij elke "hop" wordt verminderd. Om dit beter weer te geven, heet het veld de hop limit in IPv6. Unix-computers verzenden pakketjes met een standaard-TTL van 64, terwijl Windows-computers normaal pakketjes met een start-TTL van 128 versturen.

Het Unix-commando traceroute (tracert op Windows) maakt gebruik van de functionaliteit van de TTL-waarde.

Time to live in het DNS bewerken

Time-to-livewaarden komen ook voor in het Domain Name System, waar ze door een autoritatieve nameserver worden ingesteld voor een Resource Record (een leesbaar computeradres en een IP-adres). Wanneer een nameserver met een cache om de Resource Record vraagt, wordt deze ook in het cache geplaatst voor de tijdsduur die door de TTL wordt aangeduid. Wanneer aan de nameserver om dezelfde informatie wordt gevraagd voordat de TTL verlopen is dan wordt de versie uit het cache teruggestuurd in plaats van opnieuw de Resource Record op te vragen. Een nameserver kan ook reageren met een antwoord dat het het IP-adres voor het domein niet heeft (met de NXDOMAIN code oftewel no such domain); deze hebben doorgaans een korte time to live (hooguit 3 uur).

Korte time-to-livewaarden kunnen zorgen voor een grotere belasting op de autoritatieve nameserver, maar ze kunnen nuttig zijn wanneer het adres van een belangrijke service (zoals een webserver of een MX-record) wordt veranderd. DNS administratoren verlagen vaak de TTL van zo'n adres voordat het verandert om overlast voor de gebruikers te minimaliseren.

De gebruikte eenheid is seconden. Een veelgebruikte TTL-waarde voor DNS is 86.400 seconden, dat is 24 uur. Een TTL-waarde van 86400 zou betekenen dat als een DNS-record werd veranderd, DNS-servers in de wereld nog maximaal 24 uur de oude waarde uit hun cache kunnen gebruiken.

Zie ook bewerken