小编Ada*_*dam的帖子

当目标机器离线时,Windows 10 arp 缓存在尝试失败后卡住

将我们的开发团队从 7 升级到 Windows 10 后,我们遇到了 ARP 缓存问题,其中一台机器缓存了正确的 IP-MAC 映射,但由于在目标机器的电源循环期间连接失败,类型无效。在 Windows 10 上,但不是 Windows 7,在清除 ARP 缓存之前无法连接到目标计算机。我可以按如下方式重现该问题,其中 10.10.10.10 是正确的 IP 地址,01:23:45:67:89:AB 是相关目标机器的正确 MAC 地址:

  1. 从关闭目标机器的电源开始,并通过整个测试对其进行 ping:

    ping -t 10.10.10.10
    
    Run Code Online (Sandbox Code Playgroud)

Ping 正在回复“请求超时”并且 ARP 缓存包含,正如预期的那样

10.10.10.10    00:00:00:00:00:00    invalid
Run Code Online (Sandbox Code Playgroud)
  1. 打开目标机器的电源。Ping 开始收到回复,并且 ARP 缓存更新为

    10.10.10.10    01:23:45:67:89:AB    dynamic
    
    Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好。

  1. 关闭目标机器。Ping 开始报“Request timed out”,ARP 缓存依然存在

    10.10.10.10    01:23:45:67:89:AB    dynamic
    
    Run Code Online (Sandbox Code Playgroud)
  2. 大约40秒后,ping 1次请求回复“Destination host unreachable”,然后返回上报“Request timed out”,ARP缓存变为

    10.10.10.10    01:23:45:67:89:AB    invalid
    
    Run Code Online (Sandbox Code Playgroud)
  3. 打开目标机器的电源,在您清除 ARP 缓存或至少删除具有无效类型的正确 IP-MAC 映射的违规条目之前,ping(以及任何其他连接)将无法找到它。

考虑到开发环境中的目标机器在开发过程中确实需要重启电源,我该如何防止 ARP 缓存进入这种状态?手动操作 ARP 缓存是不可持续的,在迁移到 Windows 10 之前没有人报告过这个问题。

Windows 7 的功能正如人们所期望的那样,也就是说,我们想要的是:ARP 缓存经历与上述相同的阶段。Ping 在目标启动前回复“目标主机无法访问”,这与 Windows …

networking arp windows-10

5
推荐指数
1
解决办法
3601
查看次数

标签 统计

arp ×1

networking ×1

windows-10 ×1