> 1 байт - фрагмент зачем там 01 стоит? если это начало большой датаграммы, что не влезла в один пакет, то должен быть последующий с увеличенным номером, и финальный с >=0x80
Поле FRAG показывает, является ли эта датаграмма самостоятельной или
же фрагментом. Если датаграмма - фрагмент, то установленный старший
бит является признаком последнего фрагмента, в то время как значение
X'00' показывает, что это обычная датаграмма. Значения от 1 до 127
обозначают на позицию фрагменте в последовательности. Каждый
получатель будет иметь REASSEMBLY QUEUE (очередь сборки) и REASSEMBLY
TIMER (таймер сборки) связанные с такой фрагментной датаграммой.
Очередь сборки должна быть переинициализирована и связанные с ЙЙней
фрагменты выкинуты всякий раз при истечении таймера сборки или
с приходом новой датаграммы, чье значение в поле FRAG меньше,
чем наибольшее значение поля FRAG датаграмм, обработанных
при сборке фрагмента. Таймер сборки должен быть не менее 5 секунд.
Приложениям рекомендуется избегать фрагментацию везде, где только
это возможно.
Реализация фрагментации опциональна, в реализациях где фрагментация
не поддерживается, должны отбрасываться любые датаграммы, у которых
поле FRAG отлично от X'00'.