RIP uses four critical timers to manage route information:
Update Timer (30 seconds): The interval at which a router sends its routing table to neighboring routers.
Invalid Timer (180 seconds): The time a router waits without receiving an update for a route before marking it as potentially invalid.
Hold-down Timer (180 seconds): The period during which a router will not accept any new information about a potentially invalid route.
Flush Timer (240 seconds): The total time after which a router completely removes an invalid route from its routing table if no updates are received.
RIP Route Failure Scenario
When a neighboring router's interface goes down, the following sequence occurs:
Initial Phase (0-180 seconds):
The routes learned from the affected neighbor remain in the routing table.
The Invalid Timer begins counting up to 180 seconds.
During this period, the router continues to use and advertise these routes normally.
Invalid Route Phase (180-240 seconds):
Once the Invalid Timer reaches 180 seconds, the Hold-down Timer activates.
The affected routes are marked as "possibly down" in the routing table.
The router sends Route Poisoning messages to its neighbors, advertising these routes with a metric of 16 (infinity).
When neighbors receive the Route Poisoning message, they remove the corrupted routes from their tables and send Poison Reverse messages back as confirmation.
Example log entry:
Sep 3 15:43:02.239: RIP: received v2 update from 192.168.23.3 on FastEthernet0/1
Sep 3 15:43:02.239: 1.1.1.0/24 via 0.0.0.0 in 16 hops (inaccessible)
Route Removal (240 seconds):
At 240 seconds (60 seconds after entering hold-down), the Flush Timer expires.
The router completely removes the invalid route from its routing table.
Important Behavior Details
Route Recovery During Hold-down:
If a router receives an update for a route that is currently in hold-down status, it will ignore this update regardless of:
The source (same or different router)
The metric (same, higher, or lower)
The route must complete the hold-down period (waiting for the Flush Timer to expire at 240 seconds) before being reinstalled in the routing table.
Timer Modifications and Their Effects:
If the Flush Timer is extended beyond the Hold-down Timer:
A route can recover before being flushed if a new update with the same or lower metric is received after the Hold-down Timer expires but before the Flush Timer expires.
If a new update with a higher metric is received after the Hold-down Timer expires, the router will accept and install this route in the routing table.
Configuring Custom RIP Timers
You can modify RIP timers to better suit your network requirements using the following command:
Router(config-router)# timers basic <update> <invalid> <hold-down> <flush>
Example configuration:
Router(config)# router rip
Router(config-router)# timers basic 30 180 180 400
This example keeps the standard update, invalid, and hold-down timers but extends the flush timer to 400 seconds, allowing for potential route recovery after the hold-down period but before flush occurs.
Practical Implications
The default timer values are designed to balance network stability with convergence speed
Extending timers can increase stability in unstable networks but delays convergence
Shortening timers speeds up convergence but can create additional network traffic and potential instability
Always modify timers consistently across all routers in the RIP domain
Understanding these timer relationships is crucial for troubleshooting route flapping issues and optimizing RIP performance in production networks.