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

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

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

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

BGP Error Notification Code 3: UPDATE Message Error — Malformed Attribute

Обновлено: 25.08.2026 · Официальная документация ↗
  • Сессия BGP рвется сразу после получения первого маршрутного обновления (UPDATE).
  • Маршрутизатор отправляет уведомление BGP NOTIFICATION 3/1 (Malformed Attribute List) или 3/3 (Missing Well-known Attribute).
  • Проблема 'BGP Attribute Poisoning' приводит к флапу сотен префиксов по всей сети.
  • В дампе трафика атрибут (ORIGIN, AS_PATH, NEXT_HOP) имеет некорректную длину или поврежденные флаги.

1. Разбор основных субкодов UPDATE Error

  • 3/1 (Malformed Attribute List): Синтаксическая ошибка в списке атрибутов (неверная длина или структура).
  • 3/2 (Unrecognized Well-known Attribute): Не распознан обязательный атрибут.
  • 3/3 (Missing Well-known Attribute): Отсутствует один из обязательных Well-known Mandatory атрибутов (ORIGIN, AS_PATH, NEXT_HOP).
  • 3/4 (Attribute Flags Error): Несоответствие флагов атрибута (например, Well-known атрибут помечен как Optional).
  • 3/5 (Attribute Length Error): Длина значения атрибута не соответствует стандарту.
  • 3/11 (Malformed AS_PATH): Ошибка синтаксиса AS_PATH (некорректный AS_SET или AS_SEQUENCE).

2. Включение механизма 'Treat-as-withdraw' (RFC 7606)

Современные маршрутизаторы поддерживают RFC 7606: при ошибке в атрибуте отдельного префикса сбрасывается только поврежденный маршрут (withdraw), а вся BGP сессия не рвется:

# Cisco IOS XR / IOS-XE:
router bgp 65001
 bgp update-error-handling

# Juniper Junos:
set protocols bgp error-handling update-action withdraw-route

3. Проверка обязательных атрибутов в Route-Map

Убедитесь, что локальные политики фильтрации не удаляют обязательные атрибуты перед отправкой соседу:

# Пример корректного Route-Map в FRR:
route-map TO_UPSTREAM permit 10
 set origin igp
 set as-path prepend 65001

4. Локализация поврежденного префикса через Debug

# FRRouting:
debug bgp updates
debug bgp zebra
# Чтение лога:
show logging | include UPDATE
💡 Практика специалистов: Обязательно убедитесь, что на всех пограничных маршрутизаторах (Edge/Border) активирован RFC 7606 (Revised BGP Error Handling). Это защитит вашу автономную систему от глобальных падений BGP сессий из-за чужих битых атрибутов.

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

Какие три атрибута BGP являются абсолютно обязательными (Well-known Mandatory)?

Это атрибуты ORIGIN (тип происхождения), AS_PATH (список автономных систем) и NEXT_HOP (IP адрес следующего перехода). Отсутствие любого из них вызывает сброс сессии с кодом 3/3.

Что такое BGP Attribute Poisoning?

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

Почему флаги атрибута (Attribute Flags) вызывают ошибку 3/4?

Каждый атрибут имеет байт флагов (Optional, Transitive, Partial, Extended Length). Если, например, атрибут NEXT_HOP пометить как Optional=1, парсер обязан сбросить сессию.

Как изолировать соседа, отправляющего битые UPDATE пакеты?

Установите временный фильтр входящих префиксов: neighbor <IP> prefix-list BLOCK_ALL in, чтобы предотвратить чтение RIB до решения проблемы на стороне партнера.

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