Протокол BGP

Введение

Протокол граничного шлюза (Border Gateway Protocol — BGP) представляет собой протокол маршрутизации, который используется при передаче данных между автономными сис- темами. Автономной системой называется сеть или группа сетей с общим администриро- т ванием и общей стратегией маршрутизации. используется для обмена 1J маршрутной информацией в сети Internet и является протоколом, используемым между Щ, провайдерами услуг Internet (Internet Service provider — ISP). В сетях пользователей, таких как университеты и! корпорации, для обмена маршрутной информацией между сетями обычно применяются протоколы внутреннего шлюза (Interior Gateway Protocol — IGP), та- pjiiore как RIP йли OSPF. Пользователи подключаются к ISP-провайдерам, а последние ис- ^ пользуют BGP для обмена маршрутной информацией между пользователем и провайдером ISP. Когда протокол BGP используется для обмена между автономными системами (autonomous system — AS), он называется внешним BGP (External BGP — EBGP). Если провайдер служб Internet использует протокол BGP для обмена маршрутами внутри автономной системы AS, то этот протокол называется внутренним (Interior BGP — IBGP). Это различие йроиллюстрировфо на рис. 41.1.

BGP является очень устойчивым и легко масштабируемым протоколом маршрути- рй^заций. Об этом свидетельствует тот факт, что он применяется в сети Internet. На время написания этой книги таблицы маршрутизации протокола Internet BGP насчиты- валфболее 90000 маршрутов. Для обеспечения такого уровня масштабируемости протокой BGP использует множество параметров маршрута, называемых атрибутами, которые определяютСтратегию и поддерживают стабильную среду маршрутизации.

Для уменьшения размеров таблиц маршрутизации Internet протокол BGP, кроме атрибутов, использует бесклассовую междоменную маршрутизацию (Classless InterDomain 0– Routing — CIDR)J Предположим, например, что ISP-провайдер имеет блок IP-адресов 195.10-х.х из традиционного адресного пространства класса С. Этот блок состоит из 256 адресных блоков класса С, с адресами от 195.10.0.x по 195.10.255.x. Предположим, что ISP-провайдер выделяет блок адресов класса С каждому из своих клиентов. Без использования CIDR-маршрутизации провайдер ISP должен был бы выделить 256 блоков адре- ,. Совкласса^ каждом у из своих узлов BGP. С помощью маршрутизации CIDR протокол 1|BGP может сконцентрировать сетевое адресное пространство и анонсировать только один 6ifok — 195.10.Х.Х. Этот блок имеет такой же размер, как и традиционный адресный

блок класса В. Благодаря использованию CIDR-маршрутизации разграничение классов становится ненужным, что приводит к значительному сокращению размера таблиц маршрутизации протокола BGP.

Рис. 41.1. Внешний и внутренний протоколы BGP

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

Атрибуты протокола BGP

Маршруты, полученные с использованием протокола BGP, обладают некоторыми свойствами, которые используются для определения наилучшего маршрута в тех случаях, когда имеется несколько маршрутов к пункту назначения. Эти свойства называются атрибутами протокола BGP, и понимание их влияния на выбор маршрута необходимо для разработки устойчивой сети. В данном разделе описываются следующие атрибуты, которые BGP использует при выборе маршрута:

•     Weight;

•     Local preference;

•     Multi-exit discriminator;

•     Origin;

•     AS_path;

•     Next-hop;

•     Community.

Атрибут Weight

Атрибут Weight (вес) представляет собой атрибут, введенный корпорацией Cisco и является локальным для конкретного маршрутизатора. Он не анонсируется соседним маршрутизаторам. Если маршрутизатор обнаруживает несколько маршрутов к пункту назначения, то выбирается маршрут с наибольшим весом. На рис. 41.2 маршрутизатор А получает от маршрутизаторов В и С извещение о маршруте к сети 172.16.1.0. Когда маршрутизатор А получает извещение от маршрутизатора В, соответствующему маршруту присваивается вес, равный 50. Когда маршрутизатор А получает извещение от маршрутизатора С, этому маршруту присваивается вес, равный 100. Оба пути для сети 172.16.1.10 будут храниться в таблице маршрутизации протокола BGP вместе со своими весами. В таблицу IP-маршрутизации будет помешен маршрут с наибольшим весом.

Рис. 41.2. Атрибут Weight

Атрибут Local Preference

