Tôi (và một đồng nghiệp) vừa nhận thấy và đã kiểm tra rằng khi máy Linux được ping, sau lần ping cuối cùng, nó sẽ thực hiện yêu cầu ARP unicast cho máy đã khởi tạo ping ICMP. Khi ping đến máy Windows, máy Windows không đưa ra yêu cầu ARP ở cuối.
Có ai biết mục đích của yêu cầu ARP unicast này là gì không và tại sao nó lại xảy ra trên Linux mà không phải trên Windows?
Dấu vết của Wireshark (với 10,20.30,45 là một hộp 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
Cập nhật: Tôi vừa mới tìm hiểu thêm về các yêu cầu ARP chưa phát hành và tài liệu tham khảo hữu ích duy nhất tôi tìm thấy là trong RFC 4436 nói về "Phát hiện tệp đính kèm mạng" (từ năm 2006). Kỹ thuật này sử dụng ARP unicast để cho phép máy chủ xác định liệu nó có được kết nối lại với mạng đã biết trước đó hay không. Nhưng tôi không thấy điều này áp dụng cho yêu cầu ARP như thế nào khi thực hiện ping. Vì vậy, bí ẩn vẫn còn ...