network-programmingipwiresharktcparp

What is the sender IP address used for in an ARP REQUEST packet?


So in an ARP request packet, we have "Who has 192.168.1.1? Tell 192.168.1.143". The reply however is not "sent" to the IP address 192.168.1.143, but to the MAC address associated with it. What is the purpose of having the sender's IP address?

Thanks.


Solution

  • It is so people can reply to you without having to also send an ARP request.

    In general there is a lot of redundant stuff in the ARP rfc, but this particular thing seems alright to me.

    The sender hardware address and sender protocol address are absolutely necessary. It is these fields that get put in a translation table. The target protocol address is necessary in the request form of the packet so that a machine can determine whether or not to enter the sender information in a table or to send a reply. It is not necessarily needed in the reply form if one assumes a reply is only provoked by a request. It is included for completeness, network monitoring, and to simplify the suggested processing algorithm described above (which does not look at the opcode until AFTER putting the sender information in a table).