Cuando uso el comando ping obtengo los siguientes resultados (Windows):
C:\>ping example.microsoft.com
Pinging example.microsoft.com [192.168.239.132] with 32 bytes of data:
Reply from 192.168.239.132: bytes=32 time=101ms TTL=124
...
En la documentación a tales utilidades, TTL se mide en saltos . Según la especificación de ICMP RFC 792 :
Tiempo para vivir. Tiempo de vivir en segundos ; ya que este campo se decrementa en cada Máquina en la que se procesa el datagrama, el valor en este campo debe ser al menos tan grande como el número de puertas de enlace que este datagrama atravesará.
Entonces, cada host disminuye el TTL en al menos 1 segundo . No se dice nada de saltos . Entonces, ¿por qué se utilizan los saltos? ¿Por qué no usar, decir Sra , si los hosts procesan datagramas demasiado rápido? ¿Y por qué la especificación no dice nada acerca de saltos ?
Respuestas:
TTL está diseñado para detener los paquetes que viven (y consumen recursos) para siempre si hay un bucle de enrutamiento.
Originalmente, los enrutadores pueden tardar más de un segundo en procesar un paquete.
Cuando los enrutadores se volvieron mucho más rápidos y comenzaron a procesar paquetes en menos de un segundo, sería una tontería para ellos reducir el TTL a cero, porque entonces no detendría los bucles.
Entonces, en cambio, disminuye el TTL en un segundo.
Este cambio fue documentado en RFC 1716 sección 5.3.1.
Ver también:
Wikipedia - Tiempo de vivir :
Maxi-pedia - Time to Live (TTL)
fuente