Я читаю RFC 2460 об IPv6, и там говорится, что «пакет отбрасывается, если Hop Limit уменьшается до нуля», то есть, если маршрутизатор уменьшает Hop Limit пакета до 0, другой другой маршрутизатор не может получить пакет с ограничением переходов 0?
Я задаю этот вопрос, потому что прочитал в google: «пакет отбрасывается, если маршрутизатор получает пакет с пределом переходов 0, или маршрутизатор уменьшает предел переходов пакета до 0». На мой взгляд, второго случая не может быть.
Я прав ? Спасибо !
Обычно маршрутизатор никогда не получит пакет с нулевым пределом перехода, но в какой-то момент это может произойти из-за неаккуратного кодирования, злонамеренных компьютеров или деградации сети.
Проблема в том, что происходит, когда вы уменьшаете значение, равное нулю. Так как это 8-битное число без знака, оно будет повторяться и длиться еще 255 переходов.
Вы дошли до этого в 2460 году:
8.2 Maximum Packet Lifetime
Unlike IPv4, IPv6 nodes are not required to enforce maximum packet
lifetime. That is the reason the IPv4 "Time to Live" field was
renamed "Hop Limit" in IPv6. In practice, very few, if any, IPv4
implementations conform to the requirement that they limit packet
lifetime, so this is not a change in practice. Any upper-layer
protocol that relies on the internet layer (whether IPv4 or IPv6) to
limit packet lifetime ought to be upgraded to provide its own
mechanisms for detecting and discarding obsolete packets.