Что такое traceroute?
Traceroute показывает, через какие сетевые узлы могут проходить пакеты к получателю и сколько времени занимают ответы на каждом переходе. Это диагностический снимок маршрута, а не постоянная карта сети.
Как работает трассировка
Программа отправляет пробные пакеты с последовательно увеличивающимся лимитом переходов: TTL в IPv4 или Hop Limit в IPv6. Когда лимит исчерпан, маршрутизатор может вернуть сообщение ICMP Time Exceeded. Так обнаруживаются промежуточные узлы. В зависимости от системы и настроек пробы используют UDP, ICMP или TCP; результаты разных методов могут отличаться.
Как читать результат
Каждая строка обычно соответствует одному переходу, а значения времени показывают задержку ответа на конкретную пробу. Звёздочка или тайм-аут не обязательно означают разрыв связи: промежуточный узел может не отвечать на диагностические пакеты, хотя пересылает обычный трафик. Маршрут также может меняться из-за балансировки нагрузки, а обратный путь ответа — отличаться от прямого.
Когда это полезно
Если сайт не открывается или задержка выросла, сравните трассировку из нескольких сетей и проверьте конечный адрес. Запустите проверку ping и traceroute и сопоставьте её с объяснением ping. Один медленный промежуточный ответ без проблемы на последующих переходах не доказывает, что узел замедляет весь маршрут.
Пример из командной строки
В Windows команда tracert example.com использует ICMP Echo Request, а в ряде Unix-подобных систем команда traceroute example.com по умолчанию отправляет UDP-пробы. Параметры позволяют изменить число проб, ожидание ответа и максимальное число переходов. Для корректного сравнения записывайте, откуда и каким методом выполнена трассировка: разные виды проб могут обрабатываться сетью по-разному. Домен example.com здесь приведён как безопасный пример; при поиске конкретной неполадки подставьте нужный адрес.
Представьте вывод: первый переход — домашний маршрутизатор, затем сеть провайдера, далее несколько промежуточных сетей и, наконец, узел назначения. Это не означает, что каждый пакет последующего веб-запроса обязательно пройдёт точно тем же путём. При балансировке нагрузки маршрутизаторы могут выбирать маршрут по адресам и портам потока. Одна трассировка отражает ответы на конкретные пробы в конкретное время.
Почему встречаются звёздочки
Если на третьей строке только звёздочки, а четвёртый и конечный узел отвечают быстро, третий узел, вероятно, просто не прислал диагностический ответ. Маршрутизаторы нередко ограничивают ICMP, чтобы не тратить ресурсы на ответы. Другие причины — фильтрация сообщений, потеря обратного ответа или слишком короткое ожидание программы. Считать такую строку доказательством обрыва неверно. Если же ответы пропадают с определённого перехода и конечная точка тоже недоступна, это уже повод сравнить трассировку из другой сети.
У разных проб на одной строке времена могут сильно отличаться. Время включает путь пробного пакета к промежуточному маршрутизатору и возвращение ICMP-ответа, но обратный маршрут не обязательно совпадает с прямым. Поэтому большой RTT одного перехода не следует автоматически складывать с RTT следующего. Более полезный признак — устойчивое ухудшение на конечном узле при повторных проверках.
Границы диагностики
Трассировка не показывает содержимое маршрутизаторов, состояние веб-приложения или причину каждой потери. VPN меняет точку выхода, поэтому результат через VPN нельзя напрямую сравнивать с проверкой без него. Межсетевые экраны могут пропускать обычный HTTPS, но блокировать пробы traceroute. Если имя не разрешается, начните с DNS; если разрешается, но HTTPS не работает, проверяйте также порт и ответ сервера. Сохраняйте дату, адрес назначения, метод и результаты нескольких повторений, когда обращаетесь к провайдеру: один скриншот со звёздочкой редко достаточен для локализации проблемы.
BGP, Anycast и изменение маршрута
Traceroute наблюдает путь конкретных проб, а не политику BGP напрямую. Изменение пиринга может изменить последовательность переходов, а Anycast — привести тот же IP к другой площадке. Для более глубокого анализа см. как работает traceroute, BGP и ASN и Anycast.
