Кратко

  • На рисунке RFC 8928 флаг C занимал бит 3 EARO, но позицию не зарегистрировали в IANA; RFC 9685 позднее зарегистрировал двухбитовое поле P в позициях 2 и 3.
  • RFC 9927 переносит C в бит 1 и прямо называет изменение несовместимым с прежней схемой. План перехода не задан, потому что авторам не были известны реализации или развёртывания RFC 8928.
  • Исправленный RFC и действующий реестр закрепляют общую карту значений, но не обновляют прошивки и не доказывают версию парсера, трактовку пакета или результат сервиса.

Две добросовестные команды могли получить два языка

RFC 8928 определил Address-Protected Neighbor Discovery. Во флаге C расширенной опции регистрации адреса записано, что Registration Ownership Verifier содержит Crypto-ID, а узлу 6LoWPAN может быть предложено доказать владение регистрируемым адресом. Схема помещала C в бит 3.

Этого достаточно, чтобы написать код. Но позиция не попала в реестр IANA Address Registration Option Flags. Компактное поле — общий namespace. Разработчик следует рисунку и считает бит занятым. Автор следующего расширения смотрит в реестр и считает незаписанную позицию доступной. Если эти источники не связаны, обе команды способны выполнить разумную процедуру и всё равно создать несовместимые грамматики одного октета.

RFC 9685 позже ввёл Registered Address Type Indicator. Его поле P шириной два бита занимает позиции 2 и 3 и было зарегистрировано надлежащим образом. Бит 3 получил две возможные трактовки. Это не совпадение названий и не косметическая ошибка: одно положение на проводе могло читаться как C либо как часть P.

Источники не сообщают об аварии или наблюдавшейся несовместимости. Они подтверждают более узкий факт: опубликованные документы допускали два разных парсера.

Перенос возвращает единую карту

RFC 9927 заменяет соответствующие схемы EARO в Neighbor Solicitation и Neighbor Advertisement. C переходит в бит 1, а P остаётся в зарегистрированных битах 2 и 3. Заодно «Enhanced Address Registration Option» исправлено на «Extended Address Registration Option».

Текущий реестр IANA теперь однозначен: бит 0 свободен, бит 1 — C, биты 2–3 — P, биты 4–5 — I, бит 6 — R, бит 7 — T. Это общая поверхность координации, а не декоративный список. Следующему автору или разработчику не требуется восстанавливать состояние поля по цепочке старых рисунков.

RFC 8126 даёт процедурный контекст. Выделение дефицитных протокольных значений — действие управления. Однако полномочия реестра имеют границу: он подтверждает согласованное назначение в системе стандартов, но не версию двоичного файла, доставку обновления или интерпретацию полученного пакета.

«Нет известных реализаций» — состояние знания

RFC 9927 признаёт отсутствие обратной совместимости. Отправитель по старой схеме и получатель по новой карте могут по-разному истолковать бит 3. Документ всё же не задаёт переход, потому что реализации и развёртывания RFC 8928 не были известны.

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

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

Реестр координирует смысл, а не измеряет выполнение

Minimum Initial Specification Хэна Лу здесь служит аналитической рамкой, а не правилом IETF: узкое общее соглашение координирует точку соприкосновения, оставляя внедрение участникам. Running-Code Primacy задаёт встречный предел — исправленный документ не заменяет показания работающей системы. Reality Layers не позволяет выдавать нормативный авторитет одного слоя за эксплуатационный факт другого.

RFC 8928 доказывает содержание старой схемы. RFC 9685 и действие IANA доказывают согласованное выделение P. RFC 9927 доказывает нормативную коррекцию и заявленное решение о переходе. Действующий реестр доказывает текущую карту. Ни один слой по отдельности не показывает, как сегодня разбирает поле неназванный бинарный файл.

Для утверждения о runtime нужны идентифицированная версия исходника или бинарника, поведение кодировщика и декодировщика, конфигурация, контролируемые тестовые пакеты или захваты, версия партнёра и наблюдавшаяся трактовка. Утверждение о сервисе требует ещё и измерения сервиса. Исправление реестра не равно исправлению сети.

Чего нет в доказательствах

Не назван продукт, развёрнутый узел, захваченный пакет, эксплуатация уязвимости, простой, доля внедрения или коммерческий эффект. C также не доказывает публичное право на адрес, глобальное разрешение маршрута или принятие сервисом. Его роль ограничена проверкой владения внутри EARO.

Вывод состоит из двух границ. Схема, способная направить разработку, должна быть связана с реестром общего поля. Исправленный реестр следует отделять от доказательств работающего кода. RFC 9927 восстановил первую связь; вторую каждый оператор устанавливает собственными наблюдениями.

Источники