Регистрация IP адресов
О нас                 Услуги                 MikroBill Биллинг                 Полезное                 Всё о IPv6                 Контакты


ISP Servis: Статьи и инструкции



Определение протокола BGP и его использование

Автономная система и использование BGP
Border Gateway Protocol (BGP) - основной протокол динамической маршрутизации, предназначенный для обмена информацией о маршрутах между автономными системами(AS).

Автономная система - это несколько сетей, имеющих одну политику маршрутизации с Интернетом. AS - основной элемент BGP маршрутизации и, соответственно, всего Интернета.

Определение протокола
Основными характеристиками протокола являются:
  • Обширная метрика (атрибуты)
  • Надёжные апдейты, т.к. используется TCP соединение на базе порта TCP 179
  • Постоянный обмен пакетами keepalive для контроля TCP соединения
  • Протокол создан для работы в крупных сетях
  • Одной из основных функций BGP протокола, так же, как и любого другого протокола динамической маршрутизации, является то, что роутер, учась у своих соседей, выбирает лучший маршрут, который затем обрабатывается, и самый подходящий вариант посылается соседям.

Когда используется BGP протокол?
Подключение BGP протокола необходимо тем, кто хочет
  • иметь более одного подключения к сети Интернет
  • своевременно обнаруживать сбои в сети своего провайдера. Благодаря динамическому протоколу маршрутизации BGP, вы
  • получаете собственные IP адреса, не зависимые от вашего провайдера
  • управляете входящим и исходящим трафиком со своей собственной AS
Необходимость использования BGP очевидна, если вы - транзитный интернет провайдер и/или владелец Автономных систем (см.рисунок)

BGP АТРИБУТЫ
Главным управляющим механизмом в BGP являются его метрики, или же атрибуты, с помощью которых определяются маршруты, приоритеты и все необходимые настройки для качественной работы маршрутизатора.
Последняя версия BGP – BGP4 , полную информацию о котором можно найти в RFC 1771.

Атрибуты в BGP делятся на Well-known и Optional.
WELL KNOWN АТРИБУТЫ
– Их главной чертой является то, что они посылаются соседям и распознаются любым роутером.
– Подразделяются на mandatory и discretionary (обязательные и необязательные).
– Well known обязателные (mandatary) всегда посылаются во всех апдейтах роутера и распознаются всеми роутерами
– Well known не обязательные являются выборочными и могут появляться в апдейтах.

OPTIONAL АТРИБУТЫ
– Носят необязательный характер. Это означает, что роутеры между собой могут, но не обязаны обмениваться этими атрибутами
– Делятся на transitive и non-transitive (пересылаемые и непересылаемые)
– Пересылаемые (transitive) - всегда предлагаются остальным соседям, даже в случае, если они не распознаются. В такой ситуации маршрутизатор добавит параметр Partial bit , чем удостоверит то, что атрибут не был распознан.
– Непересылаемые (non-transitive) - если не распознаются роутером, то исключаются из апдейтов, а распознанные атрибуты предлагаются соседям в соответствии с их предназначением.

Список BGP Path атрибутов (метрик) b>
Название атрибута Категория / Класс
ORIGIN Well-Known Mandatory
AS_PATH Well-Known Mandatory
NEXT_HOP Well-Known Mandatory
LOCAL_PREF Well-Known Discretionary
ATOMIC_AGGREGATE Well-Known Discretionary
AGGREGATOR Optional Transitive
COMMUNITY Optional Transitive
MULTI_EXIT_DISC (MED) Optional Non-Transitive
ORIGINATOR_ID Optional Non-Transitive
CLUSTER LIST Optional Non-Transitive
MULTIPROTOCOL Reachable NLRI Optional Non-Transitive
MULTIPROTOCOL Unreachable NLRI Optional Non-Transitive

Самыми распространенными являются Well-known атрибуты:

ORIGIN атрибут:
Определяет происхождение предыдущий актуализации, т.е. откуда посылающий роутер получил посылаемую сеть. Речь идет о Well-known обязательном BGP атрибуте, который должен быть всегда распознан и перенаправлен дальше всем BGP соседям. Атрибут ORIGIN может включать в себя один из трех параметров:
1. IGP - маршрут, полученный посредством внутреннего протокола маршрутизации автономной системы (IBGP, OSPF, RIP)
2. EGP - маршрут лежит вне автономной системы и получен с помощью внешнего протокола маршрутизации
3. Incomplete - неизвестное происхождение апдейта

