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

8.3.2 Внешний протокол bgp

BGP – соседи из разных автономных систем автоматически формируют друг с другом соседские взаимоотношения на базе внешнего протокола BGP (Exterior BGP). На рисунке 95 изображен принцип работы протокола Е-BGP.

Рисунок 95 - Е – BGP – соседи

Маршрутизатор А объявляет префикс 10.1.1.0/24 через протокол внутреннего шлюза (IGP – Interior Gateway Protocol) маршрутизатору В, у которого установлены соседские взаимоотношения с Е– BGP – маршрутизатором С. Маршрутизатор В может преобразовать этот маршрут в маршрут протокола BGP несколькими способами:

Стандартное преобразование маршрутов. Маршрутизатор В может преобразовать маршруты IGP, используюшегося между маршрутизаторами А и В, в маршруты BGP. Это приведет к маркировке преобразованных путей как “неизвестных”.

Команда network. Для объявления маршрута к сети назначения 10.1.1.0/24 в маршрутизаторе В может быть использована команда network в рамках команды router BGP. В отличие от других протоколов маршрутизации, команда network BGP не указывает, для какого интерфейса используется этот протокол, указывая вместо этого только объявляемые префиксы. Если запись в таблице маршрутизации BGP -маршрутизатора полностью совпадает (включая длину префикса) с указанным в команде network значением, то маршрутизатор объявляет этот префикс.

Команда aggregate–adress. Маршрутизатор А может суммировать сеть 10.1.1.0/24 в более крупный блок IР-адресов с помощью команды router BGP/

Как только маршрутизатор В определит, что ему нужно объявить префикс маршрутизатору С, он отправит ему соответствующее обновление информации о маршруте. Список АS_PATH в этом обновлении пустой, потому что маршрут начинается в автономной системе маршрутизатора В. Адресом следующей передачи пакета для этого маршрута является IP-адрес маршрутизатора В.

Когда маршрутизатор С получает обновление информации о маршруте, он определяет, что обновление пришло от Е-BGP-соседа, добавляет номер автономной системы этого соседа в начало AS–пути и помешает префикс в таблицу маршрутизации BGP. Маршрутизатор С может вносить, а может и не вносить этот префикс в свою таблицу маршрутизации, так как это зависит от других маршрутов к данному префиксу и прочих факторов.

8.3.3 Внутренний протокол bgp

Когда BGP-спикер установил отношения соседства с другим BGP–маршрутизатором в одной и той же автономной системе, они становятся i–BGP соседями. Для примера рассмотрим рисунок 96, на котором изображены i–BGP – соседи.

Рисунок 96 - I-BGP– соседи

Как показано на рисунке 96, маршрутизатор А объявляет сеть 10.1.1.0/24 маршрутизатору В как е-BGP – маршрут. В свою очередь, маршрутизатор В объявляет этот маршрут маршрутизатору С посредством протокола i-BGP.

Когда маршругизатор С получает этот префикс, он не изменяет значение адреса следующей передачи пакета, если только не сконфигурирована команда next–hop–self (значение остается равным IР-адресу маршрутизатора А), а также не меняет AS-путь (потому что префикс не пересекал границу автономной системы). То, что не изменяется А, иллюстрирует одно из строгих ограничений протокола i–BGP – i- BGP – соседи не могут объявлять полученный по нему маршрут другим iBGP – соседям. Для того чтобы лучше понять необходимость полного объединения i- BGP – соседей, рассмотрим рисунок 97.

Рисунок 97 - Необходимость полного объединения i-BGP–соседей

Рассмотрим цепь событий, которые произойдут. если маршрутизатор А объявит сеть 10.1.1.0/24 маршрутизатору В. Обычно этого не происходит: i-BGP не позволяет объявлять маршруты таким способом. Маршрутизатор В объявляет префикс маршрутизатору С, который, в свою очередь, объявляет его маршрутизатору D. Последний объявляет префикс каждому из своих соседей, включая маршрутизатор Е, который объявляет этот префикс маршрутизатору С. К этому времени маршрутизатор С получил два i-BGP – объявления префикса 10.1.1.0/24 одно от маршрутизатора В и одно от маршрутизатора Е.

