Pinguję yahoo.com i jestem zaskoczony wynikiem.
C:\Users\jon>ping -t yahoo.com
Pinging yahoo.com [98.138.253.109] with 32 bytes of data:
Reply from 98.138.253.109: bytes=32 time=195ms TTL=46
Reply from 98.138.253.109: bytes=32 time=230ms TTL=44
Reply from 98.138.253.109: bytes=32 time=175ms TTL=45
Reply from 98.138.253.109: bytes=32 time=208ms TTL=44
Reply from 98.138.253.109: bytes=32 time=180ms TTL=46
Reply from 98.138.253.109: bytes=32 time=206ms TTL=44
Reply from 98.138.253.109: bytes=32 time=209ms TTL=44
Reply from 98.138.253.109: bytes=32 time=173ms TTL=46
Reply from 98.138.253.109: bytes=32 time=170ms TTL=46
Reply from 98.138.253.109: bytes=32 time=224ms TTL=45
Reply from 98.138.253.109: bytes=32 time=200ms TTL=45
Reply from 98.138.253.109: bytes=32 time=172ms TTL=46
Reply from 98.138.253.109: bytes=32 time=258ms TTL=44
Niejasno rozumiem wartość TTL jako liczbę przeskoków, którą pakiet przemierza, aby dotrzeć do miejsca docelowego, ale nie rozumiem, w jaki sposób TTL może mieć tak dramatyczną wariancję +/- 1 w tak krótkim czasie.
Wydaje się również, że Yahoo ma zaimplementowane ograniczenie prędkości, ponieważ trwały ping zacznie przekraczać limit czasu po około 20 pakietach. Czy to normalne? bing.com nawet mi nie odpowiada!
Podczas pingowania google.com TTL są spójne.
Podczas pingowania Twitter.com czasami otrzymuję TTL = 249, ale zwykle TTL-58.
Co się dzieje? Czy mój dostawca usług internetowych nie ma nic dobrego, czy też istnieje mniej złowrogie wytłumaczenie?
Odpowiedzi:
Najprawdopodobniej jest to spowodowane równoważeniem obciążenia w wielu sieciach. Każdy ping ma inną ścieżkę i odpowiednio będzie miał różną wartość TTL.
Czytałem również o tym, że dostawcy wyszukiwarek robią dziwne rzeczy z TTL, ale i tak idzie inną drogą.
Wartości TTL są różne, gdy pochodzą z różnych systemów operacyjnych:
I tak, niektóre strony przestaną odpowiadać na ICMP po pewnym czasie lub po przekroczeniu limitu prędkości. Uważam, że DNS Google w wersji 8.8.8.8 ostatecznie po pewnym czasie przestaje działać.
źródło
Inni wspominali o scenariuszu wielościeżkowym, aby wyjaśnić zmienność czasu opóźnienia. Za pomocą łączy ECMP (Equal Cost Multi Path) można uzyskać scenariusz zgodny z danymi wyjściowymi podanymi w poleceniu ping do Yahoo, w których opóźnienie zmienia się między wynikami, ale w miarę konsekwentnie. Wygląda więc na to, że twój ruch jest mieszany tymi samymi dwiema lub trzema ścieżkami, o różnych długościach (opóźnieniach) (chociaż to tylko spekulacje, nikt nie jest w stanie powiedzieć na pewno o podanych informacjach).
Niektóre sieci filtrują ruch ICMP, co wydaje mi się bardzo irytujące! To może wyjaśnić scenariusz „w ogóle nie pingować”. W przypadku scenariuszy, w których masz kilka odpowiedzi lub odpowiedzi ograniczone, sieć może wdrażać technologię, taką jak wycena planu kontroli firmy Cisco (lub odpowiednik ich dostawcy).
Gdy masz mniej stabilną zmienność wyników, mogą występować trasy Multi Path o nierównym koszcie lub zmiana inżyniera ruchu z powodu problemu z łączem w dowolnym miejscu na ścieżce. Ponownie, nie mogę powiedzieć na podstawie podanych informacji.
źródło
Odmienność TTL w tych pakietach można wyjaśnić przez router (y), których przetwarzanie zajmuje dużo czasu. TTL jest zmniejszane o jeden po każdym przeskoku, jeśli czas przez router jest krótszy niż jedna sekunda. Jeśli czas przez router jest dłuższy niż jedna sekunda, czas TTL zostanie zmniejszony o dwa, a nie o jeden.
Patrz RFC791 strona 29:
Czas żyć
źródło