|
|
Протокол BGPПротокол граничных роутеров BGP является попыткой решить самую серьезную проблему EGP. В отличие от EGP, протокол BGP предназначен для обнаружения маршрутных петель. BGP является протоколом маршрутизации между AS, специально созданным для применения в Internet. BGP можно назвать следующим поколением EGP. Как и EGP, протокол BGP относится к классу "междоменных протоколов". BGP, в отличие от предшествующих протоколов маршрутизации, которые взаимодействуют напрямую с протоколом IP, работает поверх протокола транспортного уровня. Например, при работе поверх TCP BGP использует порт 179. Это позволяет не нагружать сервисы обработки протокола BGP механизмами фрагментации или обеспечения достоверности доставки пакетов. Схемы аутентификации протоколов транспортного уровня также могут быть использованы BGP в дополнение к собственной системе аутентификации. Кроме того, хотя BGP разработан как протокол маршрутизации между AS, он может использоваться для маршрутизации и внутри AS. Основным предназначением BGP является обеспечение обмена информацией с другими BGP-системами о досягаемости определенных сетей или хостов. Эта информация должна содержать набор маршрутов к данной сети, т. е. должны быть указаны все промежуточные AS. Такой информации вполне достаточно для того, чтобы построить граф соединений между AS и проконтролировать возможные маршрутные петли. На основании этих данных BGP выбирает оптимальный маршрут и передает эту информацию своим соседям. Периодически хосты отправляют друг другу сообщения подтверждения своей работоспособности, например, при возникновении ошибочных ситуаций передаются сообщения об ошибках. BGP не требует периодического обновления всей маршрутной таблицы, хотя BGP поддерживает маршрутную таблицу всех возможных трактов к какой-нибудь конкретной сети, в своих сообщениях о корректировке он объявляет только об основных — оптимальных маршрутах. Показатели оптимальности — "метрики" BGP представляет собой числа, характеризующее степень предпочтения какого-нибудь конкретного маршрута. Эти показатели обычно определяются администратором сети с помощью конфигурационных файлов. Степень предпочтения может базироваться на любом числе критериев, включая число промежуточных AS (например, тракты с меньшим числом AS, как правило, лучше), тип канала, стабильность, быстродействие, надежность канала и другие факторы. Необходимо отметить, что если в традиционных дистанционно-векторных протоколах маршрутизации рассматривается только один параметр "оптимальности" и процедура сравнения сводится к сравнению двух чисел, то в системах междоменного взаимодействия, где каждая из AS, встречающаяся на пути пакета, может определять маршрут по своим собственным критериям, необходимо учитывать несколько параметров, одновременно влияющих на оптимизацию маршрута. Для установления соединения, коррекции маршрутов, уведомления друг друга BGP-роутеры использует систему сообщений.
Рис. 4. Заголовок BGP-пакета
Marker (16 байт). Поле маркера. Оно содержит величину, которую получатель сообщения может прогнозировать (например, при использовании механизма аутентификации). Это поле также может быть использовано для обнаружения потерянной синхронизации между парой BGP-роутеров. Length (16 бит). Поле длины пакета. Это поле содержит полную длину сообщения в байтах, включая заголовок и данные. Type (8 бит). Поле тип сообщения (Open, Notification, Update, Keepalive. Errors). За основным заголовком BGP следует структура данных, определяемая типом сообщения. |
|
|