Logo
  • ГЛАВНАЯ
  • ОБО МНЕ
  • СЕРТИФИКАТЫ
nocip.ssh@mail.ru
Главная  >  Cisco Routing

Лабораторная работа №12: BGP Route Dampening (подавление флаппов)


Создана 02.11.2026
Отредактирована 04.11.2026
Цель работы: Научиться настраивать BGP Route Dampening для подавления нестабильных (флаппующих) маршрутов и минимизации их влияния на сеть.

1. Теория: Зачем нужен Route Dampening?

🔴 Проблема: флаппующие маршруты
Флаппинг (flapping) — это ситуация, когда маршрут часто появляется и исчезает. Это может быть вызвано:
  • Нестабильным линком (физические помехи, обрывы, плохо обжат коннектор, не до конца вставлен коннектор в порт).
  • Сбоями на оборудовании.
  • Ошибками конфигурации.
Последствия: Каждый флапп вызывает рассылку BGP UPDATE-сообщений всем соседям. Если маршрут «мигает» постоянно, это создаёт лавину обновлений, которая нагружает CPU и RAM всех маршрутизаторов в сети.
✅ Решение: Route Dampening
Route Dampening (подавление маршрутов) — это механизм, который штрафует флаппующие маршруты. Каждый раз, когда маршрут «мигает», ему начисляется штраф (penalty). Когда штраф превышает определённый порог, маршрут подавляется (suppressed) — перестаёт анонсироваться и устанавливаться в таблицу маршрутизации.

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)
Как это работает:
1. Маршрут флапнул (появился/исчез) → штраф +1000.
2. Штраф накапливается. Когда он превышает suppress limit (2000) → маршрут подавляется.
3. Пока маршрут подавлен, он не анонсируется и не используется.
4. Штраф постепенно уменьшается (каждые 5 секунд).
5. Когда штраф падает ниже reuse limit (750) → маршрут восстанавливается.
Важно: Route Dampening применяется только к eBGP-маршрутам. iBGP-маршруты не подавляются.
📌 Примечание: В этой лабораторной работе мы проверим базовую настройку Route Dampening с параметрами по умолчанию и селективное применение через  route-map . Тонкая настройка таймеров и IPv6 выходят за рамки этой лабораторной работы.
2. Топология
Используем схему из двух маршрутизаторов с флаппующим маршрутом на R2.
Топология лабораторной работы №12: R1 и R2 с флаппующим маршрутом
Рис. 1. Топология лабораторной работы №12: подавление флаппующего маршрута от R2
📋 Роли в топологии
Маршрутизатор
AS
Роль
R1
65001
Ваш пограничный маршрутизатор (применяет Dampening)
R2
65002
Внешний провайдер (источник флаппующего маршрута)
3. Сценарий
Задача: Настроить на R1 механизм Route Dampening, чтобы маршрут  10.10.10.1/32  от R2, который часто флапает, был подавлен и перестал влиять на сеть.
Условие: R1 и R2 уже настроены (IP-адреса, eBGP-сессия Established). На R2 создан Loopback 10 с адресом  10.10.10.1/32 . Если вас возникли трудности с настройкой, обратитеть к ЛР №1 «Основы BGP (eBGP + iBGP)». Эта ЛР создана в GNS3, конфигурация выполняется на маршрутизаторах Cisco c7200
4. Шаг 0: Диагностика перед настройкой
На R2 (создаём флаппующий маршрут):

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

Что делаем: Создаём Loopback 10 на R2 и анонсируем его. Пока маршрут стабилен, R1 его видит.
На R1 (проверка, что маршрут виден):

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

Пояснение: R1 видит маршрут  10.10.10.1/32  от R2. Маршрут валиден ( valid ) и лучший ( best ).  version 6  — это версия BGP-таблицы, которая увеличивается при каждом изменении.

valid [ˈvælɪd] действительный, допустимый, актуальный

5. Шаг 1: Настройка Route Dampening на R1

На 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: Симуляция флаппинга

Задача: Заставить маршрут  10.10.10.1/32  «мигать» (появляться и исчезать), чтобы штраф накопился и маршрут был подавлен.
На R2 (симулируем флапп):

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

