Introduction to The Hot Standby Router Protocol (HSRP)
There are a number of different solutions to this problem, and most of these are all grouped together and referred to as First Hop Redundancy Protocols (FHRP). This article looks at the Hot Standby Redundancy Protocol (HSRP), which Cisco developed several years ago when no other standardized solution existed. This article specifically looks at HSRP and how it operates along with the main concepts that should be known before attempting to configure it. My next HSRP Configuration article includes the details of how to configure HSRP.
How Does HSRP Work?
The general idea behind HSRP is rather simple: Configure multiple devices that all exist on the same subnet and are able to act as gateways to the hosts on the subnet. Basic redundancy can be configured by configuring some of the hosts to use one gateway and the other hosts to use another. However, in this situation, if either one of the gateways was to fail, then there are still a large number of hosts that would lose outside network access.
HSRP provides a solution to this problem by allowing two of the connected gateways to be configured to provide redundancy. HSRP does this by providing a virtual MAC and IP address that is shared between these two devices; the active device between the two of them will be responsible for the handling of traffic to the virtual IP address, while the standby device will monitor the active device for signs of failure. Should the active router fail, the standby router will take over the duties of handling traffic that is sent to the virtual IP address by both accepting traffic to the IP address and by taking over the virtual MAC address (using the Address Resolution Protocol (ARP)). Hosts that are configured on the subnet use the virtual IP address as their gateway IP address, and if there is a failure between the HSRP devices, the switchover requires no extra configuration on the host device.
The determination as to which HSRP device on a subnet is elected the active router (versus the standby router) is completed initially by referencing the configured HSRP priority (0 – 255). If configured, the device with the highest priority will become the active HSRP router, and the router with the second highest priority will become the standby router. If there are more than two devices, all other devices will monitor active and standby devices and wait until they are required when a failure occurs. If none of the HSRP devices are configured with a non-default priority (100), then HSRP will use the device with the highest configured IP address on the shared subnet.
HSRP also provides the ability to configure multiple HSRP groups on a single interface. There are a number of different reasons why multiple HSRP groups would work in this way, including the ability to offer further redundancy configurations and load balancing configuration options. The utilization of a single HSRP group between devices has one major disadvantage: One of the gateways always sits idle until the active device fails. This wastes the forwarding potential of this second device; to solve this problem, utilize multiple HSRP groups.
There are two versions of HSRP: version 1 and version 2. The difference between them in terms of general functionality is small, but there are several improvements that Cisco made when updating to version 2. Some of these improvements include:
- HSRP version 2 now advertises and learns millisecond timer values, improving the stability of HSRP.
- The total number of HSRP group numbers increases from 256 to 4096 (not necessarily to utilize this many groups on a single interface, but to match local VLAN numbers—on sub-interfaces—for easy troubleshooting and documentation).
- HSRP version 2 includes the addition of an identifier field (which contains the physical MAC address of the source) within the HSRP packet that allows the ability to easily track which device sent an HSRP packet (this is because the active HSRP router will send traffic using the virtual MAC address).
- HSRP version 2 changes the multicast address that is used for HSRP communication to avoid conflict with Cisco Group Management Protocol (CGMP).
Some other differences are not really improvements, per se. HSRP version 1 utilizes the MAC address range from 0000.0C07.AC00 through 0000.0C07.ACFF (00 = Group 0, FF = Group 255), while HSRP version 2 utilizes the MAC address range from 0000.0C9F.F000 through 0000.0C9F.FFFF (000 = Group 0, FFF = Group 4095). HSRP version 1 uses the multicast address 126.96.36.199, while HSRP version 2 uses the multicast address 188.8.131.52. HSRP version 1 and version 2 are not compatible and use different packet formats.
HSRP Preemption, Priority, and Object Tracking
By default, HSRP devices have preemption disabled. What this means is that if a device with a higher priority were to come up on an existing HSRP network, it would not automatically become the active HSRP device. It would only gain this role should both the active AND standby devices fail. If HSRP preemption is enabled, then the device with higher priority will assert itself when it comes online to become the active HSRP device. As covered briefly above, the default HSRP priority that is configured on interfaces is 100 with a valid range from 0 through 255 (higher being better).
Some other capabilities exist with HSRP that enable it to alter its behavior (which device is active and standby), should a separate tracked object alter its status. For example, if two HSRP devices were configured on a subnet and both had separate connections that connected them to the next level of connectivity (closer to the center of the network). If one of these connections went down, it would not be an optional condition for that device to become (or stay) the active HSRP router. A simple example of this is shown in Figure 1.
Figure 1 Object tracking example topology
In this case, if R1 was the active HSRP router and its primary connection to the rest of the network went down, it would not be the most efficient choice to be the active HSRP router anymore. Object tracking can automate the process of decrementing the HSRP priority to alter the selection of HSRP active and standby devices.
The intention of this article is to cover the essential concepts that you need to understand before attempting to configure HSRP. Overall, it is not a complicated concept, and should be picked up easily by someone with minimal network experience and exposure. The next article will cover how HSRP can be configured on a device, and the configuration commands that are required to alter the HSRP properties and behavior based on the specifics of a situation.