Перейти к основному содержимому

Graceful Restart

Возможность поддерживать способность маршрутизатора к пересылке данных во время перезапуска его управляющего программного обеспечения называется "плавный перезапуск" (graceful restart) или "непрерывная пересылка" (non-stop forwarding). После перезапуска и перезагрузки маршрутизатор должен изменить обработку OSPF до тех пор, пока не восстановит полные смежности со всеми своими предыдущими полностью смежными соседями. Период времени между перезапуском/перезагрузкой и восстановлением смежностей называется "периодом грации" (grace period).

Основная процедура OSPF для плавного перезапуска выглядит следующим образом:

Маршрутизатор, пытающийся выполнить плавный перезапуск, генерирует локальные Opaque-LSAs, называемые Grace-LSAs, объявляя о своем намерении выполнить плавный перезапуск в течение определенного времени (период грации).
В течение периода грации соседи продолжают объявлять перезапускающийся маршрутизатор в своих LSAs, как если бы он был полностью смежным (состояние соседа OSPF — Full), но только если топология сети остается статичной (содержимое LSAs в базе данных состояния канала с типами LS 1-5 и 7 остается неизменным, и периодические обновления разрешены).

Топология

Image

Рисунок 5-79: OSPFv3 Graceful Restart

Настройка SW1 для Graceful Restart
#configure terminalПерейти в режим конфигурации.
(config)#interface eth1Перейти в режим интерфейса.
(config-if)#ipv6 address 5ffe::112/64Назначить IPv6-адрес интерфейсу.
(config-if)#ipv6 router ospf area 0 tag 1Настроить интерфейс для OSPFv3 в area 0.
(config-if)#exitВыйти из режима интерфейса.
(config)#router ipv6 ospf 1Создать instance маршрутизации OSPFv3.
(config-router)#router-id 1.1.1.1Указать идентификатор маршрутизатора (1.1.1.1) для процесса маршрутизации OSPFv3.
(config-router)#capability restart gracefulВключить возможность плавного перезапуска.
(config-router)#endВыйти из режима конфигурации и перейти в привилегированный режим.
#writeСохранить конфигурацию.
#restart ipv6 ospf graceful grace-period 200Перезапустить OSPFv3 с периодом грации 200 секунд, чтобы сосед поддерживал смежность и сохранял маршруты в течение 200 секунд.
Настройка SW2 в качестве помощника для перезапуска
#configure terminalПерейти в режим конфигурации.
(config)#interface eth1Перейти в режим интерфейса.
(config-if)#ipv6 address 5ffe::113/64Назначить IPv6-адрес интерфейсу.
(config-if)#ipv6 router ospf area 0 tag 1Настроить интерфейс для OSPFv3 в area 0.
(config-if)#exitВыйти из режима интерфейса.
(config)#router ipv6 ospf 1Создать instance маршрутизации OSPFv3.
(config-router)#router-id 2.2.2.2Указать идентификатор маршрутизатора (2.2.2.2) для процесса маршрутизации OSPFv3.
(config-router)#exitВыйти из режима маршрутизатора и перейти в режим конфигурации.
(config)#ipv6 ospf restart helper max-graceperiod 300Настроить SW2 как помощника, если период грации меньше 300 секунд.
Удаление конфигурации помощника с SW2
#configure terminalПерейти в режим конфигурации.
(config)#router ipv6 ospf 1Создать instance маршрутизации OSPFv3.
(config-router)#router-id 1.1.1.1Указать идентификатор маршрутизатора (1.1.1.1) для процесса маршрутизации OSPFv3.
(config-router)#exitВыйти из режима маршрутизатора и перейти в режим конфигурации.
(config)#ipv6 ospf restart helper neverНастроить SW2 так, чтобы он не работал в качестве помощника.
Настройка SW2 как помощника при причине перезапуска "Reload"
#configure terminalПерейти в режим конфигурации.
(config)#router ipv6 ospf 1Создать instance маршрутизации OSPFv3.
(config-router)#router-id 1.1.1.1Указать идентификатор маршрутизатора (1.1.1.1) для процесса маршрутизации OSPFv3.
(config-router)#exitВыйти из режима маршрутизатора и перейти в режим конфигурации.
(config)#ipv6 ospf restart helper only-reloadНастроить SW2 как помощника только при причине перезапуска "Reload".
Настройка SW2 как помощника при причине перезапуска "Upgrade"
#configure terminalПерейти в режим конфигурации.
(config)#router ipv6 ospf 1Создать instance маршрутизации OSPFv3.
(config-router)#router-id 1.1.1.1Указать идентификатор маршрутизатора (1.1.1.1) для процесса маршрутизации OSPFv3.
(config-router)#exitВыйти из режима маршрутизатора и перейти в режим конфигурации.
(config)#ipv6 ospf restart helper onlyupgradeНастроить SW2 как помощника только при причине перезапуска "Upgrade".
Проверка

SW1 после настройки Graceful Restart

SW1#show ipv6 ospf neighbor
OSPFv3 Process (1)
Neighbor ID     Pri   State           Dead Time   Interface  Instance ID
2.2.2.2           1   Full/DR         00:00:39    eth1       0
SW1#show ipv6 ospf route
OSPFv3 Process (1)
Codes: C - connected, D - Discard, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Destination                                   Metric      Next-hop
C  5ffe::/64                                          1      directly connected, eth1, Area 0.0.0.0
rtr1#show ipv6 route IPv6 Routing Table
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
IA - OSPF inter area, E1 - OSPF external type 1,
E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
N2 - OSPF NSSA external type 2, I - IS-IS, B - BGP
Timers: Uptime
IP Route Table for VRF "default"
C      ::1/128 via ::, lo, 02:02:28
C      5ffe::/64 via ::, eth1, 00:23:16
C      fe80::/64 via ::, eth1, 01:25:04 K      ff00::/8 [0/256] via ::, eth0, 01:25:05
rtr1#show ipv6 ospf database grace
OSPFv3 Router with ID (1.1.1.1) (Process 1)

