Обратите внимание, что поле Fragment Offset выражается в 8-байтовых единицах, а не в байтах.
По этой причине размер полезной нагрузки внутри каждого фрагмента, кроме последнего, должен быть кратным 8 байтам.
Поскольку смещение фрагмента кодируется на 13 битах, получается, что его диапазон составляет от 0 до 8191 единиц по 8 байт. Однако, поскольку общая длина учитывает также заголовок IP, максимальный предел смещения фрагмента фактически равен 8189 единицам, а не 8191 единицам, см. Ниже:
Общая длина, кодируемая 16 битами, означает, что она ограничена 65535 байтами.
Затем, поскольку заголовок IP составляет не менее 20 байтов, это приводит к тому, что полезная нагрузка ограничена максимальными 65535 байтами - 20 байтов = 65515 байтов.
Разделение этих 65515 байтов на 8-байтовые блоки приводит к тому, что может быть максимум 8189 единиц, следовательно, смещение фрагментации ограничено максимальными 8189 единицами.
Фрагмент IP, имеющий значение Смещения фрагмента, установленное на это максимальное значение 8189, может иметь полезную нагрузку максимум 3 байта:
Максимум 65535 байтов - минимум 20 байтов - (8189 единиц * 8 байтов на единицу) = максимум 3 байта
Rurre