Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

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

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 ошибок снижается до нуля.