Документация: ПО Факел — разрабатываемая версия

BFD

Обзор

Задача протокола BFD - быстрое определение недоступности соседствующего узла и принятие соответствующих мер. Протокол BFD отправляет значительное количество небольших UDP пакетов, чтобы убедиться, что соседствующих узел по-прежнему доступен. Это позволяет избежать использования лишний раз таймеров, заданных для протоколов BGP и OSPF.

Базовое описание протокола представлено в спецификации RFC 5880, а описание его расширения - в спецификациях RFC 5881 и RFC 5883.

Протокол BFD может использоваться самостоятельно (сессия с соседствующим узлом задается командами protocols bfd peer <address>) или в связке с протоколами BGP, OSPF, OSPFv3 и IS-IS.

Статический маршрут также можно связать с сессией BFD: следующий переход маршрута отслеживается по протоколу BFD (параметры protocols static route <x.x.x.x/x> next-hop <x.x.x.x> bfd …, см. Статическая маршрутизация). Статические маршруты, которые отслеживает BFD, выводит команда show bfd static routes.

Состояние протокола отображают команды режима «Администрирование»:

  • команды show bfd peers и show bfd peers brief выводят сессии BFD со всеми соседствующими узлами;

  • команды show bfd peers counters и show bfd peer <peer> counters выводят счетчики пакетов сессий;

  • команда show bfd peer <peer> выводит состояние сессии с указанным узлом;

  • команда show bfd static routes выводит статические маршруты, которые отслеживает BFD.

Команда restart bfd перезапускает протокол BFD в подсистеме маршрутизации и доступна только пользователю уровня «Администратор» (см. Уровни пользователей). Перед перезапуском команда сохраняет активную конфигурацию подсистемы маршрутизации, а после перезапуска применяет ее заново. Команда небезопасна: после нее связь с маршрутизатором или активная конфигурация могут быть потеряны. Поэтому команда выводит предупреждение и запрашивает подтверждение (см. также Состояние менеджера таблиц маршрутизации).

Пример настройки

Шаг

Команда

Описание

1

set protocols bfd peer 192.0.2.1

Добавляет соседствующий узел 192.0.2.1 для протокола BFD

2

set protocols bfd peer 192.0.2.1 interval receive 300

Задает интервал получения контрольных пакетов 300 мс для узла 192.0.2.1

3

set protocols ospf interface eth0 bfd

Активирует использование протокола BFD для протокола OSPF на интерфейсе eth0

Список команд


Режим «Конфигурирование»


protocols bfd peer <peer>

Описание:
Задает IPv4 или IPv6 адрес соседствующего узла.

Синтаксис:

  • set protocols bfd peer <peer>

  • delete protocols bfd peer <peer>

  • show protocols bfd peer

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

Режим: «Конфигурирование».


protocols bfd peer <peer> echo-mode

Описание:
Активирует режим передачи эхо-сообщений для выбранного узла.

Синтаксис:

  • set protocols bfd peer <peer> echo-mode

  • delete protocols bfd peer <peer> echo-mode

  • show protocols bfd peer <peer> echo-mode

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

Режим: «Конфигурирование».


protocols bfd peer <peer> multihop

Описание:
Определяет соседствующий узел как не подключенный непосредственно.

Синтаксис:

  • set protocols bfd peer <peer> multihop

  • delete protocols bfd peer <peer> multihop

  • show protocols bfd peer <peer> multihop

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

Режим: «Конфигурирование».


protocols bfd peer <peer> source address <address>

Описание:
Закрепляет выбранный узел за определенным адресом устройства. При построении сети с IPv6-адресацией обязательно использование команды source address <address> или команды source interface <interface>.

Синтаксис:

  • set protocols bfd peer <peer> source address <address>

  • delete protocols bfd peer <peer> source address <address>

  • show protocols bfd peer <peer> source address

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

  • <address> — локальный IP-адрес, используемый для подключения к узлу. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

Режим: «Конфигурирование».


protocols bfd peer <peer> source interface <interface>

Описание:
Закрепляет выбранный узел за определенным интерфейсом устройства. При построении сети с IPv6-адресацией обязательно использование команды source interface <interface> или команды source address <address>.

