我们有一个 Netscreen 路由器作为默认网关。我在网络中有一台 Windows 7 机器。我使用命令“arp -d”删除了这台 Windows 机器上的 ARP 缓存。一旦我这样做了,我的 Windows 7 机器就有一个 ARP 请求,我看到 GW 有两个响应(下表中的数据包 #1168 和 1170)。
1167 6.585819 Vmware_a9:70:dc Broadcast ARP 42 Who has 10.218.16.1? Tell 10.218.22.221
1168 6.588741 Netscreen_ff:50:01 Vmware_a9:70:dc ARP 60 10.218.16.1 is at 06:22:bc:ff:50:01
1170 6.590643 Netscreen_ff:50:01 Vmware_a9:70:dc ARP 60 10.218.16.1 is at 06:22:bc:ff:50:01
我在不同的网络中尝试了另一台机器,发现路由器每个请求只响应 1 个响应(这个路由器似乎是 Cisco 路由器)
2698 15:58:09.094908000 Vmware_85:6c:cf Broadcast ARP 42 Who has 10.211.32.1? Tell 10.211.34.212
2699 15:58:09.096329000 Cisco_e0:3f:01 Vmware_85:6c:cf ARP 60 10.211.32.1 is at 00:00:0c:9f:f0:20
在这两种情况下,ARP 缓存都立即具有默认网关的条目。
我无法理解的是,为什么默认 gw 会为一个请求发送两个响应?
任何指针将不胜感激。