Настройка BFD для OSPF¶
BFD в OSPF используется для ускоренного обнаружения отказов канала между соседями, выступая как внешний триггер события link-down. OSPF реагирует на статус BFD как на потерю канала: при падении BFD-сессии OSPF немедленно разрывает соседство и запускает перерасчёт маршрутов, что сокращает время сходимости по сравнению со стандартными таймерами Hello/Dead.
Включение BFD для OSPF позволяет:
- уменьшить время обнаружения отказа линка;
- ускорить сходимость маршрутизации;
- повысить устойчивость сервисов к обрывам;
- избежать необходимости уменьшения интервалов OSPF Hello/Dead.
Сценарии использования. BFD для OSPF применяется:
- на магистральных линках;
- в дата-центрах;
- в сетях с требованиями к быстрому восстановлению;
- при необходимости сходимости < 1 секунды.
Необходимые условия и предварительные требования¶
- Поддержка BFD на платформе.
- Поддержка интеграции BFD с OSPF.
- Совпадающая настройка BFD на обоих концах канала.
- Согласованные таймеры BFD.
Основная информация о применяемых технологиях¶
BFD (Bidirectional Forwarding Detection)¶
Это протокол быстрого обнаружения отказов канала между двумя устройствами.
Принцип работы
- Между двумя маршрутизаторами устанавливается BFD-сессия.
- Устройства обмениваются BFD-пакетами с заданным интервалом.
- При отсутствии пакетов в течение согласованного времени:
- BFD объявляет сессию Down
- OSPF немедленно разрывает соседство
- Запускается перерасчёт маршрутов (SPF)
Назначение применяемой команды/конфигурации¶
Для настройки BFD в OSPF используются три команды:
- протокол BFD запускается в глобальном режиме конфигурации:
start- запустить протоколstop- остановить работу протоколаbind- привязывает работу BFD к конкретному интерфейсуauto-linkbundle- автоматическая интеграция BFD с агрегированными каналами (LAG)auto-switch- автоматическое переключение маршрутизации при падении BFD-сессииtrack- привязка состояния BFD к механизму отслеживанияtrap- отправка SNMP-trap при изменении состояния BFD-сессии
- BFD-сессия создается на интерфейсе маршрутизатора, на котором существует или планируется OSPF-соседство. На соседнем маршрутизаторе тоже должен быть настроен BFD с аналогичными параметрами.
enable- включает протокол BFD на этом интерфейсеdisable- отключает протокол BFD на этом интерфейсеauthentication- включает аутентификацию BFDbind- привязывает BFD к механизму отслеживанияmin-tx- задаёт минимальный интервал отправки BFD-пакетов, значение по умолчанию 1000 миллисекундmin-echo- задаёт минимальный интервал приёма Echo-пакетов, значение по умолчанию 0 миллисекунд (echo отключено)
- Команда используется для включения или отключения интеграции BFD с OSPF на интерфейсе.
Пример конфигурирования¶
Первоначальное состояние - два маршрутизатора, соединенные друг другом напрямую. Между ними поднято OSPF-соседство. Задача - добавить BFD в OSPF для более оперативного обнаружения потери соседства.
Исходная конфигурация:
Цель: Настроить BFD для OSPF на каждом маршрутизаторе, на тех интерфейсах, на которых установлено OSPF-соседство, то есть на интерфейсе 10gigaethernet 1/0/1 каждого маршрутизатора.
Конфигурация на Sw1:
Шаг 1. SW1(config)#bfd start - запуск протокола BFD глобально
Шаг 2.
- включение BFD на интерфейсе 10gigaethernet 1/0/1
Шаг 3. SW1(config-10ge1/0/1)#ip ospf bfd enable - привязка BFD к OSPF
Конфигурация на Sw2 - аналогичная:
Шаг 1. SW2(config)#bfd start - запуск протокола BFD глобально
Шаг 2.
- включение BFD на интерфейсе 10gigaethernet 1/0/1
Шаг 3. SW2(config-10ge1/0/1)#ip ospf bfd enable - привязка BFD к OSPF
Полный вывод выполненных конфигураций¶
Вывод представлен в виде команды show running-config для каждого настраиваемого устройства, в формате для удобного последующего copy-paste.
На Sw1:
На Sw2:
Изучение состояния устройства¶
Настройку и работу BFD можно проверить командами вида show bfd:
- команда предназначена для просмотра конфигурации и состояния BFD
config- просмотр конфигурацииinterface- параметры настройки BFD на конкретных интерфейсахsession- состояние активных BFD-сессий
Состояние BFD-сессии между OSPF соседями можно посмотреть командой show ip ospf bfd session
Просмотр конфигурации¶
Просмотреть конфигурацию можно с помощью команд show running-config и show bfd config:
На Sw1:
- BFD сконфигурирован глобально и на интерфейсе 10gigaethernet 1/0/1
На Sw2:
- BFD сконфигурирован глобально и на интерфейсе 10gigaethernet 1/0/1
Просмотр параметров работы¶
Просмотреть состояние работы BFD, в том числе работу BFD с протоколом OSPF, можно следующими командами:
На Sw1:
- протокол BFD активен на интерфейсе 10gigaethernet 1/0/1 и работает в асинхронном режиме
- время обнаружения отказа 3 секунды (min interval * multiplier)
- BFD-сессия активна
- убедитесь, что BFD-сессия установлена между корректными OSPF-соседями (параметры local-addr и remote-addr)
- BFD-state up указывает на то, что OSPF видит рабочую BFD-сессию
- Neighbor и NeighborId показывают, с каким OSPF соседом установлена BFD-сессия
- обратите внимание на строку
Bfd State: enable- она показывает, что BFD для OSPF на этом интерфейсе включен
На Sw2:
- протокол BFD активен на интерфейсе 10gigaethernet 1/0/1 и работает в асинхронном режиме
- время обнаружения отказа 3 секунды (min interval * multiplier)
- BFD-сессия активна
- убедитесь, что BFD-сессия установлена между корректными OSPF-соседями (параметры local-addr и remote-addr)
- BFD-state up указывает на то, что OSPF видит рабочую BFD-сессию
- Neighbor и NeighborId показывают, с каким OSPF соседом установлена BFD-сессия
- обратите внимание на строку
Bfd State: enable- она показывает, что BFD для OSPF на этом интерфейсе включен
Рекомендации выполнения команд/настроек¶
- BFD работает только между напрямую подключёнными соседями.
- При несовпадении параметров BFD-сессия не установится.
- Слишком маленькие интервалы увеличивают нагрузку на CPU.
- BFD не ускоряет сходимость OSPF, а ускоряет только обнаружение отказа.
- При неправильной настройке BFD может вызывать ложные срабатывания.
История возникновения команды¶
Версия ПО
Настройки и выводы команд выполнялись на версии ПО V1.0.2
Ссылка на внешнюю документацию¶
Стандарт
- RFC 5880 — Bidirectional Forwarding Detection (BFD)
- RFC 5881 — BFD для single-hop IPv4/IPv6
- RFC 5882 — Generic application of BFD
