Mik*_*per 8 networking wireless-networking openwrt wireless-router
我有一个运行最新版本的 OpenwRT 的 Ubiquity RouterStation Pro。
通过电线直接连接到路由器,或通过交换机,我获得了我所期望的速度,无论是连接到本地网络还是连接到互联网。千兆到本地网络,大约 1.2 兆字节/秒到互联网。
通过无线 G 连接进行连接,我获得了我期望从本地服务器获得的速度,大约为 3 兆字节/秒(当然,它可能会更好,但也不错)。
但是,当我使用与上述完全相同的无线连接并从 Internet 下载某些内容时,我的最大速度约为 30-60 KB/秒。使用 ping 时没有明显的丢包现象。
上述速度测试是通过 http 或 ssh(通过 scp 和 rsync)下载文件进行的。但是,使用进行网络性能测试的工具 iperf,我可以在任何端口上的任何连接(甚至通过无线网络)上获得全部互联网速度。
我真的很困惑。有什么帮助吗?
经过一番思考,我认为问题可能与数据包大小有关(我之前在另一个网络上看到过类似的情况)。为了测试这一点,我使用了ping -f -c 500 -s $SIZE
,(即:发送各种大小的 ping)。在大约 220 的数据包大小以下,ping 的丢弃率几乎为 0%。在此之上,丢弃率迅速攀升,在 512 字节大小时达到 30%。
使用这些数据,我修改了膝上型电脑上的路由表,将 MSS 设置为 220,据我所知,这将 TCP/IP 数据包的大小限制在大约该大小。然后我进行了速度测试,得到 600-700KB/s。好多了!我将与有线连接相比降低的速度归因于具有如此可怜的数据包大小。
我不认为这是固定的,而只是一种解决方法。我仍然想找出为什么会发生这种情况,以及如何解决它。
我猜您正面临无线干扰的问题,因此降低数据包长度可以最大限度地减少丢失数据包造成的损害以及重新发送数据包所需的时间。
如果问题是您家外部的干扰,您可以使用无线网络检测器来检测您周围的网络以及所使用的信道。SSIDer或Kismet中有一些此类产品。然后,您可以选择一个不与邻居冲突的频道。如果可能的话,应优先选择 11 频道,因为它是最强的。
干扰也可能是由您家或邻居家正在运行的重型家用电器(例如洗碗机)引起的。这仅适用于有效网络速度发生波动的情况。
无线路由器的放置位置非常重要。应将其放置在远离金属或电气元件并远离地板的位置。你可以在不同的地方尝试一下,看看是否有效果。使用它的计算机不应放置得太远或位于其范围的末端。
另一种可能性是您家中的某些无线网卡有缺陷并扰乱了整个网络。它可能会用数据包“轰炸”网络并导致冲突。尝试以受控方式打开计算机并测试网络速度(同时拔掉电源线将其关闭)。
最后,您的无线路由器可能有缺陷。尝试另一个路由器来测试它。