Протокол IP : Протокол BGP

Руководства по настройке совместимых систем: Руководство по конфигурации BGP

20 октября 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Перевод, выполненный профессиональным переводчиком (29 июля 2008) | Английский (22 августа 2015) | Отзыв


Содержание

Связанные обсуждения сообщества поддержки Cisco

Введение

Протокол BGP является внешним протоколом шлюза, который позволяет Автономным системам обмениваться сведениями о маршрутизации друг с другом. Автономная система – это совокупность маршрутизаторов под управлением единой службы технического администрирования.

Номера автономных систем (AS) назначаются организацией American Registry for Internet Numbers. Для получения дополнительной информации посмотрите их веб-сайт. На нем помещен полный список всех назначенных номеров AS в разделе “Документация”.

Американский реестр Интернет-номеров

Если установка является одноканальной, это возможно, но не поощренное, для просьбы номера AS для выполнения BGP. Однако требуется отдельный номер AS для многосетового узла, где используется более одного ISP. Это вызвано тем, что одноканальную установку можно было считать внутренней к интернет-провайдеру, тогда как многосетевой узел не может.

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

Маршрутизаторы устанавливают сеанс BGP с помощью протокола TCP. После запуска нового сеанса BGP узлы BGP обменяются полными таблицами маршрутизации; после этого они будут отправлять только обновления с приращением.

Это руководство по конфигурации описывает параметры конфигурации, которые доступны с BGP, работающим на Маршрутизаторах совместимых систем.

Предварительные условия

Требования

Для этого документа отсутствуют особые требования.

Используемые компоненты

Этот документ ограничен Cisco Совместимые Микро Series маршрутизаторы.

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

Общая конфигурация BGP

Протокол BGP включен в разделе BGP General configuration. BGP включен глобально для маршрутизатора, а не для интерфейса, как RIP и OSPF. BGP Выключено по умолчанию. Для включения BGP необходимо установить параметр BGPEnabled в На.

[ BGP General ]

    BGPEnabled     = Off     Enable or disable the BGP protocol
    BGPAS          = ""      Autonomous system number of this router
    BGPLocPref     = 100     BGP local preference, default is 100
    BGPUseIPRFltrs = False   Use IP Route Filters, default is False

Номер автономной системы (AS) этого маршрутизатора установлен здесь. Номер BGPAS должен быть предоставлен; если это не будет, то BGP не будет включен.

Атрибуты локального параметра BGPLocPref обмениваются среди маршрутизаторов в том же AS и является индикацией, о которой путь предпочтен для выхода из AS; путь с более высоким локальным параметром более предпочтен. Значение по умолчанию 100 будет использоваться, если не задан BGPLocPref.

BGP использует Схемы маршрута BGP, чтобы фильтровать маршруты и установить атрибуты. Дополнительные сведения о них доступны в разделах Config и Схемы маршрута BGP Однорангового соединения по протоколу BGP этого документа. У пользователя есть опция для использования фильтров маршрута IP вместо Схем маршрута BGP. Для всех одноранговых узлов, для которых не определены карты маршрутов BGP, будет проверено значение параметра BGPUseIPRFltrs, и при положительном значении (TRUE) для соответствующих узлов будут отмечены (включены) фильтры IP-маршрутов. Учтите, что фильтры маршрута IP являются глобальными для маршрутизатора, в то время как карты маршрутов BGP можно настроить для каждого однорангового узла.

Конфигурация узла BGP

В списке BGP Peer List перечислены настроенные одноранговые партнеры данного маршрутизатора. Маршрутизатор не установит BGP-соединение с маршрутизатором, которого не в списке. Если список одноранговых участников BGP отсутствует, BGP не будет включен, даже если BGPEnabled установлен в режим включения в общем разделе BGP.

    [ BGP Peer List ]

    BGPPeer  =  On/Off  IPAddress  ASNumber  PeerConfigID

Параметр On|Off конфигурирует состояние пуска маршрутизатора по отношению к одноранговому узлу: определяет, будет ли маршрутизатор при запуске автоматически пытаться установить сессию BGP с одноранговым узлом. Если значение параметра равно Off, маршрутизатор не будет устанавливать сеанс BGP с одноранговым узлом до тех пор, пока не будет выполнена команда BGP Enable. Примите во внимание, что это не изменит состояние пуска; при следующей загрузке маршрутизатора, одноранговый узел будет находиться в состоянии Off до тех пор, пока вы не активируете его.

Протокол BGP можно настроить таким образом, чтобы все узлы при запуске были в состоянии Off. Если в разделе BGP General установлено BGPEnabled = On, то можно, после запуска маршрутизатора, динамически активировать выбранные узлы.

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

Каждый элемент BGP Peer List может содержать дополнительный идентификатор PeerConfigID, который определяет количество разделов BGP Peer Config, где можно установить различные элементы конфигурации конкретного узла BGP. В разделе "BGP Peer Config" (Конфигурация однорангового узла BGP) можно настроить несколько узлов одновременно при условии, что все устанавливаемые параметры одинаковы.

    [ BGP Peer Config "SectionID" ]    Section ID is a character string 

    InputRouteMap    = ""     Name of input Route Map to be used for this peer
    OutputRouteMap   = ""     Name of output Route Map to be used for this peer       
    NextHopSelf      = False  Next hop is this router
    EBGPMultihop     = False  External peer not directly connected
    PeerWeight       = 100    Neighbor weight
    PeerRetryTime    = 30     Retry time in seconds
    PeerHoldTime     = 180    Configured hold time in seconds
    BGPUseLoopback   = False  Use router LoopbackAddress with this peer
    AdvertiseDefault = False  Advertise default route to this peer

Обратите внимание, что InputRouteMap и OutputRouteMap задаются отдельно. Настраиваемые и проверяемые параметры входящих и исходящих маршрутов отличаются (для получения подробной информации см. раздел Схема маршрутов BGP).

Если для параметра NextHopSelf установлено значение TRUE, маршрутизатор объявит себя следующим узлом на маршрутах, о которых он оповещает этот одноранговый узел.

