Кратко

  • Редакция 03 проекта GROW о терминах маршрутизации прямо называет себя описательным, неавторитетным снимком употребления: один термин может иметь разные значения в разных контекстах.
  • Converged может описывать завершение выбора маршрутов одним BGP speaker. Это не доказывает, что остальные узлы прекратили обмен обновлениями, FIB запрограммирована, пути данных стабильны, а сервис доставляется пользователю.

После плановой смены политики первый маршрутизатор перестал менять Loc-RIB. Оркестратор увидел converged=true, снял защитное ограничение и запустил следующий этап. В другом регионе очередь UPDATE продолжала расти, несколько FIB ещё перепрограммировались, а проверки приложения чередовали успех и тайм-аут. Датчик правильно описал один узел. Система неправильно расширила область утверждения.

Редакция 03 документа Currently Used Terminology in Global Routing Operations, представленная Tobias Fiebig и Wolfgang Tremmel 2 октября 2026 года, полезна именно для разбора таких расширений. Она собирает выражения, употребляемые сегодня в глобальных операциях маршрутизации, но не объявляет себя авторитетным источником «правильной» терминологии. Это описательный снимок на определённый момент, который может меняться. Одно слово может появляться в нескольких разделах с разными пояснениями.

Datatracker показывает активный Internet-Draft рабочей группы GROW в потоке IETF. Предполагаемый статус — Informational, срок действия редакции истекает 5 апреля 2027 года. У документа нет RFC-номера, ответственного Area Director, shepherd, telechat или завершённого результата процесса. Он не запрашивает действий IANA. В Security Considerations сказано: поскольку текст описывает термины и не даёт рекомендаций, у самого документа нет соображений безопасности.

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

Сходимость всегда принадлежит кому-то и чему-то

Проект описывает converging как работу BGP speaker: он узнаёт маршруты, оценивает их и находит предпочтительный маршрут для каждого назначения. Уже эта формулировка указывает субъект — конкретный speaker. Она не обещает одновременного покоя всех узлов.

Локальный процесс может завершиться, пока сосед ещё отправляет обновления. Другая точка сети может видеть иной набор путей. Контрольная плоскость может стабилизироваться раньше, чем аппаратная таблица пересылки. Пакеты могут следовать по старому или асимметричному пути. Приложение может оставаться недоступным по причине за пределами BGP.

Поэтому булево поле без области почти всегда недостаточно. Нужно назвать router или collector, address family, таблицу или VRF, набор назначений, критерий отсутствия изменений и интервал стабильности. Если заявляется более широкий результат, нужны наблюдения из более широкой области.

Состояния не обязаны складываться в один светофор. local_route_selection_stable может быть истинным, network_wide_control_plane_stable — неизвестным, forwarding_programmed — частичным, service_delivery — ложным. Такая комбинация не неудобство, а точное описание реальности.

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

BFD показывает, как сузить чрезмерное утверждение

Переход от редакции 02 к 03 включает расширение сокращений, определений и ссылок, а также содержательные исправления. Важный пример — BFD. Новая редакция не говорит, что протокол определяет, «жив» ли сосед. Она говорит о проверке достижимости настроенного соседа и передаче сигнала о потере достижимости протоколам вроде BGP.

«Жив» — широкая метафора. «Достижим в настроенной BFD-сессии» — проверяемое утверждение. BFD Up не является квитанцией о доступности приложения, полноте маршрутов или корректности политики. BFD Down быстро сообщает о сбое наблюдаемого пути, но не устанавливает корневую причину.

RFC 5880 определяет механизм быстрой двусторонней проверки forwarding path. Его сила — в узкой, быстрой обратной связи. Расширять эту обратную связь до здоровья всей системы значит уничтожать её семантическую точность.

Редакция 03 также уточняет категории BGP-атрибутов и правила передачи optional transitive и отбрасывания непонятных optional non-transitive атрибутов, добавляет или улучшает записи для BGP, EGP, IGP, EIGRP, IS-IS, OSPF и RIR. Карта становится точнее, но не превращается в профиль соответствия.

Потребитель обязан сохранять имя словаря и версию. Старые записи нельзя молча переписать новым смыслом: локальная практика прошлого могла отличаться. Если исходное значение не восстанавливается, «неоднозначно» честнее, чем автоматически заполненное поле.

Полная таблица полна только в заданных координатах

Full Table определяется как таблица с маршрутом ко всем префиксам Global Routing Table и без default route. Но «все» требует address family, speaker или collector, import policy, времени и референсного множества.

IPv4 может выглядеть полным на одном узле, пока IPv6 неполон. Две точки наблюдения могут видеть разные таблицы из-за политики и распространения, и ни одна не обязана быть повреждена. Простое число маршрутов может совпасть с историческим порогом, хотя важные префиксы исчезли, а более специфичные добавились.

RIB также не равна FIB. Выбранный маршрут может не установиться из-за ограничений ресурсов, ошибки рекурсии, фильтра или задержки программирования. Наличие FIB не доказывает доставку до удалённого приложения.

Во время сходимости снимок особенно обманчив. Между withdraw и новым announcement счётчик может на мгновение пересечь ожидаемое значение. Условие готовности должно требовать содержательное множество и интервал стабильности, а не одну цифру.

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

Peer пересекает границу отношений и протокола

В разделе о соседских отношениях проект называет peer два напрямую соединённых AS, которые обмениваются собственными и downstream-маршрутами. В разделе о маршрутизации peer может быть просто BGP-соседом — двумя speaker, обменивающимися NLRI.

Первый смысл описывает отношения и ожидания экспорта. Второй — протокольную сессию. Клиент и provider тоже могут быть BGP-соседями, не являясь peering-партнёрами. Отношения могут сохраняться во время технического простоя сессии.