Синтаксис:

  • set protocols bfd peer <peer> source interface <interface>

  • delete protocols bfd peer <peer> source interface <interface>

  • show protocols bfd peer <peer> source interface

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

  • <interface> — имя интерфейса.

Режим: «Конфигурирование».


protocols bfd peer <peer> interval echo-interval <echo-interval>

Описание:
Задает временной интервал для получения эхо-сообщений.

Синтаксис:

  • set protocols bfd peer <peer> interval echo-interval <echo-interval>

  • delete protocols bfd peer <peer> interval echo-interval <echo-interval>

  • show protocols bfd peer <peer> interval echo-interval

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

  • <echo-interval> — временной интервал в миллисекундах. Формат: целое число. Диапазон значений: от 10 до 60000.

Режим: «Конфигурирование».


protocols bfd peer <peer> interval multiplier <multiplier>

Описание:
Задает множитель, который будет использован при определении временных интервалов.

Синтаксис:

  • set protocols bfd peer <peer> interval multiplier <multiplier>

  • delete protocols bfd peer <peer> interval multiplier <multiplier>

  • show protocols bfd peer <peer> interval multiplier

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

  • <multiplier> — множитель. Формат: целое число. Диапазон значений: от 2 до 255. Значение по умолчанию: 3.

Режим: «Конфигурирование».


protocols bfd peer <peer> interval receive <interval>

Описание:
Задает временной интервал получения данных по протоколу BFD. Значение временного интервала задается в миллисекундах.

Синтаксис:

  • set protocols bfd peer <peer> interval receive <interval>

  • delete protocols bfd peer <peer> interval receive <interval>

  • show protocols bfd peer <peer> interval receive

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

  • <interval> — значение временного интервала в миллисекундах. Формат: целое число. Диапазон значений: от 10 до 60000. Значение по умолчанию: 300.

Режим: «Конфигурирование».


protocols bfd peer <peer> interval transmit <interval>

Описание:
Задает временной интервал передачи данных по протоколу BFD. Значение временного интервала задается в миллисекундах.

Синтаксис:

  • set protocols bfd peer <peer> interval transmit <interval>

  • delete protocols bfd peer <peer> interval transmit <interval>

  • show protocols bfd peer <peer> interval transmit

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

  • <interval> — значение временного интервала в миллисекундах. Формат: целое число. Диапазон значений: от 10 до 60000. Значение по умолчанию: 300.

Режим: «Конфигурирование».


protocols bfd peer <peer> shutdown

Описание:
Определяет соседствующий узел как отключенный.

Синтаксис:

  • set protocols bfd peer <peer> shutdown

  • delete protocols bfd peer <peer> shutdown

  • show protocols bfd peer <peer> shutdown

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

Режим: «Конфигурирование».


protocols bgp neighbor <neighbor> bfd

Описание:
Активирует использование протокола BFD для отдельного соседствующего узла в контексте протокола BGP. Когда BFD-узел выходит из строя, протокол BFD немедленно просит BGP выключить соединение с соседом, а когда он снова поднимается, уведомляет BGP о попытке соединения с ним.

Синтаксис:

  • set protocols bgp neighbor <neighbor> bfd

  • delete protocols bgp neighbor <neighbor> bfd

  • show protocols bgp neighbor <neighbor> bfd

Аргументы:

  • <neighbor> — IP-адрес (IPv4 или IPv6) или имя локального интерфейса соседнего узла BGP.

Режим: «Конфигурирование».


protocols bgp peer-group <peer-group> bfd

Описание:
Активирует использование протокола BFD для группы соседствующих узлов в контексте протокола BGP. Когда BFD-узел, входящий в группу соседствующих узлов, выходит из строя, протокол BFD немедленно просит BGP выключить соединение с соседом, а когда он снова поднимается, уведомляет BGP о попытке соединения с ним.

Синтаксис:

  • set protocols bgp peer-group <peer-group> bfd

  • delete protocols bgp peer-group <peer-group> bfd

  • show protocols bgp peer-group <peer-group> bfd

Аргументы:

  • <peer-group> — имя группы соседствующих узлов.

Режим: «Конфигурирование».


protocols ospf interface <interface> bfd

Описание:
Активирует BFD в контексте протокола OSPF на интерфейсе. Каждый раз, когда обнаруживается новый сосед, создается BFD-пир для мониторинга состояния соединения и быстрой конвергенции.

