Zum Hauptinhalt springen

Paketerzeugung (Packet Generation)

Wenn ein Paket durch die Netzwerkschichten nach unten gesendet wird, bestimmt das Routing (Routing) die Protokolladresse des nächsten Hops für das Paket und auf welcher Hardware es die Station mit der unmittelbaren Ziel-Protokolladresse zu finden erwartet. Im Fall des 10Mbit-Ethernet ist eine Adressauflösung erforderlich, und eine niedrigere Schicht (wahrscheinlich der Hardware-Treiber) muss das Adressauflösungsmodul (Address Resolution Module) (wahrscheinlich im Ethernet-Unterstützungsmodul implementiert) konsultieren, um das <Protokolltyp, Ziel-Protokolladresse>-Paar in eine 48-Bit-Ethernet-Adresse zu konvertieren. Das Adressauflösungsmodul versucht, dieses Paar in einer Tabelle zu finden. Wenn es das Paar findet, gibt es die entsprechende 48-Bit-Ethernet-Adresse an den Aufrufer (Hardware-Treiber) zurück, der dann das Paket überträgt. Wenn es nicht gefunden wird, informiert es wahrscheinlich den Aufrufer, dass es das Paket verwirft (unter der Annahme, dass das Paket von einer höheren Netzwerkschicht erneut übertragen wird), und erzeugt ein Ethernet-Paket mit einem Typfeld von ether_type$ADDRESS_RESOLUTION. Das Adressauflösungsmodul setzt dann das ar$hrd-Feld auf ares_hrd$Ethernet, ar$pro auf den Protokolltyp, der aufgelöst wird, ar$hln auf 6 (die Anzahl der Bytes in einer 48-Bit-Ethernet-Adresse), ar$pln auf die Länge einer Adresse in diesem Protokoll, ar$op auf ares_op$REQUEST, ar$sha auf seine eigene 48-Bit-Ethernet-Adresse, ar$spa auf seine eigene Protokolladresse und ar$tpa auf die Protokolladresse der Maschine, auf die zugegriffen werden soll. Es setzt ar$tha nicht auf einen bestimmten Wert, da dies der Wert ist, den es zu bestimmen versucht. Es kann ar$tha auf die Broadcast-Adresse für die Hardware (alle Einsen im Fall des 10Mbit-Ethernet) setzen, wenn dies für einige Aspekte der Implementierung bequem ist. Es veranlasst dann, dass dieses Paket an alle Stationen auf dem Ethernet-Kabel gesendet wird, das ursprünglich durch den Routing-Mechanismus bestimmt wurde.