Трассировка. Как правильно интерпретировать ее результаты

Все, что можно найти в Интернете за пределами Боярки
Ответить
Аватара пользователя
Ob-iVan
Site Admin
Сообщения: 4604
Зарегистрирован: Пт, 03 авг 2007, 19:35

Трассировка. Как правильно интерпретировать ее результаты

Сообщение Ob-iVan »

Давно хотел написать этот материал, так как регулярно приходится отвечать на одни и те же вопросы по одной и той же теме. Речь пойдет о том, как с помощью трассировки диагностировать причину плохой работы того или иного ресурса в Интернете, либо проблему доступа ко всем ресурсам сразу. Пока что это "черновой" вариант своеобразной статьи, которую я собираюсь расширять и дополнят по мере ответа на ваши вопросы по ней.

Итак, когда что-то в Интернете работает не так, как хочется, вполне логично постараться найти причину. Одно из наиболее простых, но достаточно мощных средств диагностики - виндовая команда tracert. Получаемая с ее помощью информация помогает ответить на многие вопросы. Главное - правильно интерпретировать эти ответы. И вот тут-то и начинаются трудности.

Одна из основных проблем в том, что трассировку обычно делают только тогда, когда что-то работает плохо, а потом по ее результатам пытаются понять, какие цифры хорошие, а какие плохие. Хотя намного проще сначала сделать трассировку тогда, когда субъективно все работает идеально (или, по крайней мере, хорошо), сохранить ее результаты, и именно с ними сравнивать цифры, полученные в моменты возникновения проблем. Почему это важно, поясню на примере.

Вот трасса, которую я получил вчера вечером, когда сравнивал разные варианты создания VPN-подключения под Windows 7:

Код: Выделить всё

C:\Users\Ivan>tracert 193.193.193.100

Трассировка маршрута к ns.lucky.net [193.193.193.100]
с максимальным числом прыжков 30:

  1     3 ms     4 ms     4 ms  uingate.vpn.uin [192.168.20.1]
  2     3 ms     7 ms     6 ms  maximum.boyarka.net [109.207.206.9]
  3     *        6 ms     *     newnat.maximuma.net [91.196.148.6]
  4  1408 ms     *        *     91.196.148.29
  5     8 ms     7 ms    10 ms  unallocated.sta.synapse.net.ua [194.0.88.137]
  6     7 ms     9 ms     8 ms  lucky-gw.ix.net.ua [195.35.65.30]
  7    10 ms    10 ms     9 ms  ns.lucky.net [193.193.193.100]

Трассировка завершена.
А вот трассировка, сделанная ночью, когда нагрузка на канал была минимальной:

Код: Выделить всё

C:\Users\Ivan>tracert 193.193.193.100

Трассировка маршрута к ns.lucky.net [193.193.193.100]
с максимальным числом прыжков 30:

  1     1 ms     1 ms     1 ms  uingate.vpn.uin [192.168.20.1]
  2     2 ms     5 ms     2 ms  maximum.boyarka.net [109.207.206.9]
  3     1 ms    <1 мс    <1 мс  newnat.maximuma.net [91.196.148.6]
  4     2 ms     3 ms     1 ms  91.196.148.29
  5     1 ms     1 ms     1 ms  unallocated.sta.synapse.net.ua [194.0.88.137]
  6     1 ms     1 ms     1 ms  lucky-gw.ix.net.ua [195.35.65.30]
  7     2 ms     2 ms     1 ms  ns.lucky.net [193.193.193.100]

Трассировка завершена.
Могу "побиться об заклад", что многие, взглянув на первую трассу, скажут: "Ужас! Какие потери на третьем и четвертом узлах!"
Но ирония судьбы в том, что субъективно во время обоих приведенных трассировок, Инет у меня работал великолепно. И удивительно это только на первый взгляд. Потому что когда вы научитесь правильно интерпретировать результаты трассировки, вы поймете, что в первой трассе нет совершенно ничего плохого. Но - обо всем по порядку.

