Кратко

  • IPv4 ID различал наборы фрагментов, однако раннее правило требовало уникальности и от датаграмм, которые никогда не будут разбиты.
  • 65 536 значений могут обернуться до истечения старых фрагментов; предсказуемая последовательность дополнительно стала сигналом о работе хоста.
  • RFC 6864 требует игнорировать ID атомарного датаграмма и сохраняет уникальность для уже фрагментированного либо ещё допускающего фрагментацию трафика.

Имя для частей одного целого

RFC 791 позволил шлюзу разделить датаграмму под меньший MTU. Получатель выбирал контекст сборки по источнику, назначению, протоколу и Identification. Fragment Offset задавал место, MF обещал продолжение, DF запрещал деление.

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

RFC 1122 требовал различать все датаграммы одной тройки в течение максимального времени жизни. Документ также обсуждал удаление дублей и повторное использование ID идентичной копией.

Метка сборки превратилась в неофициальную службу идентичности. Источник расходовал номера даже с DF, а наблюдатели извлекали порядок, активность и отпечаток реализации.

Счётчик обогнал время сети

В 16 битах всего 65 536 значений. Опасность возникает, если старый фрагмент с повторённым номером ещё может попасть в тот же буфер.

RFC 4963 описывает ошибочную сборку на высоких скоростях. Фрагменты двух оригиналов с одним ID могут образовать ложное целое. Checksums, потери и порядок определяют отбрасывание, повреждение или падение производительности.

Для этого нужна фрагментация и пересечение времён. Уникальность неделимого целого пакета не защищает опасный случай.

RFC 6864 показывает: при MTU 1500 байт и двух минутах старое универсальное правило ограничило бы один протокол между адресами примерно 6,4 Mbps. Это расчёт для указанных условий, а не общий порог; он демонстрирует неисполнимость обещания.

Видимая последовательность стала побочным интерфейсом

Глобальный инкремент прост. Разница двух проб раскрывает промежуточные отправки, помогает узнавать стек или угадывать fragment ID. RFC 7739 разбирает последствия предсказуемости и варианты генерации.

Случайность не отменяет коллизий в конечном пространстве. Реализации также различались: некоторые давно ставили постоянный ID там, где фрагментация не нужна. Наблюдаемый рисунок не стал интероперабельной гарантией.

Атомарность выключила функцию поля

RFC 6864 определяет атомарный датаграмм как DF=1, MF=0, offset ноль. Он не фрагмент и не может быть фрагментирован корректным transit-устройством.

Источник вправе записать любой ID. Ноль разрешён, но не особый. Маршрутизатор, адресат, firewall, NAT и конец туннеля обязаны игнорировать значение. Норма не только освобождает отправителя, но и отзывает право читателя принимать решение.

Неатомарный случай — логическое дополнение. Целая датаграмма с DF=0 ещё может быть разбита; MF или offset показывают уже созданный фрагмент. Там ID сохраняет назначение.

Обязанность осталась у общей зависимости

Источник неатомарных датаграмм не повторяет ID в одной тройке за максимальное время жизни. Повторно отправленная копия получает новый номер. Хосты, входы туннелей и переписывающие адреса устройства отвечают за правило, когда создают заголовок.

Путь обязан соблюдать DF и не очищать его. Иначе он превратит пакет с законно произвольным ID во фрагменты, которым внезапно понадобится надёжная метка.

Локальная свобода держится на дисциплине маршрута.

Меньшее значение укрепило совместимость

RFC 6864 запретил дедупликацию по ID. Диагностике нужна иная корреляция, подсчёту хостов за NAT — иное доказательство. Атомарный ID не обещает entropy или секретность; свободные биты способны даже стать covert channel.

Формат IPv4 не менялся. Существующие flags отделили контексты, сохранив проводную совместимость и уменьшив контракт.

Это не отмена фрагментации. Сборка сохранила необходимую идентичность, а остальные роли лишились права превращать удобство чтения в полномочие.

Источники и пределы

Закрытый набор: RFC 791, RFC 1122, RFC 4963, RFC 6864, RFC 7739. Он подтверждает механизм, старое правило, скоростной риск, атомарную границу и предсказуемость, но не сегодняшние реализации, долю фрагментов, частоту атак или общий порог повреждения.