我一直在进行一些网络故障排除,我的一台笔记本电脑只能以大约 2 Mbyte/s(15 Mbit/s)的速度在本地网络上传输数据。我进行的测试是从有线计算机向笔记本电脑上的无线 G 网卡传输大约 200 MB 的文件。笔记本电脑距离路由器约 1 米,改变路由器的位置或方向没有明显差异。
阅读为什么我的 802.11g 无线局域网这么慢?,看来 2 Mbyte/s 对于 G 网络来说似乎是一个不错的速度。为什么?当理论最大值为 54 Mbit/s 时,我预计传输速度至少是该值的一半,最高可达 60%。
我使用路由器上的 N 接口进行了相同的测试,速度约为 60 Mbit/s。我预计有关 G 网络的答案也可以推断为 N,对吗?
答案1
如果你处于一个非常干净的信道上,信号强度 (RSSI) 在 -20dBm 到 -60dBm 之间,并且你有一个经过优化的 TCP/IP 堆栈和应用程序,并且高质量802.11g 芯片组,您应该能够看到高达 25 兆比特/秒(如果两端都支持帧突发,则为 30 兆比特/秒)。
请注意,1 米的距离可能太近了。在如此近的距离下,信号强度可能超过 -20dBm,这可能会使信号“太热”,并使接收器过载。高质量的芯片组可能能够处理低至 0dBm 的信号,并且仍能以最大数据速率接收,但我见过许多质量较差的芯片组在 -20dBm 时就失去了最高数据速率。2-3 米的距离是获得最高数据速率的更好选择。
现在已经快到 2012 年了,要找到高质量的 G 设备相当困难,因为 802.11g 是近十年前推出的。现在或过去 3-4 年里,任何仍在制造 G 专用芯片组的人可能都只是为了尽可能便宜、小巧和低功耗(针对智能手机/平板电脑/上网本市场等),这与高质量背道而驰。
2011 年末和 2012 年初,制造高质量 802.11 芯片组的公司正在制造 3x3:3、HT40(450 兆比特/秒)802.11n 设备。即便如此,他们仍将大部分时间花在确保 N 速率达到最优,而较少花时间担心优化与 a/b/g 的向后兼容性。
拥有一个经过良好优化的 TCP 堆栈和一个始终保持 TCP 管道满载的应用程序也很好。我建议IPerf作为一个简单的性能工具,它知道如何有效地使用 TCP。如果您使用 IPerf 获得的性能比使用您正在运行的应用程序获得的性能好得多,那么您正在运行的应用程序可能不是最佳的。查看 IPerf 报告您的机器正在使用的 TCP 窗口,并确保它满足或超过您的网络的“带宽 * 延迟”乘积(您可能需要 20KiB 或更大)。
答案2
可能存在多种原因 - 下面列出了一些主要原因。
首先是干扰 - 无论是来自相同或类似信道上的其他网络,还是来自您网络上的其他站点。如果基站收到干扰信号,则很可能必须重新传输整个数据包。在这种情况下,将使用指数“退避”,这意味着重新传输之间的时间会呈指数增长,以尽量减少干扰。为了最大限度地减少干扰,始终值得查看附近网络正在使用的信道,以获得信道数的最大距离(相邻信道的干扰可能几乎与重叠信道一样多)。
当然有线网络也存在这个问题,有线网络使用的标准退避程序来自早期的无线网络。但一般来说,有线网络只需要担心同一网络上的站点。
其次,无线电波会从表面反射,因此相同的信号可以在两个不同的时间通过两条不同的路线到达同一目的地——再次造成干扰。
第三,应用程序性能。基于 TCP 的协议将使用窗口来调节网络中的数据流。当窗口已满时(因为所有数据尚未在客户端处理),则其他数据将被阻止。这本身不是无线问题,但会增加无线网络速度慢的感觉。