Я новичок в компьютерных сетях и пытаюсь понять traceroute с помощью этого урока:

http://community.spiceworks.com/how_to/show/47298-how-traceroute-works

Это IP-пакеты с транспортными пакетами UDP с TTL (время жизни), установленным в 1. Причина, по которой они отправляются одному, состоит в том, что как только они достигают следующего IP-адреса, пакеты истекают, отправляя сообщение «Превышено время» обратно хосту, который их отправил.

Так что, если я правильно понимаю, когда TTL = 1, то мой домашний маршрутизатор, который является первым прыжком, уменьшает его до 0 и отправляет его на второй маршрутизатор, который является моим шлюзом isps, который сгенерирует первое сообщение Time Exceed, как я знаю, что это прыжок на маршруте.

Что я не понимаю, так как я могу получить адрес самого первого маршрутизатора (который является моим домашним маршрутизатором), когда TTL равен 1?

Спасибо

2 ответа2

1

Каждый маршрутизатор на маршруте уменьшает TTL на единицу и отвечает превышением ICMP Time, если TTL достигает нуля. Ваш локальный traceroute извлекает адрес источника и может выяснить, какой маршрутизатор отбросил ваш пакет. Это ваш роутер, если TTL установлен в единицу.

Если вы готовитесь к любым видам тестов в области компьютерных сетей, попробуйте ответить на дополнительные вопросы, связанные с traceroute. Какие протоколы будут использоваться выше IP от traceroute? Почему эти протоколы? Что происходит, если маршрутизатор не отвечает сообщением ICMP? Что произойдет, если межсетевой экран на маршруте блокирует ICMP? Что произойдет, если маршрут изменится во время работы traceroute?

0

Самый первый маршрутизатор получает пакет с TTL, равным 1, с уменьшением на 1, поэтому теперь это TTL, равный 0. Затем маршрутизатор отвечает превышением времени. Каждый прыжок понижает TTL на один, а затем воздействует на него.

Источник: Traceroute / Реализация в Википедии

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .