Logo
  • ГЛАВНАЯ
  • ОБО МНЕ
  • СЕРТИФИКАТЫ
nocip.ssh@mail.ru
Главная  >  Cisco Routing

Диагностика выбора пути в BGP (Troubleshooting BGP Path Selection)


Создана 07.09.2026
Отредактирована 24.09.2026
В отличие от OSPF и EIGRP, BGP не учитывает bandwidth (пропускную способность) линка (канала) при выборе маршрута. Вместо этого BGP использует различные атрибуты (attributes) для определения наилучшего пути. При траблшутинге (troubleshooting) BGP-путей необходимо досконально знать все атрибуты, чтобы полностью понимать логику принятия решения BGP. Этот раздел описывает процесс выбора оптимального пути (BGP best path selection) в BGP.

Понимание процесса выбора наилучшего пути (Best Path Decision-Making Process)

В приведенном ниже списке представлен порядок, в котором BGP проверяет атрибуты при определении наилучшего пути (best path):
1. Предпочтение отдается пути с наибольшим весом (weight).
2. Предпочтение отдается пути с наибольшим локальным предпочтением (local preference).
3. Предпочтение отдается пути, инициированному (originated) локальным маршрутизатором.
4. Предпочтение отдается пути с самым коротким списком AS (autonomous system path).
5. Предпочтение отдается пути с наименьшим кодом источника (origin code).
6. Предпочтение отдается пути с наименьшим MED (multi-exit discriminator / metric).
7. Предпочтение отдается внешнему (external) пути перед внутренним (internal).
8. Предпочтение отдается пути через ближайшего IGP-соседа (closest IGP neighbor).
9. Для eBGP-путей предпочтение отдается самому старому (oldest) маршруту.
10. Предпочтение отдается пути с наименьшим идентификатором BGP-соседа (neighbor BGP RID).
11. Предпочтение отдается пути с наименьшим IP-адресом соседа (neighbor IP address).
При изучении процесса выбора наилучшего пути в BGP (BGP best path decision-making process) обратимся к Рисунку 1 и к выводу команды show bgp ipv4 unicast 10.1.1.0, выполненной на маршрутизаторе R5 в Примере 1.
Рисунок 1. Понимание топологии процесса выбора наилучшего пути в BGP (Understanding the BGP Best Path Decision Process Topology)
Пример 1. Проверка BGP-таблицы на маршрутизаторе R5 для сети 10.1.1.0 (Verifying the BGP Table on Router R5 for Network 10.1.1.0)

R5#show bgp ipv4 unicast 10.1.1.0 BGP routing table entry for 10.1.1.0/26, version 46 Paths: (2 available, best #1, table default) Not advertised to any peer Refresh Epoch 4 65501 2.2.2.2 (metric 131072) from 2.2.2.2 (2.2.2.2) Origin IGP, metric 0, localpref 100, valid, internal, best rx pathid: 0, tx pathid: 0x0 Refresh Epoch 1 65501 3.3.3.3 (metric 131072) from 3.3.3.3 (3.3.3.3) Origin IGP, metric 0, localpref 100, valid, internal rx pathid: 0, tx pathid: 0

* Если используете VRF, команда для проверки будет выглядеть так: show ip bgp vpnv4 vrf <имя_VRF> 10.1.1.0
Как только BGP находит совпадение (match), он останавливается и использует этот атрибут как причину выбора пути (path) в качестве наилучшего (best). Дальнейший анализ не выполняется. Кроме того, если IP-адрес следующего шлюза (next-hop) недоступен (unreachable), маршрутизатор даже не запускает этот процесс, поскольку считает следующий шлюз недостижимым:
1. BGP сначала проверяет вес. Чем выше, тем лучше. В Примере 1 вес (weight) не указан, поскольку оба пути используют значение по умолчанию (default) — 0. Следовательно, вес совпадает (tied), и проверяется следующий атрибут.
2. Далее проверяется локальное предпочтение (local preference). Чем выше, тем лучше. В Примере 1 локальное предпочтение (localpref) для обоих путей равно 100 (значение по умолчанию). Следовательно, локальное предпочтение совпадает, и проверяется следующий атрибут.
3. Маршрутизатор проверяет, сгенерировал ли он этот BGP-маршрут (has a next hop of 0.0.0.0). Если да, такой маршрут имеет приоритет. В Примере 1 следующие шлюзы (next hops) — 2.2.2.2 и 3.3.3.3 (в левой части вывода). Следовательно, R5 не генерировал ни один из этих маршрутов, и проверяется следующий атрибут.
4. Далее проверяется список автономных систем (autonomous system path). Предпочтение отдается самому короткому пути (shortest path). В Примере 1 список AS (autonomous system path) для обоих путей — 65501. Следовательно, список AS совпадает, и проверяется следующий атрибут.
5. Далее проверяется код источника (origin code). IGP лучше, чем EGP, а EGP лучше, чем incomplete (неполный). Обратите внимание, что это не связано с iBGP и eBGP (это будет рассмотрено позже). IGP означает, что маршрут был сгенерирован с помощью команды network или summary-address, а incomplete — что маршрут был перераспределен (redistributed) в BGP. EGP означает, что маршрут был получен от EGP — предшественника BGP. В Примере 1 источник (origin) для обоих путей — IGP, а значит, будет проверен следующий атрибут.
6. Затем проверяется MED (метрика). Чем меньше, тем лучше. В Примере 1 MED (metric) для обоих путей одинаков (0). Следовательно, необходимо проверить следующий атрибут.
7. Теперь eBGP имеет приоритет над iBGP. В Примере 1 оба пути изучены через iBGP (internal). Следовательно, этот атрибут также совпадает, и необходимо проверить следующий.
8. Теперь сравнивается IGP-путь к соседу (IGP path to the neighbor). В Примере 1 IGP-путь к 2.2.2.2 имеет метрику 131072, и IGP-путь к 3.3.3.3 также имеет метрику 131072. Они совпадают. Следовательно, необходимо проверить следующий атрибут.
9. Если это eBGP-пути, проверяется возраст (age) маршрутов. В Примере 1 оба пути — iBGP. Поэтому мы пропускаем этот атрибут и переходим к следующему.
10. Теперь сравниваются BGP RID (Router ID). Чем меньше, тем лучше. В Примере 1 сосед (neighbor) 2.2.2.2 имеет RID 2.2.2.2 (значение в круглых скобках после  from ), а сосед 3.3.3.3 имеет RID 3.3.3.3 (значение в круглых скобках после  from ). Какой RID меньше? 2.2.2.2. Следовательно, маршрут, предоставленный соседом с RID 2.2.2.2, считается наилучшим (best path). Если RID случайно совпадут, для разрешения (break the tie) используется IP-адрес соседа (neighbor IP address).
Давайте рассмотрим строку ниже из Примера 1.

