Книга: TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)

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

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, знает, что она не фрагментирована.

Оглавление книги


Генерация: 1.188. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз