Кратко

  • Старший бит типа опции IPv4 показывает, копируется ли опция во все фрагменты.
  • Ноль оставляет её в первом фрагменте, единица переносит во все; это не гарантирует обработку или принятие устройством.

Одна дейтаграмма, разные заголовки

Фрагментация делит данные и создаёт несколько заголовков IPv4. Они не обязаны быть побайтовыми копиями. RFC 791 определяет, что одни опции копируются, а другие остаются только в первом фрагменте.

Правило находится в самой опции. Октет типа содержит один бит копирования, два бита класса и пятибитовый номер опции. Ноль означает, что при фрагментации опция не копируется; единица — что она копируется во все фрагменты.

Поэтому отсутствие в последующем фрагменте опции из исходного заголовка само по себе не означает ошибку. Опция с установленным признаком копирования, напротив, должна попасть в каждый созданный заголовок.

Распространение — не классификация

У остальных семи битов другие задачи. Класс исторически различает управляющие опции и опции отладки и измерений; номер определяет синтаксис опции. Ни одно из этих полей не решает вопрос о копировании.

RFC 791 помечает опции маршрутизации от источника и Security как копируемые. Record Route и Timestamp не копируются и остаются в первом фрагменте. Бит описывает распространение, а не важность, безопасность или приоритет.

Некопируемая опция может остаться в первом фрагменте, поскольку он содержит начало исходных данных. Копируемая опция сообщает, что её состояние должно сопровождать фрагменты, которые могут пересылаться и обрабатываться отдельно.

У каждого фрагмента свой заголовок

Разные наборы опций могут давать разную длину заголовка. У фрагмента без некопируемых опций IHL может быть меньше. Общая длина охватывает собственные заголовок и данные фрагмента, а контрольная сумма IPv4 — только его заголовок; ни одно из этих значений нельзя просто перенести из исходной дейтаграммы.

Правило, пережившее свою эпоху

RFC 7126 в 2014 году сохранил ту же структуру: копирование, класс и номер. Документ также отмечает, что устройства могут отбрасывать, игнорировать или обрабатывать пакеты с опциями IPv4.

Копирование не гарантирует интерпретацию, принятие, безопасность или производительность. Оно лишь указывает, что фрагментация должна поместить в каждый заголовок до применения локальных правил обработки и фильтрации.

Источники