Кратко

  • RFC 9972 определяет 64-битные BMP Gauge для текущего числа маршрутов в pre-policy и post-policy Adj-RIB-In, в некоторых представлениях Adj-RIB-Out и, для части типов, в Loc-RIB.
  • Такой показатель подтверждает только число в названной области. Он не называет префикс, не объясняет решение policy и не доказывает отправку UPDATE, программирование FIB или прохождение пакета.

У числа должна быть точка в цепочке решений

Фраза «у маршрутизатора столько-то маршрутов» пропускает существенные стадии BGP. Adj-RIB-In содержит полученную от соседей ещё не обработанную информацию. Представление pre-policy существует до входящей policy. Post-policy следует за ней, но предшествует выбору, образующему Loc-RIB. В Loc-RIB находятся маршруты, выбранные локальным процессом BGP; там могут быть и данные, импортированные из IGP или статической конфигурации. Adj-RIB-Out — это представление, подготовленное для объявления конкретному соседу.

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

RFC 9972 Advanced BGP Monitoring Protocol (BMP) Statistics Types опубликован на Standards Track IETF. Его редакторы — Mukul Srivastava и Changwang Lin, соавторы — Yisong Liu и Jinming Li. Документ сохраняет формат BMP Statistics Report из RFC 7854 и добавляет Gauge для более точного обслуживания и диагностики. Он не утверждает, что один показатель знает всё о пути от полученного объявления до пользовательского трафика.

Типы 18 и 19 считают текущий pre-policy Adj-RIB-In глобально и по AFI/SAFI, типы 20 и 21 — post-policy. Тип 22 показывает текущее число маршрутов, отклонённых входящей policy во время изменения её конфигурации, для каждого AFI/SAFI; это текущий Gauge, а не монотонный накопительный счётчик событий. Тип 23 показывает текущее число принятых post-policy маршрутов. Вопрос всегда узок: сколько сейчас и в каком представлении?

Итог не заменяет досье маршрута

Рост post-policy числа не раскрывает префикс, next hop, AS_PATH, communities, соседа, версию policy, правило или время решения. Он не подтверждает, что маршрут был выбран в Loc-RIB, прошёл исходящую policy, достиг соседа в UPDATE, был установлен в FIB или использован пакетами.

То же относится к числу отклонений. Оно может указать, что изменение policy воздействует на группу маршрутов, но для объяснения конкретного случая нужны префикс, атрибуты, сосед, правило, время и результат. Утверждения об объявлении, FIB или доставке требуют записи той ступени, которая действительно наблюдала соответствующее событие. Gauge направляет расследование, но не создаёт отсутствующую доказательную цепь.

Расхождение сумм может быть честным сигналом

RFC 9972 разрешает передавать глобальную статистику вместе с её разбивкой AFI/SAFI, но запрещает предполагать строгую зависимость. Гонки и частичные отказы могут дать сумму разделов, отличную от глобального числа. Производитель и коллектор могут выполнять проверки согласованности, однако расхождение должно быть предупреждением и не должно останавливать протокол.

Это повод проверить момент сбора, порядок обновлений, неполноту отчёта или реализацию, а не самостоятельное доказательство атаки, повреждения таблицы или аварии. Кроме того, Gauge может быть сброшен ручной очисткой или переполнением. RFC 9972 требует отслеживать и журналировать разрыв. Без такой отметки обычный reset легко превратить на графике в ложную историю массового отзыва или восстановления маршрутов.

Общий формат не забирает локальное решение

Общая часть стандарта мала: глобальный 64-битный Gauge либо AFI, SAFI и 64-битный Gauge, а также правило игнорировать неизвестные типы. Некоторые показатели относятся к GR, LLGR, RPKI или другим функциям и должны создаваться лишь при включённой функции. Наличие Type в RFC не доказывает, что она работает на наблюдаемом устройстве.

Частота отчётов, ограничение скорости, набор включённых статистик, пороги и реакция остаются у оператора. RFC советует ограничивать обновления и собирать только необходимое, чтобы не нагружать control plane. В терминах Running-Code Primacy Heng Lu стандарт делает название наблюдения переносимым; работающая система обязана добавить источник, время, конфигурацию, разрывы и прочие записи для любого более широкого вывода.

Sources