3.3. Сообщение «Превышение времени»
На рис.4 представлен формат сообщения «Превышение времени».
0 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 0 |
1 |
«Тип ICMPv6-сообщения» | «Тип кодирования» | «Проверочная сумма» | |||||||||||||||||||||||||||||
«Не используется» | |||||||||||||||||||||||||||||||
В этом субполе размещается принятое ошибочное сообщение (либо его часть). | |||||||||||||||||||||||||||||||
При этом суммарный размер данного ICMPv6-сообщения не должен превышать | |||||||||||||||||||||||||||||||
максимальный разрешенный размер IPv6-пакета. |
Рис.4. Формат ICMPv6-сообщения «Превышение времени»
Поле «Адрес получателя» IPv6-заголовка пакета:
Он копируется из поля «Адрес отправителя» IPv6-заголовка принятого ошибочного пакета.
Поле «Тип ICMPv6-сообщения» ICMPv6-сообщения:
Это поле содержит значение «3».
Поле «Тип кодирования» ICMPv6-сообщения:
Это поле может содержать следующие значения:
«0» — при доставке IP-пакета превышено разрешенное число ретрансляционных участков;
«1» — превышено время повторной сборки фрагментов.
Поле «Не используется» ICMPv6-сообщения:
Это поле не используется при всех значениях поля «Тип кодирования». Оно должно заполняться нулями отправителем и игнорироваться получателем.
Применение ICMPv6-сообщения «Превышение времени»:
Если маршрутизатор принял IP-пакет, в котором поле IP-заголовка «Максимальное число ретрансляционных участков» содержит значение ноль или сам маршрутизатор «обнуляет» это поле, то тогда он должен уничтожить этот принятый IP-пакет и передать ICMPv6-сообщение «Размер IP-пакета слишком большой» (со значением «0» в поле «Тип кодирования») источнику этого ошибочного IP-пакета. Это означает, что имел место «петлевой маршрут» или максимальное число ретрансляционных участков слишком мало.
Уведомление протокола вышележащего уровня:
IP-узел, который получил ICMPv6-сообщение «Превышение времени», должен передать его протокольному процессу вышележащего уровня.