Why is address resolution protocol (ARP) necessary?
Basically, ARP is a function of the IP layer of the TCP/IP protocol stack. It is necessary to translate a host?s software address (IP address) to a hardware address (MAC address). Typically, a host uses ARP to determine the hardware address of another host. Your system maintains a table that maps IP addresses to MAC addresses of different systems and routers on your network.
It works similar to a host table, except that you or your network administrator generally does not maintain the ARP table. The ARP protocol creates entries as needed. If your system doesn?t already contain the hardware address of the destination host, it will broadcast to every host on the network requesting this address. When the destination host hears the request it will reply back with its hardware address, which will then be stored in your system?s ARP table. Entries can be manually made to this table in the event the destination host doesn?t support ARP.
There is also another protocol within the IP layer, called RARP (Reverse ARP), which translates a MAC Address into an IP address. Diskless workstations would generally use this.