¿Cómo son suficientes 8 bits para el TTL en un encabezado IP?

18

El TTL (Time to Live) es un campo de 8 bits en el encabezado IPv4. Puede tomar cualquier valor de 0 a 255. Si esto significa que el paquete puede tomar un máximo de 255 saltos (enrutadores) en su camino a su destino, entonces el paquete será descartado.

¿Cómo es posible que envíe paquetes a través de continentes?

reddi hari
fuente
14
La misma razón por la cual la mayoría de las tracerouteherramientas se rinden después de solo 30 saltos: el "diámetro de Internet" no es tan grande como crees.
user1686
44
Piense en ello como poner sus datos en aviones para viajar. Para los saltos locales, alquila una avioneta. Para grandes saltos internacionales, se sube al 777 o A380 más cercano y realiza un gran salto. Sin embargo, en lugar de un vuelo internacional, Data viaja desde Europa a los EE. UU. (U otro lugar) en uno de estos: en.wikipedia.org/wiki/Transatlantic_communications_cable
Baldrickk
2
La teoría de los "seis grados de separación" también podría interesarle.
Pam
1
Les animo seriamente a considerar la sugerencia de Pam. Resulta que en los sistemas naturales (sistemas no planificados) como las personas que hacen amigos, los nodos se agregan a Internet, las empresas que hacen negocios, etc., que la mayoría de las conexiones no requieren muchos saltos. Para las interacciones humanas, ese número rara vez excede 6. Tome oracleofbacon.org por ejemplo, que calcula la conexión del actor Kevin Bacon con otros actores. La distancia entre Bacon y el actor telugu Ravi Teja es de solo 3 películas. La actriz malaya de los años 60 Saloma también tiene solo 3 películas entre ella y Kevin Bacon
slebetman
¿Alguna respuesta te ayudó? Si es así, debe aceptar la respuesta para que la pregunta no siga apareciendo para siempre, buscando una respuesta. Alternativamente, puede proporcionar y aceptar su propia respuesta.
Ron Maupin

Respuestas:

27

Incluso cuando se envían paquetes a través de continentes, un TTL de 255 es más que suficiente: simplemente no hay más enrutadores involucrados.

Realizar una prueba rápida (desde Alemania) muestra 17 saltos a los EE. UU. Y 18 a Japón. Por lo general, no superas los 30 o menos. Esto se debe a la estructura jerárquica de Internet: golpea la columna vertebral de su ISP con solo 2-5 saltos, otros 2-3 saltos lo llevan al siguiente proveedor, etc.

Tenga en cuenta que TTL solo cuenta los saltos de capa 3. Los saltos de capa 2 que se usan con mucha más frecuencia en los conmutadores no tienen impacto en el TTL: no existe tal concepto en Ethernet o protocolos similares.

Además, encapsular un paquete para el transporte del túnel 'congela' el TTL mientras está en el túnel, independientemente de cuántos saltos tome el paquete externo (tiene su propio TTL), todo el túnel solo cuenta como uno o dos saltos para el paquete interno.

Zac67
fuente
9

Una pequeña adición a las otras respuestas para ser más completa: aunque muchos enrutadores parecen enviar paquetes con un TTL de 255 (para los paquetes que producen, por supuesto, ¡no los que envían!), La mayoría de los sistemas operativos envían paquetes con mucho valores TTL iniciales más bajos:

  • Windows usa 128 (desde Windows NT 4),
  • MacOS X y Linux usan ambos 64

Algunos sistemas solían enviar valores más bajos (por ejemplo, Windows 95 tenía un TTL predeterminado de 32), esos valores se elevaron para evitar problemas con rutas posiblemente más largas ... pero esos sistemas definitivamente podían llegar a casi cualquier host en Internet en ese entonces. Y, aunque no tengo ninguna prueba de esto, diría que el número requerido de saltos disminuyó desde entonces, porque cada vez se instalan más fibras de larga distancia para transportar el tráfico.

Además, no olvide que el número de saltos y la distancia geográfica no se correlacionan . Los océanos generalmente se cruzan con un solo salto (los repetidores ópticos a lo largo de las fibras submarinas no tocan los paquetes, solo los enrutadores disminuyen el TTL). Acabo de hacer un traceroute de Suiza a Nueva Zelanda: el salto # 7 está a menos de 50 km de donde estoy, el # 9 está en California y el # 10 está en Nueva Zelanda ... la parte de tránsito intercontinental es generalmente solo unos pocos saltos en una ruta, el resto es principalmente llegar a un transportista internacional y llegar al destino desde allí.

Cerveza inglesa
fuente
8

8 bits es más que suficiente. debido al emparejamiento de ISP, puede llegar a destino viajando a través de menos de 5 o 6 ISP, y debido a la arquitectura de red troncal, el paquete se transferirá solo a través de 3 o 4 enrutadores como máximo en un ISP.

Si aumenta el TTL, para destinos no enrutados, el paquete viajará en la red hasta que TTL se convierta en 0, lo que consumirá innecesariamente el ancho de banda.

abdul_razak
fuente
Para destinos no enrutados, ¿no es una práctica común instalar una ruta de rechazo para evitar esto?
usuario1686
77
El problema no son los destinos sin enrutar, el problema son los destinos donde debido a una configuración incorrecta o efectos transitorios hay un bucle de enrutamiento.
Peter Green
3

Una nota del departamento de historia: las unidades del TTL son segundos , con el presupuesto de tiempo permitido disminuyendo en un segundo por cada salto de enrutador.

Desde el Protocolo de Internet RFC 791:

El tiempo se mide en unidades de segundos, pero dado que cada módulo que procesa un datagrama debe disminuir el TTL en al menos uno, incluso si procesa el datagrama en menos de un segundo, el TTL debe considerarse solo como un límite superior en el momento en que puede existir un datagrama. La intención es hacer que se descarten los datagramas que no se pueden entregar, y limitar la vida útil máxima del datagrama.

Los paquetes de varios segundos no eran inusuales: un datagrama IP mínimo permitido de 68 octetos toma más de 2 segundos a 300 baudios. Sin embargo, nunca he visto un enrutador que disminuyó en más de 1 para paquetes de varios segundos.

El mundo es más rápido en estos días.

jonathanjo
fuente