
заголовка на этот раз должна быть равна 26 байт, но это как уже многократно
говорилось, не возможно, поэтому заголовок придется делать не 26, а 28 байт.
Поле IHL равно 7 (28 байт – длина заголовка), из них 20 байт – стационарная
часть заголовка. Следовательно, опции занимают в заголовке снова 8 байт.
После поля Destination IP Address приемная сторона начинает считывать опции,
и второй байт первой опции имеет значение 6, следовательно, опции не
закончились – их должно быть 8 байт, а первая опция занимает лишь 6 байт.
Тогда после того, как все опции (в нашем случае – одна) закончились,
необходимо установить опцию EOOF, показывающую, что поле опций
закончено, но так как и теперь четырехбайтовая граница не достигнута, то
поле опции EOOF необходимо применить заполнитель из байта (или байтов)
00000000. Пример такого заголовка приведен ниже.
0 1 0 0 0 1 1 1 P P P D T R 0 0
0 DF MF
0 0 0 0 0 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Source Addess
Destination Address
TTL
ID
Flags
Fragment Offset
Protocol
Header Checksum
Version
Total Length
IHL
TOS
Тип опции
Тело опции длиной 4 байта
Длина опции
EOOF
Тело опции длиной 4 байта (продолжение)
Заполнитель
Если длина опции равна 5 байт, то помимо опции EOOF должно быть применено
два байта заполнителя:
0 1 0 0 0 1 1 1 P P P D T R 0 0
0 DF MF
0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Source Addess
Destination Address
TTL
ID
Flags
Fragment Offset
Protocol
Header Checksum
Version
Total Length
IHL
TOS
Тип опции
Тело опции длиной 3 байта
Длина опции
EOOF
Заполнитель
Тело опции длиной 3 байта
(продолжение)
Заполнитель
А вот если длина опции равна 4 байта, то ни трех байт заполнителя, ни самой
опции EOOF не применяют – тогда опция, длиной 4 байта сама по себе
заканчивается по четырехбайтовой границе. Пример такого заголовка
приведен ниже.