Необходимо, чтобы внешние одноранговые узлы были подключены напрямую, если только EBGPMultihop не установлен в TRUE. Если данный параметр установлен в TRUE, маршрутизатор, чтобы установить соединение, должен обладать маршрутом к внешнему одноранговому узлу, подключенному не напрямую.

Параметр PeerWeight является внешним рейтингом, который администратор назначил одноранговому узлу; он не объявляется другим маршрутизаторам. При существовании нескольких маршрутов до одного назначения предпочитаются одноранговые узлы с более высокими весовыми коэффициентами.

Параметр BGP Retry Time позволяет администратору задать временной интервал между попытками установить соединение с настроенными одноранговыми узлами, которые были по какой-либо причине отключены. Если узел недоступен, но его состояние установлено в On, маршрутизатор будет продолжать попытки контакта с узлом каждые PeerRetryTime секунд. Минимально допустимое время PeerRetryTime равно 10 секундам.

Время удержания согласуется с одноранговым узлом, поэтому сконфигурированное значение PeerHoldTime не обязательно будет временем удержания, которое будут использовать одноранговые узлы. Равные пользователи используют меньшую из двух предложенных задержек времени. Время удержания должно быть установлено или на 0 или не меньше 3 секунд. Если установленный интервал времени удержания 0, тогда периодические сообщения KEEPALIVE посылаться не будут.

Если PeerWeight, PeerHoldTime или PeerRetryTime не заданы, будут использоваться значения по умолчанию. Значение по умолчанию PeerWeight равно 100, значение по умолчанию PeerHoldTime равно 180 секундам, значение по умолчанию PeerRetryTime равно 30 секундам.

Если LoopbackAddress указан в разделе IP Loopback, то BGPUseLoopback может быть установлен в TRUE. В этом случае в качестве IP-источника пакетов TCP для данного однорангового узла маршрутизатор использует собственный адрес обратной связи, а не конкретный IP-адрес одного из собственных интерфейсов. Примите во внимание, однако, что одноранговый узел должен знать, как отправлять пакеты адресам при помощи обычных процедур маршрутизации IP. Если адрес не находится в подсети уже известной узлу, он должен быть добавлен в виде статического маршрута. Адрес обратной линии обычно только используется для внутренних одноранговых узлов, так как внешние одноранговые узлы обычно соединены напрямую.

Маршрут по умолчанию маршрутизатора не объявляется одноранговому узлу, если только параметр AdvertiseDefault для этого однорангового узла не установлен в TRUE.

Примерная конфигурация узла

Это - типовая конфигурация однорангового узла:

    [ BGP Peer List ]
    BGPPeer = On   198.41.11.213   100   Peer1
    BGPPeer = On   205.14.128.1    110   Peer2

    [ BGP Peer Config "Peer1" ]
    InputRouteMap            = bgpin1
    OutputRouteMap           = bgpout1
    PeerHoldTime             = 180
    PeerRetryTime            = 65
    PeerWeight               = 1000

    [ BGP Peer Config "Peer2" ]
    InputRouteMap            = bgpin2
    OutputRouteMap           = bgpout1
    PeerHoldTime             = 180
    PeerRetryTime            = 45
    PeerWeight               = 2000

В приведенном примере BGP Peer List и BGP Peer Config, одноранговые узлы 198.41.11.213 и 206.14.128.2 используют BGP Peer Config 1, а узел 205.14.128.1 - BGP Peer Config 2.

Политика объявления маршрута BGP

Поведение BGP по умолчанию – НЕ объявлять маршруты. Это существует для того, чтобы предотвратить случайные объявления маршрутов в Интернете.

Чтобы объявить маршруты, необходимо кое-что настроить: Список сетей BGP, перераспределение маршрута IP, маршрутные карты BGP или фильтры маршрута IP.

Чтобы объявить внешние маршруты, используйте карты маршрутов BGP или фильтры маршрута IP. Чтобы объявить внутренние маршруты, используйте список сетей BGP или перераспределение маршрута IP.

Каждый из разделов конфигурации описан ниже.

[ BGP Networks ]

Раздел Сети BGP определяет список маршрутов, которые администратор планирует объявить как маршруты, которые берут начало внутри AS. Это могут быть напрямую подключенные маршруты, статические маршруты, маршруты RIP или маршруты OSPF.

Маршрутизатор сравнивает записи в списке BGP Networks с записями в своей таблице IP-маршрутизации, и не будет объявлять в списке Networks маршрут, который отсутствует в таблице IP-маршрутизации. Поэтому, если нужно объявить локальные сети, которых нет в собственной таблице IP-маршрутизации маршрутизатора, понадобится добавить статические маршруты.

Примите во внимание, что единственный способ объявить напрямую подключенные маршруты в BGP – это включить их в список сети. Маршруты OSPF или RIP могут быть объявлены в BGP с помощью раздела Перераспределение IP-маршрутов. Статичные маршруты могут быть объявлены по BGP при помощи установки флага redistribute на каждом настроенном статическом маршруте.

Дополнительный параметр маски сообщает маршрутизатору, сколько битов записи в таблице IP-маршрутов нужно сравнить с адресом LocalNet. Эта маска необязательно будет фактической маской сети, объявления о которой требуется рассылать. Например, предположим, что маршрутизатор имеет подсети 198.41.9.32, 198.41.9.64 и 198.41.9.96 с маской 255.255.255.224. Чтобы BGP объявил одну сеть 198.41.9.0/24, BGP Networks должен выглядеть следующим образом:

    [ BGP Networks ]
    LocalNet = IP address [mask]

    [ BGP Networks ]
    LocalNet = 198.41.9.32 255.255.255.255

При указанной в сети LocalNet маске маршрутизатору будет соответствовать только запись 198.41.9.32. Сеть будет объявлена как 198.41.9.0/24, так как автоматически обрезается маска подсети более специфичная чем класс C. Однако, если будет предоставлена маска 255.255.255.0, сеть 198.41.9.0/24 будет объявлена трижды, поскольку все три подсети будут соответствовать записи LocalNet. Данное обрезание не такое же самое, что и агрегирование, и применяется только к внутренним сетям и к маскам более специфичным, чем класс C. Чтобы обеспечить агрегирование маршрутов, используйте раздел "Агрегация BGP".

