为什么UDP广播阻塞路由器的速度比TCP低得多



想法:我们有一个成像系统,生成大约200-300 Mb/s的数据,这些数据目前通过以太网电缆传输到计算机,计算机对数据进行解压缩并显示实时图像。

我们正试图让系统通过以太网电缆将数据包传输到路由器,然后路由器将udp数据包广播到计算机(或最终多台计算机),从而使系统在局域网上实现无线。

在最高级别上,它看起来有点像这样:

之前:成像设备->cat-5->计算机(在高达所需的300 Mb/s时运行良好)

之后:成像设备->cat-5->路由器->802.11ac无线->计算机(超过5Mb/s的巨大(50%以上)数据丢失)

-计算机:surface pro 3

-路由器:Buffalo AirStation AC 1750 DD‑WRT无线固件:DD-WRT v24SP2-(03/24/14)std

问题:当我们连接系统时,我们发现当我们将带宽提高到超过约5Mb/s时,数据包丢失开始增加,路由器的GUI变得没有响应。

知道问题不太可能出现在任何一端,我们尝试通过各种方式配置路由器设置,禁用防火墙,降低UDP超时等来提高性能。在情况迅速恶化之前,我们能够找到的最佳配置使我们达到了约7Mb/s。

惊喜:当我们用第二台计算机更换成像设备并进行简单的文件共享测试时。当使用2.4GB文件进行文件共享测试(windows计算机->cat-5->路由器->802.11ac无线->windows计算机)时,我们发现传输速度高达300 Mb/s,路由器GUI也没有冻结。

据我们所知,唯一的变化是通信类型和数据包大小。由于在FPGA上实现TCP的复杂性,以及我们打算最终允许LAN上的数据有多个端点,我们认为UDP广播(1092b大小的数据包)会起作用。根据wireshark的说法,另一个测试设置是使用TCP(1514b大小的数据包)。

问题:为什么路由器能够处理吞吐量为300Mb/s的TCP,却不能处理超过10Mb/s的UDP广播?关于如何配置系统/路由器以实现局域网上的高UDP吞吐量,有什么想法或建议吗?

其他注意事项:

路由器距离计算机约5英尺,在两种情况下都以5Ghz传输80Mhz。

更新:

按照建议,我试着测试通过局域网端口通过以太网连接系统是否可行。通过这种方式,我可以达到150Mb/s。(成像系统->以太网(LAN端口)->路由器->以太网(局域网端口)->Surface pro 3)

这表明问题出在路由器上,在无线天线和局域网端口之间。UDP数据包是如何在内部移动以进行广播的,这减缓了这个过程。这也很有趣,因为TCP数据包从局域网流到无线网络很好。有什么想法吗?

如果您关心性能,请不要使用WiFi广播。使用单播。现代WiFi网络不是一种有效的广播媒介,因为它们用于实现合理性能的所有高级优化都涉及发射机知道接收机的位置和能力。举个明显的例子,想想一个具有MIMO和波束成形的双频带路由器。这些技术将如何用于广播?

最新更新