Address Resolution Protocol (ARP)
ARP stands for Address Resolution Protocol, which is used to find the MAC address of the device from its known IP address. This means, the source device already knows the IP address but not the MAC address of the destination device. The MAC address of the device is required because you cannot communicate with a device in a local area network (Ethernet) without knowing its MAC address. So, the Address Resolution Protocol helps to obtain the MAC address of the destination device.
Scenario 1: When the data packet is lost or erroneous.
The purpose of ARP is to convert the 32-bit logical address (IPv4 address) to the 48-bit physical address (MAC address). This protocol works between layer 2 and layer 3 of the OSI model. The MAC address resides at layer 2, which is also known as the data link layer and IP address resides at layer 3, this layer is also known as the network layer.
Note: The ARP request is generated only when both the devices (source and destination) are in the same network.
Example: Suppose two devices (device A and device B) want to communicate with each other. The device A already knows the IP address of the Device B. But in order to communicate with the device B, device A still needs the MAC address of the device B. The IP address is used to locate a device on a local area network and the MAC address is used to identify the actual device. The device A first look at its internal list known as ARP cache (table) to check if the IP address of the device B already consists of its MAC address or not. If the ARP table consists of the MAC address of the device B, then device A simply use that MAC address and start communication.
If the table does not consist of the MAC address of device B, then device A sends an ARP broadcast message on the network to know which device has that specific IP address and ask for the MAC address of that particular device. Then the device that has matching IP address to the source address sends an ARP response message that consists of the MAC address of the device B. When device A obtains the MAC address of the device B, it will store the information in the ARP cache (table). The ARP cache is used to make the network more efficient. It stores the IP address of the device along with its MAC address. The stored information is used when device A wants to communicate with device B on a network, and it does not need to broadcast a message on the network again. It will simply check the ARP cache for the entries and then use it for communication.
Note: The ARP request message is broadcast in nature, but the ARP response message is unicast.
Types of Mapping in ARP
There are two different ways to map the IP address into the MAC address, which are given below:
Static Mapping - In the static mapping, a table consists of a logical address and corresponding physical address of the destination device. In this, the IP and MAC address of the device is entered manually in an ARP table. The source device has to access the table first if a source wants to communicate with the destination device.
Dynamic Mapping - In the dynamic mapping, if a device knows the logical address of the other device, then by using the Address Resolution protocol, this device will also find the physical address of the device. The dynamic entries are created automatically when the source device sends an ARP broadcast request. These entries are not permanent and cleared periodically.
Note: The dynamic mapping is also used in the Reverse Address Resolution Protocol.