Глава 27. BGP
Глава 27. BGP.
Протоколы внешних роутеров
предназначены для маршрутизации
между доменами маршрутизации. В
терминологии Internet (международной
сети, об'единяющей университеты,
правительственные учреждения,
научно-исследовательские
организации и частные коммерческие
концерны) доменом маршрутизации
называется автономная система (AS).
Первым протоколом внешних
роутеров, получившим широкое
признание в Internet, был протокол EGP
(Смотри Главу 26 "ЕGP").
Хотя технология EGP пригодна для
сетей, он имеет ряд недостатков, в
том числе тот факт, что это скорее
протокол досягаемости, а не
маршрутизации.
Протокол Граничных роутеров (Border
Gateway Protocol - BGP) является попыткой
решить самую серьезную проблему EGP.
BGP является протоколом
маршрутизации между AS, созданным
для применения в Internet. В отличие от
EGP, BGP предназначен для обнаружения
маршрутных петель. BGP можно назвать
следующим поколением EGP. И
действительно, BGP и другие
протоколы маршрутизации между AS
постепенно вытесняют EGP из Internet.
Версия 3 BGP определена в Запросах
для Комментария (RFC) 1163.
Хотя BGP разработан как протокол
маршрутизации между AS, он может
использоваться для маршрутизации
как в пределах, так и между AS. Два
соседа BGP, сообщающихся из
различных AS, должны находиться в
одной и той же физической сети.
Роутеры BGP, находящиеся в пределах
одной и той же AS, сообщаются друг с
другом, чтобы обеспечить
согласующееся представление о
данной AS и определить, какой из
роутеров BGP данной AS будет служить в
качестве точки соединения при
передаче сообщений в определенные
внешние AS и при их приеме.
Некоторые AS являются просто
каналами для прохождения через них
сетевого трафика. Другими словами,
некоторые AS переносят трафик,
источник которого не находится в их
пределах и который не предназначен
для них. BGP должен
взаимодействовать с любыми
протоколами маршрутизации внутри
AS, которые существуют в пределах
этих проходных AS.
Сообщения о корректировках BGP
состоят из пар "сетевой
номер/тракт AS". Тракт AS содержит
последовательность из AS, через
которые может быть достигнута
указанная сеть. Эти сообщения о
корректировке отправляются с
помощью механизма транспортировки
TCP для обеспечения надежной
доставки.
Обмен исходной информацией между
двумя роутерами является
содержанием всей маршрутной
таблицы BGP. С изменением маршрутной
таблицы отправляются инкрементные
корректировки. В отличие от
некоторых других протоколов
маршрутизации BGP не требует
периодического обновления всей
маршрутной таблицы. Вместо этого
роутеры BGP хранят новейшую версию
маршрутной таблицы каждого
равноправного члена. Хотя BGP
поддерживает маршрутную таблицу
всех возможных трактов к
какой-нибудь конкретной сети, в
своих сообщениях о корректировке
он об'являет только об основных
(оптимальных) маршрутах.
Показатель BGP представляет собой
произвольное число единиц,
характеризующее степень
предпочтения какого-нибудь
конкретного маршрута. Эти
показатели обычно устанавливаются
администратором сети с помощью
конфигурационных файлов. Степень
предпочтения может базироваться на
любом числе критериев, включая
число AS (тракты с меньшим числом AS
как правило лучше), тип канала
(стабильность, быстродействие и
надежность канала) и другие
факторы.
Формат пакета представлен на Рис.
27-1.
Пакеты BGP имеют общий 19-байтовый
заголовок, состоящий их трех полей.
Поле маркера (marker) имеет длину
16 байтов и содержит величину,
которую получатель сообщения может
предсказывать. Это поле
используется для установки
подлинности.
Поле длины (length) содержит
полную длину сообщения в байтах.
Поле типа (type) определяет тип
сообщения.
RFC 1163 определяет 4 типа сообщений:
- Открывающие
сообщения
- Сообщения о
корректировке
- Уведомления
- Сообщения keepalive
(продолжай действовать)
После того, как соединение
протокола транспортного уровня
организовано, первым сообщением,
отправляемым каждой стороной,
является открывающее сообщение.
Если открывающее сообщение
приемлемо для получателя, то
отправителю отсылается сообщение
keepalive, подтверждающее получение
открывающего сообщения. После
успешного подтверждения принятия
открывающего сообщения может быть
произведен обмен корректировками,
сообщениями keepalive и уведомлениями.
Открывающие сообщения
В дополнение к обычному заголовку
пакета BGP в открывающих сообщениях
выделяют несколько полей. Поле
версии (version) обеспечивает номер
версии BGP и дает возможность
получателю проверять, совпадает ли
его версия с версией отправителя.
Поле автономной системы (autonomous
system) обеспечивает номер AS
отправителя. Поле времени
удерживания (hold time) указывает
максимальное число секунд, которые
могут пройти без получения
какого-либо сообщения от
передающего устройства, прежде чем
считать его отказавшим. Поле кода
удостоверения (authentication code)
указывает на используемый код
удостоверения (если он имеется).
Поле данных удостоверения (autentication
data) содержит фактические данные
удостоверения (при их наличии).
Сообщения о
корректировке
Сообщения о корректировках BGP
обеспечивают корректировки
маршрутизации для других систем BGP.
Информация этих сообщений
используется для построения
графика, описывающего
взаимоотношения между различными
AS. В дополнение к обычному
заголовку BGP сообщения о
корректировках имеют несколько
дополнительных полей. Эти поля
обеспечивают маршрутную
информацию путем перечисления
атрибутов трактов, соответствующих
каждой сети. В настоящее время BGP
определяет 5 атрибутов: Origin
Источник. Может иметь одно из трех
значений: IGP, EGP и incomplete
(незавершенный). Атрибут IGP
означает, что данная сеть является
частью данной AS. Атрибут EGP
означает, что первоначальные
сведения о данной информации
получены от протокола EGP.
Реализации BGP склонны oтдавать
предпочтение маршрутам IGP перед
маршрутами EGP, т.к. маршрут EGP
отказывает при наличии маршрутных
петель. Атрибут incomplete используется
для указания того, что о данной сети
известно через какие-то другие
средства. AS path Путь AS.
Обеспечивает фактический перечень
AS на пути к пункту назначения. Next
hop Следующая пересылка.
Обеспечивает адрес IP роутера,
который должен быть использован в
качестве следующей пересылки к
сетям, перечисленным в сообщении о
корректировке. Unreachable
Недосягаемый. Указывает (при его
наличии), что какой-нибудь маршрут
больше не является досягаемым. Inter-AS
metric Показатель сообщения между AS.
Обеспечивает для какого-нибудь
роутера BGP возможность
рекламировать свои затраты на
маршруты к пунктам назначения,
находящимся в пределах его AS. Эта
информация может быть использована
роутерами, которые являются
внешними по отношению к AS
рекламодателя, для выбора
оптимального маршрута к
конкретному пункту назначения,
находящемуся в пределах данной AS.
Сообщения keepalive
(продолжай действовать)
Сообщения keepalive не содержат
каких-либо дополнительных полей
помимо тех, которые содержатся в
заголовке BGP. Эти сообщения
отправляются довольно часто для
того, чтобы препятствовать
истечению периода времени
удерживания таймера.
Уведомления
Уведомления отправляются в том
случае, если была обнаружена
сбойная ситуация, и один роутер
хочет сообщить другому, почему он
закрывает соединение между ними.
Помимо обычного заголовка BGP
уведомления содержат поле кода
ошибки (error code), поле подкода
ошибки (error subcode) и данные ошибки
(error data). Поле кода ошибки
указывает тип ошибки, который может
быть одним из перечисленных ниже:
- Message header error
- Ошибка в заголовке сообщения.
Указывает на проблему в
заголовке сообщения, такую, как
неприемлемая длина сообщения,
неприемлемое значение поля
маркера или неприемлемый тип
сообщения.
- Open message error
- Ошибка в открывающем
сообщении. Указывает на
наличие проблемы в открывающем
сообщении, такой, как
необеспечиваемый номер версии,
неприемлемый номер AS или адрес
IP и необеспечиваемый код
удостоверения.
- Update message error
- Ошибка в сообщении о
корректировке. Указывает на
наличие проблемы в сообщении о
корректировке. Примерами таких
проблем могут быть неправильно
сформированный перечень
атрибутов, ошибка в перечне
атрибутов и недействительный
атрибут следующей пересылки.
- Hold time expired
- Время удерживания истекло.
Указывает на истечение периода
времени удерживания, после
чего узел BGP будет об'явлен
недействующим.
[Назад] [Содержание] [Вперед]
|