Атрибут Local Preference используется для выбора точки выхода из локальной автономной системы (autonomous system — AS). В отличие от атрибута Weight, атрибут Local Preference анонсируется во всей локальной автономной системе AS. Если у системы AS есть несколько точек выхода, то этот атрибут используется при выборе точки выхода для определенного маршрута. На рис. 41.3 автономная система AS 100 получает от системы AS 200 два извещения о маршруте к сети 172.16.1.0. Когда маршрутизатор А получает извещение от сети 172.16.1.0, соответствующему атрибуту Local Preference присваивается значение 50. Когда маршрутизатор В получает извещение от сети 172.16.1.0, соответствующему атрибуту Local Preference присваивается значение 100. Маршрутизаторы А и В обмениваются этими значениями. Маршрутизатор В имеет большее значение атрибута, чем маршрутизатор А, поэтому он будет использован в качестве точки выхода из системы AS 100 для достижения сети 172.16.1.0 в системе AS 200.

Рис. 41.3. Атрибут Local Preference

Атрибут Multi-exit Discriminator

Атрибут Multi-Exit Discriminator (MED), также называемый атрибутом метрики (metric attribute), используется как предложение внешней автоглмной системе AS выбрать маршрут к AS, которая анонсирует данную метрику.

Термин "предложение " применяется потому, что внешняя AS, которая получает атрибут MED, может использовать для выбора маршрута другие атрибуты протокола BGP. Правила выбора маршрута будут рассматрены в следующем разделе. На рис. 41.4 маршрутизатор С анонсирует маршрут 172.16.1.0 с метрикой 10, а маршрутизатор D анонсирует маршрут 172.16.1.0 с метрикой 5. Меньшая метрика предпочтительнее, поэтому система AS 100 выберет маршрут к сети 172.16.1.0 в системе AS 200 через маршрутизатор D. Атрибуты MED распространяются по локальной автономной системе.

Атрибут Origin

Атрибут Origin указывает, каким способом протокол BGP узнает о конкретном маршруте. Этот атрибут может принимать одно из следующих трех значений.

•          IGP. Маршрут является внутренним по отношению к исходной автономной системе AS. Это значение устанавливается в тех случаях, когда для внедрения маршрута в протокол BGP используется команда конфигурирования сетевого маршрутизатора.

•          EGP. О маршруте сообщается по протоколу внешнего граничного шлюза (Exterior Border Gateway Protocol — EBGP).

•          Incomplete (неполный). Источник маршрута неизвестен или о нем сообщается каким-либо иным способом. Атрибут принимает это значение, когда маршрут перераспределяется в протокол BGP.

Использование атрибута Origin для выбора маршрута будет рассмотрено е следующем разделе.

Рис. 41.4. Атрибут MED протокола BGP

Атрибут AS_path

Когда объявление маршрута проходит через автономную систему, ее номер заносится в упорядоченный список номеров автономных систем AS, пройденных этим маршрутным объявлением. На рис. 41.5 показана ситуация, когда маршрут проходит через три автономные системы.

Автономная система AS 1 создает маршрут к 170.16.1.0 и оповещает об этом системы AS 2 и AS 3 с атрибутом AS_path, равным {1}. Система AS 3 оповещает систему AS 1 в обратном направлении с атрибутом AS_path {3,1}, a AS 2 оповещает систему AS 1 в обратном направлении с атрибутом AS_path равным {2,1}. Когда система AS 1 обнаруживает в объявлении маршрута собственный номер, она отбрасывает эти маршруты. Этот механизм используется протоколом BGP для обнаружения маршрутных петель. Системы AS 2 и AS 3 передают друг другу маршрут со своими номерами, добавленными к атрибуту AS_path. Эти маршруты не будут занесены в таблицу IP-маршрутизации, поскольку системы AS 2 и AS 3 узнают о маршруте к 172.16.1.0 от AS 1 с более коротким списком AS_path.

Атрибут Next-Hop

Атрибут протокола EBGP Next-Нор (узел следующего перехода) представляет собой IP-адрес, который используется для достижения анонсирующего маршрут маршрутизатора. Для одноранговых устройств протокола EBGP адресом узла следующего перехода является IP-адрес соединения между одноранговыми узлами. В протоколе IBGP адрес узла следующего перехода протокола EBGP передается в локальную автономную систему AS, как показано на рис. 41.6.

Маршрутизаторе анонсирует сеть 172.16.1.0с адресом узла следующего перехода равным 10.1.1.1. Когда маршрутизатор А распространяет информацию об этом маршруте внутри своей автономной системы AS, информация об узле следующего перехода протокола EBGP сохраняется. Если маршрутизатор В не имеет маршрутной информации об узле следующего перехода, то данный маршрут будет отброшен. Поэтому важно, чтобы в автономной системе AS функционировал протокол IGP для распространения маршрутной информации о следующем узле.

