Как-ускорить-сходимость-BGP-с-помощью-отслеживания-следующего-перехода

Как ускорить сходимость BGP с помощью отслеживания следующего перехода

Рассмотрим, как ускорить сходимость BGP с помощью отслеживания следующего перехода. В таблице BGP для каждого маршрута должен существовать и быть доступен следующий переход (next hop). Если он отсутствует — маршрут будет недействителен. BGP использует инструмент, который проверяет все маршруты в таблице BGP каждые 60 секунд. Он выполняет поиск лучшего маршрута, проверяет адреса следующего перехода и определяет, достижим ли следующий переход.

Содержание:

  1. Введение
  2. Пример с iBGP
    1. Топология
      1. Настройка маршрутизатора R1
      2. Настройка маршрутизатора R2
      3. Настройка маршрутизатора R3
    2. Применение отслеживания следующего перехода
    3. Механизм BGP Route Dampening
  3. Пример с eBGP
    1. Топология
      1. Настройка маршрутизатора R1
      2. Настройка маршрутизатора R2
      3. Настройка маршрутизатора R3
    2. Применение отслеживания следующего перехода
    3. Механизм BGP Route Dampening
  4. Выводы

Введение

60 секунд — это достаточно долгое время. Если что-то происходит с адресом следующего перехода в течение 60 секунд между двумя проверками, нужно дождаться следующего запуска проверки до устранения проблем. В это время может возникнуть потеря данных и/или появятся петли маршрутизации.

Отслеживание адреса следующего перехода в BGP — это функция, которая уменьшает время конвергенции BGP, отслеживая изменения адреса следующего перехода BGP в таблице маршрутизации. Функция основана на событиях, поскольку она обнаруживает изменения в таблице маршрутизации. Когда изменения обнаружены, сразу планируется проверка адреса следующего перехода для его установки в таблицу BGP.

После обнаружения изменения, сканирование адреса next hop имеет задержку по умолчанию в 5 секунд. Следующее отслеживание адреса перехода также поддерживает dampening penalties. Это увеличивает задержку сканирования адреса next hop, которые продолжают меняться в таблице маршрутизации.

Пример с iBGP

Топология

Исследуемая топология состоит из трёх маршрутизаторов (Cisco 1941 с образом Cisco IOS Release 15.4 IP Base). Допускается использование маршрутизаторов других моделей, а также других версий операционной системы Cisco IOS. В зависимости от модели устройства и версии Cisco IOS, доступные команды и результаты их выполнения могут отличаться от тех, которые показаны в этой статье.

Схема топологии следующая:

 

MC BGP Next Hop Address Tracking

 

В топологии представлены три маршрутизатора в AS 123 с настроенным протоколом iBGP. Каждый маршрутизатор имеет сеть loopback с адресами на интерфейсах, которые рассылаются в OSPF. Эти IP-адреса используются IGP в качестве адресов следующего перехода. Между R2 и R3 есть сеть 192.168.20.0/24, которая будет объявляться в BGP.

Настройка маршрутизатора R1

Настройка маршрутизатора R2

Настройка маршрутизатора R3

Применение отслеживания следующего перехода

Как объяснялось ранее, BGP использует инструмент, который запускается каждые 60 секунд. Посмотрим на следующий вывод маршрутизатора R1. В привилегированном режиме включим отладку:

 

Через несколько десятков секунд появятся следующие сообщения, которые будут повторяться каждые 60 секунд:

 

По временным меткам можно видеть, что сообщения появляются каждые 60 секунд. Инструмент проверки перехода в BGP слишком медленный. Давайте посмотрим, как работает отслеживание следующего перехода.

Отслеживание следующего перехода включено по умолчанию, поэтому его не нужно настраивать. Ниже можно увидеть две команды:

 

Функцию можно отключить, добавив no к первой команде. Второе значение — задержка при запуске проверки следующего перехода (5 секунд) можно изменить.

Дальше необходимо видеть отслеживание следующего перехода в действии, поэтому включим следующие две отладки на R1:

 

Первая отладка полезна для просмотра изменений в таблице маршрутизации. Вторая отладка показывает выполнение отслеживания следующего перехода.

Вот текущая таблица BGP R1:

 

Сеть 192.168.20.0/24 рассылается как на R2, так и на R3, но использует путь через R3. Давайте отключим интерфейс loopback на R3, чтобы узнать, что произойдет далее:

 

На R1 появляются следующие сообщения:

 

Как только OSPF выяснит, что сеть 3.3.3.0/24 недостижима, маршрут удаляется из таблицы маршрутизации. Сразу же после этого события можно увидеть, что BGP планирует проверку следующего перехода через 5 секунд.

Как только эти 5 секунд истекли, он меняет адрес следующего перехода на 2.2.2.2 (R2) и добавляет это изменение в таблицу маршрутизации. Этот процесс намного быстрее, чем проверка перехода BGP, который запускается каждые 60 секунд.

Используем команду clear ip bgp * и проверяем как выглядит таблица BGP R1:

 

Обратите внимание, теперь маршрутизатор использует адрес 2.2.2.2 для перехода к сети 192.168.20.0/24.