SW1 после Graceful Restart (после ручного запуска демона ospf6d)

SW1#show ipv6 ospf neighbor
OSPFv3 Process (1)
Neighbor ID     Pri   State           Dead Time   Interface  Instance ID
2.2.2.2           1   Full/DR         00:00:37    eth1       0
rtr1#show ipv6 ospf route
OSPFv3 Process (1)
Codes: C - connected, D - Discard, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Destination                                   Metric      Next-hop
C  5ffe::/64                                          1      directly connected, eth1, Area 0.0.0.0
rtr1#show ipv6 route IPv6 Routing Table
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
IA - OSPF inter area, E1 - OSPF external type 1,
E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
N2 - OSPF NSSA external type 2, I - IS-IS, B - BGP Timers: Uptime
IP Route Table for VRF "default"
C      ::1/128 via ::, lo, 02:02:28
C      5ffe::/64 via ::, eth1, 00:23:16
C      fe80::/64 via ::, eth1, 01:25:04 K      ff00::/8 [0/256] via ::, eth1, 01:25:05
rtr1#show ipv6 ospf database grace
OSPFv3 Router with ID (1.1.1.1) (Process 1)

SW2 до Graceful Restart

SW2#show ipv6 ospf neighbor
OSPFv3 Process (1)
Neighbor ID     Pri   State           Dead Time   Interface  Instance ID
1.1.1.1           1   Full/Backup     00:00:40    eth1       0
SW2#sh ipv6 ospf neighbor
OSPFv3 Process (1)
Neighbor ID     Pri   State           Dead Time   Interface  Instance ID
1.1.1.1           1   Full/Backup     00:00:40    eth1       0
SW2#
SW2#show ipv6 ospf route
OSPFv3 Process (1)
Codes: C - connected, D - Discard, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Destination                                   Metric      Next-hop
C  5ffe::/64                                          1      directly connected, eth1, Area 0.0.0.0
SW2#show ipv6 route
IPv6 Routing Table
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
IA - OSPF inter area, E1 - OSPF external type 1,
E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
N2 - OSPF NSSA external type 2, I - IS-IS, B - BGP Timers: Uptime
IP Route Table for VRF "default"
C      ::1/128 via ::, lo, 01:54:20
C      5ffe::/64 via ::, eth1, 00:12:16
C      fe80::/64 via ::, eth2, 01:17:21
K      ff00::/8 [0/256] via ::, eth1, 01:19:12
SW2#show ipv6 ospf database grace
OSPFv3 Router with ID (2.2.2.2) (Process 1)

SW2 во время Graceful Restart

SW2#show ipv6 ospf neighbor
OSPFv3 Process (1)
Neighbor ID     Pri   State           Dead Time   Interface  Instance ID
1.1.1.1           1   Full/Backup     00:02:25*    eth1       0
SW2#show ipv6 ospf route
OSPFv3 Process (1)
Codes: C - connected, D - Discard, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Destination                                   Metric      Next-hop
C  5ffe::/64                                          1      directly connected, eth1, Area 0.0.0.0
SW2#show ipv6 route
IPv6 Routing Table
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
IA - OSPF inter area, E1 - OSPF external type 1,
E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
N2 - OSPF NSSA external type 2, I - IS-IS, B - BGP Timers: Uptime
IP Route Table for VRF "default"
C      ::1/128 via ::, lo, 01:57:26
C      5ffe::/64 via ::, eth1, 00:15:22
C      fe80::/64 via ::, eth2, 01:20:27
K      ff00::/8 [0/256] via ::, eth1, 01:22:18
SW2#show ipv6 ospf database grace
OSPFv3 Router with ID (2.2.2.2) (Process 1)
Grace-LSA (Interface eth1)
LS age: 65
LS Type: Grace LSA
Link State ID: 0.0.0.3
Advertising Router: 1.1.1.1
LS Seq Number: 0x80000001
Checksum: 0x1660   Length: 36
Grace Period: 200
Restart Reason:
Software Restart
**SW2 после Graceful Restart**
SW2#show ipv6 ospf neighbor
OSPFv3 Process (1)
Neighbor ID     Pri   State           Dead Time   Interface  Instance ID
1.1.1.1           1   Full/Backup     00:00:34    eth1       0
SW2#show ipv6 ospf route
OSPFv3 Process (1)
Codes: C - connected, D - Discard, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Destination                                   Metric
Next-hop
C  5ffe::/64                                          1      directly connected, eth1, Area 0.0.0.0
SW2#show ipv6 route
IPv6 Routing Table
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
IA - OSPF inter area, E1 - OSPF external type 1,
E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
N2 - OSPF NSSA external type 2, I - IS-IS, B - BGP Timers: Uptime
IP Route Table for VRF "default"
C      ::1/128 via ::, lo, 02:07:14
C      5ffe::/64 via ::, eth1, 00:25:10
C      fe80::/64 via ::, eth2, 01:30:15
K      ff00::/8 [0/256] via ::, eth2, 01:30:17
SW2#show ipv6 ospf database grace
OSPFv3 Router with ID (2.2.2.2) (Process 1)