7

When sending ARP request, what must be filled in the target hardware address (THA)? This technet blog post says it is to be filled with zeros (0.0.0.0) -although doesn't look like a MAC address!, and the Wikipedia article suggests FF:FF:FF:FF:FF:FF would be acceptable to all computers, and also stating that This field is ignored in requests.

From the above two articles, I'm given the understanding that there is several implementation for ARP regarding this field. What are the widely used implementation and is there any further standardization for this? And is there any problems so there would be mis-understanding between these implementations? And is there any applications that require specific implementation to that field?

2
  • Yes, the technet author used an IP instead of a MAC.
    – Ricky
    Oct 13 '13 at 20:57
  • @RickyBeam in the diagram he used 00-00-00-00-00-00 though.. I guess the number of figures and format was a typo, but he meant zeros anyway!
    – amyassin
    Oct 13 '13 at 21:00
8

You are mixing up two different pieces of information. The Wikipedia article you link mentions FF:FF:FF:FF:FF:FF as the destination address, not as the target address.

The destination address is part of the L2 Ethernet header, whereas the THA is part of the ARP packet.

To illustrate, I pulled a random ARP packet out of a random capture I had stored on my computer in Wireshark. Note in this image that the destination is ff:ff:ff:ff:ff:ff (L2 broadcast) in the Ethernet header section but below in the ARP request section the "Target MAC Address" is all zeroes as it should be.

enter image description here

EDIT:

It's also worth mentioning that the Technet Author's diagram confirms that using 0.0.0.0 for the THA was a typo in his blog.

7

According to RFC 5227: The 'target hardware address' field is ignored and SHOULD be set to all zeroes.

Setting the THA is not required by the RFC, but all implementations should ignore the field anyway.

https://www.rfc-editor.org/rfc/rfc5227#page-5 - Top of page 5

1

I have looked at many traces and have never see an arp with all 0s. RFC 826 says Ethernet is all 1s. I would assume the blog is not correct or some sort of corner case

2
  • He's asking about the ARP request itself (i.e. payload), not the layer-2 destination (all-one's broadcast) THA is supposed to be all zeros, and it's also supposed to be ignored. (it makes no sense to have a THA in a req when that's what you're looking for.)
    – Ricky
    Oct 13 '13 at 20:59
  • @RickyBeam Ahaaaaa that comment explained the missing puzzle piece for me! So the FFs are in the layer-2 destination address, but the zeros are in the payload? That was not clear to me!
    – amyassin
    Oct 13 '13 at 21:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.