Graceful restart (GR) is a high availability (HA) technology used to ensure normal traffic forwarding when a routing protocol restarts and guarantee that key services are not affected in the process.
GR comprises a series of comprehensive technologies including fault-tolerant redundancy, link protection, faulty node recovery, and traffic engineering. As a redundancy technology, GR is widely used to ensure uninterrupted forwarding of key data during active/standby switchovers and system upgrades.
If GR is not enabled, an active/standby switchover leads to intermittent interruption of data forwarding. As a result, route flapping occurs on the whole network. This is unacceptable on a large-scale network, especially on a carrier network.
If GR is enabled, the forwarding plane continues to direct data forwarding when a restart occurs. Then actions on the control plane, such as reestablishment of neighbor relationships and route calculation, do not affect the forwarding plane. Service interruption caused by route flapping is therefore prevented, which improves network reliability.
Grace-LSA
OSPFv3 supports GR by flooding Grace-LSAs on the link.
Grace-LSAs are used when GR starts and ends to inform neighbors of the GR time, cause, and interface instance ID.
Router role
A router can function as a GR restarter, which has the GR capability and restarts in GR mode.
A router can function as a GR helper, which also has the GR capability and helps the GR restarter to complete the GR process.
GR implementation
Planned GR: This refers to a graceful restart of OSPFv3 through the reset ospfv3 graceful-restart command. In this mode, a Grace-LSA is sent to the neighbor before the restart.
Unplanned GR: This refers to an active/standby switchover triggered by router faults, such as loss of power, dead loops, exceptions, or master resets.
Unlike planned GR, a Grace-LSA is not sent before the active/standby switchover. Instead, the switchover is performed directly. When the standby board becomes Up, a Grace-LSA is sent, and the GR process starts.
On the GR restarter:
In planned GR mode, the GR restarter sends a Grace-LSA to all neighbors to inform them of the restart of a GR process and the duration and cause of this process.
In unplanned GR mode, a Grace-LSA is sent to each neighbor immediately after the standby board is Up. This informs the neighbors of the restart of a GR process and the duration and cause of this process.
The GR restarter sets up new neighbor relationships by negotiating with neighbors again.
When all neighbor relationships between the GR restarter and the original neighbors enter the Full state:
The GR restarter exits the GR process and OSPFv3 recalculates routes.
The GR restarter updates its routing table on the main control board and the forwarding information bases (FIBs) on interface boards. It also deletes invalid routing entries.
The GR restarter sends a Grace-LSA with an aging time of 3600 seconds to instruct the GR helper to exit the GR process.
The GR process is now complete.
If errors occur during a GR process, the GR timer expires, or a neighbor relationship fails to enter the Full state during the GR process, the GR restarter exits the process and OSPFv3 is restarted in non-GR mode. This causes packets loss.
On the GR helper:
A router that is configured to support the GR process on its neighbor enters the helper mode after receiving a Grace-LSA.
The GR helper maintains its neighbor relationship with the GR restarter, and the status of the neighbor relationship does not change.
If the GR helper continues to receive Grace-LSAs whose GR period differs from its own GR period, the GR helper updates its GR period to match that of the received Grace-LSAs.
After the GR restarter informs the helper of the success of the GR process through a Grace-LSA with an aging time of 3600 seconds, the GR helper exits the GR process.
If errors occur during the GR process, the GR helper exits the helper state and deletes invalid routes after route calculation.
Active/Standby Switchover in Non-GR Mode |
Active/Standby Switchover in GR Mode |
---|---|
|
|