Текстовый вывод команды tracert состоит из заголовка и идущей за ним таблицы, состоящей из двух поясняющий столбиков (самого левого - это порядковый номер хоста в маршруте, и самого правого - названия этого хоста), а также массива цифр между ними.
Первое, что нужно понять и запомнить: каждая цифра в этом массиве отражает отдельную попытку измерения. Очень часто люди воспринимают цифры в вертикальных рядах, как результаты прохождения одного и того же пакета. Это не так. Например, для получения приведенных выше таблиц команде tracert пришлось отправить 21 отдельный пакет (по три пакета до каждого узла в маршруте). Именно поэтому, три цифры в каждой строчке могут отличаться друг от друга. И именно поэтому задержка прохождения пакета к более дальнему узлу может быть меньше, чем к более ближнему. Нагрузка Интернет-каналов способна измениться за долю секунды, и нет ничего странного в том, что в момент измерения задержек к более дальним хостам каналы могут оказаться более свободными и пакеты к ним могут пройти быстрее. Поэтому ситуация, когда цифры в нижних строчках меньше, чем в верхних - вполне нормальна. Но именно она вводит в заблуждения многих пользователей и заставляет предполагать, что эти цифры - задержка между этим хостом и предыдущим. Ничего подобного: каждая цифра - это задержка обмена пакетами между данным хостом и вашим компьютером.

Второй очень важный момент - что означают эти задержки. Многие думают, что это чистое время прохождения пакета к данному узлу. Это нет так. На самом деле, каждая цифра - это сумма трех задержек: задержка прохождения пакета от вашего компьютера к данному узлу + время обработки пакета узлом и время формирования ответного пакета + задержка прохождения ответного пакета от узла к вашему компьютеру. Я не зря так подробно это расписываю. Дело в том, что каждый конкретный узел имеет свои настройки приоритета обработки пакетов.
Например, узлы 91.196.148.6 и 91.196.148.29 настроены так, чтобы обеспечивать максимальный приоритет для тех пакетов, которые проходят через них транзитом. Соответственно, если транзитная нагрузка большая, проходит достаточно заметное время, прежде чем будет отправлен ответ непосредственно от этого узла. Как следствие, цифры по данным хостам могут быть огромными, но это не значит абсолютно ничего, если цифры в следующих строчках - нормальные. Кроме того, нужно обратить внимание, что задержки в двух направлениях (от вашего компьютера к узлу и от узла к вашему компьютеру) имеют разное влияние на фактическую скорость доступа к Интернету. Например, если вы скачиваете файл или смОтрите online-видео, то задержка по направлению к вам имеет во много раз большее значение, чем задержка по направлению от вас. Например, если суммарная задержка до конечного узла 50мс, но из них только 5 мс - время прохождения пакета от узла к вам, то скорость выкачки с этого узла будет заметно выше, чем в том случае, если суммарная задержка 10 мс, но время прохождения пакета к вам - 9 из них. А ведь при трассировке выводится только суммарное значение задержек. Но 50мс в приведенном примере может оказаться лучше, чем 10мс.

И, наконец, третий момент: что означают звездочки. Многие думают, что звездочка означает, что пакет однозначно потерян. На самом деле звездочка означает, что команда tracert просто не дождалась ответа от узла за определенный интервал времени (зависит от версии винды, чаще всего - 2 сек). Конечно, это может означать, что ответный пакет вообще не пришел, но на практике очень часто это означает всего лишь то, что ответного пакета просто не дождались. Например, в первом примере трассировки звездочки на третьем и четвертом узлах означают всего навсего то, что ответ от них шел больше 2 сек. Чтобы проверить, что означает звездочка в данной конкретной ситуации, служит ключ -w, после которого идет время ожидания каждого пакет в миллисекундах.
Команда, в таком случае, будет иметь, например, такой вид: tracert -w 10000 193.193.193.100. Но учтите: большое время ожидания может заметно увеличить суммарное время выполнения команды трассировки.

Таким образом, можно сделать два кратких вывода:
1. Малые задержки - это всегда хорошо, но большие задержки - это не всегда плохо.
2. Отсутствие звездочек при трассировке - это всегда хорошо, но их наличие - не всегда плохо.


Надеюсь, приведенная информация поможет вам более точно воспринимать цифры, выводимые командой tracert, и делать на их основании максимально правильные выводы.


У меня нет времени ненавидеть тех, кто меня ненавидит, потому что я слишком занят добрыми делами для тех, кто меня любит.
Аватара пользователя
Erchard
Сообщения: 279
Зарегистрирован: Вт, 15 ноя 2011, 15:16

Re: Трассировка. Как правильно интерпретировать ее результат

Сообщение Erchard »

Прикольно.
Т.е. в двух словах -
Если интернет работает субъективно плохо,
то это плохо, если хорошо - то это хорошо,
а трассировка ничего нового к этой информации добавить не может :)

...во всяком случае для рядового пользователя.

tracert может быть полезен только тому, кто имеет физический доступ к трассируемым узлам и собирается настроить их на оптимальную работу,
а не тем кто готовит предъявы провайдеру.

А про pathping напиши? IMHO это более информативно чем tracert


Аватара пользователя
Ob-iVan
Site Admin
Сообщения: 4604
Зарегистрирован: Пт, 03 авг 2007, 19:35

Re: Трассировка. Как правильно интерпретировать ее результат

Сообщение Ob-iVan »

Erchard писал(а):Прикольно.
Т.е. в двух словах -
Если интернет работает субъективно плохо,
то это плохо, если хорошо - то это хорошо,
а трассировка ничего нового к этой информации добавить не может :)

...во всяком случае для рядового пользователя.
Не совсем так. Скорее все это должно помочь рядовому пользователю понять, что tracert - это не такая магическая программа, которая выдает какую-то итоговую цифру, определяющую качество Инета, и что для интерпретации ее результатов необходимо хотя бы минимально разобраться в логике ее работы.

А основные тезисы по поводу интерпретации результатов я привел в конце материала:
Ob-iVan писал(а):1. Малые задержки - это всегда хорошо, но большие задержки - это не всегда плохо.
2. Отсутствие звездочек при трассировке - это всегда хорошо, но их наличие - не всегда плохо.
Иными словами, наличие задержек и/или звездочек на отдельных хостах не означает, что именно это и есть источник проблем.
Erchard писал(а):tracert может быть полезен только тому, кто имеет физический доступ к трассируемым узлам и собирается настроить их на оптимальную работу,
а не тем кто готовит предъявы провайдеру.
И тем не менее, в техподдержку регулярно обращаются пользователи, которые предъявляют претензии на основании именно неправильно понятых данных tracert :(
Ob-iVan писал(а):А про pathping напиши? IMHO это более информативно чем tracert
Однозначно более информативно, но на некоторых версиях Винды требует админ. привелегий и долго работает.
Кроме того, мне как-то все время не удавалось подружить пользователей с pathping.
Хотя, действительно, надо будет сделать хорошую описуху для pathping тоже...


У меня нет времени ненавидеть тех, кто меня ненавидит, потому что я слишком занят добрыми делами для тех, кто меня любит.
Vlad47472
Сообщения: 1
Зарегистрирован: Вс, 20 май 2012, 13:50

Re: Трассировка. Как правильно интерпретировать ее результат

Сообщение Vlad47472 »

Три одинаковых, предварительно отформатированных SATA винчестера и установлен WinXP с одного СД. На первом проходит и трассировка и всё открывается. Mail.ru и с ним связанные. Размер блока,MTU- везде менее 1500. На двух других все сейты доступны, кроме mail.ru, Агент, одноклассники, вконтакте и домашняя страница IE. Трассировка на этих двух хардах не проходит. Перетыкаю только шлейф и питание. Т.е. всегда один винчестер в компе. Как будто шлюз в лицо знает первый винчестер. Установка других вариантов Windows XP на эти два винчестера не помогает делу. Вирусов нет однозначно.


Аватара пользователя
Ob-iVan
Site Admin
Сообщения: 4604
Зарегистрирован: Пт, 03 авг 2007, 19:35

Re: Трассировка. Как правильно интерпретировать ее результат

Сообщение Ob-iVan »

Vlad47472 писал(а):Три одинаковых, предварительно отформатированных SATA винчестера и установлен WinXP с одного СД. На первом проходит и трассировка и всё открывается. Mail.ru и с ним связанные. Размер блока,MTU- везде менее 1500. На двух других все сейты доступны, кроме mail.ru, Агент, одноклассники, вконтакте и домашняя страница IE. Трассировка на этих двух хардах не проходит. Перетыкаю только шлейф и питание. Т.е. всегда один винчестер в компе. Как будто шлюз в лицо знает первый винчестер. Установка других вариантов Windows XP на эти два винчестера не помогает делу. Вирусов нет однозначно.
Тогда это уже больше подходит к разделу "Мистика" ;)


У меня нет времени ненавидеть тех, кто меня ненавидит, потому что я слишком занят добрыми делами для тех, кто меня любит.
Ответить

Вернуться в «Ресурсы Интернета»