Настройка агрегирования BGP

Раздел BGP Aggregates содержит сети, которые следует объединить перед объявлением внешним одноранговым партнерам. Таблица IP-маршрутизации маршрутизатора должна содержать сети, которые являются подмножеством объединения, чтобы объединение было объявлено; внешним узлам будут объявляться только объединения, а не индивидуальные маршруты. Внутренние одноранговые узлы получают индивидуальные маршруты, если они создаются за пределами AS; внутренние одноранговые узлы не обмениваются внутренними маршрутами через BGP.

Нет необходимости иметь список объединений для внутренних подсетей сетей класса C (см. раздел Сети BGP выше). Если имеется несколько сетей класса C (или более высокого), которые могут быть объединены с помощью общей маски в суперсеть, можно применить функции агрегирования.

    [ BGP Aggregates ]
    AddrAndMask = [IPAddr] [IPMask]

    IP Routing Table Entries
    198.41.8.0     255.255.255.0
    198.41.9.0     255.255.255.0
    198.41.10.0    255.255.255.0
    198.41.11.0    255.255.255.0

    [ BGP Networks ]
    LocalNet = 198.41.8.0 255.255.252.0

    [ BGP Aggregates ]
    AddrAndMask = 198.41.8.0 255.255.252.0

Одиночный маршрут 198.41.8.0/22 будет объявлен внешним одноранговым узлам BGP. Без записи BGP Aggregates, будут объявляться раздельно четыре сети. Все четыре сети будут соответствовать маскам, представленных в разделе BGP Networks, но объединение не будет произведено автоматически.

Перераспределение протокола IP-маршрутизации

Другой способ указать маршруты RIP и OSPF для импортирования их в BGP -это перераспределение маршрутов. По умолчанию перераспределение маршрутизации отключено.

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

Примечание: Количество поддерживаемых маршрутов будет также зависеть от количества памяти, которое имеет маршрутизатор.

    [ IP Route Redistribution ]

    BGPtoOSPF                  Redistribute BGP routes to OSPF
                               Syntax: [True|False] [Metric]
    BGPtoRIP                   Redistribute BGP routes to RIP
                               Syntax: [True|False] [Metric]
    RIPtoBGP                   Redistribute RIP routes into BGP
    OSPFtoBGP                  Redistribute OSPF routes into BGP

Распределение статических маршрутов в BGP

Статический маршрут может быть перераспределен в BGP благодаря использованию флага перераспределения во время настройки маршрута в разделе IP Static:

[ IP Static ]
198.41.16.0 255.255.255.0 198.41.9.65 1 Redist=BGP

Настройка карты маршрута протокола BGP

Карты маршрута BGP похожи на фильтры маршрута IP, за исключением:

  • - Они характерны для BGP

  • Они могут быть определены на основе равноправных узлов

  • Они позволяют устанавливать атрибуты BGP на входящие и исходящие маршруты, в дополнение к фильтрации маршрутов

Карты маршрутов используются только протоколом BGP и не связаны с конкретным интерфейсом. В разделе BGP Peer Config определяются карты маршрутов (если есть), которые следует применять к узлу. Карты входящего и исходящего маршрута задаются отдельно.

BGP-маршруты, известные маршрутизатору, будут объявлены, если они не запрещены картой маршрутов или фильтром маршрутов. Статические, IGP и напрямую подключенные маршруты не будут объявлены, если они не заданы в разделе BGP Networks или путем перераспределения маршрутов.

Маршрутизатор не допускает никаких маршрутов входа, если не были определены карта маршрутов BGP или фильтр маршрута IP. Если требуется действительно все, поможет команда "permit 0.0.0.0". Маршрутизатор сначала проверяет карты маршрутов BGP, и если маршрут отклонен, фильтры IP-маршрута не будут проверяться, даже если значение BGPUseIPRFltrs равно True.

    [ BGP Peer Config 2 ]
    InputRouteMap            = bgpin2
    OutputRouteMap           = bgpout2

Вместо BGP Route Maps, с BGP можно использовать IP Route Filters. Условия совпадения более ограничены, а различные параметры, такие как community (сообщество), local preference (локальное предпочтение) и weight (вес), не могут быть заданы в IP Route Filters.

BGP Route Map name - это особый раздел конфигурации, означающий отсутствие ключевых слов для документирования. Каждый раздел содержит полный набор фильтров, который однозначно определяется частью Name имени раздела. Может существовать несколько разделов, при этом у каждого будет уникальное имя. Длина имени должна быть не более 15 символов.

Правила настройки карт маршрутизации BGP

Данный раздел подробно описывает параметры и модификаторы относящиеся к правилам настройки карт маршрутизации BGP.

action route [direction] [out | in modifiers] 
permit | deny IP Address out | in

Необходимые параметры - это action, route и direction. Модификаторы In и out являются необязательными.

Действие - Permit or Deny

Когда маршрут удовлетворяет условию правила, это задает действие для исполнения.

Маршрут - IP-адрес сети

IP–адрес указывается также, как и для фильтров IP–маршрутов; т.е. в обычной точечной десятичной нотации, как и факторизованный адрес, шестнадцатеричное число, или с добавочным /разрядным полем. Посмотрите страницу руководства фильтра маршрута IP для подробных данных.

[Направление]

Должны быть указаны параметры in или out. Определяет направление, к которому применяется правило.

Данный модификаторы применимы, если направление указано как:

  • ipaddr – IP – адрес однорангового узла

  • srcas – номер AS - источника маршрута

  • hasas – номер AS содержится в пути AS

  • nhop – это следующий узел маршрута

  • comm – данное сообщество содержится в списке атрибутов

  • setpref – устанавливает предпочтение данному значению

  • setwt – задает вес данному значению

Модификаторы ipaddr | hasas | srcas | comm | nhop ограничивают правила входа для маршрутов, начинающихся из назначенного IP – адреса, номера AS, сообщества или следующего узла. Здесь должен быть только один из пяти аргументов. "hasas" означает, что правило будет применено в том случае, когда путь AS содержит указанный номер AS в любом месте пути AS; "srcas" означает, что правило будет применено, только если маршрут начинается в указанной AS.

