只有在一台路由器上有多个无线电时,无线networking性能才会很慢

我有一个像这样的无线networking设置:

Laptop \ | Wifi Router A | Wifi Router B | Wifi Router C | \ | / \ | / \ | / \ | \|wlan0 wlan1----wlan0 wlan1-----wlan0 eth0--| |hostapd managed mode | hostapd managed mode | AP Internet| 

所以基本上笔记本电脑的一条直线 – >路由器A – >路由器B – >路由器C – >互联网。

路由器A和B有两个802.11a无线电,并且是高功率无线电(Ubiquiti 600mW)的embedded式Linux板。 路由器C是Linksys E2500,通过以太网连接到Internet。 没有使用桥接,只有简单的IP路由。

所有wifi连接都有很好的信号(至less-60dBm)和非常低的噪声(-99dBm)。

为了进行速度testing,我使用了一个大窗口大小(3MB)和10个并行连接的Iperf,传输时间不同,时间为100-240秒。

笔记本电脑在路由器B和路由器B之间始终得到6-8mb的结果(上传和下载)。 我已经尝试了许多不同的设置在wifi方面的变化,似乎没有什么影响性能,我甚至检查硬件接收/校验卸载接口上的东西,这些设置也没有什么差别。

但是,如果我在笔记本电脑和路由器A之间进行testing,我会得到30mbps左右。 路由器A和路由器B之间的testing也远远超过了25Mbps。 但是,当笔记本电脑必须经过多个收音机时,性能非常差(6-8mbps)。 我testing了我的理论,用以太网线代替路由器A和路由器B之间的链路,然后从笔记本电脑到路由器B的速度testing增加了一倍多,一直到25-28mbps。

为什么当数据包通过路由器中的多个无线电发送时性能如此糟糕?

更新:

我试图达到的是terminal用户客户端networking性能(笔记本电脑),当我将AP与以太网连接时,我获得了这些性能。

我意识到wifi是半双工的,链路上有更多的无线电,性能会更差。

是否有可能使用单独的无线电发送和接收来解决问题?

我在每块板上有4个mini-pci插槽。

当然,如此多的遍历之后,性能将会下降。 无线电是一种共享媒体(半双工),碰撞可能发生,并避免他们的Wi-Fi使用CSMA / CA。 你的performance至less会降低一半以上。 每个客户端都会增加延迟

我认为将一个无线电板分为Tx和一个是Rx是不可行的,因为这会导致PCI背板上的大量通信量。

同样,我怀疑无论出于什么原因,很多问题都是由于背板上的大量stream量造成的,导致您认为延迟。

如果我正在devise一个类似的系统(我以无线networking为生(有点儿))。我会把链路无线电,换句话说,每个build筑物的入站和出站对分成不同的物理盒子,由千兆以太网回来。

这可能会导致networking适配器和networking硬件来处理无线电之间的内部stream量,我怀疑这可能是瓶颈。 没有更多的信息,实际上很难做出正确的诊断。 也很难问任何信息,因为坦率地说,我不知道。 那古老的谚语,你不知道你在找什么,但是当你find它的时候。

也就是说,我不知道这些路由器板是否暴露了背板stream量统计等等。

亚历克斯也有一些要点,虽然我对CSMA / CA(不应该是/ CD?)没有信心,但总是有可能。 无线通信本质上是有损的,像这样重复一个信号就像复印影印,或者克隆VHS磁带(记住那些?)。

总而言之,我通常不喜欢在同一块电路板上安装两个无线电的想法,并试图将它们分离成不同的物理设备,通过以太网互连。

因人而异。