![什么原因会导致设备失去网络连接,但快速断开并重新连接网线可以恢复连接?](https://linux22.com/image/1619637/%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E4%BC%9A%E5%AF%BC%E8%87%B4%E8%AE%BE%E5%A4%87%E5%A4%B1%E5%8E%BB%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5%EF%BC%8C%E4%BD%86%E5%BF%AB%E9%80%9F%E6%96%AD%E5%BC%80%E5%B9%B6%E9%87%8D%E6%96%B0%E8%BF%9E%E6%8E%A5%E7%BD%91%E7%BA%BF%E5%8F%AF%E4%BB%A5%E6%81%A2%E5%A4%8D%E8%BF%9E%E6%8E%A5%EF%BC%9F.png)
我有一台工业 Windows XP 机器,它物理连接到一个大型多城市网络,我正努力让它保持运行。该设备有一个应用程序,当用户启动发送时,它会将端口 80 上的数据包发送到服务器。这些数据包可能为 1 兆字节到 10 兆字节。这些数据包本身对我来说是个谜,是该设备制造商的专有信息。但总的来说,它们是代表大量数据的专有信息二进制块。
在过去两个月中,此设备不定期地不发送数据包,并且应用程序生成无法发送文件的错误。当我对目标运行持续 ping 时,有时当我尝试发送文件时,ping 立即下降到“请求超时”,并且应用程序中的文件发送失败。当我发送更多信息时,问题似乎更加普遍。大约每发送 3 次就会出现一次此问题。
如果我拔下网线然后立即重新插入(我们说的是拔出插孔后四分之一秒),ping 会立即恢复,就像连接从未丢失一样。如果我丢失了 ping,我也可以通过转到网络连接并禁用网络适配器然后重新启用它来恢复它。如果没有强大的数据,我感觉如果我禁用并重新启用 NIC,则问题会比我物理拔下电缆时更频繁地重复出现。
当设备无法 ping 通服务器时,它也无法 ping 通任何地方。就像它与网络断了一样。
我在隔壁房间有一台相同的设备,位于同一个网络上,我无法重现该问题,尽管工作人员告诉我它有时会以相同的方式“出现问题”。但同样,我无法重现该问题。
我的主要问题是:什么原因导致设备失去网络连接,但通过断开然后立即重新连接网线(CAT5)可以恢复?
我已排除其他一些原因:CAT5 电缆(测试良好,已更换)网络拥塞(问题发生在高使用率和低使用率期间,拥塞中未出现重大问题)服务器问题(它发送到许多设备没有问题)交换机(尝试连接到新交换机和壁橱中的新端口)墙上的电缆(测试良好)墙上插孔(测试良好)
我的想法是:可能是网卡出了问题?或者是软件异常?
答案1
拔掉电缆(断开链接)会重置 NIC 硬件、其驱动程序和网络堆栈中的许多状态。因此,其中任何一个都可能存在错误,导致其进入不良状态。
弄清楚如何避免这个问题可能需要只有网络工程师或驱动工程师才能完成的低级调试。
如果您认为这种情况只会在大量使用后发生,并且在重置后不会立即发生,那么最好编写一个脚本,定期禁用并重新启用该界面,以便您在它累积到问题状态之前始终重置它。