我正在致力于使我的生产过程自动化。我在一个小型局域网中有两台设备,它们都是库存设备,因此它们都共享相同的IP地址。这个想法是给一个设备上电,通过Modbus TCP/IP上传数据,然后关机。等上10秒。接下来,打开另一台设备的电源,执行相同的操作并更改其IP地址。
一切正常,但每次我将TCP/IP连接从一台设备切换到另一台设备时,大约需要一分钟来建立连接。当设置了它们的is时,它正常工作,只有当is相同时的第一次切换才会导致如此长的延迟。
为什么会这样呢?
发布于 2021-07-14 00:37:04
如果您有两台设备共享相同的IP地址,则可能会达到ARP表的限制。ARP表负责将IP地址转换为MAC地址,其生命周期为几分钟。当您的计算机打开与从未见过的IP的通信时,它会将MAC条目缓存到ARP表中,这样它就不需要每次都查找以太网设备。
如果两个设备共享一个IP,则您的计算机可能会缓存第一个设备的MAC,直到该条目过期。
在大多数操作系统上,您可以运行arp -a来查看ARP表,运行arp -d来清除它。如果您在切换后清除了ARP表,并且它立即开始通信,这就是您的罪魁祸首。
https://stackoverflow.com/questions/68300264
复制相似问题