4.5. Формат сообщения NOTIFICATION
Сообщения NOTIFICATION передаются в случаях обнаружения ошибок. Соединение BGP незамедлительно закрывается после передачи такого сообщения.
В дополнение к постоянному заголовку BGP сообщения NOTIFICATION содержат описанные ниже поля.
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Error code | Error subcode | Data (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Error Code — код ошибки
Это 1-октетное целое число без знака показывает тип сообщения NOTIFICATION. Коды типов перечислены в таблице.
Код Символьное имя Описание 1 Message Header Error — ошибка в заголовке сообщения параграф 6.1 2 OPEN Message Error — ошибка в сообщении OPEN параграф 6.2 3 UPDATE Message Error — ошибка в сообщении UPDATE параграф 6.3 4 Hold Timer Expired — истекло время удержания параграф 6.5 5 Finite State Machine Error — ошибка машины конечных состояний параграф 6.6 6 Cease — разрыв соединения параграф 6.7 - Error subcode — субкод ошибки
Это 1-октетное целое число без знака содержит более конкретную информацию о природе ошибки. С каждым кодом ошибки (Error Code) может быть связан один или несколько субкодов (Error Subcode). При отсутствии субкода для ошибки в поле Error Subcode помещается нулевое значение.
Субкоды для Message Header Error
- 1 — Connection Not Synchronized — соединение не синхронизировано.
- 2 — Bad Message Length — некорректный размер сообщения.
3 — Bad Message Type -некорректный тип сообщения.
Субкоды для OPEN Message Error
- 1 — Unsupported Version Number — неподдерживаемый номер версии.
- 2 — Bad Peer AS — некорректный номер AS у партнера.
- 3 — Bad BGP Identifier — некорректный идентификатор BGP.
- 4 — Unsupported Optional Parameter — неподдерживаемый дополнительный параметр.
- 5 — [Не используется, см. Приложение A].
6 — Unacceptable Hold Time — недопустимое значение времени удержания.
Субкоды для UPDATE Message Error
- 1 — Malformed Attribute List — некорректно сформированный список атрибутов.
- 2 — Unrecognized Well-known Attribute — нераспознанный общеизвестный атрибут.
- 3 — Missing Well-known Attribute — отсутствует обязательный атрибут.
- 4 — Attribute Flags Error некорректные флаги атрибута.
- 5 — Attribute Length Error — некорректный размер атрибута.
- 6 — Invalid ORIGIN Attribute — некорректный атрибут ORIGIN.
- 7 — [Не используется, см. Приложение A].
- 8 — Invalid NEXT_HOP Attribute — некорректный атрибут NEXT_HOP.
- 9 — Optional Attribute Error — ошибка в дополнительном атрибуте.
- 10 — Invalid Network Field некорректное указание сети.
11 — Malformed AS_PATH — некорректный формат AS_PATH.
- Data — данные
Это поле переменной длины служит для диагностики причины генерации сообщений NOTIFICATION. Содержимое поля данных зависит от значений полей Error Code и Error Subcode. Дополнительная информация приведена в главе 6.
Отметим, что размер поля Data можно определить на основании значения поля Length в заголовке сообщения по формуле:
Message Length = 21 + Data Length
Минимальный размер сообщений NOTIFICATION составляет 21 октет (с учетом заголовка).