It should now be clear that to send data to another host on the same LAN the source host must know both the physical and logical addresses of the destination host. Once this is known, it can create a frame and send it out on the network media. The source host can learn the destination IP address in a number of ways. For example, it may learn the IP address through the use of the Domain Name System (DNS), or it may know the destination IP address because the address is entered in the application manually, such as when a user specifies the IP address of a destination FTP server. But how does a host determine the Ethernet MAC address of another device?
Most network applications rely on the logical IP address of the destination to identify the location of the communicating hosts. The data link MAC address is required to deliver the encapsulated IP packet inside the Ethernet frame across the network to the destination.
The sending host uses a protocol called Address Resolution Protocol (ARP) to discover the MAC address of any host on the same local network. The sending host sends an ARP Request message to the entire LAN. The ARP Request is a broadcast message. The ARP Request contains the IP address of the destination device. Every device on the LAN examines the ARP Request to see if it contains its own IP address. Only the device with the IP address contained in the ARP Request responds with an ARP Reply. The ARP Reply includes the MAC address associated with the IP address in the ARP Request.