Попробуем сделать ещё одну вещь. Отключим loopback-интерфейс R2 так, чтобы следующий адрес перехода 2.2.2.2 был неверным:

 

Посмотрим на новые отладочные сообщения R1:

 

OSPF обнаружил изменение, и 2.2.2.0/24 удаляется из таблицы маршрутизации. Сразу после этого BGP планирует выполнить сканирование следующего перехода через 5 секунд, и по истечении таймера он удаляет маршрут 192.168.20.0/24 из таблицы маршрутизации.

Вот как теперь выглядит таблица BGP R1:

 

Запись все ещё существует, поскольку таймер удержания iBGP ещё не истек, но сеть больше не существует. Можно проверить это, заглянув в таблицу маршрутизации R1:

Механизм BGP Route Dampening

Что делать, если в сети имеется нестабильный маршрут (flapping route), который заставляет меняться адрес следующего перехода снова и снова? Это означает, что таблица BGP будет обновляться через каждые 5 секунд снова и снова. Чтобы это предотвратить, можно использовать механизм BGP Route Dampening, его по умолчанию поддерживает отслеживание следующего перехода.

Каждый раз, когда меняется адрес next hop, к penalty добавляется значение 500. Когда penalty ниже 950, сканирование следующего перехода планируется каждые 5 секунд. Когда penalty выше 950, сканирование следующего перехода планируется на тот момент, когда значение penalty снизится на 100 или ниже.

Penalty уменьшается вдвое каждые 8 ​​секунд. Если текущий penalty равен 2000, а через 8 секунд1000, то ещё через 8 секунд будет значение 500. Эти значения не могут быть настроены.

Можно проверить механизм dampening, изменив адрес следующего перехода в таблице маршрутизации. Для этого достаточно будет несколько раз добавить и удалить статический маршрут на R1. Это самый быстрый способ изменить таблицу маршрутизации и включить отслеживание следующего перехода.

Отключим отладку IP-маршрутизации на R1:

 

Теперь пропишем и удалим статический маршрут следующего перехода 2.2.2.0, чтобы запустить процесс отслеживания:

 

Теперь посмотрим на отладку R1. В первый раз инструмент проверки следующего перехода запланировал проверку через 5 секунд (scheduling next hop scan in 5 secs). Это нормальное поведение механизма:

 

Обратите внимание на временные метки. Спустя 5 секунд была произведена проверка следующего перехода:

 

Снова пропишем и удалим статический маршрут следующего перехода 2.2.2.0, чтобы значение penalty продолжало расти:

 

На данный момент penalty1147, что превышает значение по умолчанию 950. Теперь проверка следующего перехода запланирована через 30 секунд (scheduling nexthop scan in 30 secs). Именно тогда penalty должен иметь значение 100.

Как только эти 30 секунд истекли, выполнилась проверка:

 

Если сеть продолжает «прыгать», значение penalty будет расти всё выше и выше, а проверка следующего перехода будет отложена на ещё больший срок.

Пример с eBGP

Топология

Исследуемая топология состоит из трёх маршрутизаторов (Cisco 1941 с образом Cisco IOS Release 15.4 IP Base). Допускается использование маршрутизаторов других моделей, а также других версий операционной системы Cisco IOS. В зависимости от модели устройства и версии Cisco IOS, доступные команды и результаты их выполнения могут отличаться от тех, которые показаны в этой статье.

Схема топологии следующая:

 

MC BGP Next Hop Address Tracking eBGP

Настройка маршрутизатора R1

Настройка маршрутизатора R2

Настройка маршрутизатора R3

Применение отслеживания следующего перехода

На R1 включим отладки для просмотра изменений в таблице маршрутизации и отслеживания следующего перехода:

 

Отключим интерфейс loopback на R2, чтобы запустить BGP Next Hop Address Tracking:

 

На R1 видны следующие уведомления отладки:

 

Был запущен процесс отслеживания адреса следующего перехода. Посмотрим таблицу BGP R1:

 

Записи все ещё существуют, поскольку таймер удержания eBGP ещё не истек, но сеть больше не существует. Через некоторый промежуток времени Next Hop для записей поменяются. Также можно использовать команду clear ip bgp *:

Механизм BGP Route Dampening

Проверим, как работате механизм dampening в eBGP, изменив адрес следующего перехода в таблице маршрутизации. Для этого удалим один ранее настроеный статический маршрут на R1:

 

Теперь посмотрим на отладку R1. Инструмент проверки следующего перехода запланировал проверку через 5 секунд (scheduling next hop scan in 5 secs). Спустя 5 секунд была произведена проверка следующего перехода (обратите внимание на временные метки):

 

Снова пропишем и удалим статический маршрут следующего перехода 3.3.3.0, чтобы значение penalty продолжало расти:

 

Снова как только 30 секунд истекут, выполнится проверка.

Выводы

Спасибо за уделенное время на прочтение статьи. Теперь Вы умеете настраивать сходимость BGP с помощью отслеживания следующего перехода на маршрутизаторах Cisco.

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню