Date de publication du RFC : Novembre 1982
Auteur(s) du RFC : David C. Plummer (Symbolics, Inc.)
Statut inconnu, probablement trop ancien
Première rédaction de cet article le 15 mars 2007
Ce très vieux protocole permet à une machine connectée à un réseau local Ethernet de trouver l'adresse MAC d'une machine voisine à qui elle veut parler.
Lorsqu'une machine veut écrire à une autre machine située sur le même lien et qu'elle ne connait que son adresse IP, son adresse de couche 3, comment fait-elle pour avoir l'adresse MAC, l'adresse de couche 2 qu'il faut mettre dans l'en-tête de la trame Ethernet ? Elle utilise ARP.
Le principe de ce protocole est très simple : on diffuse la demande à tout le réseau local
et la machine qui se reconnait répond. Vu avec tcpdump -e -n
arp
, cela donne :
00:11:43:e7:bc:de > 00:01:96:96:dc:60, ethertype ARP (0x0806): arp who-has 192.134.7.254 tell 192.134.7.249 00:01:96:96:dc:60 > 00:11:43:e7:bc:de, ethertype ARP (0x0806): arp reply 192.134.7.254 is-at 00:01:96:96:dc:60
Pour éviter de faire des requêtes ARP à chaque paquet IP qu'on doit envoyer, la machine garde un cache des tables ARP et, comme tous les caches, il crée parfois des problèmes lorsqu'on change une carte Ethernet et qu'on oublie que la nouvelle adresse ne va pas être vue immédiatement par tous.
La table ARP peut être affichée, sur une machine
Unix avec arp -a -n
:
% arp -a -n ? (192.134.7.248) at 00:04:76:A2:58:73 [ether] on eth0 ? (192.134.7.249) at <incomplete> on eth0 ? (192.134.7.254) at 00:01:96:96:DC:60 [ether] on eth0
« incomplete » désignant une machine qui n'a pas répondu aux requêtes ARP, sans doute parce qu'elle était éteinte.
Comme beaucoup d'autres protocoles conçus uniquement pour le réseau local et pour ne pas demander de configuration, ARP n'offre aucune sécurité. Comme le dit notre RFC, « The world is a jungle in general, and the networking game contributes many animals. ».
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)