Блог ClockTools

Диагностика сети

Что показывает Traceroute? Как читать результаты

Traceroute показывает отвечающие сетевые переходы и образцы туда и обратно от источника к переходу. Вот как прочитать вывод, не приняв молчание за сбой.

Автор , разработчик и издатель | | Рассмотрено под ClockTools редакционная политика

Что Traceroute показывает избранное изображение для ClockTools
Оглавление

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

Traceroute показывает отвечающие переходы уровня 3 между источником и пунктом назначения, а также образцы ответов туда и обратно от источника к каждому прыжку. Он не гарантирует, что каждый маршрутизатор виден, не измеряет задержку между двумя соседними узлами или не доказывает потерю пакетов. Пустой ответ может просто означать, что устройство решило не отвечать на запрос.

Что на самом деле показывает трассировка

Классический метод трассировки пытается выявить путь по одному ответу за раз. Для каждого видимого перехода он может сообщить номер перехода, IP-адрес, необязательное имя хоста и одну или несколько выборок времени прохождения туда и обратно. Модель измерения трассировки IETF идентифицирует их как общие поля результатов.

осторожное слово отвечая. Строка представляет интерфейс, ответивший на запрос, а не обязательно полный физический маршрутизатор и, конечно, не каждое устройство, обрабатывающее трафик. Два адреса с одним и тем же номером перехода могут быть альтернативными ответчиками на пути с балансировкой нагрузки. Отсутствующая строка может по-прежнему отлично пересылать пакеты.

Поэтому Traceroute лучше всего воспринимать как наблюдение пути из одного источника в один момент с использованием одного метода зондирования. Запустите его позже, из VPN или из другой сети, и результат может измениться. Это нормальное поведение маршрутизации, а не автоматический сбой.

Маленькая хитрость TTL, стоящая за каждым прыжком

Механизм хитрый. В IPv4 каждый пересылаемый пакет имеет значение времени жизни, которое обычно рассматривается как ограничение количества переходов. Маршрутизатор уменьшает его перед пересылкой. По истечении срока действия этот маршрутизатор может вернуть сообщение ICMP Time Exceeded вместо передачи пакета дальше.

Traceroute сначала отправляет одну или несколько проб с TTL 1. Срок их действия истекает на первом маршрутизируемом прыжке. Следующий набор использует TTL 2 и может достигать одного шага дальше. Процесс продолжается до тех пор, пока пункт назначения не ответит или пока инструмент не достигнет настроенного максимума. IPv6 использует поле с буквальным названием Предел прыжков, но идея открытия аналогична. Подробности протокола описаны в RFC 5388 и Спецификация IPv6.

Диаграмма, показывающая зонды трассировки со значениями TTL один, два и три, выявляющие все более удаленные ответчики
Диаграмма, показывающая зонды трассировки со значениями TTL один, два и три, выявляющие все более удаленные ответчики

Ответ назначения зависит от реализации. Традиционная трассировка на основе UDP часто завершается, когда пункт назначения сообщает, что выбранный порт недоступен. Окна трассировка использует зонды ICMP Echo и завершается, когда пункт назначения отвечает. Также существуют варианты на основе TCP. Вот почему две программы трассировки могут совершать один и тот же базовый путь, отправляя разные типы зондов.

Как прочитать одну строку вывода

Рассмотрим обычную строку в стиле Windows с номером перехода, тремя значениями времени и адресом. Столбцы станут простыми, если вы перестанете просить их сделать больше, чем они могут.

ПолеЧто это значитЧто это не доказывает
Номер переходаШаг TTL или Hop Limit, используемый для этой строкиФизическое расстояние или принадлежность маршрутизатора
Три значения RTTТри отдельных образца от источника к ответителю и обратноМинимальное, среднее и максимальное; или задержка между соседними переходами
Имя хостаИмя обратного DNS при успешном разрешенииТочная роль, компания или местоположение устройства.
IP-адресАдрес отвечающего интерфейсаКаждый интерфейс маршрутизатора или обратный путь
ЗвездочкаОтвет на этот запрос не поступил до истечения времени ожидания.Что маршрутизатор сбросил перенаправленный трафик

