我已经构build了一个RFC2544的开源实现来testingIPv4networking设备。 我testing的首批设备之一是无线路由器D-Link 2640B。 为了测量它的性能,我使用了一台带有10/100 Mb以太网接口和一个集成无线networking适配器的笔记本电脑。 stream量由笔记本电脑生成,由路由器转发并由笔记本电脑接收(可以确定性能指标):
D-Link 2640B Router Wired Wireless \ / | | `Laptop´ running D-ITG
现在我运行testing套件。 我不能解释的一个有趣的事情是:如果从testing仪开始的stream量通过以太网电缆,然后由路由器转发到无线链路并由笔记本电脑接收,我得到以下结果:
Frame size: 64 Throughput: 1.47657 Mb/s Number of frames lost in the last round: 3 Frame size: 128 Throughput: 3.32227 Mb/s Frame size: 256 Throughput: 6.43361 Mb/s Frame size: 512 Throughput: 11.5488 Mb/s Frame size: 1024 Throughput: 21.5157 Mb/s Number of frames lost in the last round: 631 Frame size: 1280 Throughput: 25.8398 Mb/s Frame size: 1518 Throughput: 28.793 Mb/s
如果笔记本电脑通过无线链接发送stream量,然后由路由器转发到以太网链接返回到笔记本电脑,我得到以下结果:
Frame size: 64 Throughput: 54 Mb/s Frame size: 128 Throughput: 54 Mb/s Frame size: 256 Throughput: 54 Mb/s Frame size: 512 Throughput: 54 Mb/s Frame size: 1024 Throughput: 25.207 Mb/s Frame size: 1280 Throughput: 26.9472 Mb/s Frame size: 1518 Throughput: 42.1347 Mb/s
这是正常的吗? 发生了什么事情使得结果如此不同?
如果我只使用以太网链路testing设备(既传输也接收stream量),我会得到预期的结果。
谢谢
附加信息:发送testingstream量我正在使用D-ITGstream量发生器。 stream量由发送给路由器的UDP Echo Request报文组成。
用于确定吞吐量的algorithm是RFC 2544中定义的algorithm:您开始以特定的传输速率发送stream量,然后通过二进制search提高或降低此速率,直到find没有丢包的最大速率。
路由器configuration了WPA2,SNMP和RIP v1启用。 没有filter处于活动状态,信标周期为100,RTS阈值为2347,分段阈值为2346,DTIM间隔为1。
笔记本电脑的操作系统是Xubuntu 13.10没有任何优化或调整。
这是正常的吗?
由于无线协议的巨大开销,在小帧大小的情况下吞吐量显着降低是正常的。 对于54 Mbps 802.11g连接,您的第一个testing结果的数字看起来相当健全。
根据stream量方向的不同,可能会出现带宽差异 – 根据configuration的电源pipe理scheme,无线networking接口可能会dynamic协商较低的节能传输速率。 但是在这种情况下看看你的结果,我认为这个数字在说谎 – 对于第二轮中的前四个探测器组来说,54Mbps是不合理的。