Implementation of VRRPv2 as specified in rfc2338
ImageStream's VRRP daemon (vrrpd) is an RFC 2338 compliant implementation of the Virtual Router Redundancy Protocol (VRRP). The Virtual Router Redundancy Protocol is designed to eliminate the single point of failure associated with statically routed networks by automatically providing failover using multiple LAN paths through alternate routers.
As specified in RFC 2338, VRRP uses an election protocol that dynamically assigns responsibility for a virtual router to one of the VRRP routers on a LAN. When a VRRP router controls the IP address(es) associated with a virtual router, it is called the Master. The Master continues to forward packets sent to these IP addresses until it has a problem that causes the VRRP routers to hold an election. The election process provides dynamic failover by electing a new Master should the existing Master become unavailable.
The virtual router associated with each alternate path under VRRP uses the same IP address and MAC address as the routers for other paths. As a result, the host's gateway information does not change, no matter what path is used. Because of this design, VRRP-based redundancy significantly reduces administrative overhead when compared to redundancy schemes that require hosts to be configured with multiple default gateways.
The primary function of the Virtual Router Redundancy Protocol is to provide routing redundancy for specific IP addresses. In addition to this primary function, RFC 2338 also states that the protocol should:
* Minimize the duration of black holes.
* Minimize the steady state bandwidth overhead and processing complexity.
* Function over a variety of multiaccess LAN technologies that support IP traffic.
* Provide for election of multiple virtual routers on a network for load balancing.
* Support multiple logical IP subnets on a single LAN segment.