According to RFC 826 machine will create a ARP REQUEST Packet as follows:
HARDWARE TYPE |
PROTOCOL TYPE |
HLEN |
PLEN |
OPCODE |
SOURCE MAC ADDRESS (X's MAC):(known) |
SOURCE IP(X's IP):(known) |
TARGET MAC(Y's MAC) : 00:00:00:00:00 |
TARGET IP(Y's IP):(known) |
This ARP requests must be sent as broadcasts. There is no way that an ARP request can be sent to the right system. After all, the whole reason for sending an ARP request is that X does not know the Ethernet address Y . So an Ethernet address of all ones is used, i.e. FF:FF:FF:FF:FF:FF
This ARP Packet will be encapsulated inside a Ethernet frame and broadcasted.
FF:FF:FF:FF:FF:FF |
X's MAC |
TYPE |
ARP REQUEST PACKET |
CRC |
By convention, every machine on the Ethernet is required to pay attention to packets with this as an address. So every machine sees every ARP requests. They all look to see whether the request is for their own address. If so, they respond. If not, they could just ignore it.