Chaque appareil qui envoie ou reçoit des paquets IP possède une table ARP (je veux dire, envoyer une requête ARP pour chaque paquet IP que vous envoyez à un hôte serait du gaspillage, non ?)
Pour chaque paquet IP, l'appareil qui l'émet sur le réseau DOIT connaître l'adresse MAC du prochain saut (qui, pour les IP du même réseau local, est la destination, tandis que pour les autres, le prochain saut est le routeur). Cette adresse MAC est stockée dans la table ARP, également connue sous le nom de cache ARP.
Les commutateurs n'ont normalement pas de tables ARP puisqu'ils ne gèrent pas le paquet IP lui-même (ignorons pour l'instant les commutateurs de couche 3). Ils conservent cependant un autre type de cache qui indique l'adresse MAC des périphériques non-commutateurs connectés à ce réseau local et le port auquel les paquets doivent être envoyés pour atteindre ce périphérique. Les commutateurs enverront le paquet sur tous les ports activés s'ils n'ont pas l'adresse MAC de destination dans le cache, et utiliseront le MAC source pour mettre à jour le cache. Les commutateurs utilisent également une communication L2 séparée pour établir un spanning tree afin que les paquets ne fassent pas le tour d'un cycle même s'il y en a physiquement un (les connexions qui formeraient le cycle sont désactivées jusqu'à ce qu'une des connexions activées soit coupée)
Le routeur possède une table ARP pour chaque interface, généralement une pour le LAN et une pour le WAN pour les routeurs domestiques. Éventuellement une table supplémentaire pour les réseaux locaux générée par une connexion PPPoE ? Ou bien s'agit-il d'une connexion point à point qui ne nécessite pas vraiment d'en-têtes de couche 2 Ethernet ? Je veux dire que la table ARP est liée au protocole Ethernet (et à la variante sans fil, 802.11 utilisée dans pratiquement tous les routeurs Wi-Fi) et à l'adresse MAC. Mais il existe d'autres protocoles de couche 2 (HDLC pour les ports série) qui sont point à point (les commutateurs n'existent pas) et qui, en tant que tels, ne nécessitent aucun identifiant dans l'en-tête L2. Dans ce cas, l'IP peut effectivement n'avoir aucune correspondance dans la table ARP pour la raison qu'aucune n'est nécessaire.