⚠️ Важно: паузы между флаппами
Между  shutdown  и  no shutdown  делайте паузу 20–25 секунд. Это нужно, чтобы:
  • R2 успел отправить BGP WITHDRAW (отзыв маршрута) и UPDATE для каждого флаппа.
  • R1 успел зафиксировать каждый флапп отдельно.
📨 Какие сообщения летают между R1 и R2
Когда вы выключаете  Loopback 10  на R2:
1. R2 отправляет WITHDRAW (внутри UPDATE): R2 понимает, что сеть  10.10.10.1/32  больше не доступна, и отправляет R1 сообщение BGP UPDATE с пустым полем NLRI (отзыв маршрута).
2. R1 фиксирует флапп: R1 получает WITHDRAW и начисляет штраф +1000 (penalty), помечая маршрут как «имеющий историю флаппов» ( history ).
Когда вы снова включаете  Loopback 10  на R2:
3. R2 отправляет UPDATE (анонс): R2 снова анонсирует сеть  10.10.10.1/32 .
4. R1 снова фиксирует флапп: R1 видит, что маршрут вернулся, и снова начисляет штраф +1000.
Итог: Один цикл  shutdown  →  no shutdown  = два события для R1 (WITHDRAW + UPDATE), но в терминах Dampening это считается одним флаппом, за который начисляется штраф 1000.
Если не делать паузы: R1 может «поглотить» быстрые переключения и зафиксировать только один флапп (а не три). Тогда штраф будет 1000 (вместо 3000), и маршрут не подавится.

withdraw [wɪðˈdrɔː] вывести, снимать, отозвать

На R1 (проверка штрафа):

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 секунд.
📌 Примечание:  penalty  в выводе  show ip bgp 10.10.10.1  не всегда равен 3000. Штраф уменьшается каждые 5 секунд (half-life = 15 минут). Если вы проверяете маршрут сразу после 3-го флаппа,  penalty  будет 3000. Если через несколько минут — меньше (например, 2784). Это нормально — маршрут всё ещё подавлен, пока  penalty  >  suppress limit  (2000).
На R1 (проверка статистики флаппов):

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 секунд.
⚠️ Важно: В пояснении к этому выводу нельзя писать «Штраф = 3000». На момент подавления штраф был 3000 (1000 × 3), что превысило  suppress limit  (2000). Но сейчас штраф уменьшился до 2784 (см.  show ip bgp 10.10.10.1 ), и маршрут всё ещё подавлен, потому что 2784 > 2000.

damp [dæmp] заглушать /гл./

На R1 (проверка подавленных маршрутов):

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

Пояснение: Флаг  d  означает damped (подавлен). Маршрут не анонсируется и не используется. В колонке  Reuse  — время, через которое маршрут будет восстановлен.
На R1 (проверка BGP-таблицы):

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

Пояснение: Маршрут  10.10.10.1/32  помечен флагом  d  (damped) и не имеет флага  >  (best). Он не установлен в таблицу маршрутизации.
7. Шаг 3: Восстановление маршрута (ожидание)
Задача: Дождаться, пока штраф уменьшится ниже reuse limit (750), и маршрут снова станет доступным.
Как это работает: Штраф уменьшается экспоненциально. При half-life = 15 минут, каждые 15 минут штраф уменьшается вдвое.
На R1 (проверка через некоторое время):

R1#show ip bgp dampening dampened-paths

Ожидаемый результат: Если маршрут перестал флапать, штраф уменьшается. Когда он падает ниже 750, маршрут восстанавливается (исчезает из  dampened-paths ).
Примечание: В лабораторной работе можно не ждать 15–60 минут. Вместо этого используйте команду для сброса dampening:

R1#clear ip bgp dampening 10.10.10.1

8. Шаг 4: Селективное применение Dampening (опционально)

📌 Опционально (от англ. optional — «необязательный»). Этот шаг можно пропустить — на результат лабораторной работы это не повлияет. Шаг 4 углубляет понимание Dampening (селективное применение через  route-map ).

optional [ˈɒpʃnəl] необязательный

Задача: Применить Dampening только к определённым маршрутам (например, только к  10.10.10.1/32 ), а не ко всем.
На R1 (создаём prefix-list и route-map):

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] выборочный /прл./

