Кратко

  • RFC 9994 определяет Network Action Sub-Stack для MPLS-действий и сопутствующих данных; наличие структуры в пакете не доказывает её обработку по пути.
  • Способности узлов, Readable Label Depth, область действия, правило для неизвестного opcode и роль узла отделяют синтаксис от допуска.
  • Операционная доказательность требует раздельно видеть инкапсуляцию, выбор пути, локальную обработку, эффект пересылки и наблюдаемый результат.

RFC 9994 вводит стандартизированную форму для MPLS Network Action Sub-Stack, NAS. Его начало обозначает MNA base Special-Purpose Label со значением 4; за ним должна следовать запись Format B с первым opcode и параметрами NAS. Записи Format C и Format D могут нести дополнительные действия и Ancillary Data. Такая конструкция может влиять на решения о пересылке, переносить сведения OAM или обслуживать пользовательские операции.

Слово «может» здесь критично. Стандарт описывает возможность выразить действие в общей грамматике. Он не сообщает, что конкретный маршрут развёрнут, что каждый узел понимает действие или что нужный эффект произошёл. Более того, для нового Network Action Indicator RFC требует отдельную спецификацию формата, области действия, количества и синтаксиса сопутствующих данных, подробной процедуры обработки и взаимодействий с другими действиями. Сам opcode — это указатель на контракт, а не весь контракт и не замена локальной политике.

Инкапсулирующий узел обязан удостовериться, что транзитные и выходные узлы способны обработать NAS и что инкапсулированный пакет не превышает MTU пути. Система, выбирающая путь, должна учитывать MNA-возможности и Readable Label Depth транзитных узлов, а также возможности egress. Эти сведения могут быть заданы конфигурацией, получены средствами управления или распространены протоколами управления; способ получения находится вне области RFC 9994. Поэтому наличие NAS не доказывает, что необходимые данные о маршруте были получены, свежи или применены.

Область действия не отменяет локального решения

Поле IHS задаёт одну область действия для всех индикаторов в NAS. I2E означает обработку только выходным узлом. HbH предписывает обработку NAS всеми узлами на пути. Select ограничивает её конкретными узлами, которые выводят NAS наверх стека. Для разных областей одному пакету нужны разные NAS.

Это точное правило обработки для узлов, способных её выполнить, но не инвентарная ведомость сети. HbH не подтверждает, что каждая промежуточная система читает нужную глубину или имеет требуемую реализацию. Select не фиксирует, кто выбрал такие узлы, как проверил их возможности и когда это решение потеряет актуальность. Указанная в пакете область определяет намерение обработки, но не заменяет управление состоянием пути.

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

Роли в документе важнее короткой формулы «отправитель инициировал действие». Encapsulating node может добавить NAS в рамках своей политики, ограничений размещения и изученных возможностей. Transit node обрабатывает NAS в установленном порядке. Penultimate node не должен удалить последнюю открытую копию HbH или I2E NAS, чтобы egress смог её обработать. Egress node удаляет каждый полученный NAS. Значит, утверждение об исполненном действии должно показывать: что было инкапсулировано, на каких способностях построен путь, кто прочёл стек, как сработало неизвестное действие и что наблюдалось при выходе.

Сопутствующие данные не нейтральны. RFC 9994 предупреждает: изменение некоторых битов значения метки способно изменить выбор ECMP и нарушить порядок пакетов одного потока. В соответствующих сетях изменяемые данные не должны занимать эти биты; документ предлагает альтернативное размещение, но не обещает производительность, масштаб или успех будущего MNA-приложения. Структурная корректность NAS не отменяет этот локальный инженерный риск.

В разделе безопасности сохраняется тот же принцип. Действия инкапсулирующего узла могут затронуть множество узлов пути; локально определённые действия имеют ограниченный надзор; промежуточные узлы могут менять Ancillary Data; на границе провайдерского домена до внедрения требуется возможность фильтровать MNA-пакеты из другого административного домена. Счётчики принятых пакетов, обработанных NAS, неизвестных действий с пропуском или сбросом и ошибок формата полезны. Но без сопоставления с конкретными решениями и состоянием пути они не являются доказательством достигнутого эффекта.

Подход Heng Lu, сформулированный в Running-Code Primacy, удерживает правильный порядок. Общий слой должен задавать минимальные правила совместимости. Затем идут локально проверяемая реализация, принятие и свидетельства. Синтаксис пакета, известная способность, локальный допуск, обработка ролью, эффект пересылки и результат услуги — это разные слои реальности, а не одно слово «действие».