../_images/f03-23-9780123850591.png
ARP packet format for mapping IP addresses into Ethernet addresses.

The figure above shows the ARP packet format for IP-to-Ethernet address mappings. In fact, ARP can be used for lots of other kinds of mappings—the major differences are in the address sizes. In addition to the IP and link-layer addresses of both sender and target, the packet contains the following:

  • HardwareType field, which specifies the type of physical network (e.g., Ethernet)
  • ProtocolType field, which specifies the higher-layer protocol (e.g., IP)
  • HLen (“hardware” address length) and PLen (“protocol” address length) fields, which specify the length of the link-layer address and higher-layer protocol address, respectively
  • An Operation field, which specifies whether this is a request or a response
  • The source and target hardware (Ethernet) and protocol (IP) addresses

Note that the results of the ARP process can be added as an extra column in a forwarding table like the one in Table 10. Thus, for example, when R2 needs to forward a packet to network 2, it not only finds that the next hop is R1, but also finds the MAC address to place on the packet to send it to R1.

The section above is taken from “Computer Networks: A Systems Approach” by Larry Peterson and Bruce Davie (2019), licensed under CC BY 4.0.

This series of videos on Error Detection (2018-2019) by Ben Eater may be useful for diving deeper into these concepts!