При использовании команды ping я получаю следующие результаты (Windows):
C:\>ping example.microsoft.com
Pinging example.microsoft.com [192.168.239.132] with 32 bytes of data:
Reply from 192.168.239.132: bytes=32 time=101ms TTL=124
...
В документации к таким утилитам TTL измеряется вхмель. Согласно спецификации ICMPRFC792:
Время жить. Время житьсекунды; поскольку это поле уменьшается на каждой машине, на которой обрабатывается дейтаграмма, значение в этом поле должно быть по крайней мере таким же большим, как количество шлюзов, через которые пройдет эта дейтаграмма.
Таким образом, каждый хост уменьшает TTL как минимум на 1второй. Ничего не сказано охмель. Так почему же используется хмель? Почему бы не использовать, скажемРС, если хосты обрабатывают датаграммы слишком быстро? И почему спецификация ничего не говорит об этомхмель?
решение1
TTL предназначен для прекращения «жизни» пакетов (и потребления ресурсов) в случае возникновения петли маршрутизации.
Первоначально маршрутизаторам требовалось более одной секунды для обработки пакета.
Когда маршрутизаторы стали намного быстрее и начали обрабатывать пакеты менее чем за секунду, с их стороны было бы глупо уменьшать TTL на ноль, потому что тогда это не остановит циклы.
Вместо этого он уменьшает TTL на одну секунду.
Это изменение было задокументировано вЗапрос на предложение 1716раздел 5.3.1.
Поле Time-to-Live (TTL) заголовка IP определяется как таймер, ограничивающий время жизни датаграммы. Это 8-битное поле, а единицами измерения являются секунды. Каждый маршрутизатор (или другой модуль), который обрабатывает пакет, ДОЛЖЕН уменьшить TTL по крайней мере на единицу, даже если прошедшее время было намного меньше секунды. Поскольку это очень часто случается, TTL фактически является ограничением количества переходов на то, как далеко датаграмма может распространяться через Интернет.
Когда маршрутизатор пересылает пакет, он ДОЛЖЕН уменьшить TTL как минимум на единицу. Если он удерживает пакет более одной секунды, он МОЖЕТ уменьшать TTL на единицу за каждую секунду.
Смотрите также:
Поле TTL устанавливается отправителем датаграммы и уменьшается каждым хостом на пути к месту назначения.
Макси-педия - Время Жить (TTL)
Каждый маршрутизатор, через который проходит пакет, должен вычитать как минимум одно значение из поля TTL.