В данной статье приведен пример конфигурации механизма BGP Route Dampening.
Данный механизм используется для минимизации распространения нестабильных маршрутов.
BGP Route Dampening не применим к iBGP маршрутам.
В качестве примера будем использовать схему, приведенную на рисунке 1.
Рисунок 1 — Схема включения.
Конфигурация IP адресации не приведена.
Настроим eBGP между маршрутизаторами R1 и R2.
Маршрутизатор R1:
router bgp 100 address-family ipv4 unicast exit exit bgp router-id 1.1.1.1 neighbor 10.0.0.1 address-family ipv4 unicast exit remote-as 200 update-source 10.0.0.0 exit exit
Маршрутизатор R2:
router bgp 200 address-family ipv4 unicast exit bgp router-id 2.2.2.2 neighbor 10.0.0.0 address-family ipv4 unicast exit remote-as 100 update-source 10.0.0.1 exit exit
Включим механизм BGP Route Dampening на маршрутизаторе R2:
router bgp 100 address-family ipv4 unicast dampening exit exit
Также при помощи route-map можно указать, для каких маршрутов будет использован механизм BGP Route Dampening
Для примера создадим на маршрутизаторе R1 "флапающий" маршрут:
interface loopback 1 ipv4 address 10.10.10.1/32 exit router bgp 100 address-family ipv4 unicast network 10.10.10.1/32 exit exit
Сымитируем флаппинг маршрута путем включения/отключения линка interface loopback1.
Проверяем маршрут:
0/ME5100:R2# show bgp prefix 10.10.10.1/32 BGP router identifier 2.2.2.2, local AS number 200 BGP routing table entry for 10.10.10.1/32 Path #0 AS path: 100 10.0.0.0 from 10.0.0.0 (1.1.1.1) Origin igp, metric 0, local-pref 100, weight 0, inactive, external Address family: ipv4/unicast NLRI pathID: 0 Aggregator AS: 0, Address: 0.0.0.0, Atomic aggregate: absent Is not stale, is history Route flap penalty: 979, flap count 1, is not suppressed Route withdrawn, time start: 00h00m29s ago Route is not ECMP Total entries: 1
Как видим, что данному маршруту выдано 1000 единиц пенальти и зафиксировано одно изменение (flap count 1).
Выполним ещё пару изменении (флап) маршрута.
0/ME5100:R2# show bgp prefix 10.10.10.1/32 BGP router identifier 2.2.2.2, local AS number 200 BGP routing table entry for 10.10.10.1/32 Path #0 AS path: 100 10.0.0.0 from 10.0.0.0 (1.1.1.1) Origin igp, metric 0, local-pref 100, weight 0, inactive, external Address family: ipv4/unicast NLRI pathID: 0 Aggregator AS: 0, Address: 0.0.0.0, Atomic aggregate: absent Is not stale, is not history Route flap penalty: 2595, flap count 3, is suppressed Route flap time left: 00:27:01, time start: 00h05m34s ago Route is not ECMP Total entries: 1
Из вывода выше видно, что маршрут имеет 2595 пенальти и переведен в отложенное состояние (is suppressed), так как количество пенальти превысило пороговое значение (По умолчанию 2000 единиц пенальти. Изменить можно командой: "suppress <number>" ).
В данном состоянии маршрут не инсталлируется в таблицу маршрутизации и не распространяется другим маршрутизаторам.
Также указывается время : Route flap time left: 00:27:01, через какое время будет снято ограничение.
Используя команду: «show bgp ipv4 unicast», мы можем посмотреть все маршруты полученные по BGP, а по статус коду определить его состояние. В данном случае маршрут помечен как d (damped), что указывает об отсутствии его в таблице маршрутизации.
0/ME5100:R2# show bgp ipv4 unicast Wed Nov 20 03:16:41 2024 BGP router identifier 2.2.2.2, local AS number 200 Graceful Restart is disabled BGP table state: active Status codes: d damped, h history, > best, b backup, S stale, * active, u untracked, i internal Origin codes: i igp, e egp, ? incomplete Network Next hop Metric LocPrf Weight Path ------------------------ ---------------- ------- ------- ------- ----- d 10.10.10.1/32 10.0.0.0 0 100 0 100 i
При необходимости можно сбросить счетчик «flap count», используя команду: «clear bgp neighbor all flap-statistics».
0/ME5100:R2# clear bgp neighbor all flap-statistics Wed Nov 13 23:05:34 2024 0/ME5100:R2# show bgp prefix 10.10.10.1/32 Wed Nov 13 23:05:36 2024 BGP router identifier 2.2.2.2, local AS number 200 BGP routing table entry for 10.10.10.1/32 Path #0 AS path: 100 10.0.0.1 from 10.0.0.1 (1.1.1.1) Origin igp, metric 0, local-pref 100, weight 0, inactive, external Address family: ipv4/unicast NLRI pathID: 0 Aggregator AS: 0, Address: 0.0.0.0, Atomic aggregate: absent Is not stale, is history Route flap penalty: 3649, flap count 0, is suppressed Route withdrawn, time start: 00h04m38s ago Route is not ECMP Total entries: 1
Команда | Описание | Значение по умолчанию |
---|---|---|
half-life | Указывается время, в течение которого с отложенного маршрута снимается половина пенальти в случае, если маршрут стабилизировался. | 15 минут |
max-suppress-time | Указывается максимальное время удержания маршрута в отложенном состоянии. | 60 минут |
reuse | Команда задает количество пенальти, при достижении которого отложенный маршрут будет использован вновь. | 750 |
suppress | Команда задает количество пенальти, при достижении которого маршрут переводится в отложенное состояние (suppressed). | 2000 |