Ich (und ein Kollege) habe gerade festgestellt und getestet, dass ein Linux-Computer nach dem letzten Ping eine Unicast- ARP-Anforderung an den Computer sendet, der den ICMP-Ping initiiert hat. Beim Pingen an einen Windows-Computer gibt der Windows-Computer am Ende keine ARP-Anforderung aus.
Weiß jemand, wozu diese Unicast-ARP-Anforderung dient und warum sie unter Linux und nicht unter Windows ausgeführt wird?
Der Wireshark-Trace (wobei 10.20.30.45 eine Linux-Box ist):
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
Update: Ich habe gerade etwas mehr nach Unicast-ARP-Anfragen gegoogelt und die einzige nützliche Referenz, die ich gefunden habe, ist RFC 4436, in der es um "Detecting Network Attachment" (ab 2006) geht. Diese Technik verwendet Unicast-ARPs, damit ein Host bestimmen kann, ob er wieder mit einem zuvor bekannten Netzwerk verbunden ist. Ich verstehe jedoch nicht, wie dies auf eine ARP-Anfrage infolge eines Pings zutrifft. So bleibt das Geheimnis ...