Модификатор setpref позволяет назначить предпочтения на входящие маршруты. При наличии ipaddr, hasas, srcas, comm или nhop преимущество будет установлено только для маршрутов, удовлетворяющих условию.

Модификатор setwt допускает назначение веса на входящие маршруты. Если ipaddr, hasas, srcas, связь или nhop будут предоставлены, то вес будет только установлен для маршрутов то соответствие то условие.

Если направление отсутствует, эти модификаторы применяются:

  • ipaddr – IP – адрес однорангового узла

  • toas – номер AS однорангового узла

  • srcas – номер AS - источника маршрута

  • origin – протокол пункта возникновения маршрута

  • setnhop – задать атрибут следующего узла

  • setmed – задать атрибут дискриминатора на несколько выходов

  • setasp – добавить путь AS к существующему пути

  • setcomm - задать новый список сообществ, отменив предыдущий

  • addcomm – добавить список сообществ к существующему

Модификаторы ipaddr | toas ограничивают исходящие правила для маршрутов на назначенный IP–адрес или номер AS. Здесь должен быть только один аргумент. Если у маршрутизатора есть только один одноранговый узел в указанной AS, то "ipaddr" или "toas" дадут тот же результат. Если в рамках соседней AS у маршрутизатора есть несколько одноранговых узлов, ограничьте действие правила только одним узлом с помощью его IP-адреса или примените это правило к каждому узлу AS с помощью ее номера.

Модификатор srcas ограничивает исходящие правила для маршрутов, источником которых является назначенный номер AS.

Модификатор протокола origin ограничивает исходящие правила для маршрутов, источником которых является назначенный протокол. Протокол BGP может выбирать из своей собственной таблицы IP-маршрутизации и объявлять такие BGP-маршруты к равноправным узлам, как прямой, статический, RIP, OSPF и другие.

Модификатор setnhop позволяет задать на исходящем маршруте следующий узел.

Модификатор setmed позволяет установить на исходящий маршрут дискриминатор на несколько выходов.

Модификатор setasp позволяет добавить к атрибуту исходящего пути AS указанный список AS. Можно ввести до 6 номеров AS.

Модификатор setcomm позволяет задать на исходящий маршрут список сообщества. Параметры могут быть либо максимум 6 номерами сообществ, либо одним из специальных сообществ: "noexport", "noadv", или "noexpsub". Это три "известных" сообщества, определенные в RFC 1997, Атрибут Атрибутов BGP-community: NO_EXPORT, NO_ADVERTISE, и NO_EXPORT_SUBCONFED.

Модификатор addcomm позволяет добавить к исходящему маршруту список сообществ. Параметры могут быть максимум 6 номерами сообществ.

Примеры

Использование маршрута 192.61.5.0 в карте маршрута mymapin протокола BGP будет разрешено, если атрибут Community содержит сообщество 200 и предпочтение равно 100. На линии 2, все прочие маршруты от Community 200 также будут приняты, однако предпочтение будет предоставлено для 300. Маршруты, не содержащие Community 200, будут запрещены.

В Схеме маршрута BGP mymapout, всем непосредственным маршрутам, заданным в разделе сети BGP, разрешат посещать AS номер 200, и MED будет установлен в 10. На второй линии все маршруты будут допущены вплоть до AS 300, но атрибут сообщества (Community) примет значение noadv (NO_ADVERTISE).

[ BGP Route Map "mymapin" ]
     permit 192.61.5.0 in comm 200 setpref 100
     permit 0.0.0.0 in comm 200 setpref 300

     [ BGP Route Map "mymapout" ]
     permit 0.0.0.0 out toas 200 origin direct setmed 10
     permit 0.0.0.0 out toas 300 setcomm noadv

Сводка по процессу выбора маршрута BGP

Карты маршрутизации помогают администратору влиять на процесс выбора маршрута, поскольку BGP помимо всего прочего использует вес, параметр и MED. BGP использует следующие критерии (в указанном порядке) для выбора оптимального маршрута до точки назначения:

  • Наиболее предпочтителен путь с максимальным весом.

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

  • Если пути имеют одинаковый приоритет, выберите путь с самой короткой длиной AS-пути.

  • Если все пути имеют одинаковую длину пути AS, выберите путь с самым низким MED.

  • Если для путей используется одинаковый селектор MED, выберите путь однорангового узла BGP с наименьшим идентификатором маршрутизатора.

Фильтры IP-маршрута и BGP

Пользователь может применить IP Route Filters вместе с протоколом BGP вместо BGP Route Maps; однако, IP Route Filters не предоставляют возможность настройки атрибутов протокола BGP, показанные в разделе BGP Route Map. Если для однорангового узла был определен InputRouteMap, то IP Route Filters (фильтры IP-маршрута) будут игнорироваться для входящих маршрутов, даже если в разделе BGP General параметр BGPUseIPRFltrs установлен в TRUE. Также если для однорангового узла был определен OutputRouteMap, фильтры IP-маршрута для исходящих маршрутов будут проигнорированы.

Для BGP дополнительный параметр добавлен в фильтрацию маршрута IP, основанную на пути AS. BGP-маршрут содержит данные о всех автономных системах (AS), которые он проходит. Маршрут 199.41.13.0, исходящий из AS 500, будет иметь два пути AS, чтобы достичь R1: [200,300,500] и [400,600,500].

В следующем примере, IP Route Filter bgpin применяется к маршрутизатору R1. Все маршруты, исходящие из AS 300, будут отфильтрованы, и все маршруты, исходящие из AS 400, будут разрешены.

IP Route Filter bgpout позволяет объявлять 192.62.16.0 для R2, а 192.62.17.0 для R4. В bgpout, вместо номеров AS можно использовать IP-адреса R2 и R4.

IP Route Filter bgp600 иллюстрирует использование ключевого слова contains. Данный фильтр будет отклонять все входящие маршруты, содержащие в любом месте их AS-пути AS 600.

