为什么我的 802.11g 无线局域网这么慢?

为什么我的 802.11g 无线局域网这么慢?

我家里有一台 Netgear DG834G ADSL 调制解调器/802.11g 路由器。我的笔记本电脑和媒体中心 PC(均为 (K)ubuntu 10.04)的连接速度均为 54 Mbit/s,但在两者之间复制文件的平均传输速度约为 9Mbps。无论我使用 scp、FTP 还是 iperf,我都看到相同的速度。

我尝试使用 scp 将一些内容从我妻子的笔记本电脑(Windows 7)复制到媒体中心和我的笔记本电脑,这两种方式的平均速度都达到约 6 Mbit/s。

三台机器的无线连接速度大部分时间都为 54 Mbit/s,有时会降至 48 Mbit/s。三台机器和 Netgear 路由器之间的距离都在 4 米以内,中间没有墙壁。

根据我在研究此问题时在其他网站上找到的信息,我尝试将无线路由器上使用的频道更改为 1 和 6(默认为 11),但没有任何效果。我甚至尝试强制路由器仅使用 802.11g,这也没有任何效果。

我知道吞吐量永远不会达到 54 Mbit/s,但肯定会比我目前能够达到的要高得多。

我是否遗漏了一些显而易见的东西?

答案1

不要忘记,当客户端与接入点通信时,会有大量的加密和协议开销。

我的经验:如果您的连接非常好并且周围没有太多其他客户端和网络,那么您在 54 MBit WLAN 上的速度将达到大约 2 MB/s(兆字节/秒)。

答案2

它们共享同一个信道。据我目前所知(不多),设备之间共享 54 Mbit/s。因此,您实际上以 18 Mbit/s 的速度传输数据,加上一些开销和一些冲突/重发......尝试使用有线连接将其中一个设备连接起来,您会看到速度提高了一倍以上。

答案3

如果没有帧突发,802.11g 上的 TCP 效率只有 40-45%。因此,即使您在一个客户端和 AP 之间始终获得 54 兆比特/秒的信号传输速率,您也可能只会看到无线客户端和 AP 远端有线以太网上的某个设备之间的吞吐量约为 23 兆比特/秒。

无线到无线的数据传输只能达到该速度的一半,因为每个数据包必须穿越两次空中:一次从源客户端到 AP,一次从 AP 到目标客户端。这称为“BSS 内中继”,802.11 标准要求 AP 执行此操作,以避免“隐藏节点问题”,即两个无线客户端分别在 AP 的范围内,但不在彼此的范围内。因此,我预计您通过 AP 无线到无线的 TCP 吞吐量约为 11 兆比特/秒,假设一切始终获得 54 兆比特/秒的信号传输速率,并且您的客户端和服务器软件使用 TCP 的效率与 IPerf 一样高。

仅能获得 6-9 mbps 的速度,这听起来有点低。如果暂时关闭无线加密,看看性能会如何,这将会很有趣。如果打开加密,一些较旧/较便宜的设备会变慢。为了保持整洁,请使用 IPerf 进行此测试。

如果关闭加密无法将速度提高到 11mbps 左右,那么接下来我要检查的是 TCP 接收窗口。IPerf 报告您的操作系统默认使用的 TCP 接收窗口是什么,这将会很有趣。如果小于 64K,那么看看通过向 IPerf 添加选项将其设置为 64K 是否-w 64K能使您的吞吐量达到 11 兆比特/秒,这将很有趣。老实说,20K 应该足以实现 54 兆比特/秒的连接,典型的往返时间为 3ms,但有时当网络满载时延迟会增加,因此将 TCP 接收窗口设置为 64K 并非不可能。

答案4

Gen 说得对,所有交通路由器正在与所有流量竞争路由器,包括文件传输的双方。

我想补充一点,Netgear DG834G 并不是一款高性能路由器。

相关内容