Io (e un collega) ho appena notato e testato che quando viene eseguito il ping di una macchina Linux, dopo l'ultimo ping avvia una richiesta ARP unicast alla macchina che ha avviato il ping ICMP. Quando si esegue il ping su un computer Windows, il computer Windows non emette una richiesta ARP alla fine.
Qualcuno sa qual è lo scopo di questa richiesta unicast ARP e perché si verifica su Linux e non su Windows?
La traccia di Wireshark (con 10.20.30.45 un box 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
Aggiornamento: ho appena cercato su Google un po 'di più per le richieste unicast di ARP e l'unico riferimento utile che ho trovato è in RFC 4436 che riguarda "Rilevamento di allegati di rete" (dal 2006). Questa tecnica utilizza ARP unicast per consentire a un host di determinare se è ricollegato a una rete precedentemente nota. Ma non vedo come questo si applica a una richiesta ARP a seguito di un ping. Quindi il mistero rimane ...