2.2.2.2 (metric 131072) from 2.2.2.2 (2.2.2.2)

Расшифровка:
  • Next hop: 2.2.2.2
  • Метрика (metric) IGP до next hop: 131072
  • Получен (from) от соседа: 2.2.2.2
  • BGP RID соседа: (2.2.2.2)
Теперь ваша очередь! Попробуйте выполнить следующее самостоятельно, а затем мы разберем это вместе. Обратитесь к Рисунку 2 и Примеру 2 и определите, какой атрибут R2 использует для выбора наилучшего пути (best path) к сети 10.1.1.128.
Рисунок 2. Практика на топологии процесса выбора наилучшего пути (Practicing the BGP Best Path Decision Process Topology)
Пример 2. Практика процесса выбора наилучшего пути (Practicing the BGP Best Path Decision Process)

R2#show bgp ipv4 unicast 10.1.1.128 BGP routing table entry for 10.1.1.128/26, version 6 Paths: (2 available, best #2, table default) Advertised to update-groups: 2 Refresh Epoch 2 65501 3.3.3.3 (metric 131072) from 3.3.3.3 (3.3.3.3) Origin IGP, metric 0, localpref 100, valid, internal rx pathid: 0, tx pathid: 0 Refresh Epoch 3 65501 1.1.1.1 from 1.1.1.1 (1.1.1.1) Origin IGP, metric 0, localpref 100, valid, external, best rx pathid: 0, tx pathid: 0x0

* Если используете VRF, команда для проверки будет выглядеть так: show ip bgp vpnv4 vrf <имя_VRF> 10.1.1.128
Хорошо, давайте разберем это вместе:
1. Предпочтение отдается пути с наибольшим весом (weight) — совпадают (Tied).
2. Предпочтение отдается пути с наибольшим локальным предпочтением (local preference) — совпадают (Tied).
3. Предпочтение отдается пути, инициированному (originated) локальным маршрутизатором — отсутствует (None).
4. Предпочтение отдается пути с самым коротким списком AS (autonomous system path) — одинаковый (Same) — 65501.
5. Предпочтение отдается пути с наименьшим кодом источника (origin code) — одинаковый (Same).
6. Предпочтение отдается пути с наименьшим MED (metric) — совпадают (Tied) — 0.
7. Предпочтение отдается внешнему (eBGP — external) пути перед внутренним (iBGP — internal) — не совпадают (Not Tied) — процесс выбора пути прекращается.
Путь, изученный от соседа (neighbor) 1.1.1.1, является внешним (eBGP — external), а путь, изученный от соседа 3.3.3.3, — внутренним (iBGP — internal). Следовательно, путь, изученный от соседа 1.1.1.1, имеет приоритет, поскольку внешний (external) путь предпочтительнее внутреннего (internal).
Если вы не получаете желаемые пути (desired paths) или пути, которые, по вашему ожиданию, должны использоваться как наилучшие (best), вам необходимо уметь проходить через этот процесс (walk through this process) при диагностике, чтобы выяснить, почему текущий наилучший путь (current best path) был выбран именно так. Возможно, какой-то атрибут (attribute) был изменен локально или удаленно (remotely) в какой-то момент, и это влияет на принимаемое решение. Вы должны уметь распознавать это и затем манипулировать путями (manipulate the paths) в свою пользу, модифицируя необходимые атрибуты (attributes).

Приветствуем всех любителей ретро-игровой индустрии на канале RetraR
Сувенирная и брендированная продукция с персонажами из любимых игр.
RetraR — Компьютерные игры для Nintendo Game Boy
RetraR - Computer games for Nintendo Game Boy 🌌🛸👽👾☄️🤖
RetraR - 任天堂ゲームボーイ用コンピュータゲーム 🎮🕹️👾

RetraR в VK
Канал - RetraR в Telegram
Канал - RetraR в Telegram

Оформить заказ

Нажимая на кнопку, вы даете согласие на обработку персональных данных

Спасибо за заказ

Ваш заказ принят в обработку. 

Мы свяжемся с вами в ближайшее время.