Настройка BFD для IS-IS¶
BFD используется совместно с протоколом IS-IS для ускоренного обнаружения потери связности между соседними маршрутизаторами.
В стандартной работе IS-IS определяет недоступность соседа на основе таймеров hello (IIH) и механизма holdtime, что может занимать секунды. При интеграции с BFD контроль доступности соседа передаётся отдельному протоколу, который работает значительно быстрее. BFD обнаруживает потерю связности за счёт частого обмена служебными пакетами и уведомляет IS-IS о разрыве соседства. В результате IS-IS немедленно удаляет соседство и инициирует перерасчёт топологии.
Преимущества использования BFD для IS-IS:
- сокращение времени сходимости
- повышение отказоустойчивости сети
- более быстрое переключение на резервные маршруты
Сценарии использования:
- магистральные соединения между маршрутизаторами
- сети операторского уровня
- любые топологии, где критично быстрое восстановление маршрутизации при отказах
Необходимые условия и предварительные требования¶
- IP-связность на уровне интерфейсов
- IS-IS-соседство между маршрутизаторами
- Поддержка BFD на обеих платформах
- Поддержка интеграции BFD с IS-IS
- Совпадающая настройка BFD на обоих концах канала
- Согласованные таймеры BFD
Основная информация о применяемых технологиях¶
BFD (Bidirectional Forwarding Detection)¶
Это протокол быстрого обнаружения отказов канала между двумя устройствами. BFD функционирует независимо от протоколов маршрутизации.
Принцип работы
- Между двумя маршрутизаторами устанавливается BFD-сессия.
- Устройства обмениваются BFD-пакетами с заданным интервалом.
- При отсутствии пакетов в течение согласованного времени:
- BFD объявляет сессию Down
- IS-IS немедленно разрывает сессию с соседом и удаляет полученные от этого соседа LSP
IS-IS (Intermediate System to Intermediate System)¶
IS-IS является протоколом маршрутизации состояния канала (Link-state), работающим поверх канального уровня и не использующим IP для формирования соседств. Соседи обнаруживаются посредством обмена IIH-пакетами, а информация о топологии распространяется с помощью LSP.
Назначение применяемой команды/конфигурации¶
Для настройки BFD в IS-IS используются три команды:
- протокол BFD запускается в глобальном режиме конфигурации:
start- запустить протоколstop- остановить работу протоколаbind- привязывает работу BFD к конкретному интерфейсуauto-linkbundle- автоматическая интеграция BFD с агрегированными каналами (LAG)auto-switch- автоматическое переключение маршрутизации при падении BFD-сессииtrack- привязка состояния BFD к механизму отслеживанияtrap- отправка SNMP-trap при изменении состояния BFD-сессии
- BFD-сессия создается на виртуальном интерфейсе VLAN <номер VLANа> маршрутизатора, на котором существует или планируется IS-IS-соседство. На соседнем маршрутизаторе тоже должен быть настроен BFD с аналогичными параметрами.
enable- включает протокол BFD на этом интерфейсеdisable- отключает протокол BFD на этом интерфейсеauthentication- включает аутентификацию BFDbind- привязывает BFD к механизму отслеживанияmin-tx- задаёт минимальный интервал отправки BFD-пакетов, значение по умолчанию 1000 миллисекундmin-echo- задаёт минимальный интервал приёма Echo-пакетов, значение по умолчанию 0 миллисекунд (echo отключено)
- Команда используется для включения или отключения интеграции BFD с IS-IS на виртуальном интерфейсе VLAN <номер VLANа>.
Пример конфигурирования¶
Первоначальное состояние - два маршрутизатора, соединенные друг другом напрямую. Физический канал между ними состоит из двух L2 интерфейсов, которые находятся в режиме access и принадлежат одному общему VLAN-у 3000. IS-IS-соседство между маршрутизаторами установлено между виртуальными интерфейсами VLAN 3000.
Задача - добавить BFD в IS-IS для более оперативного обнаружения потери соседства.
Исходная конфигурация:
Цель: Настроить BFD для IS-IS на каждом маршрутизаторе, на тех виртуальных интерфейсах VLAN, на которых установлено OSPF-соседство, то есть на интерфейсе VLAN 3000 каждого маршрутизатора.
Конфигурация на Sw1:
Шаг 1. SW1(config)#bfd start
- запуск протокола BFD глобально
Шаг 2.
- включение BFD на интерфейсе vlan 3000
Шаг 3. SW1(config-vlanif-3000)#isis bfd enable
- привязка BFD к IS-IS
Конфигурация на Sw2 - аналогичная:
Шаг 1. SW2(config)#bfd start
- запуск протокола BFD глобально
Шаг 2.
- включение BFD на интерфейсе vlan 3000
Шаг 3. SW2(config-vlanif-3000)#isis bfd enable
- привязка BFD к IS-IS
Полный вывод выполненных конфигураций¶
Вывод представлен в виде команды show running-config для каждого настраиваемого устройства, в формате для удобного последующего copy-paste.
На Sw1:
На Sw2:
Изучение состояния устройства¶
Настройку и работу BFD можно проверить командами вида show bfd:
- команда предназначена для просмотра конфигурации и состояния BFD
config- просмотр конфигурацииinterface- параметры настройки BFD на конкретных интерфейсахsession- состояние активных BFD-сессий
Состояние BFD-сессии между соседними маршрутизаторами IS-IS можно посмотреть командой show ip isis bfd session
Просмотр конфигурации¶
Просмотреть конфигурацию можно с помощью команд show running-config и show bfd config:
На Sw1:
- BFD сконфигурирован глобально и на интерфейсе VLAN 3000
На Sw2:
- BFD сконфигурирован глобально и на интерфейсе VLAN 3000
Просмотр параметров работы¶
Просмотреть состояние работы BFD, в том числе работу BFD с протоколом IS-IS, можно следующими командами:
Просмотр параметров в глобальном режиме¶
На Sw1:
- BFD-сессия активна
- убедитесь, что BFD-сессия установлена между корректными IS-IS-соседями (параметры local-addr и remote-addr)
- BFD-state bind указывает на то, что IS-IS видит рабочую BFD-сессию
- Поскольку уровень маршрутизации между соседями (level-1 или level-2) не задан явно, то по умолчанию поднимается уровень level-1-2, в результате BFD-соседство также установится для обоих уровней и будет показано отдельно для каждого уровня.
На Sw2:
- BFD-сессия активна
- убедитесь, что BFD-сессия установлена между корректными IS-IS-соседями (параметры local-addr и remote-addr)
- BFD-state up указывает на то, что IS-IS видит рабочую BFD-сессию
- Поскольку уровень маршрутизации между соседями (level-1 или level-2) не задан явно, то по умолчанию поднимается уровень level-1-2, в результате BFD-соседство также установится для обоих уровней и будет показано отдельно для каждого уровня.
Просмотр параметров в режиме интерфейса¶
На Sw1:
- протокол BFD активен на интерфейсе VLAN 3000 и работает в асинхронном режиме
- время обнаружения отказа 3 секунды (min interval * multiplier)
На Sw2:
- протокол BFD активен на интерфейсе VLAN 3000 и работает в асинхронном режиме
- время обнаружения отказа 3 секунды (min interval * multiplier)
Рекомендации выполнения команд/настроек¶
Прямое подключение
BFD работает только между напрямую подключёнными соседями.
Несовпадение параметров
При несовпадении параметров между соседними маршрутизаторами BFD-сессия не установится.
Нагрузка на CPU
Слишком маленькие интервалы увеличивают нагрузку на CPU.
Ложные срабатывания
При неправильной настройке BFD может вызывать ложные срабатывания.
Стабильность канала
Применение BFD рекомендуется на стабильных каналах связи, где потеря пакетов минимальна.
Влияние на IS-IS
Использование BFD не изменяет алгоритм работы IS-IS и не влияет на расчёт метрик и процесс выбора маршрутов, а только ускоряет обнаружение недоступности соседа.
История возникновения команды¶
Версия ПО
Настройки и выводы команд выполнялись на версии ПО V1.0.2
Ссылка на внешнюю документацию¶
Стандарт
- RFC 5880 — Bidirectional Forwarding Detection (BFD)
- RFC 5881 — BFD для single-hop IPv4/IPv6
- RFC 5882 — Generic application of BFD
