Что делает трассировка
Трассировка показывает цепочку промежуточных узлов, через которые проходят пакеты до цели. Для этого программа отправляет пакеты с постепенно растущим временем жизни; каждый маршрутизатор, на котором оно заканчивается, сообщает о себе, и так строится список. В Windows команда называется tracert, в macOS и Linux — traceroute (иногда tracepath).
Каждая строка — один шаг. В ней обычно три времени отклика: программа отправляет по три пробных пакета на шаг. Это не путь «в обе стороны» и не гарантия, что следующий пакет пойдёт тем же маршрутом: пути могут меняться, а обратный маршрут порой отличается от прямого.
Как читать вывод
Первая строка обычно ваш роутер, за ней узлы провайдера, затем магистральные узлы и, наконец, сама цель. Смотрите на две вещи: где время резко растёт и остаётся высоким на всех следующих шагах. Скачок, который сохраняется дальше, говорит о реальном увеличении задержки на этом участке. Например, между узлами может быть длинный канал: рост на десятки миллисекунд между городами или странами вполне нормален.
Если время на промежуточном шаге высокое, а на следующих снова низкое, то этот узел просто медленно отвечает на служебные пакеты. Такой «пик» ничего не говорит о качестве трафика. Это самая частая ошибка при чтении трассировки.
Ещё одна подсказка — имена узлов. Они иногда содержат намёки на город или тип оборудования, что помогает понять, где маршрут покинул вашу сеть и где идёт длинный участок. Но не воспринимайте имена буквально: они бывают устаревшими или неточными. Опирайтесь на числа, а имена используйте как справочную информацию. И помните, что маршрут туда и обратно может отличаться: трассировка показывает только прямой путь, поэтому медленный обратный участок здесь не виден.
Звёздочки и таймауты
Звёздочка означает, что за отведённое время ответ не пришёл. Одна-две звёздочки на промежуточном шаге чаще всего безобидны: узел настроен не отвечать на такие запросы или ограничивает их. Тревожный сигнал — когда звёздочки идут подряд до самого конца и цель не достигается, а ping до этой цели при этом работает: значит, что-то фильтрует именно служебные пакеты.
Если трассировка обрывается сразу после вашего роутера, проверьте, есть ли у самого роутера выход в интернет. Если обрывается в середине и все следующие шаги звёздочки, а цель недоступна и обычными средствами — вероятна проблема на маршруте. Тогда стоит повторить проверку в другое время и другим способом.
Границы метода
Трассировка помогает грубо локализовать место проблемы, но точных выводов не даёт: по три пакета статистики не наберёшь. Для оценки потерь и стабильности используйте MTR или длительный пинг. Для обращения в поддержку приложите вывод целиком, с указанием времени и цели, и заодно результат в проблемное и в нормальное время.
Связывать высокую задержку на конкретном узле с виной той или иной компании без дополнительных проверок не стоит: узел может отвечать медленно намеренно, а маршрут туда и обратно может проходить разными путями.
Практические примеры чтения
Представьте вывод, где первые два шага отвечают за единицы миллисекунд, на пятом время подскакивает до нескольких десятков и остаётся на таком уровне до конца. Это типичный признак длинного участка: канал ушёл в другой город или страну. Другой пример: на седьмом шаге ответ втрое медленнее, чем на восьмом и девятом. Это признак того, что седьмой узел отвечает неспешно на служебные пакеты, и внимания не заслуживает. Такие разборы учат не реагировать на единичные пики.
Полезные параметры и запуск
В Windows tracert можно запускать с параметром отключения преобразования адресов в имена, он ускоряет вывод. В Linux и macOS у traceroute есть выбор протокола проб: по умолчанию используются UDP-пакеты, но встречается режим ICMP, а иногда и TCP. Когда фильтры блокируют один тип проб, другой может дойти. Запишите, каким методом вы пользовались, чтобы результаты можно было воспроизвести. Не запускайте трассировку слишком часто и на много узлов сразу: это создаёт лишнюю нагрузку.