The Internet Protocol (IP) was designed to allow hosts connected to different networks to communicate. This means that IP must abstract away the details of the physical network it is layered over. Hosts nevertheless need to communicate using the physical network they are connected to. This poses the following proglem: if a host has a packet with a destination IP address, what physical address should the host send the packet to? The Address Resolution Protocol (ARP) is a protocol that allows hosts to map IP addresses to physical addresses on a local network.
ARP works as follows on a network which supports broadcast, such as ethernet. Each host maintains a cache of mappings from IP addresses to physical addresses, called the 'ARP table' or 'ARP cache'. To allow for changes in the network, each entry times out after a period of time, on the order of fifteen minutes. To find a mapping from an IP address to a physical address that is not in a host's ARP table, the host broadcasts an 'ARP request' on the network. This query contains the IP address whose physical address the host seeks, as well as the sending host's IP address and physical address. Every host on the network that receives the request checks if their IP address matches the IP address asked for in the query. If so, the receiving host sends a response to the requestor's physical address, including its own physical address in the response. When the requestor receives this 'ARP response' it adds the IP address and the corresponding physical address to its ARP table.
1. The following information is paraphrased from the course
textbook:
Computer Networks by Peterson and Davie.
Note: You can read more about ARP in the course textbook.
Submit this assignment as a plain text file via CMS by the beginning of class on Monday, February 14th, 2005, 14:55.