奇怪的数据包丢失问题

奇怪的数据包丢失问题

我真的很难找到家庭网络 (BT Infinity FTTC) 上数据包丢失问题的原因。这个问题昨天早上突然出现,表现为 3 种方式:

  1. 基于 Java 的单元测试应用程序中出现超时异常,该应用程序反复连接到特定网站上的不同页面。现在它经常(即比以前更频繁)提示页面未加载,这意味着它在 20 秒后超时。我确信这不是网站端的问题。

  2. 尝试使用流式 API 时,另一个 Java 应用程序中的更新延迟和超时。这是一个金融交易 API,每当有变化时都会广播数据,更新通常是即时的。我基本上可以看到我的应用程序正在尝试使用旧数据,因为更新延迟太久,而且由于从服务器接收保持活动心跳的延迟很长,应用程序经常会完全重新启动。

  3. 当流媒体从网络上的服务器流式传输到客户端时(即,这纯粹在 LAN 上,与其他两种情况不同),基本上媒体会出现很多卡顿并最终冻结。

到目前为止,以上所有设备都运行良好,并且已经运行了很长时间(即数年)。“服务器”是一台 Win10 Pro 机器。

到目前为止,我已经尝试过以下方法来弄清楚发生了什么:

  • 从我的服务器 ping 单元测试网站、流媒体 API、媒体客户端和本地环回地址。结果:完全正常,ping 时间很短,没有任何数据包丢失
  • 通过将上述两个应用程序迁移到网络上的另一台机器(WiFi 上的 Win10 笔记本电脑,也只是为了测试这一点)来消除服务器的影响。结果:同样的问题和错误
  • 将路由器(BT Smart Hub)换成了另一个(较旧的 BT Home Hub 5)。我非常确定这是问题所在(尤其是因为我注意到路由器固件昨天早上已经更新了),但同样的问题也出现在新路由器上。
  • 尝试流媒体时运行 Wireshark 跟踪,如上述场景 3 所示。结果:问题持续存在时,会出现大量重复确认和重新传输消息。

抱歉解释得这么冗长;我基本上已经为此纠结了一段时间。鉴于问题也发生在 LAN 上,我看不出这怎么可能是 ISP 的问题。这也不是我常用的服务器或路由器特有的。它会很快恢复正常,然后半小时左右后又出现问题。

这太奇怪了。如果还有什么其他值得一看的东西,欢迎提出建议。

相关内容