9. Возможные проблемы и их решение
Проблема
Вероятная причина
Решение
Маршрут не подавляется
Штраф не превысил 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 
10. Итог лабораторной работы
1. Вы научились настраивать BGP Route Dampening для подавления флаппующих маршрутов.
2. Вы увидели, как штраф накапливается при флаппах и как маршрут подавляется при превышении suppress limit.
3. Вы узнали параметры Dampening: half-life, reuse, suppress, max-suppress.
4. Вы познакомились с селективным применением Dampening через  route-map .
11. Контрольные вопросы
Вопрос
Ответ
1. Зачем нужен Route Dampening?
Для подавления флаппующих маршрутов и минимизации их влияния на сеть.
2. Сколько штрафа начисляется за один флапп?
1000 (по умолчанию).
3. При каком штрафе маршрут подавляется?
При превышении suppress limit (по умолчанию 2000).
4. При каком штрафе маршрут восстанавливается?
При падении ниже reuse limit (по умолчанию 750).
5. Что такое half-life?
Время, за которое штраф уменьшается вдвое (по умолчанию 15 минут).
6. Применяется ли Dampening к iBGP-маршрутам?
❌ Нет, только к eBGP.
📝 Итоговый чек-лист
□ Выполнена диагностика: show ip bgp 10.10.10.1 (маршрут виден).
□ На R1 настроен bgp dampening (с параметрами по умолчанию).
□ Симуляция флаппинга: 3+ раза shutdown/no shutdown на Loopback 10 R2.
□ show ip bgp dampening dampened-paths показывает маршрут с флагом d (damped).
□ show ip bgp показывает маршрут с флагом d (не best).
□ show ip route 10.10.10.1 не показывает маршрут (подавлен).
□ (Опционально) Настроен селективный Dampening через route-map.
□ (Опционально) Выполнен clear ip bgp dampening 10.10.10.1 для восстановления.
📊 Сравнение атрибутов BGP (обновлённая шпаргалка)
Лабораторная работа
Атрибут
Приоритет
Область действия
Направление
Влияет на выбор?
ЛР №4
Weight
1 (высший)
Локальный маршрутизатор
in
✅ Да
ЛР №2
Local Preference
2
Вся AS
in
✅ Да
ЛР №2
AS_PATH Prepending
3
Внешние соседи
out
✅ Да
ЛР №3
MED
4
Соседняя AS
out
✅ Да
ЛР №5
Community
—
Передаётся между AS
in/out
❌ Нет (только для политик)
ЛР №6
Originator
—
Внутри AS (RR)
—
❌ Нет (защита от маршрутных петель)
ЛР №6
Cluster list
—
Внутри AS (RR)
—
❌ Нет (защита от маршрутных петель)
ЛР №7
Prefix-list
—
Локальный маршрутизатор
in/out
❌ Нет (только фильтрация)
ЛР №8
TTL Security (GTSM)
—
eBGP-сессия
in
❌ Нет (только защита)
ЛР №9
Peer Group
—
Группа соседей
—
❌ Нет (шаблон)
ЛР №10
Maximum-prefix
—
eBGP/iBGP-сессия
in
❌ Нет (только ограничение)
ЛР №11
Multipath
—
Локальный маршрутизатор
—
❌ Нет (только балансировка)
ЛР №12
Route Dampening
—
eBGP-маршруты
in
❌ Нет (только подавление)

Приветствуем всех любителей ретро-игровой индустрии на канале RetraR
Сувенирная и брендированная продукция с персонажами из любимых игр.
RetraR — Компьютерные игры для Nintendo Game Boy
RetraR - Computer games for Nintendo Game Boy 🌌🛸👽👾☄️🤖
RetraR - 任天堂ゲームボーイ用コンピュータゲーム 🎮🕹️👾

RetraR в VK
Канал - RetraR в Telegram
Канал - RetraR в Telegram

Оформить заказ

Нажимая на кнопку, вы даете согласие на обработку персональных данных

Спасибо за заказ

Ваш заказ принят в обработку. 

Мы свяжемся с вами в ближайшее время.