gratuitous ARP

term

networking

An unsolicited ARP packet in which a host announces its own IP address and MAC address to everyone on the link.

Hosts send it when they start using an address, and first-hop redundancy sends it at failover so the hosts and switches on the link learn where the gateway address now lives. RFC 5227 calls the same packet an ARP Announcement.

RFC 5227 defines the ARP Announcement as an ARP request, broadcast on the local link, in which both the sender and the target IP address fields carry the address being announced. Its purpose is to make sure other hosts do not keep stale cache entries left by a host that used the address before. A host following RFC 5227 first probes, then sends two announcements two seconds apart.

It is a request rather than a reply for history and pragmatism: Stevens documented it that way, BSD, Windows and Mac OS all send requests, and some ARP implementations ignore replies nobody asked for. HSRP's RFC 2281 differs and broadcasts an ARP response with the virtual MAC address. When a VRRP router becomes the Active Router, RFC 9568 has it broadcast a gratuitous ARP for each virtual IPv4 address, carrying the virtual MAC address, so the change reaches every cache on the link at once.

RFC 5227 is blunt about one misconception: a single gratuitous ARP is not duplicate address detection. The existing holder logs an error, the newcomer carries on, and both then fail to work properly. Detecting a conflict takes the probes before the announcement and the defence of the address that continues for as long as it is in use.

Also known as: garp, arp announcement, gratuitous arp request, unsolicited arp

← All glossary entries