В документации к этому продукту мы стремимся использовать непредвзятый язык. В целях данного комплекта документации под термином «непредвзятый» понимается язык, который не подразумевает дискриминацию по возрасту, нетрудоспособности, полу, расовой принадлежности, национальной принадлежности, сексуальной ориентации, социально-экономическому статусу и интерсекциональности. Исключения могут присутствовать в документации из-за языка, который жестко запрограммирован в интерфейсе программного обеспечения продукта, языка, используемого на основе документации RFP, или языка стороннего продукта, на который ссылается данный документ. Узнайте больше о том, как Cisco использует инклюзивный язык.
Этот документ был переведен Cisco с помощью машинного перевода, при ограниченном участии переводчика, чтобы сделать материалы и ресурсы поддержки доступными пользователям на их родном языке. Обратите внимание: даже лучший машинный перевод не может быть настолько точным и правильным, как перевод, выполненный профессиональным переводчиком. Компания Cisco Systems, Inc. не несет ответственности за точность этих переводов и рекомендует обращаться к английской версии документа (ссылка предоставлена) для уточнения.
Обычно маршрутизаторы протокола BGP получают несколько путей к одному и тому же месту назначения. Алгоритм выбора лучшего пути BGP выбирает лучший путь для записи в таблицу IP-маршрутизации и пересылки трафика.
Предположим, что все пути, которые получает маршрутизатор для конкретного префикса, организованы в список. Этот список соответствует выходным данным команды show ip bgp longer-prefixes. В этом случае некоторые пути не рассматриваются как потенциально лучшие. Обычно у таких путей не установлен действующий флажок в выходных данных команды show ip bgp longer-prefixes. Маршрутизаторы игнорируют следующие типы путей:
Пути, которые отмечены как not synchronized в выходных данных команды show ip bgp longer-prefixes.
Если синхронизация BGP включена, то соответствие префикса в таблице IP-маршрутизации необходимо, чтобы считать действительным внутренний путь BGP (iBGP). Синхронизация 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) представлена в AS_PATH.
Такие пути запрещаются на входе в маршрутизатор и даже не устанавливаются в базу информации о маршрутизации BGP (RIB). То же относится к любым путям, запрещенным политикой маршрутизации, реализованной через списки доступа, префиксы, AS_PATH или списки сообществ, если не было настроено neighbor soft-reconfiguration inbound для соседнего узла.
В этом случае маршрутизатор передает уведомление и закрывает сеанс.
Пути, помеченные как (received-only) в выходных данных команды show ip bgp longer-prefixes
Политика отклонила эти пути. Однако маршрутизатор сохранил эти пути, поскольку была настроена команда soft-reconfiguration inbound для соседа, отправившего этот путь.
BGP назначает первый действующий путь в качестве лучшего текущего пути. Затем BGP сравнивает выбранный путь со следующим путем в списке до тех пор, пока не достигнет конца списка действующих путей. В этом списке содержатся правила, которые применяются для выбора лучшего пути:
Предпочтение отдается пути с самым большим значением параметра WEIGHT.
Примечание. WEIGHT является параметром, определяемым Cisco. Он является локальным для маршрутизатора, на которым был настроен.
Предпочтение отдается пути с самым большим значением параметра LOCAL_PREF.
Примечание.Считается, что значение пути без параметра LOCAL_PREF устанавливается командой bgp default local-preference или по умолчанию равно 100.
Предпочтение отдается пути, который был создан локально с помощью подкоманд BGP network или aggregate, либо через перераспределение от IGP.
Предпочтение отдается локальным путям, созданным с помощью команд network или redistribute, перед локальными агрегатами, созданными командой aggregate-address.
Примечание. Учитывайте следующий фактор:
- Если AIGP настроен И команда bgp bestpath aigp ignore не настроена, то в процессе принятия решения учитывается метрика AIGP. Подробности см. в разделе Configure the AIGP Metric Attribute for BGP (Настройка атрибута метрики AIGP для BGP).
Предпочтение отдается пути с самым коротким значением AS_PATH.
Примечание.Необходимо уделять внимание следующим элементам:
Этот шаг пропускается, если была настроена команда bgp bestpath as-path ignore.
Вне зависимости от количества автономных систем в наборе значение параметра AS_SET равно 1.
AS_CONFED_SEQUENCE и AS_CONFED_SET не включены в длину параметра AS_PATH.
Предпочтение отдается пути с меньшим типом источника.
Примечание.IGP меньше, чем Exterior Gateway Protocol (EGP), а EGP меньше, чем INCOMPLETE.
Предпочтение отдается пути с атрибутом 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.
- MED для путей, полученных от соседнего узла с MED 4,294,967,295, считается допустимым, вставляется в таблицу BGP и влияет на коды, заданные для идентификатора ошибки Cisco CSCef34800.
- Путям, полученным без MED, назначается MED 0, если только не включено bgp bestpath med missing-as-worst.
Если включено bgp bestpath med missing-as-worst, то путям назначается MED 4,294,967,294.
Если включено bgp bestpath med missing-as-worst, то путям назначается MED 4,294,967,295, влияющий на коды, исправленные для идентификатора ошибки Cisco CSCef34800.
Также на данные действия может влиять команда bgp deterministic med.
Примеры можно найти в разделе Как маршрутизаторы BGP используют атрибут Multi-Exit Discriminator для оптимального выбора пути.
Предпочтение отдается путям eBGP, а не путями iBGP.
Если лучший путь выбран, переходите к этапу 9 (многопутевой).
Примечание.Пути, содержащие AS_CONFED_SEQUENCE и AS_CONFED_SET, являются локальными для конфедерации. Следовательно, данные пути рассматриваются как внутренние. Не существует различия между путями Confederation External и Confederation Internal.
Предпочтение отдается пути с наименьшей метрикой IGP по отношению к следующему узлу BGP.
Продолжайте, даже если лучший путь уже выбран.
Определите, необходима ли установка нескольких путей в таблице маршрутизации для BGP Multipath.
Продолжайте, если лучший путь еще не выбран.
Если оба пути внешние, предпочтение отдается пути, полученному первому (более старому).
Это действие минимизирует переброску маршрутов, поскольку новый путь не заменяет старый, даже если новый путь окажется лучшим на основании следующего условия принятия решения (действия 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.
Идентификатор маршрутизатора одинаков для нескольких путей, поскольку маршруты получены от одного и того же маршрутизатора.
В настоящий момент лучшего пути нет.
Текущий лучший путь может быт утерян, к примеру, если сосед, предлагающий этот путь, перестает работать.
Предпочтение отдается пути, предложенному маршрутизатором BGP с самым низким значением идентификатора .
Идентификатор является самым высоким значением IP-адреса маршрутизатора, при этом предпочтение отдается адресу обратной петли. Кроме того, можно использовать команду bgp router-id для настройки идентификатора маршрутизатора вручную.
Примечание.Если путь содержит атрибуты отражателя маршрутов (RR), идентификатор источника заменяется на идентификатор маршрутизатора в процессе выбора пути.
Если используется одинаковый идентификатор источника или маршрутизатора для разных путей, предпочтение отдается пути с минимальной длиной списка кластера.
Это присутствует только в средах BGP RR. В результате клиенты могут установить соединение с узлом RR или клиентами в других кластерах. В этом сценарии клиент должен иметь представление об атрибуте BGP, относящемся к RR.
Предпочтение отдается пути, поступающему с самого меньшего адреса соседа.
Это IP-адрес, используемый в конфигурации соседа BGP. Он соответствует удаленному узлу, использующемуся в соединении TCP с локальным маршрутизатором.
В данном примере доступны 9 путей для сети 10.30.116.0/23. Команда show ip bgp network отображает записи в таблице маршрутизации 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 к одному месту назначения в таблице IP-маршрутизации. Эти пути устанавливаются в таблице вместе с лучшим путем для распределения нагрузки. BGP Multipath не влияет на процесс выбора лучшего пути. К примеру, маршрутизатор продолжает определять на основании алгоритма лучший путь и предлагать его соседям.
Далее перечислены главные функции BGP Multipath:
eBGP Multipath — maximum-paths n
Для того чтобы стать кандидатами для многоканальности, пути к одному и тому же назначению должны иметь следующие характеристики, равные характеристикам лучшего пути:
Вес
Локальное предпочтение
Длина AS-PATH
Происхождение
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" выполняется на лучшем пути, выбранном из нескольких путей eBGP прежде, чем передается внутренним узлам.