
0 1 0 0 0 1 1 1 P P P D T R 0 0
0 DF MF
1 х х х х х х х 0 0 0 0 0 1 1 1
Destination Address
TTL
EOOF
Тело опции длиной 5 байта (продолжение)
Тип опции
Тело опции длиной 5 байта
Длина опции
Source Addess
Version
Total Length
IHL
TOS
ID
Flags
Fragment Offset
Protocol
Header Checksum
Видно, что в этом примере опция EOOF копируется во все фрагменты. Но
фактически эта опция не является копируемой (она формально и не является
не копируемой) – она просто используется там, где это необходимо. Возможна
ситуация, когда в исходном пакете опции EOOF не было, но она появится во
фрагментах.
Пример: пусть в пакете присутствовало 3 опции: длиной 6 байта, 3 байта и 3
байта. Пусть одна из трехбайтовых опций является не копируемой, а две
остальных опции – копируемые. Тогда исходный пакет и первый фрагмент
имеют вид:
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
0 х х х х х х х 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 байт
Тип опции
Длина опции
Тело опции 1 байт
Заметим, опции EOOF нет. А вот как выглядят все остальные фрагменты: