Протокол IP : IP-маршрутизация

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

23 марта 2008 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (21 мая 2012) | Отзыв

Содержание

Введение
Предварительные условия
      Требования
      Используемые компоненты
      Условные обозначения
Почему маршрутизаторы игнорируют пути
Как работает алгоритм оптимального выбора пути
Настройка процесса выбора пути
BGP Multipath
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Введение

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

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

Требования

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

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

Данный документ не ограничен отдельными версиями программного и аппаратного обеспечения.

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

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

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

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

  • Пути с пометкой not synchronized в выходных данных команды show ip bgp longer-prefixes

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

    Примечание. Синхронизация отключена по умолчанию в ПО Cisco IOS версии 12.2(8)T и позднее.

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

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

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

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

  • Если был включен bgp enforce-first-as и в UPDATE не содержится автономная система соседей в качестве первого номера AS в AS_SEQUENCE

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

  • Пути, помеченные как (received-only) в выходных данных show ip bgp longer-prefixes

    Пути отклонены в рамках политики. Однако маршрутизатор сохранил эти пути, поскольку была настроена команда 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.

    Примечание. Имейте в виду следующее:

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

    • Вне зависимости от количества автономных систем в наборе значение параметра AS_SET равно 1.

    • AS_CONFED_SEQUENCE и AS_CONFED_SET не включены в длину параметра AS_PATH.

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

    Примечание. IGP меньше, чем Exterior Gateway Protocol (EGP), а EGP меньше, чем INCOMPLETE.

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

    Примечание. Необходимо уделять внимание следующим элементам:

    • Это сравнение имеет место только в том случае, если первая автономная система (соседняя) одинакова для двух путей. Любые автономные подсистемы конфедерации игнорируются.

      Другими словами, атрибуты MED сравниваются только в том случае, если первая автономная система в AS_SEQUENCE одинакова для нескольких путей. Все предшествующие параметры AS_CONFED_SEQUENCE игнорируются.

    • Если включена команда bgp always-compare-med, атрибуты MED сравниваются для всех путей.

      Эта функция должна быть отключена для всей автономной системы. В противном случае это может привести к петлям машрутизации.

    • Если включена команда bgp bestpath med-confed, атрибуты MED сравниваются для всех путей, состоящих только из AS_CONFED_SEQUENCE.

      Эти пути были созданы в рамках локальной конфедерации.

    • Значение атрибута THE MED для путей, полученных от соседа с атрибутом MED равным 4294967295, изменяется перед добавлением в таблицу BGP. Ему присваивается значение 4294967294.

    • Если не была включена команда bgp bestpath missing-as-worst, путям, полученным без атрибута MED, задается значение атрибута MED равное 0.

      Если была включена команда bgp bestpath missing-as-worst, значение атрибута MED равно 4294967294.

    • Также на данные действия может влиять команда bgp deterministic med.

      Примеры можно найти в разделе Как маршрутизаторы BGP используют атрибут Multi-Exit Discriminator для оптимального выбора пути.

  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 версий 12.0.11S, 12.0.11SC, 12.0.11S3, 12.1.3, 12.1.3AA, 12.1.3.T и 12.1.3.E.

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

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

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

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

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

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

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

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

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

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

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

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

Примечание. Необходимо уделять внимание следующим элементам:

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

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

  • На данный момент реализуется только точка вставки IGP_COST. Это означает, что только сообщества Cost Communities с точкой вставки IGP_COST рассматриваются после шага 8 алгоритма Как работает алгоритм оптимального выбора пути.

BGP Multipath

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

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

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

  • Weight

  • Local preference

  • AS-PATH length

  • Origin

  • MED

  • Одна из следующих:

    • Neighboring AS или sub-AS (до добавления функции eiBGP Multipath)

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

Некоторые функции BGP Multipath предъявляют дополнительные требования к путям.

Далее представлены дополнительные требования 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" выполняется на лучшем пути, выбранном из нескольких путей eBGP прежде, чем передается внутренним узлам.

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

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


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


Document ID: 13753