Networking I Fall 1997 Questions: ARP and RARP 1. What is ARP? Address Resolution Protocol 2. Why do we need ARP (i.e. what function does ARP serve)? It provides a mechanism to translate IP addresses into MAC addresses. 3. Describe (step-by-step) what steps occur when sending an IP datagram, as in what occurs when executing the following command: $ ftp bsdi The ftp client attempts to resolve the hostname into an IP address through the DNS or a static /etc/hosts file. The application then asks TCP to establish a connection with the machine at that IP address. TCP sends a connection request segment using an IP datagram to that IP address. If the destination is local, the IP datagram can be sent directly. If it is remote, the IP routing function determines the internet address of a locally attached next-hop router to send the IP datagram to. When the IP datagram reaches the local network of the destination network, the IP address must be converted to a MAC address (ethernet address). ARP is used to make this conversion. ARP sends an ARP request (broadcast) to every host on the network, asking for the hardware address of the owner of the IP address. The owner of that IP address will make a unicast reply to the broadcaster with the hardware address. The broadcaster can then send the IP datagram across the ethernet to the destination host. 4. What is in the arp cache on binx, at the moment (hint: find what unix program to use, find out where it is located on binx, find out what parameters to pass it on the command line so that it will print the entire arp cache, then execute the proper command)? mvhs1.mbhs.edu (205.222.72.65) at 00:20:AF:70:68:C7 [ether] on eth0 stunt.mbhs.edu (205.222.72.61) at 08:00:5A:7A:2F:BB [ether] on eth0 baudwidth.mbhs.edu (205.222.72.254) at 00:00:0C:F3:3D:04 [ether] on eth0 5. What is proxy arp? What function does it serve? It allows host A to impersonate host B and respond to an arp request on behalf of host B. The original intention of this is to allow a router to respond to an arp request on one of its networks for a host on another of its networks. In this way, the router is able to make the different networks work in a more transparent way. 6. What is gratuitous arp? What function does it serve? Gratituitous arp occurs when a host sends out an arp request for its own IP address. This is useful in two ways. The first is to determine if another host on the network is already using its IP address. The second function is to force all other hosts on the network to update their arp caches with its current IP address. This could be useful if a computer goes down and has its network card replaced. A gratuitous arp request after the machine is brought back up will force the rest of the network to update the arp caches with the new MAC address. 7. What is RARP? Reverse Address Resolution Protocol 8. Why do we need RARP (i.e. what function does RARP serve)? It permits a host to determine its IP address from the network. This is useful for diskless hosts which need to configure themselves dynamically upon bootstrap. In this scenario, the diskless host reads the MAC address of its network adapter and sends out a RARP request for its IP address to the network. This is typically done with a broadcast request. As such, the RARP request is not forwarded by routers. One or more RARP servers would then reply to the diskless host with a unicast reply providing the IP address. Bootp provides another mechanism for doing this function. In addition, bootp allows more data than just the IP address to be sent.