Типы сообщений BGP
Материал из Xgu.ru
< BGP
Содержание |
[править] Формат заголовка
У всех сообщений BGP такой формат заголовка:
|<-------------------------- 32 бита --------------------------->| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + + | Marker | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Length | Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Поля заголовка BGP-сообщений:
- Marker — поле, которое включено в заголовок для совместимости. Размер поля — 16 байт, все байты должны быть 1.
- Length — длина всего сообщения в октетах, включая заголовок. Поле может принимать значения от 19 до 4096.
- Type — тип передаваемого сообщения:
- 1 — OPEN
- 2 — UPDATE
- 3 — NOTIFICATION
- 4 — KEEPALIVE
[править] Open
Open — используется для установки отношений соседства и обмена базовыми параметрами. Отправляется сразу после установки TCP-соединения.
Формат сообщения Open:
|<-------------------------- 32 бита --------------------------->| +-+-+-+-+-+-+-+-+ | Version | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | My Autonomous System | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Hold Time | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BGP Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opt Parm Len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Optional Parameters | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Кроме стандартного заголовка пакета BGP, в сообщении Open такие поля:
- Version — версия протокола BGP
- My Autonomous System — номер автономной системы отправителя
- Hold Time — максимальное время в секундах, которое может пройти между получением Keepalive и сообщением Update. Время выбирается минимальным
- BGP Identifier — играет роль в выборе пути пересылки BGP-сообщений при наличии более одного канала связи между BGP-соседями
- Optional Parameters Length — если =0, то в маркер записываются 1-цы, а Optional Parameters имеет нулевую длину; если не =0, то в Optional Parameters записываются данные для определения кода, который указывается в маркере.
- Optional Parameters — играет роль в формировании и последующем определении кода в поле маркер.
[править] Update
Update — используется для обмена информацией маршрутизации.
Формат сообщения Update:
+-----------------------------------------------------+ | Unfeasible Routes Length (2 octets) | +-----------------------------------------------------+ | Withdrawn Routes (variable) | +-----------------------------------------------------+ | Total Path Attribute Length (2 octets) | +-----------------------------------------------------+ | Path Attributes (variable) | +-----------------------------------------------------+ | Network Layer Reachability Information (variable) | +-----------------------------------------------------+
[править] Notification
Notification — используется когда возникают ошибки BGP. После отправки сообщения сессия с соседом разрывается.
Формат сообщения Notification:
|<-------------------------- 32 бита --------------------------->| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Error code | Error subcode | Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Кроме стандартного заголовка пакета BGP, в сообщении Notification такие поля:
- Error Code — тип оповещения:
- 1 — Message Header Error
- 2 — OPEN Message Error
- 3 — UPDATE Message Error
- 4 — Hold Timer Expired
- 5 — Finite State Machine Error
- 6 — Cease
[править] Дополнительная информация
[править] Примечания