Три средние ценности заслуживают особого внимания. Это три отдельные попытки. Microsoft описывает их как измерения туда и обратно от вашего устройства до этого перехода и обратно в своем официальном документе. документация `tracert`. Это не три этапа одного путешествия пакета и не готовые сводные данные о минимальном, среднем и максимальном значениях.

RTT также включает путь ответа и время обработки на отвечающем устройстве. Интернет-маршрутизация может быть асимметричной, поэтому ответ может вернуться по другому пути. RFC 9198 объясняет, почему такой тип синхронизации ICMP не является воспроизводимой оценкой задержки приложения. Рассматривайте это число как сквозную выборку между источником и ответчиком, а не как секундомер, установленный на одном кабеле между двумя маршрутизаторами.

Звездочки — молчание, а не приговор

Звездочка означает, что зонд не получил ответа до истечения времени ожидания. Это все, что оно означает само по себе. Маршрутизатор может фильтровать этот тип зонда, ограничивать скорость ответов ICMP, снижать приоритет ответов плоскости управления или отправлять ответ, который теряется на обратном пути.

Одна звездочка среди двух измеренных значений времени означает, что один из трех запросов остался без ответа. Три звездочки или «Тайм-аут запроса истек» означают, что ни один из зондов этой строки не ответил вовремя. Если последующие переходы, включая пункт назначения, все еще отвечают, трассировка продолжается и после этого TTL, поэтому молчащая строка не доказывает сбой пересылки. Многопутевая маршрутизация означает, что эти более поздние зонды, возможно, не следовали той же самой последовательности ответчика. Собственный пример Microsoft показывает строки с истекшим сроком ожидания, за которыми следует успешный ответ адресата.

Это распространенный плохой диагноз при чтении трассировки: каждый молчащий переход рассматривается как потеря пакетов. Пересылка трафика и ответ на диагностические запросы — это разные задачи. Маршрутизатор может выполнить первое, отклонив второе.

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

Как не обвинить не тот роутер

Полезный вопрос не в том, «В какой строке самое большое число?» Это вопрос: «Где начинаются изменения и продолжаются ли они к месту назначения?»

Картина в повторных тестахОсторожная интерпретацияПолезная следующая проверка
RTT повышается на один переход и остается высоким на протяжении всего пункта назначения.Изменения могут начаться недалеко от этой точки, но путь возвращения по-прежнему имеет значение.Повторите в другое время и сравните с другой сетью.
Один переход медленный, последующие переходы нормальные.Этот ответчик может медленно отвечать на запросы, а не пересылать трафик.Не называйте это узким местом только по этой трассировке.
Появляются звездочки, потом хмель отвечаетБесшумное устройство может фильтровать или ограничивать скорость ответов.Проверьте результат назначения и повторите попытку.
Разные адреса появляются на одном и том же номере перехода.Может потребоваться балансировка нагрузки или изменение маршрута.Сравните несколько трассировок вместо объединения адресов в один путь.
Только пункт назначения остается стабильно медленным.Пункт назначения, его сеть или обратный путь заслуживают более пристального внимания.Сравните время работы приложений и доступность услуг.

Расстояние, перегрузка, Wi-Fi, маршрутизация VPN, организация очередей и поведение ответчика — все это может изменить RTT. Единственная высокая выборка — это подсказка, а не убеждение. Ищите повторяющийся шаблон, который продолжается и на более поздних этапах и соответствует фактическому симптому пользователя.

Traceroute также не измеряет емкость загрузки или выгрузки. Если жалоба «соединение везде медленное», тест скорости интернета более непосредственно проверяет пропускную способность, задержку и джиттер. Эти два инструмента отвечают на разные вопросы.

Что трассировка не может достоверно показать

Traceroute дает быстрый снимок пути. Хорошо прочитать его — значит знать, что не учитывается в этом снимке.

  • Он может не раскрывать каждый переход уровня 3; некоторые устройства никогда не отвечают на запросы.
  • Обычно он не отображает прозрачные переключатели уровня 2. Эти устройства пересылают кадры, не отображаясь как IP-переходы.
  • Он наблюдает за прямым маршрутом зондирования, в то время как каждый ответ может иметь другой обратный путь.
  • Он может выбрать один из нескольких маршрутов с равной стоимостью, а не каждый возможный путь.
  • Он не устанавливает стабильный процент потери пакетов по нескольким зондам.
  • Он не может доказать маршрут, по которому будет идти каждый поток приложений, особенно если протоколы проверки различаются.
  • IP-адрес или имя хоста не являются точными показателями физического местоположения.

