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

Алгоритм выбора лучшего пути BGP

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


Содержание


Введение

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

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

Требования

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

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

Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.

Условные обозначения

Дополнительные сведения об условных обозначениях см. в документе Условные обозначения технических терминов Cisco.

Почему маршрутизаторы игнорируют пути

Предположим, что все пути, которые получает маршрутизатор для конкретного префикса, организованы в список. Этот список соответствует выходным данным команды show ip bgp longer-prefixes. В этом случае некоторые пути не рассматриваются как потенциально лучшие. Обычно у таких путей не установлен действующий флажок в выходных данных команды show ip bgp longer-prefixes. Маршрутизаторы игнорируют следующие типы путей:

  • Пути, которые отмечены как not synchronized в выходных данных более длинных префиксов show ip bgp

    Если синхронизация BGP включена, там должно быть достойно префикса в таблице IP-маршрутизации для внутреннего BGP (iBGP) путь, который будут считать допустимым путем. Синхронизация BGP отключена по умолчанию в Cisco программное обеспечение IOS�.

    Примечание: Синхронизация включена по умолчанию в Cisco IOS Software Release до 12.2 (8) T. Если в соседе протокола OSPF найден совпадающий путь, то IP-идентификатор маршрутизатора OSPF должен соответствовать IP-идентификатору маршрутизатора BGP соседа iBGP. Большинство пользователей предпочитают отключить синхронизацию при использовании подкоманды BGP no synchronization.

  • Пути, для которых NEXT_HOP недоступен

    Убедитесь, что существует маршрут Протокола IGP к NEXT_HOP, который привязан к пути.

  • Если локальная автономная система (AS) появляется в AS_PATH, пути от внешнего BGP (eBGP) граничат

    Такие пути запрещены на вход в маршрутизатор и даже не установлены в Ядре Сведений о маршрутизации BGP (RIB). То же применяется к любому пути, который запрещен политикой маршрутизации, которая внедрена через доступ, префикс, AS_PATH или списки сообщества, пока вы не настроили neighbor soft-reconfiguration, входящего для соседнего узла.

  • Если вы включили bgp enforce-first-as , и ОБНОВЛЕНИЕ не содержит С соседнего узла как первое количество AS в AS_SEQUENCE

    В этом случае маршрутизатор передает уведомление и закрывает сеанс.

  • Пути, которые отмечены как (received-only) в выходных данных более длинных префиксов show ip bgp

    Политика отклонила эти пути. Однако маршрутизатор сохранил эти пути, поскольку была настроена команда soft-reconfiguration inbound для соседа, отправившего этот путь.

Как работает алгоритм оптимального выбора пути

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

  1. Предпочтение отдается пути с самым большим значением параметра WEIGHT.

    Примечание:  WEIGHT - это специальный параметр Cisco. Он является локальным для маршрутизатора, на которым был настроен.

  2. Предпочтение отдается пути с самым большим значением параметра LOCAL_PREF.

    Примечание: Путь без LOCAL_PREF, как полагают, имел заданное значение с командой bgp default local-preference или имел значение 100 по умолчанию.

  3. Предпочтение отдается пути, который был создан локально с помощью подкоманд BGP network или aggregate, либо через перераспределение от IGP.

    Предпочтение отдается локальным путям, созданным с помощью команд network или redistribute, перед локальными агрегатами, созданными командой aggregate-address.

  4. Предпочтение отдается пути с самым коротким значением AS_PATH.

    Примечание: Знайте об этих элементах:

  5. Предпочтение отдается пути с меньшим типом источника.

    Примечание: IGP ниже, чем Протокол EGP, и EGP ниже, чем НЕПОЛНЫЙ.

  6. Предпочтение отдается пути с атрибутом multi-exit discriminator (MED).

    Примечание: Знайте об этих элементах:

  7. Предпочтение отдается путям eBGP, а не путями iBGP.

    Если лучший путь выбран, переходите к этапу 9 (многопутевой).

    Примечание: Пути, которые содержат AS_CONFED_SEQUENCE и AS_CONFED_SET, локальны для конфедерации. Следовательно, данные пути рассматриваются как внутренние. Не существует различия между путями Confederation External и Confederation Internal.

  8. Предпочтение отдается пути с наименьшей метрикой IGP по отношению к следующему узлу BGP.

    Продолжайте, даже если лучший путь уже выбран.

  9. Определите, необходима ли установка нескольких путей в таблице маршрутизации для BGP Multipath.

    Продолжайте, если лучший путь еще не выбран.

  10. Если оба пути внешние, предпочтение отдается пути, полученному первому (более старому).

    Это действие минимизирует переброску маршрутов, поскольку новый путь не заменяет старый, даже если новый путь окажется лучшим на основании следующего условия принятия решения (действия 11, 12 и 13).

    Пропустите этот шаг, если одно из следующих условий истинно:

    • Была введена команда bgp best path compare-routerid.

      Примечание: Cisco IOS Software Release 12.0.11S, 12.0.11 кв/см, 12.0.11S3, 12.1.3, 12.1.3AA, 12.1.3. T, и 12.1.3. E представил эту команду.

    • Идентификатор маршрутизатора одинаков для нескольких путей, поскольку маршруты получены от одного и того же маршрутизатора.

    • В настоящий момент лучшего пути нет.

      Текущий лучший путь может быт утерян, к примеру, если сосед, предлагающий этот путь, перестает работать.

  11. Предпочтение отдается пути, предложенному маршрутизатором BGP с самым низким значением идентификатора .

    Идентификатор является самым высоким значением IP-адреса маршрутизатора, при этом предпочтение отдается адресу обратной петли. Кроме того, можно использовать команду bgp router-id для настройки идентификатора маршрутизатора вручную.

    Примечание: Если путь содержит атрибуты рефлектора маршрута (RR), удержание VAD обработано как идентификатор маршрутизатора в процессе выбора пути.

  12. Если используется одинаковый идентификатор источника или маршрутизатора для разных путей, предпочтение отдается пути с минимальной длиной списка кластера.

    Это присутствует только в средах BGP RR. В результате клиенты могут установить соединение с узлом RR или клиентами в других кластерах. В этом сценарии клиент должен иметь представление об атрибуте BGP, относящемся к RR.

  13. Предпочтение отдается пути, поступающему с самого меньшего адреса соседа.

    Это IP-адрес, используемый в конфигурации соседа BGP. Он соответствует удаленному узлу, использующемуся в соединении TCP с локальным маршрутизатором.