Какой же пугь выберет маршрутизатор С? Т.к. значение адреса следующей передачи пакета и АS–путь не изменились при объявлении префикса от одного соседа другому, маршрутизатор С не может определить, что путь, полученный от маршрутизатора Е, является петлей.

Чтобы предотвратить проблемы такого рода i-BGP – соседи не объявляют маршрут, полученный одним i-BGP – соседом от другого. Однако на самом деле это означает, что i-BGP – соседи должны быть полностью объединены.

Протокол граничного шлюза BGP претерпел несколько изменений с момента выхода его первой версии BGP–1 в 1989 году. Повсеместное внедрение BGP–4 началось в 1993 году. Это первая из версий BGP, в которой появились возможности агрегации (объединения), что позволило реализовать бесклассовую междоменную маршрутизацию и обеспечить поддержку суперсетей.

Протокол BGP не предъявляет никаких требований к топологии сети. Принцип его действия предполагает, что маршрутизация внутри автономной системы выполняется с помощью внутренних протоколов маршрутизации, или, как их еще называют, интра–протоколов. Intra, что означает «внутренний», обозначает все, что относится к действиям внутри субъекта, а термин (inter) «внешний» означает события или действия, которые имеют место между субъектами. Протоколом BGP на основе информации, полученной от различных маршругизаторов, выстраивается граф автономных систем со всеми связями между узлами. Такой граф иногда называют деревом. Если рассматривать сеть Internet “глазами” протокола BGP, то это будет граф, состоящий из автономных систем (AS), где каждой АS соответствует уникальный номер. Соединение между двумя АS формирует путь, а информация о совокупности путей от одного узла в АS к узлу в другой АS составляет маршрут. Протокол BGP активно использует информацию о маршрутах к заданному пункту назначения, что позволяет избежать образования петель маршрутизации между доменами.

Протокол BGP является протоколом вектора маршрута и используется для обмена маршрутной информацией между автономными системами. Термин вектор маршрута (path vector) происходит из самого принципа действия BGP: маршрутная информация содержит последовательности номеров АS, через которые прошел пакет с заданным префиксом сети. Маршрутная информация, связанная с префиксом, используется для профилактики образования петель в маршрутах.

В качестве транспортного протокола в BGP используется протокол ТСР (порт 179). Таким образом, вся надежность доставки (включая повторную передачу) возлагается на протокол ТСР и не требует отдельной реализации в самом BGP, что естественно упрощает механизмы надежности в BGP.

Маршрутизаторы, которые работают с протоколом BGP, часто называют спикерами BGP (BGP speakers). Два спикера BGP, образующих ТСР – соединение друг с другом для обмена маршрутной информацией, называют соседними или взаимодействующими. На рисунке 98 показана схема такого взаимодействия. Взаимодействующие маршругизаторы сначала обмениваются открытыми сообщениями для того, чтобы определить параметры соединения. Эти сообщения используются для согласования параметров, таких как номер версии BGP и др.

Протокол BGP также обеспечивает очень изящный механизм закрытия соединения с соседним маршрутизатором. Другими словами, в случае негативного исхода переговоров, между взаимодействующими маршругизаторами, что может быть результатом несовместимости их конфигураций, вмешательства оператора или вызвано другими причинами, генерируется и посылается сообщение об ошибке NOTIFICATION. Получив это сообщение, вторая сторона должна прекратить попытки установить соединение или разорвать его, если оно было установлено ранее. Преимущество такого механизма заключается в том, что обе стороны уведомляются о невозможности установки соединения и не тратят свои мощности на обслуживание этого соединения или попытки повторно установить связь. Процедура закрытия также гарантирует, что обе стороны до закрытия сеанса ТСР получат все сообщения об ошибках, в частности сообщение NOTIFICATION.

