当设备通过集线器连接时,FTP 上传速度会变慢

当设备通过集线器连接时,FTP 上传速度会变慢

我有一个网络集线器和三个以太网设备的设置。其中一个是 PC(运行 Windows XP),另外两个是需要通过网络相互通信的硬件组件。此外,这两个组件都可以通过 SSH 和 FTP 访问,并运行自定义版本的 Linux(LFS)。

我正在使用集线器(Netgear DS 524),因为它允许我舒适地查看 PC 上设备之间的通信。

此设置运行良好,但有一个例外。如果我将 PC 直接连接到设备并尝试通过 FTP 上传文件,则运行正常(SFTP 也是如此)。下载也正常。Wiresharks 完全没有显示任何连接问题。

但是,当我通过集线器连接 PC 和其中一个设备时(另一个设备已关闭电源并从集线器上拔出),我开始遇到文件上传问题(FTP 和 SFTP 均如此)。发送到设备的每个数据包都会被重新传输,集线器上的冲突 LED 会剧烈闪烁。下载工作正常。

我发现,当我让设备网络子系统稍微忙碌一点时,数据包流会变得更好。简单的命令如下:

ping 127.0.0.1 -f > /dev/null或者while true; do ifconfig eth5; done > /dev/null

将冲突率降低十倍,但只持续几秒钟。我想也许是设备响应太快,导致问题。我将 PC 中的 MTU 大小降低到 576,这也有所帮助,现在大约每 15 个数据包都会重新传输。以下是 Wireshark 的屏幕截图:https://i.stack.imgur.com/BFcxm.png

您知道如何改善这种情况并通过集线器实现上传吗?

答案1

这听起来像是双工不匹配。我会将所有设备上的接口硬设置为 100Base-TX、半双工(任何 100Base-TX 集线器的安全基准配置),看看情况是否有所改善。一旦情况有所改善,您就可以尝试将设备改回全双工,看看是什么“破坏”了它。

(我不清楚该型号集线器是否支持全双工。它看起来相当老旧,NetGear 的文档似乎相当差。)

相关内容