Я (и коллега) только что заметил и протестировал, что когда машина Linux пингуется, после последнего пинга она инициирует одноадресный ARP-запрос к машине, которая инициировала пинг ICMP. При пинге с машиной Windows машина Windows не выдает запрос ARP в конце.
Кто-нибудь знает, какова цель этого одноадресного ARP-запроса и почему он происходит в Linux, а не в Windows?
Трассировка Wireshark (с 10.20.30.45 - это окно 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
Обновление: я только что прибегнул к поиску однонаправленных ARP-запросов , и единственная полезная ссылка, которую я нашел, - это RFC 4436, посвященный «Обнаружению сетевого подключения» (с 2006 года). Этот метод использует одноадресные ARP, чтобы хост мог определить, подключен ли он к ранее известной сети. Но я не вижу, как это относится к запросу ARP в результате выполнения пинга. Так что загадка остается ...