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

Networking 为什么UDP广播阻塞路由器的速度比TCP慢得多?,networking,tcp,udp,bandwidth-throttling,Networking,Tcp,Udp,Bandwidth Throttling,想法: 我们有一个成像系统,生成大约200-300 Mb/s的数据,目前通过以太网电缆传输到计算机,计算机对数据进行解压缩并显示实时图像 我们正试图通过让系统通过以太网电缆将数据包传递到路由器,路由器随后将udp数据包广播到计算机(或最终多台计算机),从而使系统通过LAN实现无线连接 在最高级别,它看起来有点像这样: 之前:成像设备->cat-5->计算机 (在达到所需的300 Mb/s时工作正常) 之后:成像设备->cat-5->路由器->802.11ac无线->计算机 (超过5Mb/s的巨大

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

我们正试图通过让系统通过以太网电缆将数据包传递到路由器,路由器随后将udp数据包广播到计算机(或最终多台计算机),从而使系统通过LAN实现无线连接

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

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

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

-电脑:surface pro 3

-路由器:布法罗机场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的复杂性以及我们打算最终允许局域网上的数据有多个端点,我们认为UDP广播(1092b大小的数据包)可以工作。根据wireshark的说法,另一个测试设置是使用TCP(大小为1514b的数据包)

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

其他说明:

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

更新:

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


这向我表明问题出在路由器上,在无线天线和LAN端口之间的某个地方。有关UDP数据包如何在内部移动以进行广播的某些信息正在减慢该过程。这同样很有趣,因为TCP数据包从局域网到无线网络的传输很好。有什么想法吗?

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

在Wi-Fi上使用广播和多播(广播的一种形式)时,只能在WAP上以最低速度发送。您能否从等式中去掉无线部分以检查是否存在瓶颈?@cnicutar感谢您的评论,我更新了这篇文章,反映出我曾尝试通过路由器进行局域网到局域网的连接,但效果似乎很好。知道为什么将UDP数据移动到无线端口会有问题吗?(我不认为这是连接的无线部分,因为A:理论上的限制要高得多,B:在同一无线连接上,我可以使用TCP获得300Mb/s的吞吐量)它与TCP或UDP没有任何关系。问题是Wi-Fi将以WAP的最低速度发送广播。您无法以最高Wi-Fi速度发送广播。例如,如果WAP的最低速度为1 Mbps,但网络名义上运行速度为100 Mbps,则广播将以1 Mbps发送。广播不是最好的方式,IPv6已经消除了广播,因此使用广播的代码无法与IPv6配合使用。您唯一能做的就是将WAP上的最低速度设置得更高。并不是所有的设备都支持这一点,最终可能会阻塞一些客户端。如果您需要做一些类似广播的事情,那么最好使用多播。多播与IPv4和IPv6兼容,它不会中断不需要接收流量的客户端,而广播会中断LAN上的每个设备,包括网络设备。它的问题与在Wi-Fi上广播的问题相同,但这是Wi-Fi的一个限制。。。数十亿人可以同时收听广播。。。