Пример: Выбор оптимального пути BGP

В данном примере 9 путей доступны для сети 10.30.116.0/23. Сетевая команда show ip bgp отображает записи в таблице маршрутизации BGP для данной сети.

Router R1#show ip bgp vpnv4 rd 1100:1001 10.30.116.0/23
BGP routing table entry for 1100:1001:10.30.116.0/23, version 26765275
Paths: (9 available, best #6, no table)
  Advertised to update-groups:
     1          2          3         
  (65001 64955 65003) 65089, (Received from a RR-client)
    172.16.254.226 (metric 20645) from 172.16.224.236 (172.16.224.236)
      Origin IGP, metric 0, localpref 100, valid, confed-internal
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (65008 64955 65003) 65089
    172.16.254.226 (metric 20645) from 10.131.123.71 (10.131.123.71)
      Origin IGP, metric 0, localpref 100, valid, confed-external
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (65001 64955 65003) 65089
    172.16.254.226 (metric 20645) from 172.16.216.253 (172.16.216.253)
      Origin IGP, metric 0, localpref 100, valid, confed-external
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (65001 64955 65003) 65089
    172.16.254.226 (metric 20645) from 172.16.216.252 (172.16.216.252)
      Origin IGP, metric 0, localpref 100, valid, confed-external
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (64955 65003) 65089
    172.16.254.226 (metric 20645) from 10.77.255.57 (10.77.255.57)
      Origin IGP, metric 0, localpref 100, valid, confed-external
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (64955 65003) 65089
    172.16.254.226 (metric 20645) from 10.57.255.11 (10.57.255.11)
      Origin IGP, metric 0, localpref 100, valid, confed-external, best
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362

!--- BGP selects this as the Best Path on comparing 
!--- with all the other routes and selected based on lower router ID.

  (64955 65003) 65089
    172.16.254.226 (metric 20645) from 172.16.224.253 (172.16.224.253)
      Origin IGP, metric 0, localpref 100, valid, confed-internal
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (65003) 65089
    172.16.254.226 (metric 20645) from 172.16.254.234 (172.16.254.234)
      Origin IGP, metric 0, localpref 100, valid, confed-external
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  65089, (Received from a RR-client)
    172.16.228.226 (metric 20645) from 172.16.228.226 (172.16.228.226)
      Origin IGP, metric 0, localpref 100, valid, confed-internal
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/278

BGP выбирает оптимальный путь из этих 9 путей путем рассмотрения различных атрибутов, которые объяснены в этом документе. В выходных данных, показанных здесь, BGP сравнивает доступные пути и выбирает Path# 6 как оптимальный путь на основе его более низкого router-ID.

Comparing path 1 with path 2:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	The paths have different neighbor AS's so ignoring MED
	Both paths are internal
	  (no distinction is made between confed-internal and confed-external)
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 2 is better than path 1 because it has a lower Router-ID.

Comparing path 2 with path 3:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are confed-external
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 2 is better than path 3 because it has a lower Router-ID.

Comparing path 2 with path 4:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are confed-external
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 2 is better than path 4 because it has a lower Router-ID.

Comparing path 2 with path 5:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are confed-external
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 5 is better than path 2 because it has a lower Router-ID.

Comparing path 5 with path 6:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are confed-external
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 5 because it has a lower Router-ID.

Comparing path 6 with path 7:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are internal
	  (no distinction is made between confed-internal and confed-external)
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 7 because it has a lower Router-ID.

Comparing path 6 with path 8:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are confed-external
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 8 because it has a lower Router-ID.

Comparing path 6 with path 9:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	The paths have different neighbor AS's so ignoring MED
	Both paths are internal
	  (no distinction is made between confed-internal and confed-external)
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 9 because it has a lower Router-ID.

The best path is #6

Настройка процесса выбора пути

Атрибут расширенного сообщества, который называется BGP Cost Community, позволяет настраивать процесс выбора лучшего пути. К алгоритму, описанному в разделе Как работает алгоритм оптимального выбора пути, добавляется дополнительное действие, в котором сравниваются сообщества Cost Communities. Это действие происходит после обязательных действий (точка вставки) алгоритма. Предпочтение отдается пути с наименьшей стоимостью.

Примечание: Знайте об этих элементах:

  • Этот шаг пропускается, если была введена команда bgp bestpath cost-community ignore.

  • Условие набора cost community настраивается на основании номера идентификатора cost community (от 0 до 255) и значения стоимости (от 0 до 4294967295). Значение стоимости определяет приоритетность данного пути. Предпочтение отдается пути с наименьшей стоимостью. Путям, при настройке которых не была учтена стоимость, присваивается значение стоимости по умолчанию, равное 214748347. Это значение находится посередине в диапазоне от 0 до 4294967295. Затем пути оцениваются в рамках процесса выбора лучшего пути. Если два пути обладают одинаковым значением стоимости, путь с наименьшим идентификатором сообщества выбирается в качестве лучшего. Если пути имеют неравные сообщества стоимости перед лучшим путем, путь с более низким сообществом стоимости перед лучшим путем выбран как оптимальный путь.

  • ABSOLUTE_VALUE считают первым шагом в определении степени предпочтения пути. Например, когда EIGRP перераспределен к VPNv4 BGP, тип ABSOLUTE_VALUE используется для сообщества стоимости. IGB_Cost рассматривают после внутренней части (IGP) было сравнено расстояние к следующему переходу. Это означает, что сообщества стоимости с точкой IGP_COST вставки рассматривают после шага 8 алгоритма в том, Как Работает Алгоритм Оптимального пути.

BGP Multipath

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

Далее перечислены главные функции BGP Multipath:

Чтобы быть кандидатами на многопутевой, пути к той же целевой потребности иметь эти характеристики, равные характеристикам лучшего пути:

  • Вес

  • Локальное предпочтение

  • AS-PATH length

  • Origin

  • MED

  • Один из них:

    • Соседний AS или подAS (перед добавлением eiBGP Многопутевая функция)

    • AS-PATH (после добавления eiBGP Многопутевая функция)

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

Далее представлены дополнительные требования eBGP multipath:

  • Информация о пути должна поступить от внешнего соседа или внешнего соседа конфедерации (eBGP).

  • Метрика IGP для следующего узла BGP должна равняться метрике IGP лучшего пути.

Далее представлены дополнительные требования iBGP multipath:

  • Информация о пути должна поступить от внутреннего соседа (iBGP).

  • Метрика IGP для следующего узла BGP должна равняться метрике IGP лучшего пути, если только маршрутизатор не был настроен для многопутевого iBGP с неравной стоимостью.

BGP вставляет в таблицу IP-маршрутизации n последних полученных путей от многопутевых кандидатов. Максимальное значение n в настоящий момент составляет 6. Значение по умолчанию при отключенной функции нескольких путей составляет 1.

При распределении нагрузки с неравной стоимостью также можно использовать BGP Link Bandwidth.

Примечание: Эквивалентный next-hop-self выполнен на оптимальном пути, который выбран среди множеств путей еBGP, прежде чем это будет передано внутренним узлам одного уровня.

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

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


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


Document ID: 13753