6.14.3 Поле смещения фрагмента

We use cookies. Read the Privacy and Cookie Policy

6.14.3 Поле смещения фрагмента

Блок фрагментации (fragment block) — это 8-октетная порция данных. Число в поле смещения фрагмента (Fragment Offset) указывает величину смещения данного фрагмента (относительно начала датаграммы) в единицах блоков фрагментирования. Это поле имеет длину 13 бит (т.е. смещение может быть от 0 до 8192 блоков фрагментирования — или от 0 до 65 528 октетов). Предположим, что маршрутизатор разделил датаграмму (с идентификатором 348) из 3000 байт данных на три датаграммы по 1000 байт. Каждый фрагмент будет содержать собственный заголовок и 1000 байт данных (125 блоков фрагментирования). Содержимое полей идентификации, флагов и смещений фрагментов будет следующим:

Фрагмент Идентификатор Флаги Смещение фрагмента 1 348 Можно фрагментировать, More 0 блоков от начала 2 348 Можно фрагментировать, More 125 блоков (1000 октетов) от начала 3 348 Можно фрагментировать, Last 250 блоков (2000 октетов) от начала

Когда датаграмма доставляется без фрагментации, значения полей будут следующими:

Идентификатор Флаги Смещение фрагмента 348 Можно фрагментировать, Last 0 блоков от начала

Хост получателя, приняв датаграмму, помеченную как "Last" и имеющую смещение 0, знает, что она не фрагментирована.