5. Проблемы, связанные с выбором длины IPv6-пакета
IPv6-протокол требует, чтобы каждый Internet-канал MTU-параметр, равный 1280 октетам или больше. Если какая-либо линия связи не способна передавать 1280-октетные IPv6-пакеты целиком, то тогда должен быть специальный протокол канального уровня (в Internet-архитектуре), который бы выполнял функции фрагментирования и сборки IPv6-пакетов.
Линии связи, в которых предусмотрена настройка MTU-параметра (например, РРР-протокол канального уровня, RFC-1661), должны устанавливать значение этого параметра, равное, по крайней мере, 1280 октетов. Тем не менее, существует рекомендация, чтобы значение MTU-параметра было равно 1500 октетов или больше с целью реализации функции повторного обрамления пакета (туннелирование) без использования фрагментации пакета на сетевом (IP) уровне.
Если IP-узел подключен к каждой из нескольких линий связи, то тогда он должен быть способен обрабатывать поступившие пакеты, имеющие длину, которая превышает канальный MTU-параметр. Стандарт RFC-1981 содержит строгое требование: IPv6-узлы должны обеспечивать значение MTU-параметра более 1280 октетов. Однако, программный IPv6-модуль с минимальным набором функций (например, в загружаемом ПЗУ) может запретить «самому себе» передачу пактов длиной не более чем 1280 октетов, и пренебречь требованием стандарта RFC-1981.
С целью передачи пакета более чем 1280 октетов IPv6-узел может использовать заголовок расширения «Фрагментация» для фрагментирования пакета отправителем с последующей его сборкой у получателя(ей). Тем не менее, применение процедуры фрагментирования является не желательным для какого-либо прикладного процесса, который способен управлять длиной своих сообщений с целью обеспечения необходимого MTU-параметра (то есть, «подгонять» длину к 1280 октетам).
IPv6-узел должен быть способен фрагментировать пакет так, чтобы после его сборки, он имел длину 1500 октетов или больше. Наиболее предпочтительным для IPv6-узла является его способность фрагментировать пакеты, которые при их сборке превышали длину 1500 октетов.
Протокол более высокого уровня или прикладной процесс, зависимые от IPv6-фрагментирования при передаче пакетов длиной, превышающей установленный для канала связи MTU-параметр, не должны отправлять сообщения, которые требуют для их передачи формирование IPv6-пакетов длиной более 1500 октетов, до тех пор, пока не будет гарантии того, что узел/получатель способен собирать пакеты большей длины.
В ответ на переданный IPv4-узлу/получателю IPv6-пакет (то есть, пакет, который прошел процедуру преобразования из IPv6-формата в IPv4-формат) IPv6-узел/отправитель может получить ICMP-сообщение с кодом «Слишком большое сообщение» («Too Big message»), указывающее, что на данном ретрансляционном участке было превышено допустимое значение MTU-параметра, составляющее менее 1280 октетов. В таком случае, IPv6-узлу/отправителю нет необходимости уменьшать размер последующих пакетов до значения менее 1280 октетов. Ему просто необходимо включить в эти пакеты заголовок расширения «Фрагментация» так, чтобы маршрутизатор, осуществляющий процедуру преобразования пакета из IPv6-формата в IPv4-формат, мог формировать подходящее значение идентификационного параметра для его использования IPv4-фрагментах.
Замечание. Это означает, что размер поля полезной нагрузки, возможно, придется уменьшить до 1232 октетов (1280 минус 40 для IPv6-заголовка и 8 для заголовка расширения «Фрагментация»), а может оно будет и менее 1232 октетов, если использовать дополнительные заголовки расширения.