Размеры фрагментов должны выбираться таким образом, чтобы размеры сформированных фрагментальных пакетов не превышали максимально допустимый размер передаваемой единицы данных для конкретного маршрута доставки до конечного IPv6-узла/получателя. В IPv6-узле/получателе осуществляется обработка принятых фрагментальных пакетов и на их основе сборка оригинального пакета в нефрагментарном (исходном) формате (рис.10).
Существуют следующие правила сборки оригинального пакета:
Расфрагментированный пакет восстанавливается только из фрагментальных пакетов, которые содержат одинаковые адреса отправителя/получателя и значение идентификатора.
Нефрагментируемая часть восстановленного (ранее расфрагментированного) пакета состоит из всех перечисленных прежде заголовков, не включая заголовка фрагментации первого фрагментального пакета (то есть пакета, в котором поле «Смещение (сдвиг) данного фрагмента» содержит нулевое значение), с двумя следующими изменениями:
Значение поля «Идентификатор следующего заголовка расширения» в последнем заголовке нефрагментируемой части пакета извлекается из поля «Идентификатор следующего заголовка расширения» заголовка «Фрагментация» первого фрагментального пакета.
Значение поля «Размер поля полезной нагрузки» рассчитывается на основе длины нефрагментируемой части пакета и значения длины и значения в поле «Смещение (сдвиг) данного фрагмента» последнего фрагментального пакета. Для примера, может быть использована следующая формула для расчета значение поля «Размер поля полезной нагрузки» восстановленного пакета:
PL.orig = PL.first - FL.first - 8 + (8 × FO.last) + FL.last
где, «PL.orig» — значение в поле «Размер поля полезной нагрузки» ранее расфрагментированного (оригинального) пакета, «PL.first» — значение в поле «Размер поля полезной нагрузки» первого фрагментального пакета, «FL.first» — длина фрагмента, следующего сразу после заголовка «Фрагментация» первого фрагментального пакета, «FO.last» — значение в поле «Смещение (сдвиг) данного фрагмента» заголовка «Фрагментация» последнего фрагментального пакета, «FL.last»— длина фрагмента, следующего сразу после заголовка «Фрагментация» последнего фрагментального пакета;
Фрагментируемая часть восстанавливаемого IPv6-пакета формируется из фрагментов следующих сразу за заголовками «Фрагментация» каждого фрагментального пакета. Размер каждого фрагмента рассчитывается путём вычитания из значения в поле «Размер поля полезной нагрузки» пакета длины заголовков между IPv6-заголовком и собственно самим фрагментом. Относительная позиция каждого фрагмента определяется по значению в поле «Смещение (сдвиг) данного фрагмента».
Заголовок «Фрагментация» из восстановленного пакета изымается.