Zum Hauptinhalt springen

Paketformat (Packet Format)

Um Zuordnungen von <Protokoll, Adresse>-Paaren zu 48-Bit-Ethernet-Adressen zu kommunizieren, wird ein Paketformat benötigt, das das Adressauflösungsprotokoll (Address Resolution Protocol) verkörpert. Das Format ist wie folgt.

Ethernet-Übertragungsschicht (nicht unbedingt für den Benutzer zugänglich):

48 Bit: Ethernet-Zieladresse
48 Bit: Ethernet-Quelladresse
16 Bit: Protokolltyp = ether_type$ADDRESS_RESOLUTION

Ethernet-Paketdaten:

16 Bit: (ar$hrd) Hardware-Adressraum (z.B. Ethernet, Paketfunknetz)
16 Bit: (ar$pro) Protokoll-Adressraum. Für Ethernet-Hardware stammt dies aus dem Typfeld-Set ether_typ$<protocol>
8 Bit: (ar$hln) Byte-Länge jeder Hardware-Adresse
8 Bit: (ar$pln) Byte-Länge jeder Protokolladresse
16 Bit: (ar$op) Opcode (ares_op$REQUEST | ares_op$REPLY)
n Bytes: (ar$sha) Hardware-Adresse des Absenders dieses Pakets, n aus ar$hln-Feld
m Bytes: (ar$spa) Protokolladresse des Absenders dieses Pakets, m aus ar$pln-Feld
n Bytes: (ar$tha) Hardware-Adresse des Ziels dieses Pakets (falls bekannt)
m Bytes: (ar$tpa) Protokolladresse des Ziels