I have a Cisco router running Hot Standby Router Protocol (HSRP) to handle
failover to a backup router. Normally, a "Virtual IP Address" and a
"Virtual MAC Addresss" are shared between between the two routers, with the
virtual addresses being assigned to the router with the active interface,
allowing you to set up a pair of routers with two gateway addresses (they
are cross-configured to back each other up). You can assign some of the
local hosts on the network to one router gateway and some to the other
(providing a form of "static" load balancing for outbound traffic). In this
case, each router is cross configured with the others virtual IP and MAC
addresses, thus we have two virtual IP gateway addresses and their
corresponding virtual MAC addresses.
On the particular low-end router I am using, though, the router interface
does not support multiple MAC addresses. They still allow you to set up
multiple virtual IP addresses, but each interface can only have one MAC
address (instead of the two Virtual MAC addresses). In this case, the
hardware (burned-in address) is used instead of the virtual MAC addresses.
When failure occurs, the virtual IP address is re-associated with the real
MAC hardware address of the backup router and a "gratuitous" ARP is
broadcast to tell all hosts on the network segment of the change in IP/ARP
association. This effectively places the burden on the local hosts in the
network to recognize the ARP change and update their ARP caches.
My questions are:
Will the Windows platforms recognize the gratuitous requests the routers
send when a fail-over occurs and adjust their ARP caches so new outbound
packets are sent to the backup router rather than the failed one?
Is there any difference between Windows releases in the recognition of the
gratuitous ARP requests? Specifically, our local network has Windows 2000
Server, Windows 2003 Server, Windows 2000 Pro, Windows XP Pro, and a couple
of Windows 98SE holdouts. Will any (or hopefully ALL) of these systems
accept the gratuitous ARP messages and automatically switch over to the
remaining router when a failure occurs?
|