El tiempo de vida ( TTL ) o límite de saltos es un mecanismo que limita la vida útil o la duración de los datos en una computadora o red. TTL puede implementarse como un contador o una marca de tiempo adjunta o incrustada en los datos. Una vez que ha transcurrido el recuento de eventos o el período de tiempo prescrito, los datos se descartan o se revalidan. En las redes de computadoras , TTL evita que un paquete de datos circule indefinidamente. En las aplicaciones informáticas , TTL se usa comúnmente para mejorar el rendimiento y administrar el almacenamiento en caché de datos.
El RFC del Protocolo de Internet original de DARPA describe [1] : §1.4 TTL como:
El tiempo de vida es una indicación de un límite superior en la vida útil de un datagrama de Internet . Lo establece el remitente del datagrama y se reduce en los puntos a lo largo de la ruta donde se procesa. Si el tiempo de vida llega a cero antes de que el datagrama de Internet llegue a su destino, el datagrama de Internet se destruye. El tiempo de vida puede considerarse como un límite de tiempo de autodestrucción.
En el Protocolo de Internet , TTL es un campo de 8 bits. En el encabezado de IPv4 , TTL es el noveno octeto de 20. En el encabezado de IPv6 , es el octavo octeto de 40. El valor máximo de TTL es 255, el valor máximo de un solo octeto. Un valor inicial recomendado es 64. [2] [3]
El valor de tiempo de vida puede considerarse como un límite superior del tiempo que un datagrama IP puede existir en un sistema de Internet. El campo TTL lo establece el remitente del datagrama y lo reduce cada enrutador en la ruta hacia su destino. Si el campo TTL llega a cero antes de que el datagrama llegue a su destino, entonces el datagrama se descarta y se envía un datagrama de error del Protocolo de mensajes de control de Internet (ICMP) ( 11 - Tiempo excedido ) al remitente. El propósito del campo TTL es evitar una situación en la que un datagrama que no se puede entregar siga circulando en un sistema de Internet y dicho sistema termine inundado por esos "inmortales".
En teoría, en IPv4 , el tiempo de vida se mide en segundos, aunque cada host que pasa el datagrama debe reducir el TTL en al menos una unidad. En la práctica, el campo TTL se reduce en uno en cada salto . Para reflejar esta práctica, el campo se renombra como límite de salto en IPv6 .
Los TTL también se dan en el Sistema de nombres de dominio (DNS), donde son establecidos por un servidor de nombres autorizado para un registro de recursos en particular. Cuando un servidor de nombres de almacenamiento en caché (recursivo) consulta al servidor de nombres autorizado para obtener un registro de recursos, almacenará en caché ese registro durante el tiempo (en segundos) especificado por el TTL. Si un solucionador de stub consulta al servidor de nombres de almacenamiento en caché para obtener el mismo registro antes de que haya expirado el TTL, el servidor de almacenamiento en caché simplemente responderá con el registro de recursos ya almacenado en caché en lugar de recuperarlo nuevamente del servidor de nombres autorizado. El TTL para las respuestas de NXDOMAIN (dominio inexistente) se establece a partir del mínimo del campo MINIMUM del registro SOA y el TTL del propio SOA, e indica durante cuánto tiempo un solucionador puede almacenar en caché la respuesta negativa. [4] [ jerga ]
Los TTL más cortos pueden causar cargas más pesadas en un servidor de nombres autorizado, pero pueden ser útiles al cambiar la dirección de servicios críticos como servidores web o registros MX y, por lo tanto, el administrador de DNS a menudo los reduce antes de mover un servicio para reducir posibles interrupciones.
Las unidades utilizadas son segundos. Un valor TTL común más antiguo para DNS era 86400 segundos, es decir, 24 horas. Un valor TTL de 86400 significaría que, si se modificara un registro DNS en el servidor de nombres autorizado, los servidores DNS de todo el mundo podrían seguir mostrando el valor anterior de su caché hasta 24 horas después de la última actualización por parte del cliente.
Los métodos DNS más nuevos que forman parte de un sistema de recuperación ante desastres (DR) pueden tener algunos registros configurados deliberadamente con un TTL extremadamente bajo. Por ejemplo, un TTL de 300 segundos ayudaría a que los registros clave caduquen en 5 minutos para ayudar a garantizar que estos registros se eliminen rápidamente en todo el mundo. Esto brinda a los administradores la capacidad de editar y actualizar registros de manera oportuna. Los valores TTL son "por registro" y la configuración de este valor en registros específicos a veces se respeta automáticamente por todos los sistemas DNS estándar en todo el mundo. Sin embargo, persiste un problema en el que algunos servidores de nombres DNS de almacenamiento en caché configuran sus propios TTL independientemente de los registros autorizados, por lo que no se puede garantizar que todos los servidores DNS descendentes tengan los nuevos registros después de que el TTL haya expirado.
El tiempo de vida también se puede expresar como la fecha y hora en que caduca un registro. El Expires:
encabezado de las respuestas HTTP , el Cache-Control: max-age
campo de encabezado tanto en las solicitudes como en las respuestas y el expires
campo en las cookies HTTP expresan el tiempo de vida de esta manera.
El tiempo de vida (TTL) predeterminado recomendado actualmente para el Protocolo de Internet (IP) es 64 [RFC791], [RFC1122].