El TTL es un campo integrado en la cabecera de los paquetes de datos que viajan por una red IP (como Internet). A pesar de su nombre ("Tiempo de vida"), no mide el tiempo en segundos o minutos, sino en saltos (hops), que es el número máximo de routers que un paquete puede atravesar antes de ser destruido.
¿Para qué sirve? El problema del bucle infinito
Imagina que un paquete de datos sale de un ordenador buscando un servidor, pero los routers intermedios tienen una ruta mal configurada y empiezan a pasarse el paquete el uno al otro en círculo.
Si los paquetes no tuvieran "caducidad", este bucle continuaría eternamente. Millones de paquetes infinitos colapsarían los routers y saturarían Internet en cuestión de horas. El TTL existe para evitar este colapso.
¿Cómo funciona exactamente?
Cuando tu sistema operativo genera un paquete de datos, le asigna un valor TTL inicial (por ejemplo, 64 o 128).
Cada vez que el paquete llega a un router (un "salto"), el router resta 1 al valor del TTL.
Si el paquete llega a su destino, perfecto.
Si el TTL llega a 0 antes de encontrar el destino, el router que tiene el paquete en ese momento lo destruye.
Acto seguido, ese router envía un mensaje de vuelta al emisor (un paquete ICMP de tipo Time Exceeded) avisando de que el paquete ha muerto en el camino.
Ejemplos de TTL en dos herramientas fundamentales de diagnóstico:
El comando
ping: Al hacer ping a un servidor, la respuesta muestra el TTL actual del paquete que ha vuelto. Si el TTL inicial era 64 y el ping devuelveTTL=52, se puede deducir que el paquete ha atravesado 12 routers para volver (64 - 52 = 12).El comando
traceroute(otracerten Windows): Esta herramienta funciona gracias al TTL. Envía una ráfaga de paquetes: el primero conTTL=1(para que muera en el primer router y este se identifique), el segundo conTTL=2(para que muera en el segundo), y así sucesivamente hasta mapear el camino completo hacia un servidor.
El TTL en los Servidores DNS
El concepto de TTL también se usa en los registros DNS. Aquí sí se mide en segundos e indica cuánto tiempo puede un proveedor de Internet o un sistema operativo guardar en caché la dirección IP de una web antes de volver a preguntar al servidor DNS oficial si ha cambiado.
Actividad Práctica:
En esta actividad vas a utilizar el TTL para descubrir cuántos routers intermedios (saltos) hay entre tu ordenador y dos de los servidores más grandes de Internet: Google y Cloudflare. Además, verás cómo los diferentes sistemas operativos asignan distintos valores de TTL iniciales.
Paso 1: Lanzar el diagnóstico en la terminal
Abre la terminal de tu sistema operativo y ejecuta los siguientes comandos:
Si estás en Linux (Debian/Ubuntu):
ping -c 4 google.com
ping -c 4 1.1.1.1
Si estás en Windows (CMD o PowerShell):
ping google.com
ping 1.1.1.1
Paso 2: Analizar la respuesta del TTL
Fíjate en las líneas de respuesta. Verás un dato al final de cada línea que dice algo como ttl=52 o ttl=56.
Generalmente, los servidores de Google (Linux) e Internet (Cloudflare 1.1.1.1) envían sus paquetes con un TTL inicial de 64.
Aplica esta fórmula:
Pregunta 1: Si al hacer ping a
1.1.1.1tu terminal te devuelve unttl=56, ¿cuántos routers ha tenido que atravesar el paquete desde los servidores de Cloudflare hasta llegar a tu pantalla?
Paso 3: Averiguar el Sistema Operativo remoto
No todos los sistemas operativos inician el TTL con el mismo valor. Por defecto:
Linux / Android inician el TTL en 64.
Windows inicia el TTL en 128.
Equipos de red (Cisco, Juniper) o macOS suelen iniciarlo en 255.
Haz un ping a la dirección IP de la puerta de enlace de tu clase (tu router local) y a la IP del ordenador de tu compañero de al lado.
Pregunta 2: Observa el valor de TTL que recibes de la IP de tu compañero. Dependiendo de si se acerca más a 64 o a 128, ¿sabrías decir qué sistema operativo está ejecutando en su máquina sin mirar su pantalla?