Adjusting Timers
Problem
You wish to tune your EIGRP timers to improve network convergence.
Solution
There are two important EIGRP timers, the hello interval and the hold time. You can adjust both of these timers separately on each interface on a router as follows:
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#interface Serial0.1
Router1(config-subif)#ip hello-interval eigrp 55 3
Router1(config-subif)#ip hold-time eigrp 55 9
Router1(config-subif)#exit
Router1(config)#end
Router1#
Discussion
One of the unique features of EIGRP is that you can adjust its timers separately on each interface. Recall from Chapter 6 that RIP requires you to adjust every router participating in RIP. And in Chapter 8 you will see that while OSPF allows you to adjust the timers separately on each link, you have to make sure that it is the same on all routers on this link. But with EIGRP, you can adjust the timers on one router on a link independently of what you have configured on other interfaces on this router, or on other routers on this link.
EIGRP handles this by simply telling the other routers on the link what its parameters are. Therefore, if one router has a particular hello time of, say, five seconds, then all of the other routers on this link will expect to see a hello packet from this router every five seconds. This is true regardless of what the other routers have for their own parameters. The result is that when you adjust the timers on an interface on one router, you affect what its neighbors expect to see from it.
The default timer values for most interface types are 5 seconds for hellos and a 15-second hold timer. This means that the router will send out a hello packet to verify its neighbor relationships every five seconds. And if it doesn't hear from a neighbor device, it will wait 15 seconds before declaring that neighbor down.
On multipoint interfaces with sub-T1 speeds, the default hello time is 60 seconds, with a hold time of 180 seconds. Notice that the defaults always have the hold time equal to three times the hello time. It is a good rule of thumb to keep this three-to-one ratio if you choose to adjust your timers.
You can cause serious network stability problems if you don't adjust them together. In particular, if the hold time is less than the hello time, you will see frequent loss of neighbor status, causing instability. And if the hold time is too long, you will find that your network does not converge quickly after link failures.
In our example, we have attempted to speed up convergence by decreasing the timers. The new hello time is three seconds, and the hold time is nine seconds. Before applying this change, you can see that the hold time is 15 seconds:
Router1#show ip eigrp neighbors
IP-EIGRP neighbors for process 55
H Address Interface Hold Uptime SRTT RTO Q Seq Type
(sec) (ms) Cnt Num
0 172.25.2.1 Se0.1 15 00:10:02 16 200 0 549
Router1#
This command actually shows the amount of time remaining in the hold time interval. Each time you look at the neighbor table, you will see that the router is counting down from the configured hold time. Each time this router receives a hello packet from the specified neighbor router, it resets its hold timer and begins counting down again. If it ever reaches zero, it will reset the neighbor relationship.
If we go to the neighbor router in the example, you can see that the hold time for Router2 counts down from 9 seconds, instead of the default 15:
Router2#show ip eigrp neighbors
IP-EIGRP neighbors for process 55
H Address Interface Hold Uptime SRTT RTO Q Seq Type
(sec) (ms) Cnt Num
1 172.25.2.2 Se0/0.2 9 00:10:50 16 200 0 114
2 172.25.1.7 Fa0/0.1 65 1d22h 15 200 0 377
0 172.22.1.4 Fa0/1 13 1d22h 2 200 0 230
Router2#