If you ever needed to find the answer to the question ‘What protocol is used to find the hardware address of a local device?’, you can find it here! We will tell you everything you might want to know about this protocol in the simplest terms we can manage. Check it out!
If all you are looking for the answer and not the detailed explanation, here it is:
The protocol used to find the hardware address of a local device is the Address Resolution Protocol, or ARP for short. There. Now you know. However, if you want to stick around for a little bit more than ARP definition, you are welcome to do so.
What is ARP?
In order not to repeat the same words twice, let’s define the Address Resolution Protocol in a slightly different way. ARP is a protocol in computer networks designed to determine the MAC address, while having the IP address of another computer.
Did you know?
The protocol description was published in November 1982 in RFC 826. ARP was designed for the case of IP-packet transmission through Ethernet frames. At the same time, the general principle proposed for ARP has been used for other types of networks.
There are two types of ARP messages: ARP request and ARP reply. The sender system uses the ARP request to request the physical address of the receiving system. The response (the physical address of the destination node) comes in the form of an ARP response.
Before sending a network layer packet through an Ethernet segment, the network stack checks the ARP cache to see if the destination information is already registered in it. If there is no such entry in the ARP cache, an ARP broadcast request is performed.
This query for devices on the network has the following meaning: "Does anyone know the physical address of the device that has the following IP address?" When the recipient with this IP address receives this packet, it will have to reply: "Yes, this is my IP address. My physical address is: ... "After that, the sender will update its ARP cache and will be able to transfer information to the recipient.
The entries in the ARP cache can be static and dynamic. Usually, you will be using dynamic entries. This means that they are stored on the device for a limited amount of time and then deleted when they are no longer in use.
However, you can also create static entries in the ARP table. This can be done using the following command:
arp -s <IP address> <MAC address>
In systems that used versions of Windows up to NT 6.0, the entries in the ARP table created dynamically remained in the cache for 2 minutes. If during those two minutes there was a retransmission of data at this address, the cache storage time was extended for another 2 minutes.
This procedure could be repeated until the cache entry lasted up to 10 minutes. After that, the entry would be removed from the cache, and a second request would be sent to ARP. These days, the time for storing records in the ARP table and the storage method is selected programmatically, and you can change it if you want.
But wait, there is more:
Originally, ARP was designed for other protocols apart from IP. However, now it is mainly used to match IP and MAC addresses. ARP can also be used to resolve MAC addresses for different Layer 3 protocols addresses. ARP was also adapted to resolve other types of Layer 2 addresses; for example, ATMARP is used to resolve ATM NSAP addresses in the Classical IP over ATM protocol.
How does ARP work?
READ ALSO: Importance of Internet in our life
Now that you have a general understanding of what ARP is, it is time to figure out how it works. Here are the three steps in this process:
- The node that needs to map the IP address to the local address generates an ARP request, puts it into the link-layer protocol frame, indicating the known IP address in it, and broadcasts the request.
- All nodes of the local network receive an ARP request and compare the IP-address specified there with their own.
- If they coincide, the node generates an ARP-answer, in which it indicates its IP-address and its local address and sends it directly, since the sender specifies its local address in the ARP request.
Address translation is performed by searching the table. This table, which is called the ARP-table, is stored in the memory and contains strings for each node of the network. The two columns contain IP and Ethernet addresses. If you want to convert an IP address to an Ethernet address, you need to look for a record with the corresponding IP address.
Let’s see how it works with a simple example:
Computer Alpha, which has an IP address 10.0.0.1 and computer Beta, which has an IP address 10.22.22.2) are connected to one another by an Ethernet network. Computer Alpha wants to forward the data packet to computer Beta, and it knows the IP address of computer Beta.
However, the Ethernet network to which they are both connected, does not work with IP addresses. Therefore, computer Alpha needs to know the address of computer Beta in the Ethernet network (the MAC address in terms of Ethernet) to transmit the data packet over Ethernet. And that is where ARP comes in.
Under this protocol, computer Alpha sends a broadcast request addressed to all computers in the same broadcast domain. The essence of the request is: "Computer with IP address 10.22.22.2, tell your MAC address to the computer with the MAC address (e.g. a0:ea:d1:11:f1:01)".
The Ethernet network delivers this request to all devices in the same Ethernet segment, including the computer B. The computer Beta responds to the computer Alpha for the request and reports its MAC address (e.g. 00:ea:d1:11:f1:11). Now, having received the MAC address of the computer Beta, the computer Alpha can transmit any data to it via the Ethernet network.
And that is about everything you need to know about ARP. Thank you for sticking around until the end of the article. We hope it has been helpful. Have a nice day!
READ ALSO: History of computer generations[embedded content]
About Article Author