Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

BGP_NOTIF_CODE_5 Сетевое оборудование и VPN

BGP Error Notification Code 5: Finite State Machine Error — Анализ FSM сбоев

Обновлено: 25.08.2026 · Официальная документация ↗
  • В логах фиксируется ошибка: BGP-3-NOTIFICATION: sent/received 5/0 (Finite State Machine Error) или 5/1, 5/2, 5/3.
  • BGP сессия неожиданно сбрасывается из состояния OpenSent или OpenConfirm в Idle.
  • Возникновение состояния гонки (Race Condition) при одновременной инициализации TCP соединения с обеих сторон (BGP Connection Collision).
  • Получение пакета KEEPALIVE или UPDATE до успешного завершения фазы OPEN.

1. Разбор логики работы BGP Finite State Machine (FSM)

BGP FSM проходит 6 строгих состояний: Idle -> Connect -> Active -> OpenSent -> OpenConfirm -> Established. Ошибка Code 5 генерируется, если в текущем состоянии получен пакет или событие, не предусмотренное спецификацией RFC 4271.

2. Разрешение коллизий соединений (Connection Collision Resolution)

Если оба пира одновременно открывают TCP соединение на порт 179, BGP сравнивает BGP Router ID. Соединение, инициированное маршрутизатором с меньшим Router ID, должно быть закрыто:

# Настройка пассивного режима на одном из маршрутизаторов (предотвращает гонку):
# Cisco / FRR:
router bgp 65001
 neighbor 192.0.2.2 transport connection-mode passive

3. Проверка фаерволов и Stateful NAT на стыке

Промежуточные межсетевые экраны (Cisco ASA, FortiGate, iptables) со строгой проверкой TCP sequence numbers могут сбрасывать второе параллельное соединение BGP, вызывая сбой FSM:

# Отключение перехвата BGP инспекции в Cisco ASA:
no fixup protocol bgp

4. Сброс зависших сокетов TCP через команду Clear

# Мягкий перезапуск BGP соседа
clear ip bgp <PEER_IP> soft
# Жесткий сброс TCP стека принудительно
clear ip bgp <PEER_IP>
💡 Практика специалистов: Если ошибка FSM возникает постоянно на надежном L3 канале, обновите микрокод/прошивку маршрутизатора — это классический признак бага в реализации BGP стека вендора при обработке таймеров ConnectRetry.

Частые вопросы (FAQ)

Что такое BGP Connection Collision?

Это ситуация, когда оба соседа одновременно пытаются установить TCP-сессию друг с другом. В результате создаются два параллельных сокета, один из которых должен быть корректно разорван согласно алгоритму разрешения коллизий RFC 4271.

Почему отправка пакета UPDATE в состоянии OpenSent вызывает FSM Error?

В состоянии OpenSent маршрутизатор ожидает только пакет OPEN от соседа. Любой другой пакет (UPDATE, KEEPALIVE) нарушает последовательность протокола и ведет к немедленному сбросу с кодом 5.

Что означает состояние BGP Active?

Состояние Active означает, что маршрутизатор не смог установить TCP соединение (Connect) и сейчас активно слушает входящие попытки подключения от удаленного пира.

Помогает ли режим transport connection-mode passive стабилизировать пиринг?

Да, если один маршрутизатор настроен как active (инициатор), а второй как passive (слушатель), вероятность возникновения коллизий и FSM ошибок снижается до нуля.

Полезные материалы
Рекомендуем