Pracuję dla dostawcy usług VoIP i pracuję nad problemem z klientem, który ma kablowe połączenie internetowe, które rzuca mi pętlę.
Ma jeden blok, który będziemy udawać 70.141.15.0/29, z bramą w .1 i routerami w .2 i .3. Oba routery są podłączone do jego modemu kablowego, który, zgodnie z naszą najlepszą wiedzą, jest ustawiony na cokolwiek, co dostawcy kabli wyobrażają sobie jako „tryb mostka”.
Pinguję oba te routery jednocześnie z tego samego urządzenia, które jest systemem linux podłączonym do światłowodu z (prawdopodobnie) poziomu (3). Nie trzeba dodawać, że nikt na tej planecie nie wie, ile jest węzłów między nimi. Ale sprawdź wyniki ping.
Do pierwszego routera:
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
Od drugiego:
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
Sprawdź wartości TTL. Czy to ma sens? Urządzenia te są bezpośrednio przylegające do siebie, podłączone do tego modemu przez osobne porty przełącznika. Jak można mieć prawie 200 chmielu więcej? Z pingowania innych stron mam wrażenie, że TTL nie jest po prostu zaimplementowane w sposób, jaki uważam. Wątpię, czy istnieje 200 przeskoków między mną a 4.2.2.2 lub woot.com, ale otrzymuję wyniki poniżej 50 TTL.
Jeden z tych routerów (ten z wyższym TTL) pochodzi z Fortinet, a drugi to niestandardowe urządzenie oparte na systemie Linux. Jestem prawie pewien, że Forti ma domowej sieci stos, podczas gdy Linux używa tego, co dostarczono ze źródłowym archiwum, pobranym przez programistów. Czy prawdopodobne jest, że echo ICMP jest zaimplementowane w dziwnej formie na jednym z nich i celowo wysyła wszystkie odpowiedzi z TTL 50?
Zauważyłem również, że jedną z niewielu stron, na które mogę odpowiedzieć z rozsądnym TTL, jest slashdot i mogę sobie wyobrazić, że ich serwery i routery mogą być nieco mniej „czymkolwiek, co znaleźliśmy w garażu”, niż przeciętna strona internetowa, która w pewnym sensie sprawia, że czuję, że mogę być na dobrej drodze z tym ostatnim przypuszczeniem.
Podsumowując: czy TTL na ping oznacza cokolwiek wiarygodnego?