Bidirectional Forwarding Detection (BFD) — это не протокол маршрутизации по существу, а дополнительный инструмент, независимый от протоколов собственно маршрутизации.
Чтобы следить за тем, жив ли сосед, и оперативно обнаруживать отказы. Протоколы маршрутизации, такие как BGP или OSPF, как правило, имеют для этой цели встроенные механизмы типа Hello, но время срабатывания таких механизмов довольно велико. Например, для OSPF оно составляет, по умолчанию, 40 сек. и не может быть уменьшено далее нескольких секунд. BFD — это универсальный и быстрый механизм с малыми накладными расходами, который может быть подключён к любому протоколу маршрутизации в качестве вспомогательного инструмента.
Собственно BFD представляет собой совокупность отдельных сессий, мало связанных друг с другом. Каждая BFD-сессия контролирует одноадресный маршрут между двумя маршрутизаторами. Для этого партнёры периодически посылают друг другу управляющие пакеты в обоих направлениях. При этом BFD не занимается обнаружением соседей, но и не требует для них статической конфигурации. BFD-сессии устанавливаются по требованию, по инициативе других протоколов (BGP, OSPF), и эти протоколы предоставляют всю необходимую информацию — IP-адреса, интерфейсы и т.п. Если состояние BFD-сессии меняется, то эти протоколы получают уведомление и соответствующим образом реагируют на него (например, аннулируют факт соседства в OSPF, если BFD-сессия перешла в состояние DOWN).
ПРИМЕЧАНИЕ. Для того, чтобы протоколы маршрутизации (OSPF, BGP) использовали механизм BFD, они также должны быть настроены на создание BFD-сессий. Как правило, это делается посредством параметра bfd
в конфигурации протокола.
Для отдельных соседей сессия может быть установлена принудительно.
Пакеты BFD посылаются с динамическими адресами портов источника. На Linux-системах, по умолчанию, для этого используется несколько иной диапазон портов, нежели рекомендовано IANA (49152–65535). Настройка этого диапазона возможна средствами ОС Linux, но в данном дереве конфигурации не предусмотрена.
ПРИМЕЧАНИЕ. Данная реализация BFD в BIRD и, соответственно, в NSG Linux является экспериментальной и находится в состоянии активного развития. В ней реализованы основные функциональные возможности BFD согласно RFC 5880, IP-транспорт для BFD согласно RFC 5881, 5883, и интеграция с клиентскими протоколами согласно RFC 5882. Отдельные расширенные возможности (например, режим эхо или аутентификация) не реализованы и планируются в последующих версиях.
Ввиду экспериментального статуса, возможны некоторые проблемы, а также изменения структуры данной ветви конфигурации в будущем.
Для добавления копии протокола используйте команды +
, _new
или _insert
. Данный список является нумерованным и упорядочивается автоматически. Для удаления используйте команду -
или _remove
.
ПРИМЕЧАНИЕ. В данной версии BIRD поддерживается только одна копия BFD.
© Network Systems Group 2015–2024 | Отдел документации |