Трассировка маршрута¶
В вычислительной технике, traceroute является инструментом компьютерной диагностики сети для отображения маршрута (пути) и измерения транзитных задержек пакетов при прохождении через сеть Internet Protocol (IP).
История маршрута записывается как времена оборота пакетов, полученных от каждого последующего хоста (удаленного узла) в маршруте (пути); сумма средних времен на каждом транзитном узле является мерой общего времени, проведенного для установления соединения.
Traceroute продолжается до тех пор пока все (три) отправленных пакета теряются более чем дважды, после чего считается что связь потеряна и маршрут не может быть оценен.
Пинг, с другой стороны, только вычисляет время оборота одного пакета до пункта назначения.
Traceroute по умолчанию отправляет набор пакетов протокола UDP, адресованных узлу назначения; ICMP Echo Request или пакеты TCP SYN также может быть использован.
Время к жизни значения (TTL), также известный как "hop limit", используется для определения промежуточных маршрутизаторов, через которые следует пакет по направлению к месту назначения.
Каждый маршрутизатор по пути следования декрементируют значение TTL пакета и отбрасывает пакеты, TTL значение которых достигнет нуля, возвращая сообщение об ошибке в ICMP Time Exceeded пакете.
Трассировка работает путем посылки пакетов с постепенным увеличением значения TTL, начиная со значение TTL 1.
Первый маршрутизатор получает пакет, уменьшает значение TTL и отбрасывает пакет, поскольку TTL становится 0.
Маршрутизатор отправляет пакет ICMP Time Exceeded обратно к источнику.
Следующему набору пакетов присваивается значение TTL 2, так что первый маршрутизатор пропускает, но второй маршрутизатор отбрасывает их и отвечает пакетом ICMP Time Exceeded.
Действуя таким образом, traceroute использует возвращенный пакет ICMP Time Exceeded для создания списка маршрутизаторов, через которые проходит пакет, пока не будет достигнут адресат, который возвращает пакет ICMP Echo Reply.
Значения меток времени вычисляемые для каждого маршрутизатора по пути следования являются значениями задержкек (латентности), как правило, измеряются в миллисекундах для каждого пакета.
Отправитель ожидает ответа в течение определенного количества секунд.
Если пакет не отвечается в течение ожидаемого интервала, отображается звездочка.
IP протокол не требует отправлять пакеты по одному и тому же маршруту в направлении конкретного пункта назначения, таким образом, в списке перечисленных хостов, могут быть несколько хостов для одного и того же значения TTL.
Если хост на TTL #N не отвечает, даннный TTL пропускается в отображаемых данных.
Traceroute по умолчанию использует пакеты User Datagram Protocol (UDP), с номерами портов назначения в пределах от 33434 до 33534.
Утилита traceroute обычно имеет возможность альтернативного использования пакетов ICMP Echo Request, или использовать TCP SYN пакетов.
Пример вывода Traceroute: