RFC: 2460
Оригинал: Internet Protocol, Version 6 (IPv6) Specification
Предыдущие версии: RFC 1883
Категория: Проект стандарта
Дата публикации:
Авторы: ,
Перевод: Мельников Дмитрий Анатольевич

В процессе восстановления расфрагментированного пакета могут возникнуть следующие нештатные ситуации:

  • Если после получения первого фрагментального пакета в течение последующих 60 секунд были приняты ошибочные (неопределяемые) фрагментальные пакеты, подлежащие сборке (совместно с этим первым принятым фрагментальным пакетом), то тогда сборка данного должна быть прервана, а все принятые фрагменты для сборки этого оригинального пакета должны быть уничтожены. Если в такой ситуации был принят первый фрагментальный пакет (то есть тот пакет, в котором поле «Смещение (сдвиг) данного фрагмента» нулевое), то тогда целесообразно передать отправителю этого фрагментального пакета ICMP-сообщение «Время на сборку расфрагментированного пакета просрочено».

  • Если длина фрагмента, указанная в поле «Размер поля полезной нагрузки» фрагментального пакета не кратна 8 октетам и поле «Флаг» содержит единицу, то тогда этот фрагмент должен быть уничтожен, а его отправителю необходимо передать ICMP-сообщение «Параметрическая проблема» («Parameter Problem») IP-узлу отправителю IPv6-пакета. Это ICMP-сообщение должно содержать значение «0» в поле «Код ошибки», указывая тем самым на наличие ошибки в поле «Размер поля полезной нагрузки».

  • Если длина и смещение фрагмента таковы, что поле полезной нагрузки восстановленного пакета с помощью этого фрагмента превышает 65535 октетов, то тогда этот фрагмент должен быть уничтожен, а его отправителю необходимо передать ICMP-сообщение «Параметрическая проблема» («Parameter Problem») IP-узлу отправителю IPv6-пакета. Это ICMP-сообщение должно содержать значение «0» в поле «Код ошибки», указывая тем самым на наличие ошибки в поле «Смещение (сдвиг) данного фрагмента».

Далее приводятся не штатные ситуации, вероятность появления которых считается близкой к нулю, но они не считаются ошибками, если они всё-таки возникают:

  • Количество и содержание заголовков, предшествующих заголовку «Фрагментация», в различных фрагментальных пакетах, но принадлежащих одному и тому же исходному пакету, могут быть различными. Если какие бы то ни было заголовки, предшествующие заголовку «Фрагментация», были представлены в каждом фрагментальном пакете, то по прибытии в IP-узел они обрабатываются в порядке поступления фрагментов на сборку исходного пакета. И только те заголовки, которые имели место в фрагментальном пакете с нулевым полем «Смещение (сдвиг) данного фрагмента» будут размещены в восстановленном пакете.

  • Значения в полях «Идентификатор следующего заголовка расширения» в заголовках «Фрагментация» разных фрагментальных пакетов, но принадлежащих одному и тому же исходному пакету, могут быть различными. И только то значение поля «Идентификатор следующего заголовка расширения» будет размещено в восстановленном пакете, которое присутствовало в фрагментальном пакете с нулевым полем «Смещение (сдвиг) данного фрагмента».

2007 - 2017 © Русские переводы RFC, IETF, ISOC.