На маршрутизаторах серии ME технология NSF реализована в виде Graceful Restart (GR).
В данной статье будет рассматриваться сценарий настройки Graceful Restart в протоколах OSPF, IS-IS, BGP, LDP.
Graceful Restart в OSPF
GR в OSPF — это механизм, позволяющий маршрутизатору перезагрузить процесс OSPF без прекращения передачи трафика. При сбое маршрутизатор заранее отправляет соседям сигнал о перезагрузке — Grace-LSA. Соседи не удаляют данный узел из маршрутных таблиц и продолжают отправлять трафик, пока OSPF-процесс восстанавливается.
Чтобы технология работала корректно, необходимо, чтобы все соседи рестартующего маршрутизатора были включены в режиме хелпера.
R1 — ME5000M:
router ospfv2 0
area 0.0.0.0
interface loopback 2
passive
exit
interface tengigabitethernet 0/1/4
exit
interface tengigabitethernet 0/1/5
exit
exit
graceful-restart < --------------------- включение поддержки функционала GR
router-id 10.100.30.50
exit
По умолчанию на всех OSPF-интерфейсах маршрутизаторов серии ME при включении graceful-restart активируется режим работы - Helper.
Так же есть возможность включить поддержку незапланированного рестарта:
graceful-restart unplanned (например, замена платы управления без программного switchover’а)
Или задать другую длительность льготного периода (по умолчанию 120 секунд):
graceful-restart grace-period value
R2 — ME5100:
router ospfv2 0 area 0.0.0.0 interface loopback 0 passive exit interface tengigabitethernet 0/0/7 exit interface tengigabitethernet 0/0/16 exit exit graceful-restart router-id 10.100.30.20 exit
R3 - ME5200:
router ospfv2 0 area 0.0.0.0 interface loopback 0 passive exit interface tengigabitethernet 0/0/7 exit interface tengigabitethernet 0/0/26 exit exit graceful-restart router-id 10.100.30.30 exit
При необходимости можно отключить поддержку функционала OSPF Graceful Restart на хелпере в определенных сценариях:
R3:
router ospfv2 0 area 0.0.0.0 interface loopback 0 passive exit interface tengigabitethernet 0/0/7 helper-mode-policy reload disable < ------------- при перезагрузке удаленного устройства exit interface tengigabitethernet 0/0/26 helper-mode-policy unknown disable < ------------- для всех остальных случаев exit exit graceful-restart router-id 10.100.30.30 exit
То есть на интерфейсе te0/0/7 поддержка будет осуществляться только по причине плановой перезагрузки/обновлении ПО или по причине переключения плат.
Список возможных режимов хелпера в OSPF:
- helper-mode-policy reload — при перезагрузке удаленного устройства;
- helper-mode-policy software — при обновлении удаленного устройства;
- helper-mode-policy switch — при смене мастерства между активным и запасным модулями управления;
- helper-mode-policy unknown — для всех остальных случаев.
Graceful Restart IS-IS
В протоколе IS-IS Graceful Restart работает по умолчанию, маршрутизатор может быть и рестартером и хелпером.
R1:
router isis 0 interface loopback 2 address-family ipv4 unicast exit passive exit interface tengigabitethernet 0/1/4 address-family ipv4 unicast exit exit interface tengigabitethernet 0/1/5 address-family ipv4 unicast exit exit graceful-restart adjacency-wait 150 < -------------- таймер, в течение которого хелпер будет удерживать сессию (по умолчанию равен 10 сек) net 20.0000.0000.0000.5555.00 exit
R2:
router isis 0 interface loopback 0 address-family ipv4 unicast exit passive exit interface tengigabitethernet 0/0/7 address-family ipv4 unicast exit exit interface tengigabitethernet 0/0/16 address-family ipv4 unicast exit exit graceful-restart help-peer disable < --------- отключает режим хелпера net 35.0000.0000.0000.6666.00 exit
R3:
router isis 0 interface loopback 0 address-family ipv4 unicast exit passive exit interface tengigabitethernet 0/0/10 address-family ipv4 unicast exit exit interface tengigabitethernet 0/0/20 address-family ipv4 unicast exit exit graceful-restart disable < ---------- отключение поддержки GR net 55.0000.0000.0000.1111.00 exit
Команда, которая создает в конфигурации правило, согласно которому при смене параметра graceful-restart adjacency-wait он будет применен мгновенно:
graceful-restart auto-reset
Командой graceful-restart recovery-time max (1-65535) можно задать в конфигурации максимальное значение таймера, по истечении которого произойдет перезапуск IS-IS процесса.
Graceful Restart в BGP
По умолчанию на маршрутизаторах серии ME при настройке BGP устройство является хелпером. Но если дополнить конфигурацию командой bgp graceful-restart enable, то маршрутизатор может работать в двух режимах: рестартер и хелпер.
Пример конфигурирования GR на R1 (рестартер):
router bgp 65001 address-family vpnv4 unicast exit address-family ipv4 unicast exit bgp graceful-restart enable < ------- включение GR для работы в двух режимах bgp graceful-restart restart-time 250 < -------- задаем таймер ожидания восстановления, дефолтное значение 200 секунд bgp router-id 10.100.30.50 neighbor 10.100.30.20 address-family ipv4 unicast exit address-family vpnv4 unicast exit remote-as 4294967290 update-source 10.100.30.50 exit neighbor 10.100.30.40 address-family ipv4 unicast exit address-family vpnv4 unicast exit remote-as 4294967290 update-source 10.100.30.50 exit exit
Список таймеров, которые можно изменить при настройке GR в BGP:
max-wait-time - максимальное суммарное время ожидания, пока перезагружающийся сосед полностью восстановит BGP-сессию и пришлет признак окончания передачи маршрутов
restart-time - задает интервал времени ожидания рестарта соседа (в секундах), передаваемый в сообщении
BGP OPEN(внутри блока Graceful Restart Capability) соседу.select-defer-time - задает время, через которое запустится пересчет маршрутов при локальном рестарте.
stale-path-time - задает максимальный интервал времени (в секундах), в течение которого локальный маршрутизатор (в роли GR Helper) продолжает хранить и использовать в таблице маршрутизации (RIB) «устаревшие» маршруты, полученные от временно отключившегося соседа (в роли GR Restarter).
R2 (хелпер):
router bgp 4294967290 address-family vpnv4 unicast exit address-family ipv4 unicast exit bgp graceful-restart stale-path-time 300 < ----- таймер, в течение которого хелпер будет хранить «устаревшие» маршруты. Заданное значение должно быть больше restart-time. bgp router-id 10.100.30.20 neighbor 10.100.30.30 address-family ipv4 unicast exit address-family vpnv4 unicast exit remote-as 4294967290 update-source 10.100.30.20 exit neighbor 10.100.30.50 address-family ipv4 unicast exit address-family vpnv4 unicast exit remote-as 65001 update-source 10.100.30.20 exit exit
Graceful Restart LDP
Для активации Graceful Restart в протоколе LDP необходимо добавить команду graceful-restart enable. Для более специфичной настройки GR в LDP команд нет.
Возможно изменить таймеры:
- graceful-restart forwarding-state-holdtime (60-900) - задает интервал в секундах, в течение которого устройство будет сохранять MPLS маршрутизацию после перезапуска LDP сервиса при выполнении Graceful Restart (значение по умолчанию 120 секунд).
- graceful-restart reconnect-timeout (0 | 60-900) - задает интервал времени требуемый устройству на перезапуск LDP сервиса, передаваемый в составе FT Session TLV Initialization сообщения как FT Reconnection Timeout соседним устройствам (значение по умолчанию 120 секунд).
Активация GR на R1:
mpls forwarding interface loopback 1 interface tengigabitethernet 0/1/4 interface tengigabitethernet 0/1/5 exit ldp discovery interface tengigabitethernet 0/1/4 exit discovery interface tengigabitethernet 0/1/5 exit graceful-restart enable < --------- включение механизма exit router-id 10.100.30.50 exit
