Кратко
- RFC 9790 объявляет устаревшим распознавание полезной нагрузки MPLS только по четырём битам после стека.
0x4и0x6могут быть версиями IPv4/IPv6, но могут принадлежать не-IP кадру или Post-Stack Header. - Правильный смысл задаёт контекст предыдущих меток в плоскости управления. Для балансировки явная Entropy Label или FAT Pseudowire Label надёжнее полей, извлечённых из всего лишь предполагаемого формата.
- Запись реестра, Control Word и метка энтропии уменьшают неоднозначность, но отдельно не доказывают реализацию, выбранный путь, равномерность, порядок пакетов или результат услуги.
Механизм пересылки находит Bottom-of-Stack и видит дальше 0100. Устаревшая логика принимает это за версию IPv4, переходит к ожидаемым смещениям адресов и портов и строит ECMP-хеш.
На деле перед ним Ethernet-кадр в псевдопроводе. 0100 — начало адреса назначения MAC. Устройство не обнаружило IP. Оно превратило визуальное совпадение в идентичность, а догадку — в реальный выбор линии.
RFC 9790 посвящён пространству из шестнадцати значений. Но его главный результат — строгая граница между увиденным битом, допустимым толкованием и выполненным действием.
Полубайт подтверждает лишь собственное наличие
После заголовка второго уровня MPLS-пакет несёт последовательность четырёхоктетных Label Stack Entry. Затем может идти Post-Stack Header и встроенный пакет. Бит Bottom-of-Stack обозначает последнюю метку, но ничего не сообщает о следующей структуре.
PFN — старшие четыре бита первого октета после стека. Для голого IPv4 они совпадают с версией 4, для IPv6 — с 6. Если дальше начинается Ethernet, управляющее слово псевдопровода, связанный канал или другой PSH, эти биты принадлежат ему.
В стеке MPLS нет общего идентификатора типа нагрузки. RFC 9790 требует контекста, связанного плоскостью управления с предыдущей LSE или группой LSE. Захват пакета доказывает присутствие 0x4; из него одного IPv4 не следует.
Это и есть дисциплина слоёв реальности. Биты — наблюдение. Привязка сервиса — контекст. Парсер — интерпретация. Таблица пересылки — действие. Объединяя их фразой «это IP», оператор скрывает место, где закончились доказательства.
Удобная эвристика стала скрытой политикой
Старый приём решал настоящую задачу. Пятёрка полей IP распределяет потоки тоньше, чем верхняя метка. Поэтому оборудование читало 4 как IPv4, 6 как IPv6, брало предполагаемые поля, а для прочих значений возвращалось к хешу стека.
При ложной предпосылке точность оказывается вымышленной. MAC-адрес Ethernet может начинаться с 4 или 6. RFC 8469 указывает и на выданные адреса таких диапазонов, и на рандомизацию локальных MAC. Без PW Control Word транзитный узел может разобрать Ethernet как IP.
Несвязанные байты становятся ключом потока. Пакеты одной упорядоченной последовательности могут попасть на разные компоненты, изменить порядок или получить ошибочную классификацию. Догадка не остаётся в журнале — она управляет физическим маршрутом.
Значение находится в предшествующем контексте
RFC 9790 меняет порядок вопроса. Сначала нужно узнать, какую структуру допускает привязка метки, а не на что похожи четыре бита. Если нагрузка не является IPv4 или IPv6, требуется PSH с PFN, отличным от 0x4 и 0x6.
PW Control Word служит разделителем для старого оборудования. Он не удостоверяет отправителя и не подтверждает содержимое кадра. Он устраняет одну известную неоднозначность — и именно поэтому его утверждение надёжно.
Реестр IANA сознательно переиспользует значения. 0x0 встречается в форматах DetNet, NSH и PW; 0x1 — у нескольких связанных каналов. Различить их позволяет предыдущая сервисная метка. PFN не задуман как глобально уникальный код типа.
Так работает минимальная общая спецификация Heng Lu: общий слой хранит только необходимые значения, ссылки и ограничения. Каждый узел проверяет пакет по локальному состоянию. Реестр согласует семантику, но не видит пакет и не удостоверяет итог.
Два реестра отвечают на разные вопросы
IP Version Numbers описывает версии внутри IP-заголовка. Post-Stack First Nibble описывает типы PSH. Их пересечение в значениях 4 и 6 существует ради обратной совместимости.
Новый реестр охватывает все шестнадцать значений, а новые назначения требуют Standards Action. Это делает нормативное использование прозрачным. Но строка IANA доказывает только состояние документа: она не подтверждает формат данного пакета, поддержку на плате или включённую конфигурацию.
Публикация нормы не развёртывает код. Реестр не может свидетельствовать о потоке, которого никогда не наблюдал.
Энтропию следует создавать там, где есть знания
RFC 9790 рекомендует отдельную метку: Entropy Label из RFC 6790 или FAT Pseudowire Label из RFC 6391. Входной LSR ещё знает исходный пакет и сервис. Он выбирает допустимые поля, вычисляет значение и помещает его в стек.
В RFC 6790 зарезервированная метка 7 — Entropy Label Indicator — непосредственно предшествует Entropy Label. Транзитным узлам достаточно стека; им не нужно притворяться, что они понимают внутренний пакет. Осведомлённый край создаёт сигнал, ядро с меньшим контекстом использует явное значение.
Явность не гарантирует равномерность. Остаются согласование возможностей, глубина стека и качество хеша. Крупные потоки могут совпасть на одном компоненте. Метка доказывает переданное значение, но не пропускную способность, задержку и порядок.
Режим FAT для псевдопровода необязателен, а один путь остаётся вариантом по умолчанию. Концы сигнализируют способность передачи и приёма либо получают одинаковую статическую настройку. Один увиденный Flow Label не доказывает двустороннего согласия и использования каждым транзитным узлом.
Устаревший метод не исчезает от публикации
RFC 9790 обновляет RFC 4928 и запрещает вывод типа по PFN в новых реализациях и развёртываниях. Старые маршрутизаторы могут продолжать прежнюю работу. Для окончательной отмены документ требует данных о продаваемых и установленных реализациях, которые всё ещё используют эвристику.
Стандарт меняет направление проектирования, но не прошивает действующие ASIC. Один сервисный маршрут может пересекать разные поколения плат и ПО. Пометка deprecated не доказывает вывод из эксплуатации, а наследие не даёт вечного исключения.
Полная квитанция разделяет стек и BoS, следующий октет, привязку меток, применимый формат и реестр, аппаратную версию и парсер, Entropy/FAT Label или резервные входы, выбранный компонент, порядок/потери/задержку и клиентский итог. Захват, снимок плоскости управления, конфигурация и повторяемый тест имеют разные роли.
RFC 9790 не увеличивает власть четырёх битов, а возвращает её в реальные границы. Надёжная координация не делает символ сувереном. Она требует квитанцию на каждый переход от наблюдения к выводу.
Источники
- RFC 9790 — IANA Registry and Processing Recommendations for the First Nibble Following a Label Stack
- RFC 4928 — Avoiding Equal Cost Multipath Treatment in MPLS Networks
- RFC 3032 — MPLS Label Stack Encoding
- RFC 4385 — Pseudowire Emulation Edge-to-Edge Control Word
- RFC 6790 — The Use of Entropy Labels in MPLS Forwarding
- RFC 6391 — Flow-Aware Transport of Pseudowires over an MPLS Packet Switched Network
- RFC 8469 — Recommendation to Use the Ethernet Control Word
- IANA — Post-Stack First Nibble
- Heng Lu — Running-Code Primacy
- Heng Lu — Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
- Heng Lu — On Reality Layers, Symbolic Power, and Why Clarity Feels So Hostile
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
