Пакеты эхо-ответа ICMP с гораздо меньшим значением TTL (-190), чем пакеты ICMP с превышением времени

Пакеты эхо-ответа ICMP с гораздо меньшим значением TTL (-190), чем пакеты ICMP с превышением времени

Когда япинг the последние три прыжкатрассировки маршрута до facebook.com из моего местоположения, все пакеты ICMP echo-reply, которые я получаю, имеютТТЛсоответственно58, 57 и 56. Речь идет о 6-м, 7-м и 8-м прыжках с моей машины.

С другой стороны,TTL сообщений ICMP о превышении временидля пакетов, срок действия которых истекает на этих трех участках, все имеют разумные значения: 246, 248, 249.

СейчасОбратный путьвполне может быть не таким же, какпрямой путьи оно может быть разным для сообщений ICMP разных типов.

Но откуда могла взяться такая разница? 200-прыжковыйциклпо пути? Или пакеты эхо-ответа ICMP генерируются с низким TTL (гораздо ниже 255: такое вообще бывает?)?

решение1

Как предложил пользователь kwaio, значение TTL по умолчанию (или общее) для использования при генерацииICMP эхо-запросиэхо-ответпакеты — это 64.

В моем случае первые маршрутизаторы на выбранном мной пути ответили сообщением эхо-ответа с TTL=255 (в источнике), а последние — с TTL=64.

Вместо этого кажется, чтоПревышено время ICMPВо всех случаях сообщения создавались с TTL 255.

После некоторых поисков я обнаружил, что разные поставщики и разные ОС используют разные начальные значения TTL для разных протоколов: binbert.com/blog/2009/12/default-time-to-live-ttl-values

Интересным следствием этого является то, что вы можете определить производителя данного маршрутизатора, дав пакету истечь на нем и отправив ему ping. Подробнее здесь: Дактилоскопия на основе TTL и MPLSи полная статья:«Сетевая идентификация: сигнатуры маршрутизаторов на основе TTL».

Связанный контент