BGP MED

Материал из Xgu.ru

Перейти к: навигация, поиск

< BGP

Атрибут MED используется для информирования eBGP-соседей о том, какой путь в автономную систему более предпочтительный.

MED считается "слабым" атрибутом, так как для того чтобы он повлиял на выбор маршрута необходимо чтобы атрибуты Weight, local preference, AS-path и origin code были с одинаковым значением.

Содержание

[править] Описание атрибута

Атрибут MED:

  • Используется для информирования eBGP-соседей о том, какой путь в автономную систему более предпочтительный.
  • Атрибут передается между автономными системами.
  • Маршрутизаторы внутри соседней автономной системы используют этот атрибут, но, как только обновление выходит за пределы AS, атрибут MED отбрасывается.
  • Чем меньше значение атрибута, тем более предпочтительна точка входа в автономную систему.

[править] BGP MED в Cisco

Особенности атрибута в IOS:

  • Атрибут MED в IOS называется метрикой (metric).
  • По умолчанию для маршрутизаторов Cisco равен 0.
  • По умолчанию атрибут MED не передается с маршрутами, так как это не обязательный атрибут.
    • Исключение из этого правила: маршруты, которые анонсируются локальным маршрутизатором (с помощью команды network или перераспределения маршрутов), и для которых есть полное совпадение в таблице маршрутизации. В таком случае маршрутизатор использует метрику в таблице маршрутизации как атрибут MED.

Изменение атрибута MED для перераспределенных маршрутов:

dyn(config-router)# default-metric <1-4294967295>

Изменение MED с помощью route-map:

route-map <name> permit <sequence>
 match <condition>
 set metric <value>

Применение route-map:

router bgp 65000
 neighbor <ip-address> route-map <name> in | out

Если необходимо указать определенное значение атрибута MED для всех маршрутов связанных с определенным соседом, то необходимо использовать route-map без критериев match.

[править] bgp always-compare-med

По умолчанию атрибут MED проверяется только при сравнении маршрутов из одной и той же AS. Команда always-compare-med меняет это поведение. После её задания, атрибут сравнивается и для маршрутов пришедших с разных AS. Такое поведение необходимо настроить на всех маршрутизаторах в AS. Иначе могут возникнуть петли.

Настройка always-compare-med:

dyn(config-router)# bgp always-compare-med

[править] bgp bestpath med missing-as-worst

В Cisco IOS если MED не указан для маршрута, то он считается равным 0 и, соответственно, считается лучшим значением MED. Команда med missing-as-worst позволяет указать, что, при отсутствии атрибута MED в маршруте, он будет равным 4294967295 (самым худшим).

Настройка такого поведения:

dyn1(config-router)# bgp bestpath med missing-as-worst 

Пример таблицы BGP до изменения поведения:

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.1.0      0.0.0.0                  0         32768 i
*>i192.168.6.0      192.168.7.8              0    200      0 8 67 i
*                   192.168.20.8                           0 9 8 67 i
*                   192.168.20.8                           0 8 67 i
r>i192.168.7.0      192.168.7.8              0    200      0 8 67 i
r                   192.168.20.8                           0 9 8 67 i
r                   192.168.20.8                           0 8 67 i

Пример таблицы BGP после задания med missing-as-worst:

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.1.0      0.0.0.0                  0         32768 i
*>i192.168.6.0      192.168.7.8              0    200      0 8 67 i
*                   192.168.20.8    4294967295             0 9 8 67 i
*                   192.168.20.8    4294967295             0 8 67 i
r>i192.168.7.0      192.168.7.8              0    200      0 8 67 i
r                   192.168.20.8    4294967295             0 9 8 67 i
r                   192.168.20.8    4294967295             0 8 67 i

[править] bgp bestpath med confed

По умолчанию атрибут MED проверяется только при сравнении маршрутов из одной и той же AS. Для того чтобы MED учитывался для маршрутов из конфедерации, необходимо задать команду med confed

dyn1(config-router)# bgp bestpath med confed 

[править] bgp deterministic-med

Команда bgp deterministic-med изменяет процесс выбора лучшего пути. После включения команды, значение атрибута MED будет проверяться сразу после проверки AS-path. До сравнения типов маршрутов BGP (internal или external) и метрики IGP до next-hop адресов.

dyn3(config-router)# bgp deterministic-med

[1] [2]


[править] Дополнительная информация

[править] Примечания


Источник — «http://xgu.ru/wiki/BGP_MED»