Нестабильный маршрут (flapping route) — это маршрут, который пропадает и появляется снова и снова из-за неполадок в сети, увеличивая количество объявлений протокола маршрутизации. Каждый раз, когда происходит изменение, отправляется сообщение BGP UPDATE. Когда маршрутизаторам приходится обрабатывать большое количество сообщений BGP UPDATE, нагрузка на их центральный процессор (ЦП) увеличивается. Для решения этой проблемы в ПО Cisco IOS версии 11.0 был добавлен механизм Route Dampening (подавление «прыгающих» маршрутов).
Содержание:
Введение
BGP Route Dampening — это механизм BGP, предназначенный для минимизации распространения нестабильных маршрутов в объединенной сети. Маршрут считается нестабильным, если его доступность часто меняется. Когда устройство Cisco, на котором работает BGP, обнаруживает нестабильный маршрут, оно автоматически подавляет этот маршрут, а также предотвращает установку таких маршрутов BGP в таблицу маршрутизации и их пересылку на другие маршрутизаторы BGP. Это снижает нагрузку на ЦП маршрутизаторов и повышает устойчивость сети.
BGP Route Dampening не применяется к iBGP-маршрутам.
На самом деле, при использовании BGP Route Dampening возникают проблемы с выбором наилучшего пути, поэтому не следует слепо включать эту функцию для всех маршрутов.
Посмотрим, как работает механизм защиты BGP. Есть пять атрибутов:
- Penalty: 1000;
- Suppress-Limit: по умолчанию 2000, диапазон 1-20000;
- Half-Life: по умолчанию 15 минут, диапазон 1-45;
- Reuse-limit: по умолчанию 750, диапазон 1-20000;
- Maximum Suppress-time: по умолчанию в 4 раза больше, чем Half-Life, значит, 60 минут, диапазон 1-255.
Обозначения атрибутов механизма BGP Route Dampening по умолчанию для Cisco IOS:
- Каждый раз, когда маршрут меняется на недоступный, маршрутизатор, настроенный на подавление маршрута в другой AS, устанавливает этому маршруту penalty в размере 1000. Penalty суммируются и сохраняются в таблице маршрутизации BGP до тех пор, пока penalty не превысит suppress-limit. В этот момент состояние маршрута меняется с history (h) на damp (d).
- Маршрут подавляется, когда его penalty превышает предел suppress-limit.
- Когда маршрутизатор снова узнает о маршруте с penalty, запускается half-life. Значение penalty уменьшается вдвое по истечении периода half-life.
- Поскольку penalty за колебание маршрута уменьшается и падает ниже предела reuse-limit, маршрут не подавляется. То есть маршрут добавляется обратно в таблицу BGP и снова используется для пересылки. Процесс восстановления маршрутов происходит с шагом в 10 секунд. Как только penalty становится ниже 50% от предела reuse-limit, penalty полностью снимается с маршрута.
- Значение maximum suppress-time представляет собой максимальное время, в течение которого маршрут может быть подавлен.
Например: значение penalty составляет 4000, а half-life — 15 минут. Через 15 минут penalty будет составлять 2000. Ещё через 15 минут — 1000. Ещё через 15 минут — penalty = 500. Как только penalty станет ниже предела reuse-limit, равного 750, маршрут можно будет снова использовать и объявлять другим маршрутизаторам BGP. Когда penalty станет ниже 50% от предела reuse-limit, penalty снимется с маршрута.
Существуют два варианта настройки BGP Route Dampening:
Топология
Исследуемая топология состоит из двух маршрутизаторов (Cisco 1941 с образом Cisco IOS Release 15.4 IP Base). Допускается использование маршрутизаторов других моделей, а также других версий операционной системы Cisco IOS. В зависимости от модели устройства и версии Cisco IOS, доступные команды и результаты их выполнения могут отличаться от тех, которые показаны в этой статье.
Схема топологии следующая:
Настройки маршрутизатора R1
Настройки маршрутизатора R2
Глобальная активация механизма
Глобальная активация BGP Route Dampening влияет на все маршруты. Как это включить на R2:
Примечание: данной командной включается механизм подавления со значениями по умолчанию. Их можно менять, добавив к этой команде следующие параметры:
Давайте посмотрим, узнал ли R2 о сети 1.1.1.0/24 от R1:
Маршрут также устанавливается в таблицу маршрутизации:
Давайте проверим, запущен ли механизм BGP Route Dampening. Для этого используем команду show ip bgp dampening parameters
:
Или значения по умолчанию можно увидеть в работающей конфигурации:
Чтобы увидеть BGP Route Dampening в действии, активируем отладку на R2 в привилегированном режиме:
Чтобы смоделировать нестабильный маршрут, деактивируем интерфейс Loopback маршрутизатора R1:
Теперь посмотрим на сообщения маршрутизатора R2:
В приведенном выше выводе можно видеть, что маршрут 1.1.1.0/24 изменился 1 раз и теперь имеет penalty 1000. Если подождать ещё минуту, также можно увидеть несколько отладочных сообщений:
Можно отметить, что penalty медленно уменьшается. Несмотря на то, что маршрута 1.1.1.0/24 больше нет, R2 всё ещё отслеживает его:
Посмотреть актуальный penalty можно с помощью следующей команды:
Текущего значения penalty недостаточно, чтобы превысить предел suppress-limit (2000). Задача — превысить предел, чтобы запустился механизм защиты от нестабильности маршрутов BGP Route Dampening. Чтобы увеличить значение penalty, снова активируем и сразу деактивируем Loopback интерфейс маршрутизатора R1:
Такие сообщения отладки выдает R2:
Маршрут получает ещё один penalty (1000), текущий penalty равен 1809. Это все ещё ниже предела suppress-limit (2000), поэтому снова на R1 воздействуем на интерфейс Loopback 0:
Маршрутизатор R2 выдаёт новые значения penalty:
Сейчас превышен порог suppress-limit (2000), поэтому давайте посмотрим, что произойдет, если снова включить Loopback-интерфейс на R1:
Теперь R2 подавляет маршрут механизмом Route Dampening и не будет его использовать:
Это также можно увидеть в следующей команде show:
Маршрут отмечен как dampened (d). Маршрут всё ещё присутствует в таблице BGP маршрутизатора R2:
Но отсутствует в таблице маршрутизации:
После большого промежутка времени, маршрут будет использован снова:
Как только penalty станет ниже предела reuse limit (750), можно снова использовать маршрут, и он не будет показан в следующей команде show:
Обратите внимание, что маршрутизатор снова устанавливает маршрут 1.1.1.0/24 в свою таблицу BGP:
Penalty будет уменьшаться до тех пор, пока не станет ниже 50% от предела reuse limit (750/2 = 375). Как только он станет ниже 375, penalty полностью снимается, и больше не будет отладочных сообщений. Penalty исчезнет.
Карта маршрутов (route-map)
Альтернативой глобальной активации механизма является включение карты маршрута (route-map). Таким образом, можно указать, для каких маршрутов должен применятся механизм BGP Route Dampening.
Чтобы увидеть механизм в действии, активируем отладку на R2 в привилегированном режиме:
Карта маршрутов DAMP маршрутизатора R1 имеет только один оператор разрешения с порядковым номером 10. Для этого оператора условие соответствия — это список префиксов (prefix—list) с указанием сети 1.1.1.0/24. Уменьшим значение suppress-limit с 2000 до 1300. Применим настроенную route—map, которая указывает, что карта применяется к механизму BGP Route Dampening:
Необходимо подождать около минуты, чтобы маршрутизатор принял настройки механизма подавления:
Теперь, чтобы смоделировать нестабильный маршрут, деактивируем интерфейс Loopback маршрутизатора R1:
Посмотрим на сообщения маршрутизатора R2. Маршрут 1.1.1.0/24 изменился 1 раз и теперь имеет penalty 1000:
Несмотря на то, что маршрута 1.1.1.0/24 больше нет, R2 всё ещё отслеживает его:
Снова увеличиваем значение penalty, активируя и сразу деактивируя Loopback-интерфейс маршрутизатора R1:
Маршрутизатор R2 выдаёт новые значения penalty:
Сейчас превышен порог suppress-limit (1300), поэтому давайте посмотрим, что произойдет, если снова включить Loopback-интерфейс на R1:
Теперь R2 подавляет маршрут механизмом Route Dampening и не будет его использовать. Это можно проверить следующей командой show:
Маршрут отмечен как dampened (d).
Выводы
Спасибо за уделенное время на прочтение статьи. Теперь Вы умеете настраивать механизм защиты от нестабильности маршрутов BGP Route Dampening на маршрутизаторах Cisco.
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.