Синтаксис:

  • set protocols ospf interface <interface> bfd

  • delete protocols ospf interface <interface> bfd

  • show protocols ospf interface <interface> bfd

Аргументы:

  • <interface> — имя интерфейса.

Режим: «Конфигурирование».


protocols ospfv3 interface <interface> bfd

Описание:
Активирует использование протокола BFD в контексте протокола OSPFv3 на интерфейсе. Каждый раз, когда обнаруживается новый сосед, создается BFD-пир для мониторинга состояния соединения и быстрой конвергенции.

Синтаксис:

  • set protocols ospfv3 interface <interface> bfd

  • delete protocols ospfv3 interface <interface> bfd

  • show protocols ospfv3 interface <interface> bfd

Аргументы:

  • <interface> — имя интерфейса.

Режим: «Конфигурирование».


protocols isis interface <interface> bfd

Описание:
Активирует использование протокола BFD в контексте протокола IS-IS на интерфейсе. Каждый раз, когда обнаруживается новый сосед, создается BFD-пир для мониторинга состояния соединения и быстрой конвергенции. Если настроена поддержка как IPv4, так и IPv6, то будет создана только сессия BFD на базе IPv6.

Синтаксис:

  • set protocols isis interface <interface> bfd

  • delete protocols isis interface <interface> bfd

  • show protocols isis interface <interface> bfd

Аргументы:

  • <interface> — имя интерфейса.

Режим: «Конфигурирование».


Режим «Администрирование»


bfd peers

Описание:
Выводит на экран список соседствующих узлов для протокола BFD.

Синтаксис:

  • show bfd peers

Пример работы команды show bfd peers:

fakel@fakel:~$ show bfd peers
BFD Peers:
   peer 198.51.100.33 vrf default interface eth4.100
      ID: 4182341893
      Remote ID: 12678929647
      Status: up
      Uptime: 1 month(s), 16 hour(s), 29 minute(s), 38 second(s)
      Diagnostics: ok
      Remote diagnostics: ok
      Local timers:
         Receive interval: 300ms
         Transmission interval: 300ms
         Echo transmission interval: 50ms
      Remote timers:
         Receive interval: 300ms
         Transmission interval: 300ms
         Echo transmission interval: 0ms

   peer 198.51.100.55 vrf default interface eth4.101
      ID: 4618932327
      Remote ID: 3312345688
      Status: up
      Uptime: 20 hour(s), 16 minute(s), 19 second(s)
      Diagnostics: ok
      Remote diagnostics: ok
      Local timers:
         Receive interval: 300ms
         Transmission interval: 300ms
         Echo transmission interval: 50ms
      Remote timers:
         Receive interval: 300ms
         Transmission interval: 300ms
         Echo transmission interval: 0ms

Режим: «Администрирование».


bfd peers brief

Описание:
Выводит на экран сокращенный список соседствующих узлов для протокола BFD.

Синтаксис:

  • show bfd peers brief

Режим: «Администрирование».


bfd peers counters

Описание:
Выводит на экран статистику по каждому соседствующему узлу для протокола BFD.

Синтаксис:

  • show bfd peers counters

Режим: «Администрирование».


bfd peer <peer>

Описание:
Выводит на экран информацию о выбранном соседствующем узле для протокола BFD.

Синтаксис:

  • show bfd peer <peer>

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

Режим: «Администрирование».


bfd peer <peer> counters

Описание:
Выводит на экран статистику по выбранному соседствующему узлу для протокола BFD.

Синтаксис:

  • show bfd peer <peer> counters

Аргументы:

  • <peer> — IP-адрес соседствующего узла. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

Режим: «Администрирование».


bfd static routes

Описание:
Выводит статические маршруты, следующие переходы которых отслеживает протокол BFD.

Синтаксис:

  • show bfd static routes

Режим: «Администрирование».


restart bfd

Описание:
Перезапускает протокол BFD в подсистеме маршрутизации. Перед перезапуском команда выводит предупреждение о том, что связь с маршрутизатором или активная конфигурация могут быть потеряны, и запрашивает подтверждение. Активная конфигурация подсистемы маршрутизации сохраняется перед перезапуском и применяется заново после него.

Синтаксис:

  • restart bfd

Режим: «Администрирование».

Уровень привилегий: «Администратор».