Рис. 41.5. Атрибут AS_path

 

Рис. 41.6. Атрибут Next-Нор

Атрибут Community

Этот атрибут обеспечивает способ групповой адресации получателей, называемых сообществом (community), к которому могут относиться решения о выборе маршрута (такие, как принятие, предпочтение и перераспределение). Для установки данного атрибута используются преобразования маршрутов. Ниже перечислены стандартные значения атрибута Community.

•          no-export (не экспортируется). Такой маршрут не анонсируется одноранговым узлам протокола EBGP.

•          no-advertise (не анонсируется). Этот маршрут не анонсируется никаким одноранговым узлам.

•          Internet. Об этом маршруте оповещается сообщество Internet; к этому сообществу принадлежат все маршрутизаторы сети.

На рис. 41.7 показано сообщество маршрутизаторов, имеющих значение атрибута Community равное no-export. Автономная система AS 1 анонсирует сеть 172.16.1.0 системе AS 2 о с атрибутом Community, имеющим значение no-export. Автономная система AS 2 распространит этот маршрут среди всех своих маршрутизаторов, однако не отправит его в AS 3 или любую другую внешнюю систему.

Рис. 41.7. Атрибут протокола BGP Community со значением no-export

На рис. 41.8 показано, как AS 1 анонсирует маршрут к 172.16.1.0 системе AS 2 с атрибутом Community, имеющим значение no-advertise. Маршрутизатор В в системе AS 2 не будет оповещать другие маршрутизаторы об этом маршруте.

На рис. 41.9 показан атрибут Community со значением Internet. Ограничения на область распространения оповещений о маршруте от системы AS 1 в данном случае отсутствуют.

Выбор маршрута по протоколу BGP

Рис. 41.8. Атрибут Community со значением no-advertise

Рис. 41.9. Атрибут Community со значением Internet

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

•          Если узел следующего перехода недоступен, то сообщение об обновлении маршрута отбрасывается;

•          Предпочтение отдается маршруту с наибольшим весом.

•          Если веса одинаковы, то предпочтение отдается пути с наибольшим значением атрибута Local Preference.

•          Если значения атрибутов Local Preference одинаковы, то предпочтение отдается пути, который был инициирован процессом протокола BGP, выполняющимся на этом маршрутизаторе.

•          Если ни один маршрут не был инициирован протоколом BGP, выполняющимся на данном маршрутизаторе, то предпочтение отдается маршруту с самым коротким атрибутом AS_path.

•          Если все маршруты имеют одинаковую длину атрибута AS_path, то предпочтение отдается маршруту с самым низким значением типа источника (считается, что IGP более низкий по сравнению с EGP, который, в свою очередь, ниже, чем неполный источник).

•          При одинаковых типах источника предпочтение отдается маршруту с наименьшим значением атрибута MED.

•          При равных значениях атрибута MED предпочтение отдается внешнему маршруту (по сравнению с внутренним).

•          Если и эти характеристики совпадают, то предпочтение отдается маршруту через ближайшее соседнее IGP-устройсгво.

•          Предпочтительным является маршрут с наименьшим IP-адресом, который определяется идентификатором (ID) BGP-маршрутизатора.

Дополнительные источники

•          RFC 1771, "BGP4".

•          Хелеби С., Мак-Ферсон Д. Принципы маршрутизации в Internet, 2-е издание. ИД "Вильяме", 2001.

•          Baasam Н. Internet Routing Architectures. Cisco Press: Indianapolis, 1997.

•          Parkhurst W., Jackson D.R. Practical                  BGP for Internet Routing. Cisco Press: Indianapolis.

•          BGP4 Case Studies/Tutorial Section 1,                                http://www.cisco.com/warp/customer/459/

•          BGP4 Case Studies/Tutorial Section 2,                                http://www.cisco.com/warp/customer/459/

•          BGP4 Case Studies/Tutorial Section 3,                                http://www.cisco.com/warp/customer/459/

•          BGP4 Case Studies/Tutorial Section 4,                                http://www.cisco.com/warp/customer/459/

•          BGP4 Case Studies/Tutorial Section 5,                                http://www.cisco.com/warp/customer/459/

Литература:

Руководство по технологиям объединенных сетей, 4-е издание. : Пер. с англ. — М.: Издательский дом «Вильяме», 2005. — 1040 с.: ил. – Парал. тит. англ.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100