Рисунок 98 - Маршрутизаторы BGP становятся соседями

В начале сеанса BGP между несколькими спикерами BGP ведется обмен всеми маршрутами, которые могут далее использоваться в работе по протоколу BGP (рисунок 99). После того как соединение установлено и проведен начальный обмен маршрутами, по сети рассылается лишь информация о новых маршрутах — так называемые инкрементные обновления. Применение инкрементных обновлений, по сравнению с периодическим обновлением маршрутов, которое использовалось в других протоколах, таких как BGP, позволило многократно увеличить производительность центральных процессоров на маршругизаторах и разгрузить полосу пропускания.

Согласно протоколу BGP, пара маршрутизаторов уведомляется о маршрутах и изменениях в них с помощью сообщения UPDATE. Сообщение UPDATE, помимо другой полезной информации, содержит список записей типа <длина, префикс>, указывающих на список узлов, на которые можно доставить трафик через спикер BGP. В сообщение UPDATE также включены атрибуты маршрута. К ним относятся: степень предпочтения определенного маршрута и список AS, через которые пролетает маршрут.

В случае, если маршрут становится недействительным, т.е по нему невозможно достичь пункта назначения, спикер ВО. информирует об этом своих соседей и удаляет недействительный маршрут. Как показано на рисунке 98, удаляемые маршруты также включаются в сообщение UPDATE. Таким образом, эти маршруты уже нельзя использовать. Если же информация о маршруте изменилась или для того же префикса выбран новый маршрут, то процедура удаления не выполняется; в этом случае достаточно лишь объявить о замене маршрута.

Рисунок 99 - Обмен обновлениями маршрутной информации

Рисунок 100 - Маршрут N1 выходит из строя

На рисунке 100 показана система в уравновешенном состоянии: если нет никаких изменений в структуре маршрутов, то маршрутизаторы обмениваются только пакетами KEEPALIVE. Это сообщение периодически посылается между соседними маршрутизаторами BGP, чтобы убедиться, что соединение находится в нормальном состоянии. Пакеты КЕЕРАLIVE (длиной 19 байт каждый) не создают практически никакой нагрузки на процессор маршругизатора и полосу пропускания, т. к. им требуется очень незначительная полоса пропускания (один 152-битовый пакет каждые 60 секунд, т.е. около 2,5 байт/с).

В протоколе BGP учитывается номер версии таблицы маршрутов, чтобы отслеживать изменения маршрутов. Если в таблицу маршрутов вносятся какие-либо изменения, то BGP автоматически увеличивает номер версии таблицы. Быстро растущие номера версии таблицы обычно указывают на то, что в сети имеется нестабильно работающий участок (хотя это довольно обычная ситуация для сетей крупных провайдеров Интернет). Нестабильность сетей, подключенных к Интернет по всему миру, приводит к росту номеров версий таблиц маршрутов на каждом спикере BGP, где имеются сведения обо всех маршрутных таблицах сети Интернет. Для снижения воздействия этих неоднородностей в Интернет были разработаны механизмы коммутации маршрутов и другие мероприятия.

Формат заголовка сообщения протокола BGP. Формат заголовка сообщения в BGP представляет собой поле маркера длиной 16 байт, за которым следует поле длины (2 байта) и поле типа (1 байт). На рисунке 101 представлен формат заголовка сообщения протокола BGP.

Рисунок 101 - Формат заголовка сообщения BGP

В зависимости от типа сообщения в сообщении протокола BGP за заголовком может следовать или не следовать блок данных. Так, например, сообщения КЕЕРАLIVЕ состоят только из заголовка и никаких данных не передают.

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

• Если послано сообщение типа ОРЕN или в нем отсутствует информация об аутентификации, то в поле маркера все позиции выставляются в 1.

• В другом случае значение поля маркера вычисляется в соответствии с используемым механизмом аутентификации.

Соседние файлы в папке Методичка по протоколам