Обратите внимание, что последняя строка маршрутного фильтра предотвращает непреднамеренное фильтрование RIP и OSPF маршрутов:

[ IP Route Filter "bgpin" ]
deny 0.0.0.0 in via bgp from 300
permit 0.0.0.0 in via bgp from 400
permit 0.0.0.0 in via rip ospf

[ IP Route Filter "bgpout" ]
permit 192.62.16.0 out via bgp to 200
permit 192.62.17.0 out via bgp to 400
permit 0.0.0.0 out via rip ospf

[ IP Route Filter "bgp600" ]
deny 0.0.0.0 in via bgp contains 600
permit 0.0.0.0 in via rip ospf

             ---------           ---------          ---------
192.62.16.0  | R1    |___________| R2    |__________| R3    |
192.62.17.0  | AS100 |           | AS200 |          | AS300 |
             ---------           ---------          ---------
                 |                                       |
                 |                                       |
             ---------          ---------          ---------
             | R4    |__________| R6    |__________| R5    | 199.41.13.0
             | AS400 |          | AS600 |          | AS500 |
             ---------          ---------          ---------

Однако с фильтрацией AS это сделать невозможно, так как фильтр AS применяется к источнику маршрута. Предположим, маршрутизатор R1 получает объявление о маршруте 199.41.13.0 с обоих одноранговых узлов R2 и R4, и что маршрут исходит из AS 500. Путь AS для маршрута из R2 следовательно [200,300,500], а путь AS для того же маршрута из R4 – [400,600,500].

[ IP Route Filter "does not work as intended" ]
        deny 199.41.13.0 in via bgp from 200
        permit 199.41.13.0 in via bgp from 400

Хотя синтаксис является верным, верхний фильтр может отклонить маршрут; он не будет соответствовать фильтру во второй строке, потому что исходный номер AS – 500, а не 400. Чтобы достигнуть вышепоказанной цели, можно использовать IP–адреса одноранговых узлов R2 и R4:

[ IP Route Filter "bgpin" ]
    deny 199.41.13.0 in via BGP from "R2's IP address"
    permit 199.41.13.0 in via BGP from "R4's IP address"

Команды консоли BGP

Имеется несколько команд отображения для BGP и несколько команд включения и выключения BGP или сброса BGP-подключений:

Примечание: См. Справочное руководство по управлению Конфигурации на основе теста и Командной строки для команд, используемых в этом разделе.

show bgp rtcount     BGP Routing Entry Counts
    show bgp routes      Display BGP Routing Entries
    show bgp peers       Display the list of BGP Peers and current status
    show bgp timers      BGP Peer timer information
    show bgp mem         BGP Database Memory Allocation
    show bgp config      BGP configuration information
    show bgp stats       BGP peer uptime and packet exchange statistics
    show bgp networks    Display list of internal networks to be advertised
    show bgp aggregates  Display BGP routes to be aggregated
    
    bgp disable          Disable BGP connection to all peers or 1 specified peer
                         Usage: { ALL | IP Address }
    bgp enable           Enable BGP connection to all peers or 1 specified peer
                         Usage: { ALL | IP Address }
    bgp reset peer       Reset BGP connection to all peers or 1 specified peer
                         Usage: { ALL | IP Address }

Show BGP rtcount

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

BGP Test> sho bgp rt

    BGP Routing Database Entries       In Use    Added     Removed
    In IP routing table:               51548     78694     27146     
    BGP route heads:                   51548     78702     27154     

    IP Routing Table Entries: 51561

Команда show BGP Routes

Команда show bgp routes, без аргументов, отображает лучший маршрут в базе маршрутизации BGP для каждого назначения. Пример выборки приведен ниже.

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

bgptest>sho bgp ro

  BGP Best Routes List

      Network/Mask Bits   Pref  Weight  Next Hop         AS Path
   1  128.128.0.0    /16  100   100     199.45.133.101   3404 1 1 
   2  129.129.0.0    /16  100   100     199.45.133.101   3404 1 1239 1673 1133 559 
   3  130.130.0.0    /16  100   100     199.45.133.101   3404 1 1 5727 7474 7570 
   4  131.131.0.0    /16  100   100     199.45.133.101   3404 1 1 1236 
   5  134.134.0.0    /16  100   100     199.45.133.101   3404 1 1239 1760 4983 
   6  135.135.0.0    /16  100   100     199.45.133.101   3404 3561 3561 4293 
   7  139.139.0.0    /16  100   100     199.45.133.101   3404 1 1239 568 1913 1569 
   8  140.140.0.0    /16  100   100     199.45.133.101   3404 1 1239 7170 374 
   9  141.141.0.0    /16  100   100     199.45.133.101   3404 1 1239 3739 3739 3739 
  10  142.142.0.0    /16  100   100     199.45.133.101   3404 3561 3561 577 549 808 
  11  147.147.0.0    /16  100   100     199.45.133.101   3404 3561 3561 5400 2856 
  12  149.149.0.0    /16  100   100     199.45.133.101   3404 1 1 3749 
  13  150.150.0.0    /16  100   100     199.45.133.101   3404 3561 3561 3786 6068 
  14  151.151.0.0    /16  100   100     199.45.133.101   3404 1 1239 174 
  15  152.152.0.0    /16  100   100     199.45.133.101   3404 1 1 286 1891 
  16  155.155.0.0    /16  100   100     199.45.133.101   3404 1 701 702 8413 1913 1564 
  17  158.158.0.0    /16  100   100     199.45.133.101   3404 3561 3561 
  18  161.161.0.0    /16  100   100     199.45.133.101   3404 1 1239 174 
  19  164.164.0.0    /16  100   100     199.45.133.101   3404 1 701 7633 
  20  165.165.0.0    /16  100   100     199.45.133.101   3404 1 701 5713

Команда показа может также быть вызвана с определенным маршрутом, в этом случае она отобразит все пути для того маршрута.

