Format de paquet (Packet Format)
Pour communiquer les mappages des paires <protocole, adresse> vers des adresses Ethernet 48 bits, un format de paquet incarnant le protocole de résolution d'adresse (Address Resolution Protocol) est nécessaire. Le format est le suivant.
Couche de transmission Ethernet (pas nécessairement accessible à l'utilisateur) :
48 bits : Adresse Ethernet de destination
48 bits : Adresse Ethernet source
16 bits : Type de protocole = ether_type$ADDRESS_RESOLUTION
Données de paquet Ethernet :
16 bits : (ar$hrd) Espace d'adressage matériel (par exemple, Ethernet, réseau de paquets radio)
16 bits : (ar$pro) Espace d'adressage de protocole. Pour le matériel Ethernet, cela provient de l'ensemble de champs de type ether_typ$<protocol>
8 bits : (ar$hln) Longueur en octets de chaque adresse matérielle
8 bits : (ar$pln) Longueur en octets de chaque adresse de protocole
16 bits : (ar$op) Opcode (ares_op$REQUEST | ares_op$REPLY)
n octets : (ar$sha) Adresse matérielle de l'émetteur de ce paquet, n provient du champ ar$hln
m octets : (ar$spa) Adresse de protocole de l'émetteur de ce paquet, m provient du champ ar$pln
n octets : (ar$tha) Adresse matérielle de la cible de ce paquet (si connue)
m octets : (ar$tpa) Adresse de protocole de la cible