10

Когда я использую команду 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 измеряется в прыжках. Согласно спецификации ICMP RFC 792:

Время жить. Время жить в секундах ; так как это поле уменьшается на каждом компьютере, на котором обрабатывается дейтаграмма, значение в этом поле должно быть как минимум равно количеству шлюзов, через которые эта дейтаграмма будет проходить.

Таким образом, каждый хост уменьшает TTL по крайней мере на 1 секунду. Ничего не сказано о хмеле. Так почему хмель используется? Почему бы не использовать, скажем, ms, если хосты обрабатывают дейтаграммы слишком быстро? И почему спецификация ничего не говорит о хмеле?

1 ответ1

7

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

Первоначально маршрутизаторам может потребоваться более одной секунды для обработки пакета.

Когда маршрутизаторы стали намного быстрее и начали обрабатывать пакеты менее чем за одну секунду, было бы глупо уменьшить TTL на ноль, потому что тогда он не остановит циклы.

Таким образом, вместо этого он уменьшает TTL на одну секунду.

Это изменение было задокументировано в разделе 5.3.1 RFC 1716 .

Поле времени жизни (TTL) заголовка IP определяется как таймер, ограничивающий время жизни дейтаграммы. Это 8-битное поле, а единицы измерения - секунды. Каждый маршрутизатор (или другой модуль), который обрабатывает пакет, ДОЛЖЕН уменьшать TTL как минимум на единицу, даже если прошедшее время было намного меньше секунды. Поскольку это очень часто так, TTL - это ограничение количества переходов на то, как далеко дейтаграмма может распространяться через Интернет.

Когда маршрутизатор пересылает пакет, он ДОЛЖЕН уменьшить TTL как минимум на единицу. Если он удерживает пакет более одной секунды, он МОЖЕТ уменьшить TTL на единицу за каждую секунду.

Смотрите также:

Википедия - Время жить:

Поле TTL устанавливается отправителем дейтаграммы и уменьшается каждым хостом на маршруте к месту назначения.

Макси-Педиа - время жизни (TTL)

Каждый маршрутизатор, через который проходит пакет, должен вычесть хотя бы один счет из поля TTL.

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