BGP 2600>sho bgp ro 129.129.0.0

    BGP routing table entry for 129.129.0.0/16

    Paths: (in order of preference, best first)

      AS path 11129 3404 1239 1673 1133 559 
        Next hop 198.41.11.1 from peer 198.41.11.17 (RtrID 198.41.11.17)
          Origin IGP, localpref 100, weight 100
      AS path 12345 11129 3404 1239 1673 1133 559 
        Next hop 198.41.11.1 from peer 198.41.11.201 (RtrID 198.41.11.201)
          Origin IGP, localpref 100, weight 100

Если вводится только IP-адрес, будет отображен наиболее точный маршрут. Чтобы отобразить менее конкретный маршрут с тем же IP-адресом, также введите маску.

Маршруты протокола BGP отображаются при использовании нотации CIDR: Сеть/биты маски, а не маршрут/маска.

С помощью BGP Route Maps можно настраивать предпочтение и вес. Если они не указаны, будут использованы значения локального предпочтения и веса по умолчанию.

Полный путь AS отображается с источником AS, являющимся самым дальним справа. Каждый AS, который проходит маршрут, добавит свой собственный AS к атрибуту пути AS.

Вывод таблицы IP-маршрутизации по команде show ip routing, с маршрутами BGP, показан ниже. Для протокола BGP метрикой является длина пути, так же как и для RIP. Большинство BGP-маршрутов определяются как IGP, что означает, что они исходят от протокола внутреннего шлюза. Другие возможности - это EGP (протокол внешней маршрутизации) или Incomplete (обычно означает статический маршрут).

bgptest> sho ip ro dynamic bgp

  Dynamic Routes:
  Destination      Mask     Gateway     Metric   Uses  Type  Src/TTL Interface
  3.0.0.0          FF000000 198.41.11.1      5      0   BGP    INC     Ether0
  6.0.0.0          FF000000 198.41.11.1      6      0   BGP    INC     Ether0
  9.2.0.0          FFFF0000 198.41.11.1      6      0   BGP    IGP     Ether0
  9.20.0.0         FFFF8000 198.41.11.1      6      0   BGP    INC     Ether0
  12.0.0.0         FF000000 198.41.11.1      5      0   BGP    IGP     Ether0
  12.2.97.0        FFFFFF00 198.41.11.1      6      0   BGP    IGP     Ether0
  12.2.183.0       FFFFFF00 198.41.11.1      4      0   BGP    IGP     Ether0
  12.4.164.0       FFFFFF00 198.41.11.1      5      0   BGP    IGP     Ether0
  12.5.164.0       FFFFFF00 198.41.11.1      5      0   BGP    IGP     Ether0
  12.5.252.0       FFFFFE00 198.41.11.1      6      0   BGP    IGP     Ether0
  12.6.42.0        FFFFFE00 198.41.11.1      6      0   BGP    IGP     Ether0
  12.7.214.0       FFFFFE00 198.41.11.1     11      0   BGP    IGP     Ether0
  12.8.188.0       FFFFFC00 198.41.11.1      5      0   BGP    IGP     Ether0
  12.8.188.0       FFFFFF00 198.41.11.1      5      0   BGP    INC     Ether0
  12.8.189.0       FFFFFF00 198.41.11.1      5      0   BGP    INC     Ether0
  12.8.191.0       FFFFFF00 198.41.11.1      5      0   BGP    INC     Ether0
  12.10.14.0       FFFFFE00 198.41.11.1      5      0   BGP    INC     Ether0
  12.10.152.0      FFFFF800 198.41.11.1      5      0   BGP    IGP     Ether0
  12.10.231.0      FFFFFF00 198.41.11.1      6      0   BGP    IGP     Ether0
  12.11.134.0      FFFFFE00 198.41.11.1      5      0   BGP    IGP     Ether0

Команда Show BGP Peers

Команда show bgp peers отображает сконфигурированные одноранговые узлы BGP данного маршрутизатора, включая информацию о номере AS однорангового узла, идентификаторе маршрутизатора, IP-адресе, номере разъема TCP, состоянии активизации и состоянии соединения протокола BGP.

bgptest>sho bgp peers

    ==========================================================================
                               BGP PEER STATUS
    --------------------------------------------------------------------------
    Int  AS      Router           IP               TCP     Enable  BGP
    Ext  Number  ID               Address          Socket  Status  State
    --------------------------------------------------------------------------
    Ext  23456   0.0.0.0          198.14.13.18     0       Off     IDLE       
    Ext  34567   198.41.11.6      198.14.12.6      82      On      ESTABLISHED
    Int  11129   0.0.0.0          198.41.11.17     0       Off     IDLE       
    Int  11129   0.0.0.0          198.41.11.2      0       On      ACTIVE     
    ==========================================================================

Int/Ext указывает внутренний это или внешний одноранговый узел. (Внутренний узел имеет тот же номер AS, что и сам маршрутизатор). Номер AS однорангового узла указан в списке одноранговых узлов BGP.

Router ID не известен, пока узел не свяжется с маршрутизатором, то есть, если состояние соединения отображается как IDLE, ACTIVE, или CONNECT, данный параметр может быть установлен в 0. ID маршрутизатора обычно является IP–адресом одного из интерфейсов узла, может быть таким же как и IP–адрес, или отличаться от него.

Enable Status указывает, будет ли маршрутизатор принимать запрос о соединении с однорангового узла. Одноранговый узел может быть известен как активизированный с помощью установки его в On в Списке одноранговых узлов BGP. Кроме того, узел можно динамически включать и выключать с помощью команд BGP Peer Enable и BGP Peer Disable. Если "Enable Status" выключен, состояние BGP всегда будет IDLE.

Состояния соединения протокола BGP: IDLE, ACTIVE, CONNECT, OPENSENT, OPENCONFIRM, и ESTABLISHED. Состояние подключения устанавливается активными согласованиями между узлами. В состоянии IDLE, маршрутизатор не будет принимать соединения с однорангового узла. Это состояние введено кратко после того, как соединение испытало таймаут, для предотвращения также быстрый вверх и вниз переходы узлов. В состоянии ACTIVE, маршрутизатор на своем порте сервера ожидает от однорангового узла запросы на подключение. В состоянии CONNECT, маршрутизатор отправил одноранговому узлу запрос на активное TCP-соединение. В состояниях OPENSENT и OPENCONFIRM два узла обмениваются предварительными пакетами для установки их сеанса BGP. Если обмены прошли успешно, состояние одноранговых узлов будет установлено в ESTABLISHED. Узлы должны продолжать обмениваться периодическими пакетами KEEPALIVE, чтобы оставаться в состоянии established, если только оговоренное время ожидания не установлено на 0.

