Лабораторная работа №12: BGP Route Dampening (подавление флаппов)
Отредактирована 04.11.2026
1. Теория: Зачем нужен Route Dampening?
- Нестабильным линком (физические помехи, обрывы, плохо обжат коннектор, не до конца вставлен коннектор в порт).
- Сбоями на оборудовании.
- Ошибками конфигурации.
penalty [ˈpenltɪ] штраф
suppress [səˈpres] подавлять
half-life [ˈhɑːflaɪf] полураспад
reuse [riːˈjuːs] повторное использование
| Параметр | Что означает | По умолчанию |
|---|---|---|
| Half-life | Время (мин), за которое штраф уменьшается вдвое | 15 мин |
| Reuse limit | Порог штрафа, ниже которого маршрут снова разрешается | 750 |
| Suppress limit | Порог штрафа, выше которого маршрут подавляется | 2000 |
| Max suppress time | Максимальное время подавления (мин) | 60 мин (4× half-life) |
| Маршрутизатор | AS | Роль |
|---|---|---|
| R1 | 65001 | Ваш пограничный маршрутизатор (применяет Dampening) |
| R2 | 65002 | Внешний провайдер (источник флаппующего маршрута) |
R2#configure terminal R2(config)#interface loopback 10 R2(config-if)#ip address 10.10.10.1 255.255.255.255 R2(config-if)#exit R2(config)#router bgp 65002 R2(config-router)#network 10.10.10.1 mask 255.255.255.255 R2(config-router)#end R2#copy running-config startup-config
R1#show ip bgp 10.10.10.1
BGP routing table entry for 10.10.10.1/32, version 6 Paths: (1 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 65002 10.0.0.2 from 10.0.0.2 (2.2.2.2) Origin IGP, metric 0, localpref 100, valid, external, best rx pathid: 0, tx pathid: 0x0
valid [ˈvælɪd] действительный, допустимый, актуальный
5. Шаг 1: Настройка Route Dampening на R1
R1#configure terminal R1(config)#router bgp 65001 R1(config-router)#bgp dampening R1(config-router)#end R1#copy running-config startup-config
- Включили Route Dampening с параметрами по умолчанию (half-life 15, reuse 750, suppress 2000, max-suppress 60).
- Теперь R1 будет отслеживать флаппы для всех eBGP-маршрутов.
6. Шаг 2: Симуляция флаппинга
R2#configure terminal R2(config)#interface loopback 10 ! Флапп 1 R2(config-if)#shutdown ! Подождите 20–25 секунд, чтобы R1 зафиксировал флапп R2(config-if)#no shutdown ! Подождите 20–25 секунд, чтобы R1 зафиксировал флапп ! Флапп 2 R2(config-if)#shutdown ! Подождите 20–25 секунд, чтобы R1 зафиксировал флапп R2(config-if)#no shutdown ! Подождите 20–25 секунд, чтобы R1 зафиксировал флапп ! Флапп 3 R2(config-if)#shutdown ! Подождите 20–25 секунд, чтобы R1 зафиксировал флапп R2(config-if)#no shutdown ! Подождите 20–25 секунд, чтобы R1 зафиксировал флапп R2(config-if)#end
- R2 успел отправить BGP WITHDRAW (отзыв маршрута) и UPDATE для каждого флаппа.
- R1 успел зафиксировать каждый флапп отдельно.
withdraw [wɪðˈdrɔː] вывести, снимать, отозвать
R1#show ip bgp 10.10.10.1
BGP routing table entry for 10.10.10.1/32, version 59 Paths: (1 available, no best path) Not advertised to any peer Refresh Epoch 1 65002, (suppressed due to dampening) 10.0.0.2 from 10.0.0.2 (2.2.2.2) Origin IGP, metric 0, localpref 100, valid, external Dampinfo: penalty 2784, flapped 3 times in 00:02:49, reuse in 00:06:29 rx pathid: 0, tx pathid: 0
- suppressed due to dampening — маршрут подавлен.
- no best path — маршрут не лучший (не используется).
- penalty 2784 — текущий штраф. Он не 3000, потому что с момента первого флаппа прошло 2 минуты 49 секунд, и штраф уменьшился (half-life = 15 минут). Это нормально — маршрут всё ещё подавлен, пока penalty > suppress limit (2000).
- flapped 3 times — R1 зафиксировал три флаппа.
- reuse in 00:06:29 — маршрут восстановится через 6 минут 29 секунд.
R1#show ip bgp dampening flap-statistics
BGP table version is 59, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network From Flaps Duration Reuse Path *d 10.10.10.1/32 10.0.0.2 3 00:03:00 00:06:19 65002
- *d — маршрут подавлен (damped).
- Flaps = 3 — R1 зафиксировал три флаппа.
- Duration = 00:03:00 — с момента первого флаппа прошло 3 минуты.
- Reuse = 00:06:19 — восстановится через 6 минут 19 секунд.
damp [dæmp] заглушать /гл./
R1#show ip bgp dampening dampened-paths
BGP table version is 59, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network From Reuse Path *d 10.10.10.1/32 10.0.0.2 00:06:09 65002 i
R1#show ip bgp
BGP table version is 59, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 1.1.1.1/32 0.0.0.0 0 32768 i *> 2.2.2.2/32 10.0.0.2 0 0 65002 i *d 10.10.10.1/32 10.0.0.2 0 0 65002 i
R1#show ip bgp dampening dampened-paths
R1#clear ip bgp dampening 10.10.10.1
8. Шаг 4: Селективное применение Dampening (опционально)
optional [ˈɒpʃnəl] необязательный
R1#configure terminal R1(config)#ip prefix-list DAMPEN_THIS permit 10.10.10.1/32 R1(config)#route-map DAMPEN_MAP permit 10 R1(config-route-map)#match ip address prefix-list DAMPEN_THIS R1(config-route-map)#set dampening 15 750 2000 60 R1(config-route-map)#exit R1(config)#router bgp 65001 R1(config-router)#bgp dampening route-map DAMPEN_MAP R1(config-router)#end R1#copy running-config startup-config
- Dampening применяется только к маршрутам, которые совпадают с prefix-list DAMPEN_THIS . Остальные маршруты не подавляются.
- Команда set dampening 15 750 2000 60 обязательна — без неё IOS выдаст ошибку %BGP-3-BADROUTEMAP , потому что route-map для Dampening должен содержать явные параметры.
*Nov 4 14:55:22.127: %BGP-3-BADROUTEMAP: Bad parameters in the route-map DAMPEN_MAP applied for Dampening
selective [sɪˈlektɪv] выборочный /прл./
| Проблема | Вероятная причина | Решение |
|---|---|---|
| Маршрут не подавляется | Штраф не превысил suppress limit (2000). | Сделайте больше флаппов (минимум 3). |
| show ip bgp dampening dampened-paths пуст | Dampening не включён или маршрут не флапал. | Проверьте show running-config | section router bgp |
| Dampening не работает для iBGP | Dampening применяется только к eBGP. | Для iBGP используйте другие механизмы. |
| Маршрут не восстанавливается | Штраф всё ещё выше reuse limit. | Подождите или выполните clear ip bgp dampening 10.10.10.1 |
| Селективный Dampening не работает | route-map не применён или prefix-list пуст. | Проверьте show route-map DAMPEN_MAP и show ip prefix-list |
| Вопрос | Ответ |
|---|---|
| 1. Зачем нужен Route Dampening? | Для подавления флаппующих маршрутов и минимизации их влияния на сеть. |
| 2. Сколько штрафа начисляется за один флапп? | 1000 (по умолчанию). |
| 3. При каком штрафе маршрут подавляется? | При превышении suppress limit (по умолчанию 2000). |
| 4. При каком штрафе маршрут восстанавливается? | При падении ниже reuse limit (по умолчанию 750). |
| 5. Что такое half-life? | Время, за которое штраф уменьшается вдвое (по умолчанию 15 минут). |
| 6. Применяется ли Dampening к iBGP-маршрутам? | ❌ Нет, только к eBGP. |
| Лабораторная работа | Атрибут | Приоритет | Область действия | Направление | Влияет на выбор? |
|---|---|---|---|---|---|
| Weight | 1 (высший) | Локальный маршрутизатор | in | ✅ Да | |
| Local Preference | 2 | Вся AS | in | ✅ Да | |
| AS_PATH Prepending | 3 | Внешние соседи | out | ✅ Да | |
| MED | 4 | Соседняя AS | out | ✅ Да | |
| Community | — | Передаётся между AS | in/out | ❌ Нет (только для политик) | |
| Originator | — | Внутри AS (RR) | — | ❌ Нет (защита от маршрутных петель) | |
| Cluster list | — | Внутри AS (RR) | — | ❌ Нет (защита от маршрутных петель) | |
| Prefix-list | — | Локальный маршрутизатор | in/out | ❌ Нет (только фильтрация) | |
| TTL Security (GTSM) | — | eBGP-сессия | in | ❌ Нет (только защита) | |
| Peer Group | — | Группа соседей | — | ❌ Нет (шаблон) | |
| Maximum-prefix | — | eBGP/iBGP-сессия | in | ❌ Нет (только ограничение) | |
| Multipath | — | Локальный маршрутизатор | — | ❌ Нет (только балансировка) | |
| ЛР №12 | Route Dampening | — | eBGP-маршруты | in | ❌ Нет (только подавление) |