Génération de paquet (Packet Generation)
Lorsqu'un paquet est envoyé vers le bas à travers les couches réseau, le routage (Routing) détermine l'adresse de protocole du prochain saut pour le paquet et sur quel matériel il s'attend à trouver la station avec l'adresse de protocole cible immédiate. Dans le cas de l'Ethernet 10Mbit, la résolution d'adresse est nécessaire et une couche inférieure (probablement le pilote matériel) doit consulter le module de résolution d'adresse (Address Resolution Module) (probablement implémenté dans le module de support Ethernet) pour convertir la paire <type de protocole, adresse de protocole cible> en une adresse Ethernet 48 bits. Le module de résolution d'adresse tente de trouver cette paire dans une table. S'il trouve la paire, il renvoie l'adresse Ethernet 48 bits correspondante à l'appelant (pilote matériel) qui transmet ensuite le paquet. S'il ne la trouve pas, il informe probablement l'appelant qu'il jette le paquet (en supposant que le paquet sera retransmis par une couche réseau supérieure) et génère un paquet Ethernet avec un champ de type ether_type$ADDRESS_RESOLUTION. Le module de résolution d'adresse définit alors le champ ar$hrd sur ares_hrd$Ethernet, ar$pro sur le type de protocole en cours de résolution, ar$hln sur 6 (le nombre d'octets dans une adresse Ethernet 48 bits), ar$pln sur la longueur d'une adresse dans ce protocole, ar$op sur ares_op$REQUEST, ar$sha sur sa propre adresse Ethernet 48 bits, ar$spa sur sa propre adresse de protocole, et ar$tpa sur l'adresse de protocole de la machine qu'il tente d'accéder. Il ne définit pas ar$tha sur une valeur particulière, car c'est cette valeur qu'il tente de déterminer. Il peut définir ar$tha sur l'adresse de diffusion pour le matériel (tous des uns dans le cas de l'Ethernet 10Mbit) si cela est pratique pour certains aspects de l'implémentation. Il fait alors diffuser ce paquet à toutes les stations sur le câble Ethernet initialement déterminé par le mécanisme de routage.