BGP взаимодействует со своими одноранговыми узлами через протокол TCP. Таким образом, для получения более подробных сведений о сеансах BGP выполните команду show os tcp. Состояния TCP не равны состояниям BGP, но являются стандартными для TCP (LISTEN, SYNSENT, SYNRCVD, ESTABLISHED, FINWAIT1, FINWAIT2, CLOSEWAIT, LASTACK, CLOSING, TIMEWAIT). BGP использует порт 179 для прослушивания попыток соединения BGP.

bgptest>sho os tcp
    ==========================================================================
                              TCP SESSION INFORMATION
    --------------------------------------------------------------------------
                                               Local   Remote  Remote
    Num  Session Type      State       Socket  Port    Port    IP Address
    --------------------------------------------------------------------------
      1  SERVER (TELNET)   LISTEN      80      23      0       0.0.0.0
      2  SERVER (BGP)      LISTEN      81      179     0       0.0.0.0
      3  ACTIVE (BGP)      ESTABLISH   82      20001   179     198.41.9.2 
    --------------------------------------------------------------------------
    
    13 free TCBs out of 16.
    ==========================================================================

Команда Show BGP Networks

Команда show bgp networks отображает список внутренних сетей, которые будут предложены внешним одноуровневым узлам BGP.

bgptest>sho bgp networks

    BGP NETWORKS:  2
    Address              Mask
    198.41.11.0          255.255.255.0
    209.14.128.0         255.255.255.0 

Команда Show BGP Stats

Команда show bgp stats отображает статистику типов пакетов, полученных от одноранговых узлов BGP и отправленных им, а также текущее время работоспособного состояния однорангового узла.

BGP Test>sho bgp stats
                                       Received    Sent
    Open messages:                         8         58          
    Keepalive messages:                 4069       4124        
    Notify messages:                       0          0

    BGP External Peer 198.41.11.6 state ESTABLISHED
       6 peer sessions, current uptime 2 days 16 hours 40 minutes 19 secs 
       0 updates received
       78791 updates sent, last at 6 secs 
    BGP Internal Peer 198.41.9.2 state ESTABLISHED
       1 peer sessions, current uptime 2 days 20 hours 42 minutes 28 secs 
       88791 updates received, last at 7 secs 
       0 updates sent

Команда Show BGP Timers

Команда show bgp timers отображает текущее время в секундах на каждом таймере, связанном с каждым одноранговым узлом. Если одноранговый узел находится в состоянии "ESTABLISHED", то будут использоваться таймеры KEEPALIVE и HOLD. Если одноранговый узел находится в состоянии ACTIVE, то будет использоваться таймер CONNECT. Если одноранговый узел находится в состоянии IDLE, но при этом включен, это будет таймер AUTO ENABLE. Если узел находится в режиме IDLE и отключен, то отключаются и все таймеры, пока не будет дана команда bgp peer enable.

BGP Test>sho bgp timers

    ======================================================================
                                 BGP TIMERS
    ----------------------------------------------------------------------
    Peer Address     Status    State        Timers
    ----------------------------------------------------------------------
    198.41.9.2       Enabled   ESTABLISHED  Send KEEPALIVE pkt:   2   secs
                                            HOLD timer expires:   121 secs
    198.14.13.2      Enabled   ACTIVE       Next CONNECT attempt: 16  secs
    199.13.12.3      Enabled   IDLE         AUTO ENABLE:          112 secs
    198.41.9.3       Disabled  IDLE         No timers active
    ======================================================================

Когда одноранговый узел находится в состоянии ESTABLISHED, таймер Keepalive показывает число секунд, оставшееся до отправки маршрутизатором следующего пакета KEEPALIVE данному узлу. Таймер ожидания указывает, сколько секунд, пока Таймер ожидания для узла не истечет. Таймер удержания настраивается каждый раз, когда маршрутизатор получает пакет UPDATE или KEEPALIVE от однорангового узла. Если время задержки истекает, маршрутизатор объявит одноранговый узел выключенным, переведет его в состояние IDLE и установит таймер автовключения.

Оба таймера, Connect и Auto Enable, отображают оставшееся количество секунд до повторной попытки маршрутизатора соединиться с одноранговым узлом сети. Таймер Connect используется, когда одноранговый узел находится в состоянии ACTIVE; в данном состоянии, маршрутизатор будет принимать входящий запрос соединения от узла до истечения таймера Connect. Автомобиль Включает таймер, используется, когда узел находится в состоянии бездействия; в этом состоянии маршрутизатор НЕ примет запрос подключения от узла, пока не истекло Автоматическое Время включения. Когда истекает время Auto Enable, одноранговый узел возвращается в состояние ACTIVE.

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

Показать BGP Mem

Команда show bgp mem позволяет просматривать подробную информацию о коэффициенте использования динамической памяти для BGP.

BGP Test>sho bgp mem

               ROUTING DATABASE DYNAMIC MEMORY USAGE
    ------------------------------------------------------------
    Memory Block        Allocs      Deallocs        Size (bytes)
    ------------------------------------------------------------
    ip radix nodes                                  1976180 
    ip routing entries                              4332132 
    bgp ip routes       78709       27149   
    bgp routes          78717       27157           2062400 
    bgp int change      0           0               0       
    bgp aggregates      0           0               0       
    bgp agg paths       0           0               0       
    bgp timers          12          0               384     
    -------------------------------------------------------
    Peer 198.41.9.2
    bgp path entries    78728       27168           1443680 
    bgp transmit queues 0           0               0       
    bgp PA strings      28151       21181           1784320 
    bgp PA hdr entries  28151       21181           529720  
    bgp rejected routes 0           0               0       
    bgp rej entries     0           0               0       
    bgp history entries 0           0               0       
    ------------------------------------------------------------
    Total Size                                      12128816
    ------------------------------------------------------------

