Home / Network Fundamentals / Meet the ARP Family – ARP, inARP, GARP and RARP

Meet the ARP Family – ARP, inARP, GARP and RARP

what is ARP
Larry, Darryl and his other brother Darryl

What is ARP?

ARP or Address Resolution Protocol is a simple communications protocol used primarily today in IP and Ethernet networks.  It’s main purpose is to discover and associate IP addresses to physical MAC hardware addresses.

How does ARP work?

When a computer needs to send data across a network to another physical device, it must first find the   physical address of the destination device.  Most of the time the only information a computer has is the IP address of the destination device.  But the IP address is NOT the PHYSICAL address of the destination.  The MAC address is the physical address.  This is where ARP is needed.

ARP is used to find the MAC address of device on a network using only the IP address.  The ARP protocol will make a broadcast out to the network asking for the MAC address of the destination IP address.  The machine with the IP address will respond with its MAC address.  The communication then drops to the link layer for physical to physical data communication between computers.

ARP’s job is to basically discover and associate IP addresses to physical MAC addresses.

What is Inverse ARP?

Inverse ARP as you might guess is the opposite of ARP.  Instead of using layer 3 IP address to find a layer 2 MAC address, Inverse ARP uses layer 2 MAC addresses to find a layer 3 IP address.

The principle is the same as with ARP where the protocol makes a simple announcement and reply.

There maybe times when you also hear about Reverse ARP.  Reverse ARP was the same as Inverse ARP except that it was solely used for device configuration.  Reverse ARP has been deprecated and replaced by BOOTP which was then later replaced by DHCP.

What is Gratuitous ARP

In more advanced networking situations you may run across something known as Gratuitous ARP (GARP).   A gratuitous arp something that is often performed by a computer when it is first booted up.  When a NIC’s is first powered on, it will do what’s known as a gratuitous ARP and automatically ARP out it’s MAC address to the entire network.  This allows any switches to know the location of the physical devices and DHCP servers to know where to send an IP address if needed and requested.

Gratuitous ARP is also used by many high availability routing and load balancing devices.  Routers or load balancers are often configured in an HA (high availability) pair to provide optimum reliability and maximum uptime.   Usually these devices will be configured in an Active/Standby pair.  One device will be active while the second will be sleeping waiting for the active device to fail. Think of it as an understudy for the lead role in a movie.  If the leading lady gets sick, the understudy will gladly and quickly take her place in the lime light.

When a failure occurs, the standby device will assert itself as the new active device and issue a gratuitous ARP out to the network instructing all other devices to send traffic to it’s MAC address instead of the failed device.

As you can see ARP and it’s cousin play a vital role in helping the network run smoothly and packets finding their way across the network.

Have more questions about ARP it’s other brothers?  Leave a comment below and let’s talk about ARP!

About Joe

Senior Network Engineer, technology enthusiast, guitar and bass player. Joe Wilson is the creator of RouterFreak.com as well as other niche websites that can be found around on the Internets.

Check Also

Network Functions Virtualization (NFV)

Article Contents1 Introduction2 What is a Network Function Virtualization?3 Why NFV?4 About NFV5 NFV in …

3 comments

  1. Inverse ARP is used to map the IP address to DLCI in Frame Relay concept.

  2. Thank you sir!!!

  3. greatly defined. thanks
    was proxy arp left intentionally?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.