HSRP, VRRPd, and GLBP Compared

HSRP, VRRPd, and GLBP Compared

In the world of first hop redundancy, we have plenty of choices. In order to make the right decision for your network you should know the basics regarding all three. The following chart provides a quick breakdown of each protocol.

  <td>
    HSRP
  </td>
  
  <td>
    VRRPd
  </td>
  
  <td>
    GLBP
  </td>
</tr>

<tr>
  <td class="title">
    Standard
  </td>
  
  <td>
    RFC2281
  </td>
  
  <td>
    RFC3768
  </td>
  
  <td>
    none
  </td>
</tr>

<tr>
  <td class="title">
    Load Balancing
  </td>
  
  <td>
    No
  </td>
  
  <td>
    No
  </td>
  
  <td>
    Yes
  </td>
</tr>

<tr>
  <td class="title">
    OSI
  </td>
  
  <td>
    Layer-3
  </td>
  
  <td>
    Layer-3
  </td>
  
  <td>
    Layer-2
  </td>
</tr>

<tr>
  <td class="title">
    Transport
  </td>
  
  <td>
    UDP 1985
  </td>
  
  <td>
    IP 112
  </td>
  
  <td>
    UDP 3222
  </td>
</tr>

<tr>
  <td class="title">
    Default Hello
  </td>
  
  <td>
    3 seconds
  </td>
  
  <td>
    1 seconds
  </td>
  
  <td>
    3 seconds
  </td>
</tr>

<tr>
  <td class="title">
    Multicast Group
  </td>
  
  <td>
    224.0.0.2
  </td>
  
  <td>
    224.0.0.18
  </td>
  
  <td>
    224.0.0.102
  </td>
</tr>

<tr>
  <td class="title">
    Mac Adress
  </td>
  
  <td>
    0000.0c07.acxx
  </td>
  
  <td>
    0000.5e00.01xx
  </td>
  
  <td>
    0007.b4xx.xxxx
  </td>
</tr>

<tr>
  <td class="title">
    IPv6
  </td>
  
  <td>
    Yes
  </td>
  
  <td>
    No
  </td>
  
  <td>
    Yes
  </td>
</tr>

Hot Standby Router Protocol

When implementing HSRP, two or more routers are configured with the standby IP on a broadcast interface, usually an Ethernet segment, and a passive election is held to determine the active router. The active router answers ARP requests for the standby IP with a virtual MAC address, so every host that sends packets to the standby IP winds up sending it to the active router. If the active router dies, another election is held.

HSRP Configuration

Configuration Options

Router(config)#int fa 0/0
Router(config-if)#ip address 10.0.1.2 255.255.255.0
Router(config-if)#standby 1 ip 10.0.1.1
Router(config-if)#standby 1 preempt
Router(config-if)#standby version ?
  <1-2>  Version number

Router(config-if)#standby 1 timers ?
  <1-254>  Hello interval in seconds
  msec     Specify hello interval in milliseconds

Router(config-if)#standby 1 timers 10 ?
  <11-255>  Hold time in seconds

Router(config-if)#standby 1 priority ?
  <0-255>  Priority value

Router(config-if)#standby 1 authentication md5 key-string ?
  0     Specifies an UNENCRYPTED key string will follow
  7     Specifies a HIDDEN key string will follow
  WORD  Key string (64 chars max)

Sample Config

interface FastEthernet0/0
 ip address 10.0.1.2 255.255.255.0
 standby version 2
 standby 1 ip 10.0.1.1
 standby 1 timers 3 10
 standby 1 priority 110
 standby 1 preempt
 standby 1 authentication md5 key-string r0ut3rone

Virtual Router Redundancy Protocol

VRRP is a non-proprietary (read: open standard) first hop redundancy protocol that was actually based off of Cisco’s HSRP. In a VRRP configuration, one router is elected as the virtual router master, with the other routers acting as backups in case the virtual router master fails. One benefit to using VRRP in addition to it being an open standards protocol, is that you can configure an interfaces original IP as the virtual IP address for the group.

VRRP Configuration

Configuration Options

Router(config)#int fa 0/0
Router(config-if)#ip address 10.0.1.2 255.255.255.0
Router(config-if)#vrrp 1 ip 10.0.1.1
Router(config-if)#vrrp 1 timers ?
  advertise  Set the Advertisement timer
  learn      Learn timer values from current Master

