Windows上ARP缓存更新延迟导致修改IP地址后不能连通(仅Windows7
《Windows上ARP缓存更新延迟导致修改IP地址后不能连通(仅Windows7)》要点: 在开发过程中,一些工具具备修改其他设备IP地址的功能. 在操作系同实现层面,都会缓存ARP表,纪录该机器访问过的IP地址与MAC地址的关联,当网络层的应用向某个IP地址发送包的时候,系统API会使用ARP协议将IP地址转换为MAC地址然后发送出去. 我们遇到的问题是,Windows机器连接到了一台设备,我们的工具在Windows上运行,去修改该设备的IP地址,将IP地址从A修改为B. 这里就是Widnwos7上面的ARP缓存在捣鬼,因为windows机器上的arp缓存纪录的是修改之前的IP地址A与设备的网卡MAC地址的映射关系,而现在去ping IP地址B,按照理解是能够ping通的,因为windows机器上的ARP缓存中该IP地址不存在,应当去刷新ARP缓存. 后来我们手动执行 arp -d IP_ADDR,将老的arp纪录删除,然后再ping,就可以正常了. 这个问题不直到是否算windows7的bug?因为在XP上是没有这种问题的. (编辑:ASP站长网) |