Je travaille pour un fournisseur de services VoIP et je travaille un problème avec un client qui a une connexion Internet par câble qui me jette pour une boucle.
Il a un seul bloc, que nous prétendons être 70.141.15.0/29, avec la passerelle à .1 et les routeurs à .2 et .3. Les deux routeurs sont connectés à son modem câble qui, à notre connaissance, est réglé sur ce que les câblo-opérateurs imaginent être le "mode pont".
Je cingle ces deux routeurs simultanément à partir de la même boîte, qui est un système Linux connecté à la fibre du niveau (probablement) (3). Il va donc sans dire que personne sur la planète ne sait combien de nœuds il y a entre ici et là. Mais vérifiez les résultats du ping.
Vers le premier routeur:
64 bytes from 70.141.15.2: icmp_seq=2637 ttl=47 time=45.0 ms
64 bytes from 70.141.15.2: icmp_seq=2638 ttl=47 time=39.2 ms
64 bytes from 70.141.15.2: icmp_seq=2639 ttl=47 time=37.3 ms
64 bytes from 70.141.15.2: icmp_seq=2640 ttl=47 time=46.1 ms
64 bytes from 70.141.15.2: icmp_seq=2641 ttl=47 time=45.8 ms
64 bytes from 70.141.15.2: icmp_seq=2642 ttl=47 time=46.5 ms
64 bytes from 70.141.15.2: icmp_seq=2643 ttl=47 time=40.9 ms
A partir du second:
64 bytes from 70.141.15.3: icmp_seq=631 ttl=239 time=54.7 ms
64 bytes from 70.141.15.3: icmp_seq=637 ttl=239 time=40.5 ms
64 bytes from 70.141.15.3: icmp_seq=638 ttl=239 time=40.3 ms
64 bytes from 70.141.15.3: icmp_seq=639 ttl=239 time=38.4 ms
64 bytes from 70.141.15.3: icmp_seq=640 ttl=239 time=44.9 ms
64 bytes from 70.141.15.3: icmp_seq=641 ttl=239 time=38.4 ms
64 bytes from 70.141.15.3: icmp_seq=642 ttl=239 time=38.8 ms
Découvrez les valeurs TTL. Est-ce que ça a du sens? Ces appareils sont directement adjacents les uns aux autres, connectés à ce modem via des ports de commutation séparés. Comment peut-on sembler avoir près de 200 sauts de plus? En cinglant d'autres sites, j'ai l'impression que TTL n'est tout simplement pas implémenté comme je le pense. Je doute qu'il y ait 200 sauts entre moi et 4.2.2.2, ou woot.com, mais j'obtiens moins de 50 résultats TTL de ces deux.
L'un de ces routeurs (celui avec le TTL le plus élevé) provient de Fortinet, tandis que l'autre est un appareil Linux personnalisé. Je suis à peu près sûr que le Forti a une pile réseau domestique, tandis que la boîte Linux utilise tout ce qui est fourni avec l'archive source téléchargée par les développeurs de matériel. Est-il probable que l'écho ICMP soit implémenté sous une forme bizarre sur l'un d'entre eux et envoie délibérément toutes les réponses avec un TTL de 50?
Je remarque également que l'un des seuls sites sur lesquels je peux trouver des réponses avec un TTL sain est slashdot, et je peux imaginer que leurs serveurs et routeurs pourraient être un peu moins "tout ce que nous avons trouvé dans le garage" que le site Web moyen, qui en quelque sorte, je me sens comme si j'étais sur la bonne voie avec cette dernière supposition.
Pour résumer: TTL sur ping signifie-t-il quelque chose de fiable que ce soit?