Команда Show BGP Config

Эта команда отображает Router ID маршрутизатора, параметры, установленные в разделе BGP General, статус перераспределения маршрутов и параметры конфигурации одноранговых узлов. Примите во внимание, что Router ID маршрутизатора для BGP тот же, что и для OSPF, максимальный IP–адрес интерфейсов IP маршрутизаторов.

bgptest>sho bgp config

    BGPEnabled             Yes
    Router ID              205.14.128.2
    BGP AS Number          100
    BGP Local Preference   100
    Use IP Route Filters   Yes
    Route Relector Server  No

    Redistribute RIP routes into BGP is disabled
    Redistribute OSPF routes into BGP is disabled
    Redistribute BGP routes into OSPF is disabled
    Redistribute BGP routes into RIP is disabled

    BGP Peer 205.14.128.1
             Configuration ID   1
             Startup State      Inactive
             AS Number          110
             Peer Weight        2000
             Next Hop Self      No
             Cfg Hold Time      180
             Retry Time         45
             Use Loopback       No
             Advertise Default  Yes
             Input Route Map    rmapin
             Output Route Map   rmapout
    BGP Peer 198.41.11.213
             Configuration ID   2
             Startup State      Active
             AS Number          100
             Peer Weight        1000
             Next Hop Self      No
             Cfg Hold Time      180
             Retry Time         65
             Use Loopback       No
             Advertise Default  No
             Input Route Map    None
             Output Route Map   None

Состояние пуска равноправных узлов показывает, пытается ли маршрутизатор установить сессию с равноправным узлом при включенном питании. Если он находится в режиме Inactive, партнер может быть активизирован командой BGP Enable. Одноранговый узел, тем не менее, снова будет неактивным после следующего перезапуска маршрутизатора.

Примите во внимание, что в первом одноранговом узле определены BGP Route Maps, в то время как во втором – нет. Поскольку значение опции Use IP Route Filters выставлено в Yes, они будут применяться для второго однорангового устройства и не будут для первого.

Команда show BGP aggregates

Команда show bgp aggregates отображает маршруты, настроенные администратором для объединения для внешних одноранговых устройств. Агрегирование будет происходить только в том случае, когда экземпляр маршрута отображается в таблице маршрутизации IP.

bgptest>sho bgp agg

    BGP AGGREGATES:  
    195.41.0.0/16

BGP Disable

Эта команда прекращает сеанс BGP с выбранным одноранговым узлом или со всеми одноранговыми узлами.

BGP disable all
          OR
    BGP disable 205.14.128.1

Reset BGP Peer

Данная команда сбрасывает сеанс с выбранным одноранговым узлом BGP или со всеми одноранговыми узлами.

Reset BGP Peer all
           OR
    Reset BGP Peer 205.14.128.1

Краткое руководство по началу запуска BGP

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

  1. Включите BGP и укажите номер AS в основном разделе BGP.

    [ BGP General ]
    
    BGPEnabled = On
    BGPAS = your AS number
  2. Укажите IP-адрес и номер AS своего однорангового узла BGP, в данном случае маршрутизатора BGP ISP.

    [ BGP Peer List ]
    
    BGPPeer = On peer IP address peer AS number 
  3. Задайте список сетей для внешних сетей, которые вы хотите отобразить вне вашей автономной системы.

    [ BGP Networks ]
    
    LocalNet = first IP address mask 
    LocalNet = second IP address mask 

Параметры отладки BGP

Для версий кода с отладкой доступного, существует пять команд отладки BGP: BGPPKT, BGPDB, BGPCON, BGPKEEP и BGPTXQ. BGPPKT – предоставляют информацию об обмене пакетами обновления BGP. BGPFDB – предоставляет информацию об обновлениях баз данных. BGPCON – предоставляет информацию, касающуюся состояния сеансов BGP с одноранговыми узлами. BGPKEEP предоставляет сведения о том, когда пакеты KEEPALIVE были отправлены или получены. BGPTXQ предоставляет сведения об отправке пакетов обновлений узлам в состоянии ESTABLISHED.

sys debug flags BGPPKT
    sys debug flags BGPCON
    sys debug flags BGPFDB
    sys debug flags BGPKEEP
    sys debug flags BGPTXQ

Список RFC для BGP

rfc2283 -- Multiprotocol Extensions for BGP-4. 
           T. Bates, R. Chandra, D. Katz, Y. Rekhter. 
           February 1998. (Status: PROPOSED STANDARD)
rfc2042 -- Registering New BGP Attribute Types. 
           B. Manning. 
           January 1997. (Status: INFORMATIONAL)
rfc1998 -- An Application of the BGP Community Attribute in 
           Multi-home Routing. 
           E. Chen & T. Bates. 
           August 1996. (Status: INFORMATIONAL)
rfc1997 -- BGP Communities Attribute. 
           R. Chandra, P. Traina & T. Li. 
           August 1996. (Status: PROPOSED STANDARD)
rfc1965 -- Autonomous System Confederations for BGP. 
           P. Traina. 
           June 1996. (Status: EXPERIMENTAL)
rfc1863 -- A BGP/IDRP Route Server alternative to a full mesh routing. 
           D. Haskin. 
           October 1995.   (Status: EXPERIMENTAL)
rfc1774 -- BGP-4 Protocol Analysis. 
           P. Traina, Editor. 
           March 1995.   (Status: INFORMATIONAL)
rfc1773 -- Experience with the BGP-4 protocol. 
           P. Traina. 
           March 1995.   (Status: INFORMATIONAL)
rfc1771 -- A Border Gateway Protocol 4 (BGP-4). 
           Y. Rekhter & T. Li. 
           March 1995. (Status: DRAFT STANDARD)
rfc1745 -- BGP4/IDRP for IP---OSPF Interaction. 
           K. Varadhan, S. Hares, Y. Rekhter. 
           December 1994. (Status: PROPOSED STANDARD)

Дополнительные сведения



Document ID: 17612