An ARP request is a broadcast Ethernet packet, that is, a packet sent onto the local physical network that all attached devices will receive. A device sends an ARP request to make the query "what is the MAC address (a.k.a. hardware address, link layer address, etc.) of this IP address (a.k.a Layer 3 address, logical network address, etc.)?"
An ARP reply is an unicast Ethernet packet, sent from the device that currently owns the specified IP address, back to the device which sent the ARP request. That is, no other device will receive this packet. The ARP reply answers the requester's question, saying "IP address x.x.x.x is associated with MAC address xx:xx:xx:xx:xx:xx".
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 an AddressResolutionProtocol 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.
The purpose of an arp request is to map an IP address to a MAC address for the link layer to transmit a packet. For example, ARP will get a request to map 1.2.3.4 to a MAC address 12:fd:23:gf .Then ARP will cache the address mapping that next time an arp request doesnt need to happen
Dynamic ARP table entries are created whne a client makes an ARP request that cannot be satisfied by data already in the ARP table.
ARP is used to find a MAC (layer-2) address, if you know the IP (layer-3) address.First, a device will search its ARP cache, to see whether it already happens to have the required address. If it doesn't find the address, it will send an ARP request as a broadcast, which basically asks "Who has such-and-such an IP address?" The machine that has the requested IP address will send an ARP reply.
Dynamic ARP table entries
arp request
Unicast
An ARP request may be initiated anytime a client needs to know the IP address of a machine from its MAC address.
A host on a network needs to broadcast an ARP request to advertise its Mac address. The networking world is very chatty in nature and when a new network host is available it immediately broadcasts its Mac address as with a ARP message. Also when a particular network host needs to send a data packet to another network host available in the same LAN whose Mac address is unknown, the first network host sends out a ARP message requesting for the destination network hosts MAC address.
proxy ARP
It's a response to a broadcast asking for the devices MAC ID. Routers and switches keep a table known as an ARP table which lists all the MAC ID's in the local area network. It will send ARP requests out to all the nodes in it's broadcast domain saying send me your MAC ID's. All the nodes in the network reply back with an ARP reply saying here is my MAC ID.
0X0800, 192.168.254.254