Кратко

  • После обновления пары межсетевых экранов маршрутизатор B 121 секунду не имел BGP-префиксов, хотя сеансы показывали Established, а трафик продолжал идти к экрану.
  • Захват пакетов и лабораторное воспроизведение докладчика указали на ошибку разбора контекста IPv6-соседа и TCP Reset; ожидание End-of-RIB для IPv6 также задержало установку маршрутов IPv4.

Established звучало обнадёживающе. Таблица маршрутизации ответила прямее: 121 секунда и ноль префиксов.

Этот случай Marian Rychtecký представил на NANOG 98. Во время обновления пары межсетевых экранов с высокой доступностью сеансы BGP вернулись в состояние Established, но маршрутизатор B не получил префиксы. Трафик продолжал направляться к экрану. Ожидаемые маршруты там ещё не были установлены, поэтому пакеты почти две минуты проваливались в чёрную дыру.

Ключевая цифра — 121 секунда. End-of-RIB пришёл почти у отметки 120-секундного таймера переподключения, но таймер был уликой, а не полным объяснением. Rychtecký обнаружил, что восстановление IPv4 ждало определённый сеанс BGP по IPv6. Graceful Restart считал состояние согласованного соседа незавершённым, пока не пришёл маркер End-of-RIB. Застрявший сеанс в одном семействе адресов задержал маршруты другого.

Захват пакетов показал TCP Reset на новом сеансе. В лабораторном повторе ожидаемый адрес IPv6-соседа 2001:db8:1::2 сохранялся как 2001:db8:1:. Операционная система не могла связать соединение с нужным контекстом VRF и BGP и отправляла Reset. Во время части переключения старое TCP-соединение ещё считалось активным; новое столкнулось с этим устаревшим состоянием.

Вывод точнее, чем «Graceful Restart иногда ломается». Зелёное состояние BGP не означало, что таблица содержит маршруты; восстановление уровня управления не означало, что восстановлена пересылка. Пусковым событием было обновление межсетевого экрана. Ошибка в контексте соседа и ожидание между семействами объясняют механизм. Пустая RIB и потерянные пакеты — последствия.

Докладчик сообщает, что в этом случае более короткий таймер соединения ускорил переподключение и обмен End-of-RIB. Это описанный обходной путь для данной конфигурации, а не универсальная настройка: сокращение одного ожидания способно открыть другое окно сбоя. Надёжная проверка должна пройти всю цепочку — переподключение TCP, End-of-RIB для каждого семейства, установку маршрутов и реальную доставку пакетов.

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

Источники