MIKE HIGGINBOTTOM

A Digital Garden - frequent growth but a bit weedy in the back corner

GratuitousARPRequestVsReply

What’s the difference between GratuitousARPRequest and GratuitousARPReply?

Both are unsolicited ARP packets a host sends about its own IP address, usually to announce “this IP now lives at this MAC” (after boot, an IP change, a NIC swap, or a failover like VRRP/HSRP/keepalived). They differ mainly in the ARPOpCode and in how other devices react to them. @ref

Practical differences @ref - Conflict detection: only the request form can provoke a response from a conflicting host. - Acceptance by receivers: RFC826 says a receiver should update an existing cache entry from any ARP packet regardless of opcode, so both usually refresh existing entries. Implementations differ on creating new entries or accepting unsolicited replies. Some stacks and security features are stricter about unsolicited replies, partly because they’re the classic ARP-spoofing tool. Dynamic ARP Inspection on switches is one example, and Linux’s arp_accept setting controls whether gratuitous ARP creates new entries. - Compatibility: since some devices honor one form and not the other, failover software often sends requests, or sends both, to make sure every neighbor updates its cache.

In short: same purpose, but the GratuitousARPRequest can draw a reply and is the more widely accepted ARPAnnouncement while the GratuitousARPReply is a one-way update that can’t detect conflicts and is more likely to be treated with suspicion. @ref