Исходник программы,
который показывает принцип трассировки маршрута
к WWW-адресу - Автор
Александр "Rouse_"
Багель.
Как это работает?
Для начала нужно вспомнить формат заголовка IP-пакета, точнее одно
из его полей - TTL (Time To Live).
Это восьмибитное поле задает максимальное число хопов (hop -
"прыжок" - прохождение дейтаграммы от одного маршрутизатора к другому) в
течение которого пакет может находиться в сети.
Каждый маршрутизатор, обрабатывающий эту дейтаграмму, выполняет
операцию TTL=TTL-1.
Когда TTL становится равным нулю, маршрутизатор уничтожает пакет,
отправителю высылается ICMP-сообщение Time Exceeded.
Утилита посылает в направлении заданного хоста пакет с TTL=1, и
ждет, от кого вернется ответ "time exceeded".
Отвечающий записывается как первый хоп (результат первого шага на
пути к цели).
Затем посылаются последовательно пакеты с TTL=2, 3, 4 и т.д. по
порядку, пока при некотором значении TTL пакет не достигнет цели и не
получит от нее ответ.
|