我正在尝试解释我的 WLAN 速度。我正在运行华硕 RT-N16 路由器和几台距离路由器 10 米左右的 WLAN 机器。
这是路由器输出:
root@XXX:/tmp/home/root# wl status
SSID: "XXXN"
Mode: Managed RSSI: 0 dBm noise: -81 dBm Channel: 9
BSSID: 48:5B:39:42:B9:AF Capability: ESS ShortSlot
Supported Rates: [ 5.5(b) 6 9 11(b) 12 18 24 36 48 54 ]
802.11N Capable:
Chanspec: 2.4GHz channel 9 40MHz (0x2e09)
Control channel: 11
802.11N Capabilities:
Supported MCS : [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 32 ]
WLAN 计算机显示 RSSI 约为 -36。
路由器->WLAN测试:
iperf -c 192.168.1.2 -i2 -t100
------------------------------------------------------------
Client connecting to 192.168.1.2, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.1.1 port 44516 connected with 192.168.1.2 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0- 2.0 sec 14.2 MBytes 59.4 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 5] 2.0- 4.0 sec 15.2 MBytes 63.9 Mbits/sec
[ ID] Interval Transfer Bandwidth
[ 5] 4.0- 6.0 sec 15.3 MBytes 64.2 Mbits/sec
WLAN -> 路由器测试:
iperf -c 192.168.1.1 -i2 -t100 -w 16KB
------------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5001
TCP window size: 16.0 KByte
------------------------------------------------------------
[156] local 192.168.1.2 port 49278 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[156] 0.0- 2.0 sec 3.35 MBytes 14.1 Mbits/sec
[156] 2.0- 4.0 sec 3.63 MBytes 15.2 Mbits/sec
[156] 4.0- 6.0 sec 3.57 MBytes 15.0 Mbits/sec
使用默认 TCP 窗口大小:
iperf -c 192.168.1.1 -i2 -t100
------------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
[156] local 192.168.1.2 port 49172 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[156] 0.0- 2.0 sec 5.29 MBytes 22.2 Mbits/sec
[156] 2.0- 4.0 sec 6.63 MBytes 27.8 Mbits/sec
[156] 4.0- 6.0 sec 5.77 MBytes 24.2 Mbits/sec
以下是我的问题:
这些速度看起来不是很糟糕吗?
为什么路由器 -> WLAN 和 WLAN -> 路由器的速度会不同?
为什么路由器的 TCP 窗口大小为 16KB,而 WLAN 的为 8KB?
在 WLAN 上切换到 16KB 会降低速度,为什么?
答案1
是的,除了~60 mbit/sec 这个可能的例外,其他数字似乎都不必要地低。
速度不对称可能由多种因素造成。
例如,也许您的路由器的本底噪声较高,因此缺乏接收灵敏度。实际上,哇,噪声为 -81 dBm?如果您可以使用法拉第笼或其他方式来保证周围没有 2.4GHz 射频源,那么看看您的路由器报告的本底噪声是多少会很有趣。-81dBm 相当高。通常 802.11 无线电的灵敏度低至 -95 dBm。分贝是对数刻度,每 3 dB 功率增加一倍,因此这个 -81 dBm 的噪声读数表明您的噪声水平比您的 AP 无线电在没有噪声的情况下可以接收的水平高出 30 倍。
不对称速度也可能是由于无线驱动程序中的错误,或者各个 TCP 堆栈中的不同缓冲策略,或者路由器上的 iPerf 在路由器的小 CPU 上没有获得足够的 CPU 时间。
我的 TCP 窗口计算表明,在典型的家庭“300mbit/sec” 802.11n 网络上,最佳窗口大小应接近 64KB,而不是任何 8-16KB 的无稽之谈。您的路由器可能只有非常有限的 RAM 以降低成本,因此他们可能对内核中的 TCP 堆栈允许使用的 RAM 数量很吝啬。
建议:
- 在 WLAN 客户端和有线以太网 LAN 客户端之间重新运行这些 iPerf 测试。Wi-Fi 路由器在 WLAN 和 LAN 之间的桥接速度通常比作为 TCP 端点的速度更快。
- 使用 64KB TCP 窗口。
- 检查 WLAN 上的 MCS 指数(Tx 信令速率)、RSSI(接收信号强度)和噪声客户在测试期间。如果您距离 10 米且非视距,则可能无法获得 300mbit/sec 的速率(MCS 15、短 GI、HT40),因此在这种情况下您不应期望 iPerf TCP 吞吐量达到 150mbit/sec。如果您获得的 Tx 速率为 120mbit/sec,那么根据经验法则 Wi-Fi 开销为 50%,您在一个方向上看到的 60mbit/sec 速率似乎是合理的。
- 消除其他 2.4GHz 干扰源,例如蓝牙、无绳电话(某些“5.8GHz”无绳电话从基站到手机的频率仅为 5.8GHz;手机到基站的频率仍为 2.4GHz)、游戏机的无线控制器、无线键盘/鼠标、无线网络摄像头/安全摄像头、无线 A/V 发射器、婴儿监视器等。在 2.4GHz ISM 频段进行 HT40(40MHz 通道)几乎占用了整个频段,因此其他用户更有可能与您发生冲突。Apple 的 802.11n 产品故意将自己限制在 2.4GHz 的 20MHz 传输范围内,因为他们希望蓝牙仍能正常工作。
- 考虑退还/出售您的 802.11b/g/n(仅限 2.4GHz)路由器,并购买同步双频路由器。这样,您可以在拥堵较少的 5GHz 频段使用 HT40 802.11n。
- 请注意,您使用的不仅仅是通道 11。由于您处于 HT40 40MHz(“双倍宽度”)通道模式,因此您的控制通道为 11,但您的扩展通道为 7。因此,当您在 HT40 模式下传输时,由于 2.4GHz ISM 频段中的所有 Wi-Fi 通道重叠的方式,您将充分利用通道 11、10、9、8 和 7,以及通道 6 和 5 的大部分重叠部分(如果您所在的监管区域允许使用这些通道,则还有通道 12 和 13 的部分),以及通道 4 和 3 的小部分。您唯一可以使用的通道是不是影响的是2和1。
- 确保当周围有旧式 B 或 G 客户端时,您的 AP 不会尝试使用 802.11n Greenfield 模式。N 的 Greenfield 模式允许 N 设备通过牺牲旧式速率前导码(允许旧式客户端知道 N 客户端何时处于广播状态)来获得一些额外的吞吐量。如果您在周围有旧式客户端时尝试使用 Greenfield 模式,旧式客户端会意外地破坏您的传输。考虑使用 802.11 嗅探器/数据包分析器(如 Wireshark)来分析来自您的 AP 的信标,以确保它没有宣传 Greenfield 模式。
答案2
在 108Mbps 的 WiFi 上,我预计的速度大概是 60Mbps。乍一看可能很正常。