我在网络上有一些设备,还有一个依赖 bonjour 进行设备发现的管理工具。这些设备设置为使用 DHCP。示例场景如下(假设 DHCP 租约非常短,并且有 ICMP 回显响应可用)
最初,一个设备(DeviceA.local)获得 192.168.1.1,另一个设备(DeviceB.local)获得 192.168.1.2。
然后我通过名称对两个设备进行 ping 操作,并且能够正确解析。
然后我从网络上拔下 DeviceA.local 并将其重新插入。DeviceA.local 现在被分配了 192.168.1.3。我相当确定 DeviceA.local 通过检查 arp 缓存 ( arp -a
) 和比较 MAC 地址来获取该 IP。
但是,当我 时ping DeviceA.local
,它解析为 192.168.1.1 而不是 192.168.1.3。
这是在 Windows 7 上运行的 bonjour 服务。我尝试过停止然后启动 bonjour 服务,但情况并没有改善。所以我的问题是:
- bonjour 缓存是否在某处解析了主机名-IP 映射?如果是,在哪里?
- 如何清除缓存并强制重新发现?