Как пакет сам раскрывает свой маршрут
Traceroute не просит интернет «показать дорогу» напрямую. Он отправляет серию пробных пакетов и меняет у каждого ограничение на число переходов между маршрутизаторами. Это ограничение называется временем жизни пакета, или TTL: на каждом маршрутизаторе его значение уменьшается на единицу.
Когда TTL доходит до нуля, маршрутизатор отбрасывает пакет и обычно посылает отправителю служебное сообщение об истечении срока. В ответе указан адрес узла, который остановил пакет. Так traceroute узнаёт первый участок пути, затем повторяет проверку с большим TTL — и получает следующий адрес.
Почему видны не все узлы и не всегда
Метод работает благодаря механизму, который обычно предотвращает бесконечное блуждание пакетов по ошибочным маршрутам. Traceroute использует его намеренно: ограничение становится своеобразной меткой, задающей, на каком промежуточном узле пробный пакет должен остановиться.
Однако ответы на такие пробы могут фильтроваться или ограничиваться, а некоторые маршрутизаторы не сообщают свой адрес. Поэтому в выводе иногда появляются пропуски. Кроме того, сеть может распределять разные пакеты по разным маршрутам, и тогда соседние строки не обязательно описывают одну неизменную цепочку.
Что означает задержка в выводе
Для каждого участка traceroute измеряет время между отправкой пробы и получением ответа. Долгое ожидание показывает задержку на пути туда и обратно до ответившего узла, но не доказывает, что именно он перегружен: задержка может возникнуть дальше по маршруту или при возвращении ответа.
И всё же последовательность адресов помогает локализовать проблему. Если быстрые ответы внезапно сменяются медленными, это даёт подсказку, на каком участке стоит проверять связь. Показательно, что traceroute обнаруживает маршрут, заставляя каждый очередной узел сообщить не о доставке, а о том, почему пробный пакет не прошёл дальше.»} The user asks for a deeper, publication-ready web article in natural Russian, returned as JSON with exactly one key, `




