Summary

  • RFC 3345 описывает детерминированные колебания BGP: каждый маршрутизатор выбирает путь из неполного локального набора, а объявления меняют наборы, доступные другим.
  • Доказательство — повторяющаяся последовательность путей, UPDATE и отзывов между узлами, а не отметка «лучший путь» в одной таблице.

Анализ

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

RFC 3345 вышел в 2002 году как информационный документ и разобрал проблему на конкретных топологиях и таблицах. Обычно BGP сравнивает MED только у маршрутов, полученных от одной и той же соседней AS. Это сохраняет локальный смысл предпочтения выхода. Полная iBGP-сетка даёт более широкую видимость, но плохо масштабируется. Рефлекторы маршрутов и конфедерации сокращают число сессий, однако разные маршрутизаторы могут видеть разные выходы.

Для Type I среди условий указаны одноуровневая схема рефлекторов или конфедерации и принятие уникальных MED от нескольких AS для одного префикса. В примере с рефлекторами важен порядок сравнения MED и стоимости IGP до NEXT_HOP. UPDATE меняет выбор другого узла, а последующее объявление или отзыв меняет доступные кандидаты первого. «Лучший» здесь означает лучший в локальном представлении, а не доказательство устойчивости всей сети.

Type II — иной механизм: необходимы несколько уровней рефлекторов или подсистем AS и описанное условие MED. Пример конфедерации также показывает роль периодического сканера: момент пересчёта влияет на последовательность. Итоговый снимок таблицы может не сохранить причинную хронологию.

RFC 3345 перечисляет альтернативы с разными затратами: изменить IGP-метрики между уровнями, не принимать MED, не доводить сравнение до шага MED или восстановить полную сетку. Универсального решения нет. RFC 7964 позже описал разнообразие путей, включая ADD-PATH, но это не доказывает повсеместное внедрение или устранение всех сценариев.

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

Источники