Используйте соседний тест, соответствующий нерешённому вопросу. Если веб-сайт отвечает, а конкретная услуга — нет, необходимо тщательно проверка порта может протестировать выбранные общедоступные TCP-порты на границе ClockTools. Если частные диапазоны или границы CIDR сбивают с толку трассировку, Калькулятор IP-подсети помогает разделить части сети и хоста.

Типы Tracert, Traceroute и зонда

Windows называет команду трассировка. macOS, Linux, BSD и многие сетевые устройства обычно используют трассировка маршрута. The output feels familiar across platforms, but the default probes can differ.

Окна трассировка отправляет запросы ICMP Echo с увеличением значений TTL. Традиционный Unix-подобный маршрут трассировки обычно начинается с UDP, хотя реализации и опции также могут использовать ICMP или TCP. Избегайте общего правила, согласно которому «traceroute всегда использует UDP» или «traceroute всегда использует ICMP». Решает программа и выбранный ею метод.

Для быстрой трассировки Windows без поиска имени хоста используйте трассировка /d example.com. В типичной системе macOS или Linux начните с трассировка example.com и прочтите руководство к этой системе, чтобы узнать параметры протокола и тайм-аута. Флаг может ускорить трассировку Windows, пропуская разрешение имен обратного DNS, но он не скрывает IP-адреса в выходных данных.

Срок путь трассировки обычно относится к родственной Unix-подобной утилите с другим интерфейсом и моделью привилегий. MTR и WinMTR повторяют проверки с течением времени. PathPing добавляет повторную статистику после обнаружения маршрута. Выбирайте один из них в зависимости от того, нужен ли вам быстрый снимок пути или продолжительное измерение.

Где подходит ClockTools

Обычная страница браузера не может открыть те же необработанные ICMP, UDP или TCP-зонды, что и команда локального терминала. Песочницы браузера и среда выполнения ClockTools Cloudflare Worker не предоставляют необходимый элемент управления TTL пакета, поэтому ClockTools не создает таблицу переходов.

Этот ClockTools Диагностика трассировки маршрута работает в пределах этой границы. Протокол HTTP и RTT клиента описывают участок от браузера до ClockTools. Отдельный общедоступный запрос HTTP или HTTPS выполняется от границы ClockTools к цели и сообщает о доступности, состоянии, времени ответа, типе контента и перенаправлениях. Это полезно для быстрой проверки веб-сайта снаружи, но это не локальная таблица переходов вашего ноутбука.

ClockTools Диагностика трассировки маршрута с использованием сайта example.com, с выделенными панелями ограничения переходов и целевого ответа.
ClockTools Диагностика трассировки маршрута с использованием сайта example.com, с выделенными панелями ограничения переходов и целевого ответа.

На снимке экрана выноска 1 отмечает уведомление об ограничении; выноска 2 отмечает целевые данные ответа. В примере используется example.com, общедоступный домен документации, а не частный хост, и обобщает пограничный код для конкретного запроса.

Используйте общедоступный URL-адрес, которым вы владеете, управляете или имеете разрешение на тестирование. Если цель быстро отвечает на периферии, но кажется медленной на вашем устройстве, стоит проверить локальный Wi-Fi, путь ISP, VPN, загрузку устройства или поведение браузера, но эти два теста также происходят с разных точек зрения и могут использовать разные маршруты. Если происходит сбой как на периферии, так и локально, более вероятным становится DNS, хостинг, брандмауэр или целевая доступность.

Практическая последовательность устранения неполадок

Начните с симптома, а не с ящика с инструментами.

  • Доступен ли веб-сайт за пределами вашего соединения? Запустите диагностику маршрута ClockTools и обратите внимание на состояние, перенаправления и время ответа.
  • У вас все соединение медленное? Сравните пропускную способность, пинг и джиттер с помощью теста скорости Интернета.
  • Вам нужно локальное пошаговое представление? Запустить трассировка или трассировка маршрута на затронутом устройстве и в сети.
  • Сбой одной службы, пока хост отвечает? Проверяйте только соответствующий авторизованный общедоступный TCP-порт со стороны ClockTools.
  • Один раз появилось высокое RTT или таймаут? Повторите след. Постоянное поведение в дальнейшем имеет большее значение, чем просто драматическая одна строка.
  • Вы сравниваете публичные и частные адреса? Какой у меня IP идентифицирует ваш видимый общедоступный адрес, а калькулятор подсети помогает с диапазонами частных сетей.

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

