Moi (et un collègue) je viens de remarquer et de tester que lorsqu'une machine Linux reçoit un ping, après le dernier ping, elle lance une requête ARP unicast vers la machine qui a lancé le ping ICMP. Lors d'un ping vers une machine Windows, la machine Windows n'émet pas de demande ARP à la fin.
Quelqu'un sait-il quel est le but de cette requête ARP unicast, et pourquoi elle se produit sur Linux et non sur Windows?
La trace Wireshark (avec 10.20.30.45 étant une boîte Linux):
No.Time Source Destination Prot Info
19 10.905277 10.20.30.14 10.20.30.45 ICMP Echo (ping) request
20 10.905339 10.20.30.45 10.20.30.14 ICMP Echo (ping) reply
21 11.904141 10.20.30.14 10.20.30.45 ICMP Echo (ping) request
22 11.904173 10.20.30.45 10.20.30.14 ICMP Echo (ping) reply
23 12.904104 10.20.30.14 10.20.30.45 ICMP Echo (ping) request
24 12.904137 10.20.30.45 10.20.30.14 ICMP Echo (ping) reply
25 13.904078 10.20.30.14 10.20.30.45 ICMP Echo (ping) request
26 13.904111 10.20.30.45 10.20.30.14 ICMP Echo (ping) reply
27 15.901799 D-Link_c5:e7:ea D-Link_33:cb:92 ARP Who has 10.20.30.14? Tell 10.20.30.45
28 15.901855 D-Link_33:cb:92 D-Link_c5:e7:ea ARP 10.20.30.14 is at 00:05:5d:33:cb:92
Mise à jour: je viens de googler un peu plus pour les requêtes ARP unicast , et la seule référence utile que j'ai trouvée se trouve dans la RFC 4436 qui concerne la "Détection de la connexion réseau" (de 2006). Cette technique utilise des ARP unicast pour permettre à un hôte de déterminer s'il est reconnecté à un réseau précédemment connu. Mais je ne vois pas comment cela s'applique à une requête ARP suite à un ping. Donc, le mystère demeure ...