RFC 9234 позволяет обмениваться BGP Roles в OPEN и тем самым снижать риск route leak. Это более предметное доказательство, чем имя поля, но всё ещё доказательство конфигурации и согласования. Контракт, заявление оператора, согласованный Role, установленный фильтр и наблюдаемые exports отвечают на разные вопросы.

RFC 4271 описывает локальный decision process. Выбор маршрута одним speaker не доказывает политику соседа и путь пакета. Если состояние сессии переписывает институциональные отношения, база будет менять «правду» при каждом reset.

Машинный контракт должен различать as_route_exchange_relationship и bgp_neighbor_session, даже если интерфейс показывает человеку знакомое слово peer.

Cone может менять тип множества

Проект описывает cone как множество прямых или рекурсивных downstream AS и отмечает, что в зависимости от контекста оно может включать совместное множество префиксов, которые они origin. ASN и префикс — разные типы элементов.

Запрос о принадлежности к cone бессмысленен без типа ресурса. Переход от AS к префиксам требует датированной проекции, источника отношений и точки наблюдения. Наблюдаемый origin не обязательно равен институциональному праву на ресурс.

Если система принимает оба множества в одном поле, она может выполнить корректную операцию над неправильным универсумом. Фильтр окажется слишком широким или слишком узким, а результат будет выглядеть детерминированным.

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

Граница сети — не одна функциональная роль

Network edge может означать последние маршрутизаторы под контролем оператора, соединённые с другими сетями. Provider Edge обычно несёт функциональную роль в MPLS-сети provider. Административная граница и PE-роль могут совпасть, но это не тождество.

Инвентарь с единственным тегом edge способен отправить правильный PE-шаблон на неправильное устройство. Нужны отдельные предикаты для административной границы, внешнего BGP, MPLS PE, входа сервиса и точки телеметрии.

Один маршрутизатор может играть разные роли по VRF, интерфейсу и сервису. Значит, роль должна иметь направление, область и срок действия. Физическое место не предоставляет автоматическую власть над каждой функцией устройства.

Этот пример повторяет урок о сходимости: человеческая метка сжимает контекст, потому что опытный оператор умеет его восстановить. Машина восстановит лишь то, что было сохранено.

Симптом, действие и намерение нельзя объединять ярлыком

Blackholing может описывать безмолвное отбрасывание пакетов без ICMP — наблюдаемый симптом. В другом контексте это осознанное announcement префикса со специальной community, чтобы соседи отбрасывали трафик. Превращать первое во второе только по слову означает путать диагностику с разрешением.

Для действия нужны префикс, community и её смысл у получателя, соседи, окно, авторизованный principal, условие отмены и наблюдение эффекта. Алерт о потере не содержит этих полей.

Depeering — удаление сессий с соседним AS. Успех изменения не доказывает прекращение всего трафика: может остаться другая точка обмена, transit, default route или FIB-состояние. Отношения организаций тоже могут не закончиться.

Наконец, route hijack классифицирует announcement, для которого AS не авторизован. Сам проект подчёркивает: причина может быть случайной ошибкой или злонамеренным действием. Технический класс не доказывает намерение.

RFC 7908 рассматривает route leak через выход за ожидаемую область распространения и нарушение политики. Чтобы знать ожидание, нужны свидетельства отношений и конфигурации. Наблюдаемый AS_PATH показывает распространение, но не цепочку одобрения.

RFC 6480 описывает архитектуру RPKI, а RFC 9582 — ROA, которыми держатель разрешает AS origin префикса. Valid не доказывает правильность пути, глобальную достижимость или доставку. Invalid и NotFound остаются входами локальной политики, а не универсальными командами.

Минимальный семантический конверт

До того как описательный термин управляет значимым действием, запись должна содержать: исходное слово; словарь и редакцию; стабильный идентификатор смысла; контекст; субъекты и направление; точку наблюдения и время; источник или доказательство; запрошенное действие и авторизованный principal; неопределённость и конкурирующие толкования.

Для состояния вроде converged нужны область, критерий остановки и интервал. Для множества вроде cone — тип членов и способ построения. Для действия вроде blackholing — цель, параметры, срок, откат и проверка результата. Эти поля образуют не универсальную онтологию, а защиту от наиболее опасных ошибок типа.

Minimum Initial Specification выбирает малый контракт, который можно внедрить сейчас. Running-Code Primacy требует реальных отрицательных тестов: локальная сходимость не открывает глобальный этап; ASN-cone не проходит в prefix-функцию; session-peer не запускает relationship-policy; наблюдаемый blackhole не создаёт команду.

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

Метрики должны считать не только пропуски полей, но и расширения полномочий: сколько глобальных решений приняли по локальным сигналам, сколько действий запустили по описательным словам, сколько конфликтов между конфигурацией и forwarding были скрыты единым статусом.

Скромность глоссария — его сильная сторона

Редакция 03 полезна тем, что не пытается насильно унифицировать речь всех операторов. Она собирает употребление, уточняет формулировки и сохраняет контекстные различия. Благодаря этому становятся видны предположения, которые специалисты обычно достраивают молча.

Каждый потребитель должен закончить работу сам. Инвентарь задаёт типы. Policy engine требует явные предикаты. Автономный агент получает ограниченные способности. Incident-процесс разделяет наблюдение, причину, намерение, действие и результат. Ни один из них не может передать глоссарию право принимать решение.

В слоях реальности Heng Lu термин — символическая координация; отношения и полномочия — институциональные объекты; конфигурация и сессия — исполняемое состояние; распространение и доставка — наблюдаемая реальность. Переход между слоями требует доказательства.

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

Sources