Основы диагностики подключения - MTR
Часто при возникновении проблем с пингом или подключением мы просим сделать MTR. Объясняем, что это и как правильно использовать.
Утилита MTR доступна только на Linux. Вы можете скачать нашу версию утилиты для Windows - она работает не хуже.
Когда возникают проблемы с доступом к серверу — высокий пинг, потери пакетов или нестабильное соединение — одной команды ping часто недостаточно, чтобы понять, в чем именно проблема.
Именно в таких случаях на помощь приходит MTR — мощный инструмент диагностики сетевого маршрута.
Разберёмся, что это такое, зачем он нужен и как правильно им пользоваться.
Что такое MTR?
MTR — это консольная утилита, которая сочетает в себе функциональность ping и traceroute, но делает это гораздо глубже и информативнее. В отличие от классического traceroute, который выполняет разовую проверку маршрута, MTR работает в непрерывном режиме и собирает статистику по каждому узлу сети.
Это означает, что вы получаете не просто список промежуточных маршрутизаторов, через которые проходит трафик, а полноценную картину качества соединения на каждом участке: насколько стабильны ответы, есть ли потери пакетов, как ведёт себя задержка во времени.
Для технической поддержки хостинга это критически важный инструмент, потому что он позволяет быстро определить, где именно находится проблема — на стороне клиента, провайдера или инфраструктуры дата-центра.
Как MTR исследует сеть
Когда вы запускаете MTR, программа начинает отправлять пакеты с постепенно увеличивающимся TTL (Time To Live). Это позволяет «поймать» каждый узел на пути до конечного сервера.
Но в отличие от traceroute, который делает это один раз, MTR повторяет процесс многократно, собирая статистику.
В результате формируется таблица, в которой каждая строка соответствует отдельному узлу (hop), а столбцы отражают накопленные данные:
- сколько пакетов было отправлено
- сколько из них потеряно
- минимальная, средняя и максимальная задержка
- текущее значение задержки
За счёт этого можно не просто увидеть маршрут, а понять, насколько он стабилен во времени.
Как работать с командой?
На Linux и macOS MTR чаще всего запускается из терминала. Базовая команда выглядит просто:
mtr example.comПри таком запуске вы увидите интерактивный режим, где таблица обновляется в реальном времени. Это удобно для «живого» наблюдения, но не всегда подходит для передачи результатов в поддержку.
Поэтому чаще используется режим отчёта:
mtr -rw example.comЗдесь важно понимать, что происходит:
- параметр
-rговорит программе сформировать итоговый отчёт и завершиться - параметр
-wвключает расширенный формат вывода, чтобы данные не обрезались
По умолчанию MTR отправляет ограниченное количество пакетов (обычно 10), чего часто недостаточно для выявления нестабильных проблем. Поэтому более корректный вариант выглядит так:
mtr -rw -c 100 example.comГде -c 100 означает отправку 100 пакетов. Это уже даёт гораздо более репрезентативную картину.
Разбор вывода MTR: что означают цифры
Результат работы MTR — это таблица, которая на первый взгляд может показаться перегруженной. Но если разобраться, она читается довольно логично.
Каждая строка — это отдельный узел маршрута. Обычно они отображаются по порядку: от вашего устройства до конечного сервера.
Основные поля:
- Host — адрес или имя узла
- Loss% — процент потерянных пакетов
- Snt — количество отправленных пакетов
- Last — задержка последнего пакета
- Avg — средняя задержка
- Best — минимальная задержка
- Wrst — максимальная задержка
- StDev — разброс значений (насколько соединение нестабильно)
Например, если вы видите, что средняя задержка стабильна, но значение StDev высокое — это говорит о «прыгающем» соединении, даже если средний пинг выглядит нормальным.
Как интерпретировать результаты правильно
Одна из самых частых ошибок — попытка трактовать вывод MTR буквально, без понимания особенностей сетевого оборудования.
Важно учитывать несколько нюансов.
Во-первых, не каждый узел обязан отвечать на ICMP-запросы. Многие маршрутизаторы специально ограничивают или игнорируют такие пакеты, чтобы снизить нагрузку. В результате вы можете увидеть 100% потерь на промежуточном узле, но при этом следующий узел отвечает нормально. Это не проблема — это особенность настройки.
Во-вторых, критично смотреть не на отдельные строки, а на поведение маршрута в целом. Если потери появляются на одном узле и продолжаются дальше — это уже сигнал о проблеме. Если же они «исчезают» на следующих узлах, скорее всего, это просто фильтрация ICMP.
В-третьих, стоит обращать внимание на задержку. Если она резко возрастает на определённом узле и остаётся высокой до конца маршрута — это указывает на узкое место. Но если задержка увеличилась только на одном узле, а дальше снова нормализовалась — это может быть ложным сигналом.
Почему MTR важен для техподдержки
Когда вы отправляете MTR в поддержку, вы фактически передаёте «рентген» вашего сетевого пути. Это позволяет инженерам сразу исключить множество гипотез:
- проблема не на сервере, если до него доходят пакеты без потерь
- проблема не в дата-центре, если последние узлы стабильны
- проблема может быть у провайдера, если сбои начинаются в середине маршрута