Путь, а не только конечная точка
Пинг сообщает, доходят ли данные до сервера и за сколько. Но когда что-то не так, хочется знать, где именно. Для этого служит трассировка: она показывает последовательность промежуточных маршрутизаторов на пути и задержку до каждого.
Это инструмент диагностики, а не просмотр «реальной карты интернета»: маршрут может меняться от запроса к запросу, а обратный путь может отличаться от прямого.
В домашних условиях такая проверка полезна прежде всего для разговора с провайдером. Когда «интернет тормозит», конкретный вывод с указанием, на каком узле начинаются задержки, куда убедительнее, чем общее описание проблемы.
Как это работает
В IP-пакете есть поле TTL (в IPv6 оно называется Hop Limit), которое уменьшается на единицу на каждом маршрутизаторе. Когда оно достигает нуля, маршрутизатор отбрасывает пакет и отправляет отправителю сообщение об истечении времени. Трассировка использует это: сначала отправляет пакет с TTL 1, потом с TTL 2, и так далее, а каждое полученное сообщение выдаёт очередной узел.
В Windows команда называется tracert, в Linux и macOS traceroute. Обычно отправляются три пробных пакета на каждый шаг, поэтому строка содержит три времени.
Как читать вывод
Каждая строка это один шаг: номер, три замера задержки в миллисекундах, имя или адрес узла. Первая строка обычно ваш роутер, следующие узлы провайдера, затем магистральные сети и наконец сервер назначения. По именам часто угадывается расположение и владелец узла.
Задержка должна в целом расти по мере удаления, но с небольшими отклонениями. Резкий скачок, который сохраняется на всех последующих строках, указывает на медленный или загруженный участок именно в этом месте. Скачок на одной строке, после которого значения снова нормальные, чаще всего не проблема.
Звёздочки и «превышен интервал»
Строка из звёздочек означает, что ответа на этом шаге не пришло. Причин несколько: маршрутизатор настроен не отвечать на такие запросы, фаервол отбрасывает служебные пакеты, ответ потерялся. Если после звёздочек пути продолжаются, всё нормально: узел просто молчит.
Тревожная ситуация когда звёздочки идут до конца трассы и сервер вообще не достигается. Тогда пакеты теряются либо на этом узле, либо дальше. Сравните с другим сервером, чтобы понять, касается ли это всего направления.
Практическая диагностика
Сделайте трассировку до нужного сайта и до какого-нибудь заведомо доступного сервера в той же стране. Если у обоих проблемы начинаются в одном месте, скорее всего, виноват участок у провайдера или на его стыке с внешней сетью. Если только у одного, причина на стороне конкретного сайта.
Полезные варианты: утилиты mtr и pathping объединяют трассировку с пингом и показывают потери на каждом узле за длительное время. Прикладывайте вывод к обращению в поддержку провайдера: конкретные данные сокращают время разбора.
Учтите, что маршруты могут различаться по времени суток и меняться при перегрузках, поэтому повторите трассировку несколько раз, в том числе в момент, когда проблема проявляется. Сравнение удачного и неудачного результатов часто сразу показывает узел, где путь свернул в другую сторону.
Ограничения: Трассировка маршрута (traceroute)
Трассировка не докажет, что проблема именно на указанном узле: данные ответа генерируются отдельно от основного трафика, и на нагруженных устройствах низкий приоритет служебных пакетов даёт ложные скачки. Она показывает путь только в одну сторону. И не подходит как «слежка»: вы видите узлы, но не то, что через них проходит.
Также помните, что часть сетей вообще не пропускает служебные пакеты, на которых основана трассировка, и тогда вы увидите одни звёздочки, хотя сайт открывается прекрасно. Выводы стоит делать по совокупности данных: пинг, трассировка и реальное поведение сайта.