Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

BGP_MED_COMPARISON_ERR Сетевое оборудование и VPN

BGP Error: Multi-Exit Discriminator (MED) comparison failure across AS

Обновлено: 25.08.2026 · Официальная документация ↗

Трафик между автономными системами распределяется неоптимально: маршрутизатор выбирает путь с более высоким значением метрики MED или игнорирует анонсированный соседом MED. В отладке BGP Best Path регистрируется:

%BGP-7-PATH_EVAL: 10.100.0.0/16 path 1 (AS 65100, MED 10) vs path 2 (AS 65200, MED 50)
%BGP-7-PATH_EVAL: MED not compared - paths from different Neighbor ASes
%BGP-7-PATH_EVAL: Path 2 chosen due to older age / lower RID
  • Асимметричная входящая/исходящая загрузка внешних каналов связи.
  • Игнорирование приоритетов резервных линков (Backup links) с настроенным атрибутом MED.
  • Непредсказуемая смена Best Path в зависимости от очередности поступления BGP UPDATE (Non-deterministic MED).

1. Архитектурные правила сравнения MED (RFC 4271)

По умолчанию в алгоритме выбора лучшего пути BGP:

  • Атрибут MED (Multi-Exit Discriminator, метрика 4) сравнивается только между маршрутами, полученными из одной и той же соседней автономной системы (Neighbor AS).
  • Если маршруты получены от разных AS, шаг сравнения MED пропускается, и решение принимается на основе типа пути (eBGP > iBGP), метрики IGP до Next-Hop или наименьшего BGP Router ID.

2. Включение глобального сравнения MED между разными AS

Если необходимо, чтобы маршрутизатор сравнивал MED вне зависимости от того, от какой AS пришел анонс:

# Cisco IOS-XE
router bgp 65001
 bgp always-compare-med

# Junos
set protocols bgp path-selection always-compare-med

# Arista EOS
router bgp 65001
 bgp always-compare-med

3. Устранение недетерминированного поведения (Deterministic MED)

Если получен одинаковый префикс от нескольких маршрутизаторов одной и той же AS, но порядок их прихода влияет на Best Path, включите детерминированную группировку:

# Cisco IOS-XE
router bgp 65001
 bgp deterministic-med

# Arista EOS
router bgp 65001
 bgp deterministic-med

4. Обработка отсутствующего атрибута MED (Missing MED as Worst)

По стандарту RFC 4271, если в BGP Update отсутствует MED, он считается равным 0 (наивысший приоритет). Для безопасного сравнения назначьте отсутствующему MED наихудшее значение (4 294 967 294):

# Cisco IOS-XE
router bgp 65001
 bgp bestpath med missing-as-worst
💡 Практика специалистов: Всегда включайте 'bgp deterministic-med' на всех пограничных маршрутизаторах корпоративной сети. Без этого порядок перезагрузки BGP-пиров может изменить выбор основного шлюза для всей компании.

Частые вопросы (FAQ)

Является ли MED транзитивным атрибутом?

Нет, MED является non-transitive (не транзитивным) опциональным атрибутом. Он передается в соседнюю AS, но соседняя AS не имеет права ретранслировать полученный MED в сторонние автономные системы.

В чем опасность включения 'bgp always-compare-med' в транзитной AS?

Включение always-compare-med в сетях с несколькими eBGP-апстримами может вызывать постоянные колебания маршрутов (BGP routing oscillations) и образовывать микропетли, если в AS отсутствует полная iBGP-сетка (Full Mesh).

Как принудительно обнулить входящий MED на стыке с провайдером?

С помощью входящей Route-Map: route-map RM_SET_MED permit 10 -> set metric 0, применив ее директивой neighbor <IP> route-map RM_SET_MED in.

Какое место занимает MED в алгоритме BGP Best Path Selection?

MED проверяется на 6-м шаге: после Weight, Local Preference, Locally Originated, AS_PATH length и Origin Code (IGP < EGP < Incomplete).

Полезные материалы
Рекомендуем