Настройка протокола BFD

311 0 0 0

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

BFD_BGP

В этом случае падение интерфейса на одном из маршрутизаторов никак не будет обнаружено другим маршрутизатором. Удаление недействительного маршрута из таблицы маршрутизации будет зависеть от настроек используемого протокола (в случае с BGP это время может достигать трех минут).

В этой ситуации нам поможет BFD. Bidirectional Forwarding Detection - протокол, позволяющий быстро обнаруживать проблемы связности маршрутизаторов на IP уровне и тем самым обеспечивающий быструю сходимость протоколов маршрутизации. BFD работает поверх других протоколов и позволяет сократить время обнаружения проблемы до 50 мс. BFD является двусторонним протоколом, т.е. требует настройки на обоих маршрутизаторах (оба генерируют BFD пакеты и отвечают друг-другу). Как же работает протокол BFD?

Каждый из маршрутизаторов, на которых настроен протокол BFD, периодически посылает Hello сообщения соседу. Получив данное сообщение, маршрутизатор понимает, что канал работает, не получив сообщение, протокол BFD зафиксирует неработоспособность канала.

Перейдем к настройкам:

AR1
interface GigabitEthernet 0/0/1
   ip address 10.0.12.1 255.255.255.0

bgp 50
   peer 10.0.12.2 as-number 500

AR2
interface GigabitEthernet 0/0/1
   ip address 10.0.12.2 255.255.255.0

bgp 500
   peer 10.0.12.1 as-number 50

Прежде чем перейти к настройке BFD, посмотрим, через сколько BGP поймет, что произошел обрыв и удалит маршрут. Сымитируем падение линка на маршрутизаторе AR2, дадим команду shutdown и посмотрим, что произойдет:

<AR2>
May 31 2019 18:17:42-08:00 AR2 %IFPDT/4/IF_STATE(l)[9]:Interface GigabitEthernet0/0/1 has turned into DOWN state.

<AR1>
May 31 2019 18:20:22-08:00 AR1 %BGP/3/STATE_CHG_UPDOWN(l)[5]:The status of the peer 10.0.12.2 changed from ESTABLISHED to IDLE. (InstanceName=Public, StateChangeReason=Hold Timer Expired)

Как видим, прошло 2 минуты и 40 секунд между падением интерфейса и удалением маршрута на AR1.

Теперь настроим BFD сессию:

AR1
bfd                                                //Глобально разрешаем BFD
bgp 50
   peer 10.0.12.2 bfd enable         //Разрешаем BFD в BGP процессе
   peer 10.0.12.2 bfd min-tx-interval 50 min-rx-interval 50 detect-multiplier 4

min-tx-interval – интервал генерации control пакетов (в миллисекундах).

min-rx-interval – минимальный интервал между входящими controlпакетами.

detect-multiplier – количество пакетов, которые BFD может пропустить прежде чем информирует о неполадках с подключением.

Аналогичную настройку делаем на втором маршрутизаторе:

AR2
bfd
bgp 500
   peer 10.0.12.1 bfd enable
   peer 10.0.12.1 bfd min-tx-interval 50 min-rx-interval 50 detect-multiplier 4

Проверим статус BFD сессии:

[AR1] display bfd session all
--------------------------------------------------------------------------------
Local Remote           PeerIpAddr
           State           Type           InterfaceName
--------------------------------------------------------------------------------

8192   8192               10.0.12.2                Up             D_IP_IF    GigabitEthernet0/0/1
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0

[AR2] display bfd session all
--------------------------------------------------------------------------------
Local Remote           PeerIpAddr           State           Type           InterfaceName 
--------------------------------------------------------------------------------

8192   8192               10.0.12.1                Up             D_IP_IF    GigabitEthernet0/0/1
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0

BFD_BGP_2

Сессия успешно установилась и устройства начали обмениваться Helloсообщениями.

Снова сымитируем падение линка на AR2:

<AR2>
May 31 2019 19:34:59-08:00 AR2 %IFPDT/4/IF_STATE(l)[16]:Interface GigabitEthernet0/0/1 has turned into DOWN state.

<AR1>
May 31 2019 19:34:59-08:00 AR1 %BFD/4/STACHG_TODWN(l)[1]:BFD session changed to Down. (SlotNumber=0, Discriminator=2097152, Diagnostic=DetectDown, Applications=BGP, ProcessPST=False, BindInterfaceName=GigabitEthernet0/0/1, InterfacePhysicalState=Up, InterfaceProtocolState=Up)

May 31 2019 19:34:59-08:00 AR1 %BGP/3/STATE_CHG_UPDOWN(l)[2]:The status of the peer 10.0.12.2 changed from ESTABLISHED to IDLE. (InstanceName=Public, StateChangeReason=CEASE/BFD Session Down)

Теперь разница между падением интерфейса и удалением недействительных маршрутов на AR1, благодаря BFD, составляет миллисекунды.

  • x

Ответ

Отправить
Выполните вход в систему, чтобы ответить на пост. Вход | Регистрация

Внимание! В целях защиты правовых интересов Вас, сообщества и третьих лиц, не публикуйте любой материал, содержащий политические высказывания, порнографию, упоминание азартных игр, употребление наркотиков, а также материал, нарушающий коммерческую тайну или содержащий персональные данные пользователей. Также не предоставляйте данные от вашей учетной записи. Вы будете нести ответственность за все действия, выполняемые под вашим аккаунтом. Подробная информация: “Политика конфиденциальности..”
Если кнопка вложения недоступна, обновите Adobe Flash Player до последней версии.

Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Вход
Быстрый ответ Вверх