Безопасно делитесь результатами трассировки

Трассировка может раскрыть общедоступные и частные IP-адреса, внутренние имена хостов, имена провайдеров, шаблоны синхронизации и части структуры сети. Прежде чем разместить вывод на форуме, в заявке, статье или на скриншоте, удалите детали, которые не нужны получателю.

Отредактируйте имена внутренних устройств, имена пользователей, встроенные в имена хостов, частную адресацию, когда топология не имеет значения, и публичные адреса, если вы не хотите, чтобы они были связаны с публикацией. Сохраняйте достаточную структуру, чтобы проблема оставалась понятной: часто достаточно количества переходов, наличия таймаутов и репрезентативных таймингов.

Не предполагайте трассировка /д анонимизирует след. Он пропускает разрешение имен; он по-прежнему отображает отвечающие IP-адреса. Также помните, что предположение о геолокации IP не является точным физическим местоположением, но может выявить провайдера или широкий регион.

Лучшее чтение трассировки скромное. Он сообщает вам, на какие зонды были получены ответы, сколько времени заняли эти поездки и где может начаться закономерность. Это становится действительно полезным, когда вы объединяете эти данные с повторными тестами и симптомом, который пытаетесь объяснить.

Часто задаваемые вопросы

Traceroute — это ICMP или UDP?

Это зависит от реализации и опций. Windows Tracert использует зонды ICMP Echo. Традиционный Unix-подобный маршрут трассировки обычно по умолчанию использует UDP, хотя также существуют варианты ICMP и TCP.

В чем разница между трассировкой и трассировкой?

Tracert — это имя команды Windows; трассировка — это общее имя в macOS, Linux, BSD и сетевых системах. Они используют одну и ту же идею увеличения предела переходов, но их протоколы и параметры зондирования по умолчанию могут различаться.

Что означает * * * в трассировке?

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

Почему для каждого прыжка существует три значения времени?

Многие реализации отправляют три зонда на каждом пределе прыжка. Значения представляют собой три отдельные выборки обратного пути от источника к ответчику и обратно, а не минимальное, среднее и максимальное значения.

Traceroute показывает каждый маршрутизатор?

Нет. Некоторые маршрутизаторы не возвращают ожидаемый диагностический ответ, и балансировка нагрузки может выявить разные ответчики. Относитесь к результату как к пути, наблюдаемому зондом, а не как к полной физической инвентаризации.

Показывает ли трассировка сетевые коммутаторы?

Обычная IP-трассировка обычно не отображает прозрачные переключатели уровня 2. Он сообщает об ответных интерфейсах уровня 3, обнаруженных в результате истечения срока действия TTL или Hop Limit.

Может ли трассировка доказать потерю пакетов?

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

Показывает ли трассировка мое физическое местоположение?

В трассировке не закодировано точное физическое местоположение. IP-адреса и имена хостов по-прежнему могут указывать на провайдера, организацию или регион, поэтому отредактируйте данные, которые вы не хотите публиковать.

Почему маршрут может меняться между двумя тестами?

Обновления маршрутизации, балансировка нагрузки, использование VPN, изменения в исходной сети и другие решения по организации трафика могут направить последующие зонды по другому пути. Трассировка — это привязанное ко времени наблюдение.

Об авторе

Винешваран Виджаякумар

Основатель, разработчик и издатель ClockTools | Менеджер по цифровому маркетингу | Индия

Винешваран — инженер с многолетним техническим опытом, в том числе профессиональной работой менеджером по цифровому маркетингу в Дубае. Его работа объединяет анализ данных, поисковую оптимизацию, оптимизацию коэффициента конверсии, контент-системы, визуальное производство, а также прикладной искусственный интеллект и машинное обучение. В ClockTools он превращает этот междисциплинарный опыт в специализированные утилиты для браузера и практические руководства с учетом исходных кодов.

Профиль в LinkedIn