Если у BGP множество вариантов выбора роута при одинаковых атрибутах, выбирается наилучший роут, в зависимости от его происхождения. IGP является приоритетным параметром по сравнению с остальными ORIGIN атрибутами, после которого следует EGP и наконец Incomplete Origin атрибут, который является самым слабым из трех перечисленных.

AS_PATH атрибут:
AS_Path - Well-known обязательный атрибут, описывающий маршрут, по которому пройдет пакет данных к намеченной цели. В нем поочередно указываются все AS , через которые пройдет информация во время своего пути от Вашей AS и до конечной цели.
Каждый BGP роутер во время своего пути к апдейту выставляет номера AS. Конечным результатом является атрибут, который содержит в себе все Автономные системы, через которые пройдет пакет данных, начиная с первой AS и заканчивая последней.
Пример такого атрибута - 2819 5588 12389 12880
С помощью искуственного удлинения маршрутов, принятых от конкретного BGP партнера становится возможным управлять входящим трафиком AS. Этот метод называется AS_PATH prepending.

NEXT_HOP атрибут:
NEXT_HOP – обязательный Well-known атрибут, который определяет IP адрес следующего BGP роутера на пути к конечной цели.
Он может совпадать с адресом BGP роутера, который управляет наружной сетью, а может и не совпадать. Указанный в роутере NEXT_HOP должен быть доступен для адресата маршрута. При отправке маршрута через внутренний BGP, атрибут NEXT_HOP не меняется.

LOCAL_PREF атрибут:
Well-known необязательный атрибут, который определяет приоритеты для определенного маршрута. Используется внутри одной AS. Атрибут определяется каждым пограничным роутером автономной системы, после чего распределяется вместе с выбранным маршрутом внутри автономной системы. LOCAL_PREF используется внутри AS для выбора одного из нескольких пограничных маршрутизаторов и для определения приоритета исходящего трафика. Используется также в рамках одного основного BGP роутера для выбора преимущества отдельного BGP peera перед другим для исходящего трафика.

Критерии выбора BGP маршрута
Маршрутизатор, после получения обновлений от всех соседей, составляет таблицу маршрутизации, при этом наилучший путь к определенной AS выбирается на основании этого алгоритма (направляется сверху вниз, пока, напр. LOCAL_PREF остается неизменным, рассчитывается длина атрибута AS_PATH и тд)
  • Выбор по наивысший weight (локалный атрибут, который настраивается в большинстве случаев на CISCO роутерах)
  • Выбор по самы высокий local=preference (глобалный атрибут для регулирования исходящего трафика внутри одной AS)
  • Выбор по самый короткий AS paths
  • Выбор по минимальный ORIGIN code (IGP Выбор по минимальный MED
  • Для внутреннего BGP (IBGP )предпочтение отдаётся маршруту с минимальной IGB метрикой BGP next-hop
  • Для внешнего BGP предпочитай самый старый маршрут
  • Предпочитай маршруты из роутера с самым низким BGP роутер ID
  • Предочитай маршруты с коротким Cluster-list атрибутом
  • Предпочитай маршруты от BGP соседа с низким IP адресом
Таким образом, не может произойти ситуации, когда роутер не распознает, какой маршрут является для него наиболее оптимальным.
Кроме того, чтобы решение выполнилось с помощью, например, Cluster-листа, должны быть поочередно выполнены множество необходимых условий (одинаковый AS_PATH и тд), что на практике происходит довольно редко.

BGP связь между двумя маршрутизаторами
Виды сообщений BGP, которыми маршрутизаторы обмениваются между собой:

OPEN - посылается после открытия TCP - соединения. Реакция на сообщение OPEN следующая – соединение BGP будет установлено, если вторая сторона будет с этим согласна, в другом случае, посылается NOTIFICATION сообщение с кодом, в котором объясняется причина отказа и соединение прерывается.

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

UPDATE - сообщение, направленное для подтверждения, либо отмены маршрута. После установления соединения с помощью UPDATE сообщения, посылаются все маршруты, о которых роутер хочет уведомить своего соседа (полная актуализация), в то время, как от соседа принимаются предложенные маршруты. При следующем соединении между маршрутизаторами посылаются лишь данные для добавления или удаления определенных маршрутов, которые, например, уже не являются доступными (частичная актуализация).

NOTIFICATION - сообщения такого рода используется для того, чтобы информировать соседа о причинах прекращения соединения. После отправки такого сообщения соединение прерывается.