Manipulating HSRP Timers

Problem

You want to decrease the amount of time it takes for the backup router to take over after the primary router fails.

Solution

You can configure HSRP-enabled routers to recover more quickly after the primary HRSP router becomes unavailable with the standby timers configuration command:

Router1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router1(config)#interface FastEthernet0/1 Router1(config-if)#standby 1 ip 172.22.1.1 Router1(config-if)#standby 1 priority 120 Router1(config-if)#standby 1 preempt Router1(config-if)#standby 1 timers 1 3 Router1(config-if)#exit Router1(config)#end Router1#

If you change the HSRP timers on one router, then you must change the timers on all of the other routers in the same group:

Router2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router2(config)#interface FastEthernet1/0 Router2(config-if)#standby 1 ip 172.22.1.1 Router2(config-if)#standby 1 priority 110 Router2(config-if)#standby 1 preempt Router2(config-if)#standby 1 timers 1 3 Router2(config-if)#exit Router2(config)#end Router2#

 

Discussion

By default, a router will send HSRP Hello packets every 3 seconds, and a standby router will declare itself active if it doesn't hear any Hello packets from the active router for 10 seconds. The command in the example changes the timers from these default values to a one-second Hello period and three-second failover:

Router1(config-if)#standby 1 timers 1 3

With this command, the standby router can reduce the amount of outage time by seven seconds. This might be useful in some highly mission critical networks.

The show standby command output includes the timer settings so you can easily see what values the router is using:

Router1#show standby FastEthernet0/1 - Group 1 Local state is Active, priority 120, may preempt Hellotime 1 sec, holdtime 3 sec Next hello sent in 0.420 Virtual IP address is 172.22.1.1 configured Active router is local Standby router is 172.22.1.2 expires in 2.968 Virtual mac address is 0000.0c07.ac01 5 state changes, last state change 12:50:25 Router1#

Decreasing the HSRP Hello interval also increases the amount of background chatter on the network segment. But since HSRP routers exchange these packets using IP multicast, it is relatively efficient. Even if there are many routers in the same group, each packet only appears on the network once. And, unlike broadcasts, these packets shouldn't cause problems for other devices on the segment. So it is unlikely that anybody would want to increase these timers from their default values.

If you need the timers to be faster still, you can configure millisecond intervals:

Router1(config-if)#standby 1 timers msec 100 msec 300

With the msec keyword, Cisco routers will accept a range of 15 to 999 msec for the Hello interval, and 50 to 3,000 for the hold timer. Without this keyword, the hello interval must be between 1 and 254 seconds, and the hold timer between 2 and 255 seconds.

We caution the reader to be extremely careful with these millisecond timings. They can cause two potential problems. If the timers are too short, for example, if you set the Hello timer to 15 milliseconds on a busy 4 Mbps Token Ring, you could cause congestion problems on the ring. The second problem to watch out for is using a timer that is too short for the network to reliably deliver. For example, if your LAN includes any bridges (including ATM LAN extensions) to remote sites, you may get spurious transitions just caused by random variation in latencies (jitter).

The HSRP RFC states that the hold time should be at least three times the value of the hello time and MUST be greater then the hello time. Setting your hold time to three times the hello time is a good rule of thumb. This allows the router to miss two packets due to congestion or random noise without disrupting the way the network functions.

Категории