VRRP - Virtual Router Redundancy Protocol
BFD - Bidirectional Forwarding Detection
Если Master-маршрутизатор VRRP выйдет из строя, VRRP backup маршрутизатор с наивысшим приоритетом возьмет на себя роль нового мастера. Переключение траффика на нового мастера должно произойти как можно быстрее для минимизации влияния на сервисный траффик. Переключение занимает не более 1 секунды.
При использовании технологии BFD проверяется статус маршрутизаторов используя их реальные IP адреса. Если BFD детектирует отсутствие ответов от VRRP -master, то запускается процесс VRRP switchover, и новый VRRP -master маршрутизатор начинает обрабатывать траффик. При этом переключение в таком сценарии занимает порядка 50 милисекунд.
На картинке выше схематично изображен процесс: RouterA и RouterB – члены одной VRRP group. RouterA – VRRP -master a RouterB – VRRP -backup.
Данные передаются через RouterA в нормальном режиме. Между RouterA и RouterB дополнительно поднят BFD, и VRRP группа отследивает статус BFD сессии.
При изменении статуса BFD сессии, меняется приоритет VRRP группы что вызывает процесс VRRP master/backup switchover
Процесс быстрого изменение master/backup VRRP switchover:
Установлена BFD сессия. Если BFD обнаруживает проблемы на линке между устройствами (или с соседним устройством, что с точки зрения BFD условно одно и тоже), в нашем примере на линке между RouterA и SwitchC, BFD сообщает модулю VRRP о событии DOWN.
VRRP приоритет RouterB становится больше приоритета RouterA.
RouterB сразу же становится новым VRRP-master router сразуже, после VRRP switchover траффик передается через RouterB.
Рассмотрим пример:
После выполнения базовой настройки интерфейсов, IP адресации и маршрутизации приступим к настройке VRRP и BFD
1. Настраиваем параметры IP адресации и маршрутизации
2. Настраиваем группу VRRP на RouterA и RouterB
Приоритет RouterA 120, preemption delay - 20 секунд. Это позволит RouterA стать мастером в VRRP группе (приоритет маршрутизатора в VRRP группе по умолчанию 100, маршрутизатор с большим приоритетом станет мастером, при одинаковых приоритетах выиграет устройство с большим ip адресом на физическом интерфейсе).
Приоритет RouterB оставляем по умолчанию, и он станет VRRP -backup
3. Настраиваем static BFD session на RouterA и RouterB для мониторинга линка VRRP группы.
4. Настраиваем ассоциацию между VRRP и BFD. При проблемах на линке или с соседним маршрутизатором обнаруженныx BFD, произойдет быстрый active/standby VRRP switchover.
1. Настраиваем параметры IP
[RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] ip address 10.1.1.1 24 [RouterA-GigabitEthernet2/0/0] quit [RouterA] ospf [RouterA-ospf-1] area 0 [RouterA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255 [RouterA-ospf-1-area-0.0.0.0] quit [RouterA-ospf-1] quit 2. Настраиваем VRRP [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.3 [RouterA-GigabitEthernet2/0/0] vrrp vrid 1 priority 120 [RouterA-GigabitEthernet2/0/0] vrrp vrid 1 preempt-mode timer delay 20 [RouterA-GigabitEthernet2/0/0] quit [RouterB] interface gigabitethernet 2/0/0 [RouterB-GigabitEthernet2/0/0] vrrp vrid 1 virtual-ip 10.1.1.3 [RouterB-GigabitEthernet2/0/0] quit
3. Настраиваем Static BFD
[RouterA] bfd [RouterA-bfd] quit [RouterA] bfd atob bind peer-ip 10.1.1.2 interface gigabitethernet 2/0/0 [RouterA-bfd-session-atob] discriminator local 1 [RouterA-bfd-session-atob] discriminator remote 2 [RouterA-bfd-session-atob] min-rx-interval 50 [RouterA-bfd-session-atob] min-tx-interval 50 [RouterA-bfd-session-atob] commit [RouterA-bfd-session-atob] quit [RouterB] bfd [RouterB-bfd] quit [RouterB] bfd btoa bind peer-ip 10.1.1.1 interface gigabitethernet 2/0/0 [RouterB-bfd-session-btoa] discriminator local 2 [RouterB-bfd-session-btoa] discriminator remote 1 [RouterB-bfd-session-btoa] min-rx-interval 50 [RouterB-bfd-session-btoa] min-tx-interval 50 [RouterB-bfd-session-btoa] commit [RouterB-bfd-session-btoa] quit
4. Проверка.
[RouterA] display bfd session all -------------------------------------------------------------------------------- Local Remote PeerIpAddr State Type InterfaceName -------------------------------------------------------------------------------- 1 2 10.1.1.2 Up S_IP_IF GigabitEthernet1/0/0 -------------------------------------------------------------------------------- Total UP/DOWN Session Number : 1/0
5. Ассоциируем VRRP и BFD
[RouterB] interface gigabitethernet 2/0/0 [RouterB-GigabitEthernet2/0/0] vrrp vrid 1 track bfd-session 2 increased 40 [RouterB-GigabitEthernet2/0/0] quit
6. Проверяем конфиг
[RouterA] display vrrp GigabitEthernet2/0/0 | Virtual Router 1 State : Master Virtual IP : 10.1.1.3 Master IP : 10.1.1.1 PriorityRun : 120 PriorityConfig : 120 MasterPriority : 120 Preempt : YES Delay Time : 20 s TimerRun : 1 s TimerConfig : 1 s Auth Type : NONE Virtual Mac : 0000-5e00-0101 Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Create time : 2012-05-22 17:32:56 Last change time : 2012-05-22 17:33:00 [RouterB] display vrrp GigabitEthernet2/0/0 | Virtual Router 1 State : Backup Virtual IP : 10.1.1.3 Master IP : 10.1.1.1 PriorityRun : 100 PriorityConfig : 100 MasterPriority : 120 Preempt : YES Delay Time : 0 s TimerRun : 1 s TimerConfig : 1 s Auth Type : NONE Virtual Mac : 0000-5e00-0101 Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Track BFD : 2 Priority increased : 40 BFD-Session State: UP Create time : 2012-05-22 17:33:00 Last change time : 2012-05-22 17:33:04
7. Проверим работу, отключив GE2/0/0 на RouterA сымитировав проблему. RouterA будет в Initialize state. RouterB станет vrrp-master, BFD сессия уйдет в down
[RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] shutdown [RouterA-GigabitEthernet2/0/0] quit [RouterA] display vrrp GigabitEthernet2/0/0 | Virtual Router 1 State : Initialize Virtual IP : 10.1.1.3 Master IP : 0.0.0.0 PriorityRun : 120 PriorityConfig : 120 MasterPriority : 0 Preempt : YES Delay Time : 20 s TimerRun : 1 s TimerConfig : 1 s Auth Type : NONE Virtual Mac : 0000-5e00-0101 Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Create time : 2012-05-22 17:32:56 Last change time : 2012-05-22 17:33:06 [RouterB] display vrrp GigabitEthernet2/0/0 | Virtual Router 1 State : Master Virtual IP : 10.1.1.3 Master IP : 10.1.1.2 PriorityRun : 140 PriorityConfig : 100 MasterPriority : 140 Preempt : YES Delay Time : 0 s TimerRun : 1 s TimerConfig : 1 s Auth Type : NONE Virtual Mac : 0000-5e00-0101 Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Track BFD : 2 Priority increased : 40 BFD-Session State: DOWN Create time : 2012-05-22 17:33:00 Last change time : 2012-05-22 17:33:06
8. Восстанавливаем линк. Через 20 секунд (VRRP preemption delay) проверяем статус VRRP: RouterA снова станет VRRP-master
[RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] undo shutdown [RouterA-GigabitEthernet2/0/0] quit [RouterA] display vrrp GigabitEthernet2/0/0 | Virtual Router 1 State : Master Virtual IP : 10.1.1.3 Master IP : 10.1.1.1 PriorityRun : 120 PriorityConfig : 120 MasterPriority : 120 Preempt : YES Delay Time : 20 s TimerRun : 1 s TimerConfig : 1 s Auth Type : NONE Virtual Mac : 0000-5e00-0101 Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Create time : 2012-05-22 17:32:56 Last change time : 2012-05-22 17:33:50 [RouterB] display vrrp GigabitEthernet2/0/0 | Virtual Router 1 State : Backup Virtual IP : 10.1.1.3 Master IP : 10.1.1.1 PriorityRun : 100 PriorityConfig : 100 MasterPriority : 120 Preempt : YES Delay Time : 0 s TimerRun : 1 s TimerConfig : 1 s Auth Type : NONE Virtual Mac : 0000-5e00-0101 Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Track BFD : 2 Priority increased : 40 BFD-Session State: UP Create time : 2012-05-22 17:33:00 Last change time : 2012-05-22 17:33:50