2

Википедия (Время жить) гласит:

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

Является ли "законным" для маршрутизатора уменьшение значения TTL IP-пакета более чем на один?

2 ответа2

2

Как первоначально предполагалось, TTL был указан в секундах; если пакет был задержан более чем на секунду в маршрутизаторе, маршрутизатор соответственно настроил бы TTL. Тем не менее, этот подход труден для реализации и никогда не был в целом поддержан. Современные маршрутизаторы просто уменьшают TTL на единицу, независимо от фактической задержки, поэтому TTL действительно является количеством переходов. [* 7] Рекомендуемое значение TTL по умолчанию - 64, хотя такие значения, как 15 и 32, не редкость.

[* 7] Как вы прочтете в Главе 2, эквивалентное поле в заголовке IPv6 было переименовано в Hop Limit, чтобы более точно отразить его истинное использование.

Источник: Маршрутизация TCP/IP Том 1 - 2-е издание - Cisco Press

1

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

Страница 30 RFC 791 гласит:

Время жить

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

Это поле должно быть уменьшено в каждой точке, где обрабатывается заголовок Интернета, чтобы отразить время, затраченное на обработку дейтаграммы. Даже если нет локальной информации о фактически потраченном времени, поле должно быть уменьшено на 1. Время измеряется в секундах (то есть значение 1 означает одну секунду). Таким образом, максимальное время жизни составляет 255 секунд или 4,25 минуты. Поскольку каждый модуль, обрабатывающий дейтаграмму, должен уменьшить TTL как минимум на единицу, даже если он обрабатывает дейтаграмму менее чем за секунду, TTL следует рассматривать только как верхнюю границу времени, в течение которого дейтаграмма может существовать. Цель состоит в том, чтобы заставить недоставленные датаграммы быть отброшенными и ограничить максимальное время жизни дейтаграмм.

Некоторые протоколы надежных соединений более высокого уровня основаны на предположениях о том, что старые дубликаты дейтаграмм не будут доставлены по истечении определенного времени. TTL - это способ для таких протоколов гарантировать, что их допущение выполнено.

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