我有两个iperf客户端和服务器。两者均为5GHz。两者都在20MHz信道上。一个iperf客户端在信道36上发送数据,另一个在信道40上发送数据。当同时在两个通道上发送数据时,会有巨大的损失,而当我们通过任何一个iperf客户端发送数据时几乎没有损失。出现这种情况的可能原因是什么?如何纠正它们?
注意:没有其他wifi设备在这些频道上工作。实验是在一个房间里进行的,所以范围不会成为问题。正在使用UDP。
iperf服务器命令:iperf -s -u -w 320k
iperf客户端命令:iperf -c 192.168.XX.XXX -u -w 320k -t 10 -i 1 -b 300M
如果rts/cts打开,将出现数据包丢弃。第一个接入点将继续发送数据,而第二个接入点将等待第一个接入点发送所有数据。2nd将丢弃数据包,因为它正在等待发送数据。虽然信道不同,但是接入点将检测到信道干扰。
您应该考虑使用通道36和44来解决问题。
可能还有其他原因。
理论上,如果您在两个AP中都使用20MHz信道,则CH36(5180 MHz)不应干扰CH40(5200 MHz)。所以干扰不应该成为你iPerf结果的原因。
此外,RTS/CTS选项通常可以由大多数AP关闭(通过Web管理页面)。它也不应该影响iPerf的结果,因为RTS/CTS通常用于防止小帧的冲突,而iPerf通常发送大帧。
您正在测试的网络拓扑还不完全清楚。这两个AP是完全独立的还是连接的?iPerf服务器在哪里?它们是通过WiFi连接还是通过Eth连接?
最后,我怀疑您使用的"-w"选项。您正在测试UDP,但"-w"用于指定TCP窗口大小。