Router(config-if)#vrrp 1 timers advertise  ?
  <1-255>  Advertisement interval in seconds
  msec     Specify time in milliseconds

Router(config-if)#vrrp 1 priority ?
  <1-254>  Priority level

Router(config-if)#vrrp 1 preempt
Router(config-if)#vrrp 1 auth md5 key-string ?
  0     Specifies an UNENCRYPTED key string will follow
  7     Specifies a HIDDEN key string will follow
  WORD  Key string (64 chars max)

Sample Config

interface FastEthernet0/0
 ip address 10.0.1.2 255.255.255.0
 vrrp 1 ip 10.0.1.1
 vrrp 1 timers 1 4
 vrrp 1 priority 110
 vrrp 1 preempt
 vrrp 1 authentication md5 key-string r0ut3rone

Gateway Load Balancing Protocol

GLBP provides a standby IP just as HSRP, but it also provides multiple virtual MAC addresses. When a host on the connected network sends an ARP request, one of the routers answers with the virtual MAC address. The next time a host ARPs, a different router answers with a different virtual MAC address. This allows you to load balancing traffic across each router doing GLBP via the virtual MACs, although its impossible for this to pan out in the real world due to the way machines send ARP requests. If a router vanishes, one of the other participating routers takes over for that virtual MAC. GLBP is the only protocol of the three that provides native load balancing.

GLBP Configuration

Configuration Options

Router(config)#int fa 0/0
Router(config-if)#ip address 10.0.1.2 255.255.255.0
Router(config-if)#glbp 1 ip 10.0.1.1
Router(config-if)#glbp 1 timers ?
  <1-60>    Hello interval in seconds
  msec      Specify hello interval in milliseconds
  redirect  Specify timeout values for failed forwarders

Router(config-if)#glbp 1 timers 1 ?
  <2-180>  Hold time in seconds
  msec     Specify hold time in milliseconds
Router(config-if)#glbp 1 timers redirect ?
  <0-3600>  Interval in seconds to redirect to failed forwarders

Router(config-if)#glbp 1 timers redirect 10 ?
  <610-64800>  Timeout interval in seconds for failed forwarders

Router(config-if)#glbp 1 priority ?
  <1-255>  Priority value

Router(config-if)#glbp 1 preempt
Router(config-if)#glbp 1 forwarder preempt
Router(config-if)#glbp 1 auth md5 key-string ?
  0     Specifies an UNENCRYPTED key string will follow
  7     Specifies a HIDDEN key string will follow
  WORD  Key string (64 chars max)

Router(config-if)#glbp 1 load-balancing ?
  host-dependent  Load balance equally, source MAC determines forwarder choice
  round-robin     Load balance equally using each forwarder in turn
  weighted        Load balance in proportion to forwarder weighting
  <cr>

Sample Config

interface FastEthernet0/0
 ip address 10.0.1.2 255.255.255.0
 glbp 1 ip 10.0.1.1
 glbp 1 timers 1 4
 glbp 1 priority 110
 glbp 1 preempt
 glbp 1 authentication md5 key-string r0ut3rone

Conclusion

Do you actually expect me to tell you which one of these is best for your network? The answer is highly subjective and has to fit your needs. While I didn’t cover all the options ( a few that I left out that come to mind are Common Address Redundancy Protocol (CARP) and Routed Split Multi-Link Trunking (RSMLT) — both of which are not implement in IOS), I hope to of given you enough to go on to make an educated decision. As always, please direct any questions you may have to the comments and I’ll try to get back with you as soon as possible.

comments powered by Disqus

Related Posts

The OpenFlow Symposium

The OpenFlow Symposium

Well, here is the update that I promised you. I’ve spent the last few days with some of the top minds in Networking industry. One of the most exciting technologies being presented …

Read More
the road to Mac

the road to Mac

I’ve been pondering it for quite some time, but yes now I have switched to Mac.

I purchased a new 2.5ghz, 4gb of Ram, 15″ Macbook Pro. Purchased the 320gb 7200rpm hard drive …

Read More
Cmd + Tab Replacement for Mac

Cmd + Tab Replacement for Mac

PullTab is no longer maintained or supported. I’ve removed broken links within this article….

I’ve never liked the Mac OS X Command Tab application specific switching style… today, …

Read More