
0 1 0 0 1 0 0 0 P P P D T R 0 0
0 DF MF
1 х х х х х х х 0 0 0 0 0 1 1 0
1 х х х х х х х 0 0 0 0 0 0 1 1
ID
Flags
Fragment Offset
Protocol
Header Checksum
Version
Total Length
IHL
TOS
Destination Address
TTL
Тело опции длиной 4 байта (продолжение)
Тип опции
Длина опции
Тип опции
Тело опции длиной 4 байта
Длина опции
Source Addess
Тело опции 1 байт
Padding
EOOF
Padding
можно сформировать и так:
0 1 0 0 1 0 0 0 P P P D T R 0 0
0 DF MF
1 х х х х х х х 0 0 0 0 0 1 1 0
1 х х х х х х х 0 0 0 0 0 0 1 1
ID
Flags
Fragment Offset
Protocol
Header Checksum
Version
Total Length
IHL
TOS
Destination Address
TTL
Тело опции длиной 4 байта (продолжение)
Тип опции
Длина опции
Тип опции
Тело опции длиной 4 байта
Длина опции
Source Addess
Тело опции 1 байт
NOOP
NOOP
NOOP
Из вышеприведенного следует, что две рассмотренные опции служат
целям выравнивания конца поля опций и выравнивания внутри поля опций,
при чем формально говоря корректные заголовки можно строить применяя
только одну, любую из этих опций. Стиль формирования опций IP пакета
зависит от реализации стека TCP/IP и на может конфигурироваться в рамках
операционной системы по усмотрению разработчиков.
Опции EOOF и NOOP исчерпывают множество опций первого типа, т.е.
состоящих только их поля Option-type. Все остальные опции, которые мы
рассмотрим, имеют формат второго типа:
Option-type
Option-length
Option Data