Showing results for 
Search instead for 
Did you mean: 

What is Gratuitous ARP ?

Can any one please tell me what is Gratuitous ARP.. ?

Mike Kane

It's a crafted ARP packet where the host sends out an  ARP for it's own IP address.   This will check for Duplicate IPs on the network. 



I do not agree that gratuitous arp is when you arp for your own address. I do agree that arp for your own address is a valid thing to do if you want to check for possible duplicate address.  But that is not gratuitous arp.


We normally think of arp in terms of some device sends an arp request and the device will send an arp response. Gratuitous arp is when a device will send an arp reply that is not a response to a request. Depending on the particular IP stack, some devices will send gratiutous arp when they boot up, which announces their presence to the rest of the network. Many devices will send an arp response (gratuitous arp) if you change the IP address of the interface.







Thanks Richard for your answers...helps me a lot.. smiley

In a fail over context for instance HSRP, VRRP etc.. the GARP update the ARP table on all the switches that falls on the same broadcast domain. But no changes to end user or the domain outside to the current broadcast where the fail over occurred.



This is incorrect.

Gratuitous ARPs can be either requests or replies depending on implementation, but from sampling a large network, they are usually requests.

Specifically they are a request or a reply where the sender IP and target IP fields are the same and are the address of the transmitter.

Receiving systems will then associate the sender IP with the sender MAC.





I agree 100%, I am seeing them in my wireshark as we speak :)

Thanks for your reply

Gratuitous ARP

Gratuitous ARP could mean both gratuitous ARP request or gratuitous ARP reply. Gratuitous in this case means a request/reply that is not normally needed according to the ARP specification (RFC 826) but could be used in some cases. A gratuitous ARP request is anAddressResolutionProtocol request packet where the source and destination IP are both set to the IP of the machine issuing the packet and the destination MAC is the broadcast address ff:ff:ff:ff:ff:ff. Ordinarily, no reply packet will occur. A gratuitous ARP reply is a reply to which no request has been made.

Gratuitous ARPs are useful for four reasons:

  • They can help detect IP conflicts. When a machine receives an ARP request containing a source IP that matches its own, then it knows there is an IP conflict.
  • They assist in the updating of other machines' ARP tables. Clustering solutions utilize this when they move an IP from one NIC to another, or from one machine to another. Other machines maintain an ARP table that contains the MAC associated with an IP. When the cluster needs to move the IP to a different NIC, be it on the same machine or a different one, it reconfigures the NICs appropriately then broadcasts a gratuitous ARP reply to inform the neighboring machines about the change in MAC for the IP. Machines receiving the ARP packet then update their ARP tables with the new MAC.

  • They inform switches of the MAC address of the machine on a given switch port, so that the switch knows that it should transmit packets sent to that MAC address on that switch port.
  • Every time an IP interface or link goes up, the driver for that interface will typically send a gratuitous ARP to preload the ARP tables of all other local hosts. Thus, a gratuitous ARP will tell us that that host just has had a link up event, such as a link bounce, a machine just being rebooted or the user/sysadmin on that host just configuring the interface up. If we see multiple gratuitous ARPs from the same host frequently, it can be an indication of bad Ethernet hardware/cabling resulting in frequent link bounces.

Source :


Hope it helps you ...



Gratuitous ARP is a sort of "advance notification", it updates the ARP cache of other systems before they ask for it (no ARP request) or to update outdated information.

When talking about gratuitous ARP, the packets are actually special ARP request packets, not ARP reply packets as one would perhaps expect. Some reasons for this are explained in RFC 5227.

The gratuitous ARP packet has the following characteristics:

  • Both source and destination IP in the packet are the IP of the host issuing the gratuitous ARP
  • The destination MAC address is the broadcast MAC address (ff:ff:ff:ff:ff:ff)
    • This means the packet will be flooded to all ports on a switch
  • No reply is expected

Gratuitous ARP is used for some reasons:

  • Update ARP tables after a MAC address for an IP changes (failover, new NIC, etc.)
  • Update MAC address tables on L2 devices (switches) that a MAC address is now on a different port
  • Send gratuitous ARP when interface goes up to notify other hosts about new MAC/IP bindings in advance so that they don't have to use ARP requests to find out
  • When a reply to a gratuitous ARP request is received you know that you have an IP address conflict in your network

As for the second part of your question, HSRP, VRRP etc. use gratuitous ARP to update the MAC address tables on L2 devices (switches). Also there is the option to use the burned-in MAC address for HSRP instead of the "virtual"one. In that case the gratuitous ARP would also update the ARP tables on L3 devices/hosts.





Great explanation.  Really easy to understand. You should write some cert prep books.

I am glad that you found this discussion helpful. For a while I was a certified Cisco instructor and taught a variety of Cisco classes. I enjoy sharing what I have learned with others in the networking field and these forums are a way for me to continue to do this now that I am not in the classroom very much.







Even I would recommend them to write some cert books.

If you are looking for DevOps training and certification, Infinito Solutions can help you

Thanks, Paul.

Nicely written And Thank you for Posting such a great article!!!

for any DevOps training please reach us @