Comment 8 bits suffisent-ils pour le TTL dans un en-tête IP?


18

Le TTL (Time to Live) est un champ de 8 bits dans l'en-tête IPv4. Il peut prendre n'importe quelle valeur de 0 à 255. Si cela signifie que le paquet peut prendre un maximum de 255 sauts (routeurs) sur son chemin vers sa destination, alors le paquet sera rejeté.

Comment puis-je envoyer des paquets à travers les continents?


14
Même raison pour laquelle la plupart des tracerouteoutils abandonnent après seulement 30 sauts - le "diamètre d'Internet" n'est pas aussi grand que vous le pensez.
user1686

4
Pensez-y comme mettre vos données sur des avions pour voyager. Pour le houblon local, vous affrétez un avion léger. Pour les grands sauts internationaux, vous montez sur le 777 ou l'A380 le plus proche et faites un gros saut. Au lieu d'un vol international, les données voyagent d'Europe vers les États-Unis (ou ailleurs) sur l'un de ces vols
Baldrickk

2
La théorie des «six degrés de séparation» pourrait également vous intéresser.
Pam

1
Je vous encourage sérieusement à considérer la suggestion de Pam. Il s'avère que dans les systèmes naturels (systèmes non planifiés) comme les personnes se faisant des amis, les nœuds ajoutés à Internet, les entreprises faisant des affaires, etc., la majorité des connexions ne nécessitent pas beaucoup de sauts. Pour les interactions humaines, ce nombre dépasse rarement 6. Prenez oracleofbacon.org par exemple, qui calcule la connexion de l'acteur Kevin Bacon avec d'autres acteurs. La distance entre Bacon et l'acteur Telugu Ravi Teja n'est que de 3 films. L'actrice malaise des années 60 Saloma n'a également que 3 films entre elle et Kevin Bacon
slebetman

Une réponse vous a-t-elle aidé? Si c'est le cas, vous devez accepter la réponse afin que la question ne s'affiche pas indéfiniment, à la recherche d'une réponse. Alternativement, vous pouvez fournir et accepter votre propre réponse.
Ron Maupin

Réponses:


27

Même lors de l'envoi de paquets à travers les continents, un TTL de 255 est plus que suffisant - il n'y a tout simplement pas plus de routeurs impliqués.

L'exécution d'un test rapide (depuis l'Allemagne) montre 17 sauts aux États-Unis et 18 au Japon. Habituellement, vous n'obtenez pas au-dessus de 30 ou plus. Cela est dû à la structure hiérarchique d'Internet - vous atteignez l'épine dorsale de votre FAI avec seulement 2-5 sauts, 2-3 autres sauts vous amènent au fournisseur suivant, etc.

Notez que TTL compte uniquement les sauts de couche 3. Les sauts de couche 2 beaucoup plus fréquemment utilisés sur les commutateurs n'ont aucun impact sur le TTL - il n'y a pas un tel concept dans Ethernet ou des protocoles similaires.

De plus, l'encapsulation d'un paquet pour le transport par tunnel `` gèle '' le TTL dans le tunnel - quel que soit le nombre de sauts que prend le paquet extérieur (il a son propre TTL), le tunnel entier ne compte que pour un ou deux sauts pour le paquet intérieur.


9

Un petit ajout aux autres réponses pour être plus complet: bien que de nombreux routeurs semblent envoyer des paquets avec un TTL de 255 (pour les paquets qu'ils produisent eux-mêmes bien sûr, pas ceux qu'ils transmettent!), La plupart des systèmes d'exploitation envoient des paquets avec beaucoup valeurs TTL initiales inférieures:

  • Windows utilise 128 (depuis Windows NT 4),
  • MacOS X et Linux utilisent tous les deux 64

Certains systèmes avaient l'habitude d'envoyer des valeurs inférieures (par exemple, Windows 95 avait un TTL par défaut de 32), ces valeurs ont été augmentées pour éviter des problèmes avec des itinéraires éventuellement plus longs ... mais ces systèmes étaient définitivement capables d'atteindre presque tous les hôtes sur Internet à l'époque. Et - même si je n'en ai aucune preuve - je dirais que le nombre de sauts requis a diminué depuis, car de plus en plus de fibres longue distance sont installées pour transporter le trafic.

N'oubliez pas non plus que le nombre de sauts et la distance géographique ne sont pas corrélés . Les océans sont généralement traversés par un seul bond (les répéteurs optiques le long des fibres sous-marines ne touchent pas les paquets, seuls les routeurs diminuent le TTL). Je viens de faire un traceroute de la Suisse vers la Nouvelle-Zélande: le saut n ° 7 est à moins de 50 km de là où je suis, le n ° 9 est en Californie et le n ° 10 est en Nouvelle-Zélande ... la partie transit intercontinental n'est généralement que de quelques sauts sur une route, le reste atteint principalement un transporteur international et arrive à destination de celui-ci.


8

8 bits est plus que suffisant. en raison de l'homologation des FAI, vous pouvez atteindre la destination en parcourant moins de 5 ou 6 FAI, et en raison de l'architecture du réseau fédérateur, le paquet ne sera transféré que par 3 ou 4 routeurs maximum dans un seul FAI.

si vous augmentez le TTL, pour les destinations non routées, le paquet voyagera dans le réseau jusqu'à ce que TTL devienne 0 - ce qui consommera inutilement de la bande passante.


Pour les destinations non routées, n'est-il pas courant d'installer une route de rejet pour éviter cela?
user1686

7
Le problème n'est pas les destinations non routées, le problème est les destinations où, en raison d'une mauvaise configuration ou d'effets transitoires, il y a une boucle de routage.
Peter Green

3

Une note du département d'histoire: les unités du TTL sont des secondes , le budget de temps autorisé diminuant d'une seconde pour chaque saut de routeur.

Depuis le protocole Internet RFC 791:

Le temps est mesuré en unités de secondes, mais comme chaque module qui traite un datagramme doit diminuer le TTL d'au moins un même s'il traite le datagramme en moins d'une seconde, le TTL ne doit être considéré que comme une limite supérieure sur le fois qu'un datagramme peut exister. L'objectif est de supprimer les datagrammes non livrables et de limiter la durée de vie maximale du datagramme.

Les paquets de plusieurs secondes n'étaient pas inhabituels: un datagramme IP minimal autorisé de 68 octets prend plus de 2 secondes à 300 bauds. Néanmoins, je n'ai jamais vu de routeur décrémenté de plus de 1 pour les paquets de plusieurs secondes.

Le monde est plus rapide de nos jours.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.