RFC: 4271
Оригинал: A Border Gateway Protocol 4
Предыдущие версии: RFC 1654, RFC 1771
Категория: Проект стандарта
Дата публикации:
Авторы: , ,
Перевод: Николай Малых

4. Формат сообщений

В этой главе описан формат сообщений BGP.

Сообщения BGP передаются через соединения TCP. Обработка сообщений производится только после того, как сообщение будет принято полностью. Максимальный размер сообщения составляет 4096 октетов. Все реализации протокола должны поддерживать сообщения максимального размера. Наименьшее сообщение, которое может быть передано, содержит заголовок BGP (19 октетов) без поля данных.

Многооктетные поля передаются с использованием сетевого порядка байтов.

4.1. Формат заголовка

Каждое сообщение BGP имеет заголовок фиксированного размера, за которым может (но не обязано) следовать поле данных, зависящих от типа сообщения. Схема заголовка показана на рисунке.

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                           Marker                              |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Length               |      Type     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Marker — маркер
  • Это 16-октетное поле включено для обеспечения совместимости и должно содержать 1 в каждом бите.
  • Length — размер
  • Это 2-октетное целое число без знака показывает общий размер сообщения, (включая заголовок) в октетах. По этому значению можно найти следующее сообщение (начало поля Marker) в потоке TCP. Значение поля Length должно быть не менее 19 и не более 4096. В зависимости от типа сообщения на значение поля размера могут накладываться дополнительные ограничения. Заполнение сообщения дополнительными октетами ("padding") после данных не допускается. Следовательно, значение поля Length должно быть наименьшим числом, которое позволит включить оставшуюся часть сообщения.
  • Type — тип
  • Это 1-октетное целое число без знака содержит код типа сообщения. В данном документе определяются следующие коды типов сообщений:

    • 1 — OPEN
    • 2 — UPDATE
    • 3 — NOTIFICATION
    • 4 — KEEPALIVE

    В [RFC2918] определен один дополнительный код типа.

2007 - 2018 © Русские переводы RFC, IETF, ISOC.