Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дибров М.В. Маршрутизаторы.pdf
Скачиваний:
674
Добавлен:
06.03.2016
Размер:
5.01 Mб
Скачать

23 Работа протокола BGP

23.1 Типы сообщений протокола BGP

Протокол BGP имеет следующие типы сообщений:

сообщение OPEN;

сообщение KEEPALIVE;

сообщение UPDATE;

сообщение NOTIFICATION.

После того как TCP соединение установлено, первым сообщением, посланным каждой стороной, является сообщение OPEN. Если сообщение OPEN может быть принято, назад посылается сообщение KEEPALIVE, подтверждающее прием сообщения OPEN. После подтверждения сообщения OPEN BGP соединение считается установленным, и возможен обмен обновлениями, сообщениями KEEPALIVE и NOTIFICATION.

Одноранговые BGP устройства сначала обмениваются своими полными BGP таблицами маршрутизации. После этого при изменениях таблицы маршрутизации будут рассылаться только инкрементные обновления.

Пакеты KEEPALIVE посылаются для подтверждения существования соединения между одноранговыми BGP устройствами, а NOTIFICATION пакеты посылаются в ответ на ошибки или специальные условия.

Сообщение OPEN содержит следующую информацию.

Версия – поле длиной 8 бит, отражающее номер версии протокола BGP. Текущий номер версии протокола BGP v4.

Моя автономная система – поле длиной 16 бит, отражающее номер автономной системы отправителя.

Время задержки – поле длиной 16 бит, отражающее максимальное время в секундах, которое может пройти между приемом последовательных сообщений KEEPALIVE или обновлений от отправителя. После приема сообщения OPEN маршрутизатор вычисляет значение таймера задержки для использования его или меньшего времени задержки, полученного в сообщении OPEN.

BGP идентификатор (идентификатор маршрутизатора) – 32-битовое поле, отражающее BGP идентификатор отправителя. BGP идентификатор является IP адресом, присвоенным маршрутизатору, который задается при запуске. BGP идентификатор маршрутизатора выбирается аналогично OSPF идентификатору маршрутизатора – он является наибольшим активным IP адресом на маршрутизаторе, если для такого IP адреса интерфейса обратной петли не существует, в этом случае таковым будет наибольший IP адрес обратной петли.

Необязательные параметры – поле длины, отражающее общую длину поля не обязательных параметров в октетах. Поле необязательных параметров

343

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

Для определения достижимости одноранговых устройств протокол BGP не использует механизм сообщений KEEPALIVE, основанных на транспортном протоколе. Вместо этого обмен сообщениями KEEPALIVE осуществляется между одноранговыми устройствами достаточно часто, не вызывая при этом истечения времени таймера задержки. Если согласованный интервал времени задержки равен нулю, периодическое сообщение KEEPALIVE не посылается.

Сообщение обновления содержит информацию только об одном пути; несколько путей требуют несколько сообщений. Все атрибуты сообщения имеют отношение только к пути и тем сетям, которые будут достижимы по этому пути. Сообщение обновления включает следующие поля.

Нерабочие маршруты – список префиксов IP-адресов, маршрутов, которые не обслуживаются, если они не указываются.

Атрибуты пути – это известные нам атрибуты пути AS-PATH, ORIGIN, LOCAL PREFERENCE и другие рассмотренные ранее атрибуты. Каждый атрибут пути включает тип атрибута, его длину и значение. Тип атрибута состоит из флагов атрибута и следующего за ним кода типа атрибута.

Информация о достижимости сетевого уровня – это поле содержит список префиксов IP-адресов, которые достижимы по этому пути.

Сообщение NOTIFICATION посыпается при обнаружении ошибки. BGP соединение закрывается немедленно после посылки этого сообщения. Сообщение NOTIFICATION включает код и подкод ошибки, а также данные, соответствующие ошибке.

23.1.1 Состояния BGP соседей

Протокол BGP является машиной состояний, которая принимает соответствующие состояния в зависимости от состояния процесса обмена данными маршрутизатора с его соседями:

простой (Idle);

соединение (Connect);

активный (Active);

открыт посылка (OpenSent);

открыт подтверждение (OpenConfirm);

установлено (Established).

Обмен сообщениями UPDATE, KEEPALIVE и NOTIFICATION осуществляется только тогда, когда соединение находится в состоянии Established.

Сообщение KEEPALIVE состоит только из заголовка и имеет длину 19 байтов; по умолчанию они рассылаются каждые 60 секунд. Длина других со-

344

общений может быть – от 19 до 4096 байтов. По умолчанию время задержки составляет 180 секунд.

345