4

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

我们试图通过让系统通过以太网电缆将数据包传递到路由器来通过 LAN 使系统无线化,然后路由器将 udp 数据包广播到计算机(或最终多台计算机)。

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

之前:成像设备 -> cat-5 -> 计算机(以所需的 300 Mb/s 正常工作)

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

-电脑:surface pro 3

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

问题: 当我们连接系统时,我们发现当我们将带宽提高到超过 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 广播?关于如何在 LAN 上配置系统/路由器以实现高 UDP 吞吐量的任何想法或建议?

其他注意事项:

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

更新:

正如建议的那样,我尝试测试通过 LAN 端口通过以太网连接系统是否可行。这样我就可以达到 150Mb/s。(成像系统-> 以太网(LAN 端口)-> 路由器-> 以太网(LAN 端口)-> Surface pro 3)

这表明问题出在路由器上,位于无线天线和 LAN 端口之间。关于 UDP 数据包如何在内部移动以进行广播的一些事情正在减慢该过程。这又很有趣,因为 TCP 数据包从 LAN 流向无线网络就好了。有什么想法吗?

4

1 回答 1

2

Don't use broadcasts over WiFi if you care about performance. Use unicast. Modern WiFi networks are not an effective broadcast medium because all of the advanced optimizations they use to achieve reasonable performance involve the transmitter knowing the receiver's location and capabilities. For an obvious example, think about a dual-band router with MIMO and beamforming. How will those technologies work for a broadcast?

于 2016-08-17T17:24:34.640 回答