Traceroute на C++
Рассказывается, что такое Traceroute и реализуется программа.
Рассказывается, что такое Traceroute и реализуется программа.
Traceroute использует поле заголовка IP-пакета под названием «Время жизни» (Time To Live, TTL), которое задает время пребывания пакета в сети в секундах или в шагах, где шаг (hop, прыжок) — прохождение пакета до следующего маршрутизатора. Каждый маршрутизатор, на который попадает пакет, выполняет операцию TTL=TTL-1. При TTL=0 пакет из системы удаляется, а отправителю посылается в ответ ICMP-сообщение «Время жизни пакета истекло» (TIME_EXCEEDED).
Эту возможность IP-протокола и решили использовать для вычисления количества шагов до заданного хоста и определения адресов/имен узлов (маршрутизаторов), через которые пакет проходит.