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
[править] Дополнительная информация
[править] Примечания