Кратко

  • Экспериментальная RFC 9631 задаёт CRH-16 и CRH-32; короткий SID выбирает локальную запись с IPv6-адресом, топологической функцией и необязательными аргументами.
  • Одинаковое число может иметь иной смысл на другом узле или в другой версии CRH-FIB. Пакет не сообщает, кто установил запись и была ли она исполнена в data plane.
  • Доказательство пути связывает каждый lookup с установленным состоянием, ACL/uRPF, заменой адреса, фактическим выходом, наблюдением следующего узла и результатом приложения.

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

Сохранилась координационная метка, а не история решения.

RFC 9631 описывает эксперимент с компактным IPv6 Routing Header. CRH-16 и CRH-32 уменьшают объём списка сегментов, перенося часть значения в локальную CRH-FIB.

SID не самодостаточен

Список SID идёт в обратном порядке. Узел уменьшает Segments Left, выбирает текущую позицию и ищет SID в таблице. Запись возвращает IPv6-адрес, топологическую функцию и параметры. Функция может выбрать путь минимальной стоимости или потребовать определённый интерфейс.

RFC разрешает локальную для узла значимость. SID обрабатывает один CRH-маршрутизатор, чей адрес совпадает с текущей целью. Поэтому 2 на одном устройстве не обязана соответствовать 2 на другом. Её значение может измениться после CLI, PCEP, NETCONF или распределённого обновления.

Для интерпретации нужны узел, время, установленная ревизия, запись, функция, аргументы и источник конфигурации. Без них capture подтверждает число, но не решение.

Проверка заголовка не подтверждает выход

Узел отклоняет слишком большой заголовок, вычисляет минимальную длину, отбрасывает невозможную комбинацию, отсутствующую запись и multicast-адрес до финального сегмента. Ошибки сопровождаются ICMPv6 Parameter Problem.

После lookup адрес копируется в IPv6 Destination, а пакет, функция и аргументы передаются IPv6-модулю. Следующий hop, интерфейс и физическая отправка возникают после CRH-проверки.

Корректный заголовок может указывать на неработающий линк. Отправленный пакет может потеряться дальше. Принятый пакет может не использоваться приложением. Отсутствие ICMPv6 также не закрывает цепочку: сообщение могло исчезнуть или попасть под rate limit.

Валидация, lookup, переписывание, выбор, выход и приём — разные события. Одному счётчику нельзя приписывать их совокупную власть.

Epoch таблицы — часть факта о пакете

CRH-FIB может поступать от CLI, контроллера PCEP/NETCONF или распределённого протокола. RFC не определяет эти механизмы. Это оставляет выбор локальным и делает сохранность истории обязанностью оператора.

Успех контроллера не означает установку в ASIC. Узлы сходятся не одновременно. Rollback может вернуть SID без прежних аргументов. Частичная операция может соединить новую функцию со старым параметром.

В пакете нет версии таблицы. Нужно связать намерение, candidate configuration, operational state, программирование forwarding plane и наблюдение пакета. Несогласованные часы способны приписать промежуточному пакету соседний, но неверный snapshot.

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

Доверительный префикс не удостоверяет отправителя

Документ считает доверенными узлы одного оператора и распознаёт их по Source Address. ACL должна отбрасывать CRH от недоверенного источника к локальному адресу.

Source Address можно подделать. EFP-uRPF удаляет часть таких пакетов, но не все. Каждая граница должна также блокировать внешний CRH, притворяющийся интерфейсом доверенного узла.

Свидетельство включает входной интерфейс, набор префиксов, версию и размещение ACL, совпавшее правило, счётчик, routing state для uRPF и действие. Нужна проверка всех соответствующих границ.

Authentication Header защищает пакет в своём ключевом контексте, но не подписывает архив локальной FIB, размещение ACL и фактический маршрут.

Компактность — величина формата, не производительности

Мотивация связана с копированием заголовков в ограниченную память ASIC и с тем, что из-за несовершенного Path MTU Discovery хосты часто держатся около минимальных 1280 байт IPv6.

Это гипотеза для измерения. Результат зависит от parser, глубины, числа SID, payload, MTU, ICMPv6, поколения hardware и трафика. Короткий заголовок всё ещё может попасть в slow path или остановиться на неподдерживающем узле.

Заявление об эффективности требует baseline, одинакового трафика, версий, распределения размеров, потерь, задержки и определения counters. Ширина поля задана документом; выгода устанавливается экспериментом.

Экспериментальный статус не доказывает внедрение

RFC 9631 не относится к Standards Track. Она просит публиковать результаты о сложности внедрения, синхронизации, hardware upgrade, области SID, безопасности, производительности, эффективности и цене ACL, наполнении FIB, масштабе, интероперабельности и OAM.

Поддержка ping, traceroute, tcpdump и Wireshark помогает видеть CRH. Она не доказывает единый смысл функций, защиту границ и доставку приложению.

Parser свидетельствует о разборе, dump — о состоянии в момент, egress capture — об отправке, следующий узел — о получении. Доказательство пути появляется только при сохранённой связи между ними.

Источники