Skip to content
Adam Spera

First Hop Redundancy Protocols (FHRPs)

This document outlines a collection of First Hop Redundancy Protocols (FHRPs) designed to provide seamless default gateway failover for end hosts. These protocols operate by sharing a virtual IP and MAC address between routers on the same subnet. With the aid of gratuitous ARP, failover occurs quickly and transparently to clients.


FeatureHSRPVRRP
StandardCisco proprietary / RFC 2281Industry standard / RFC 3768
TerminologyActive / StandbyMaster / Backup
Priority Range0–255 (default: 100)0–255 (default: 100)
PreemptionOptionalEnabled by default
Timers (hello/hold)3s / 10s (default)1s / 3s (default)
Multicast Group224.0.0.2224.0.0.18
TransportUDP port 1985IP Protocol 112
AuthenticationClear Text / MD5Clear Text / MD5
Virtual MAC0000.0c07.acXX0000.5E00.01XX

  • Cisco proprietary, also documented in RFC 2281.
  • Uses active/standby roles.
  • The router with the highest priority becomes active. In the event of a tie, the router with the highest IP address wins.
  • Preemption must be manually enabled.
  • Operates using UDP multicast to 224.0.0.2, port 1985.
  • Virtual MAC format: 0000.0c07.acXX (where XX = group ID in hex).
  • Supports Clear Text and MD5 authentication.
interface Ethernet1/1
ip address 192.168.1.10 255.255.255.0
standby 0 ip 192.168.1.1
standby 0 priority 110
standby 0 preempt
standby 0 timers 5 15

standby 0 timers 5 15: 5s hello, 15s hold time.

Delays and BFD

interface Ethernet1/1
standby 0 preempt delay minimum 10
standby delay minimum 30 reload 60
bfd interval 250 min_rx 250 multiplier 4

standby delay minimum 30 reload 60 configures the delay period before the initialization of HSRP groups, where minimum is after a link comes up, and reload is after a device reboot.

standby 1 preempt delay minimum 380 determines the amount of seconds a group will wait before initiating preemption. Default is immediately.

Basic Tracking

[[IP Service Level Agreement (SLA) & Enhanced Object Tracking (EOT)]]

track 100 interface GigabitEthernet 0/0/0 { line-protocol | ip routing }
interface Ethernet1/1
standby 0 track 100 [ decrement 20 | shutdown ]

MD5 key-chain:

key chain HSRP1
key 1
key-string cisco1234
interface Ethernet1/1
standby 0 authentication md5 key-chain HSRP1

MD5 key-chain:

interface Ethernet1/1
standby 0 authentication md5 key-string HSRP1

Plain-text authentication:

interface Ethernet1/1
standby 0 authentication text cisco1234

[[IP Service Level Agreement (SLA) & Enhanced Object Tracking (EOT)]]

ip sla 1
icmp-echo 10.0.0.1
ip sla schedule 1 start-time now life forever
track 1 ip sla 1
interface Ethernet1/1
standby 0 track 1 decrement 255

  • Supports more groups per interface.
  • Uses dedicated multicast address: 224.0.0.102.
  • Supports IPv6.
interface Ethernet1/1
standby version 2

  • Defined in RFC 3768, vendor-neutral standard.
  • Uses master/backup roles.
  • Priority-based master election:
    • Higher priority wins; tie-breaker = highest IP address.
    • Preemptive behavior is enabled by default.
  • Uses IP protocol 112 over multicast 224.0.0.18.
  • Virtual MAC: 0000.5E00.01XX (where XX = group ID in hex).
  • Supports Clear Text and MD5 authentication.

Most configurations copy over from HSR, but with vrrp instead of standby.

  • Valid priority range: 1–254
  • Default: 100

255 is reserved for a special case: If a router is configured with the interface IP address as the virtual IP (VIP), it must always be the master. In this case, VRRP automatically sets the priority to 255, and no other router is allowed to override it, not even with a higher manual priority.

This makes sense, because that router is literally the owner of the IP and can’t have another box claim it.

Priority ValueMeaning
1–254Normal configured range (higher wins)
255Reserved — used when a router owns the VIP directly
0Resign — causes the router to stop being master
interface Ethernet1/1
ip address 192.168.1.10 255.255.255.0
vrrp 1 ip 192.168.1.1
vrrp 1 priority 110
vrrp 1 preempt
interface Ethernet1/1
vrrp 1 timers advertise 3
vrrp 1 timers learn

  • Adds IPv6 support and protocol extensibility.
  • Enable globally with:
Terminal window
fhrp version vrrp v3