Кратко

  • Обычный NEXT_HOP должен оставаться достижимым, однако туннели и segment routing могут сделать реальную передачу зависимой от другой конечной точки, контекста и базы маршрутов.
  • Кортеж разрешения пути требует, чтобы разрешимость, приоритет, метрика и отслеживание относились к одному разрешению; установку и доставку надо подтверждать отдельно.

Один адрес не означает один путь

Модель RFC 4271 предполагает, что BGP-спикер может определить достижимость NEXT_HOP и внутреннюю стоимость пути до него. GRE, MPLS, SR Policy и SRv6 нарушают простое соответствие. Адрес плоскости управления может отвечать, хотя нужная конечная точка туннеля, политика или сервисный SID уже недоступны.

Редакция 00 документа BGP Best Path Selection Based on Next Hop Resolution опубликована 24 сентября 2026 года как Standards Track Internet-Draft рабочей группы IDR. При утверждении она обновит RFC 4271. Сейчас это не RFC, не окончательный консенсус и не свидетельство внедрения.

Основная единица — кортеж разрешения пути: ключ разрешения и необязательный контекст. Ключом может быть обычный NEXT_HOP, Tunnel Egress Endpoint из RFC 9012 или сервисный SID SRv6 из RFC 9252. Контекст задаёт процедуру и хранилище: атрибут Tunnel Encapsulation, расширенное сообщество Color либо данные SRv6 sub-TLV, кроме самого SID.

Поэтому {N1, C1} и {N1} — разные запросы, даже если ключ совпадает. Разрешение через SR Policy не взаимозаменяемо с обычным поиском следующего перехода.

Нельзя сшивать доказательства разных разрешений

Главное требование: разрешимость, приоритет ключа, метрика и состояние отслеживания должны описывать одно разрешение. Если взять достижимость из контекста A, а более выгодную метрику из B, получится путь, которого в действительности не разрешала ни одна система.

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

Обычная проверка NEXT_HOP сохраняется. Дополнительная проверка кортежа с ограничениями может включаться настройкой. Наличие туннельного объекта не позволяет игнорировать недоступный обычный следующий переход.

Числа тоже не всегда сравнимы. Одна метрика означает стоимость IGP, другая — задержку, третье разрешение вообще не даёт метрики. Локальный числовой приоритет ключа разрешения, где меньшее значение лучше, сначала упорядочивает разные механизмы. После этого внутренняя стоимость берётся только из самого кортежа. Если метрики нет, применяется максимально допустимая стоимость.

Восемь независимых квитанций

Квитанция анонса хранит маршрут, NEXT_HOP и атрибуты. Квитанция кортежа — ключ, контекст и правило вывода. Квитанция ограничений — локальную политику и допустимую базу. Квитанция разрешения атомарно связывает достижимость, приоритет, метрику, данные пересылки и время.

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

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

Отслеживать надо и проигравших кандидатов

BGP-спикер должен отслеживать обычный NEXT_HOP и кортеж. Потеря разрешимости любого из них или изменение метрики требует пересмотра всех зависимых префиксов. Одинаковые ключи с разными контекстами должны иметь отдельные подписки. Не лучшие пути тоже важны: кандидат может стать допустимым без нового анонса.

Объединение {N1, C1} и {N1} в одном наблюдателе уничтожает именно ту границу доказательств, ради которой введён кортеж.

Небольшое общее правило, локальный выбор

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

Различие между авторитетом и убеждением также существенно. Анонс доказывает, что было объявлено; разрешение — что обнаружила конкретная система. Ни одно не доказывает фактический путь пакета. Приоритет работающего кода требует версий ПО, атомарных журналов, запрограммированного состояния и наблюдения пакетов.

Color может входить в контекст, но предмет статьи нельзя сводить к транспортным классам RFC 9830. Здесь проверяется не импорт Color или SLA, а принадлежность всех фактов одного решения BGP одному разрешению.

Статус и границы

Редакция 00 рекомендует единообразные настройки в административном домене. Это уменьшает расхождения, но не доказывает состояние плоскости данных. Ошибочные ограничения, устаревшие базы и разные приоритеты остаются рисками, хотя документ не добавляет соображений безопасности к существующему применению NEXT_HOP.

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

Источники