我们在家里买了一个新的 WiFi 路由器/ADSL 调制解调器(华硕 DSL-N55U-B),WiFi 连接偶尔会出现非常高的延迟(长达 20 秒,而 ping google 时最常见的延迟为 25 毫秒(ping google.com
在 Linux 上很简单))。这在许多不同的设备(Windows、Linux、Android、iOS)上都会出现,因此这可能不是终端设备上的问题。
我做的第一件事是检查路由器上的 CPU 负载,但它始终保持在 3% 左右。我检查了使用的 wifi 信道,并尝试将我们的信道与附近使用的其他信道分开,但这没有帮助。我尝试的最后一件事是使用 kismet 查看我们的信道,发现重试率相当高,约为数据包速率的一半。我不确定这到底意味着什么,但我觉得这很可疑。
路由器运行的是 Linux,并且我有 root 访问权限,因此我在其上运行的诊断不会受到太多限制。
您能给我一些建议,我应该在哪里继续修复这个问题吗?
编辑
所以我买了一个新的路由器(这次是 D-Link),它工作得很好。我之前用路由器时遇到的问题仍然是个谜 :-) 感谢大家的解答。
答案1
对于软件:
- 尝试安装DD-WRT。看看这是否能缓解问题。可疑的外包来源的劣质软件可能是造成瓶颈的原因。
- 尝试以安全模式启动 Windows,当然要联网。如果一切正常,则正常运行,但尝试终止任何数据包繁重的进程,例如 torrent。我注意到有些路由器根本无法很好地处理 torrent,这不是由于实际带宽,而是由于处理所需的数据包数量。
- 如果您安装了 [DD-WRT],请尝试卸载它并恢复出厂默认固件。我发现 DD-WRT 有自己的随机错误。
对于硬件:
- 尝试更换同型号的路由器。
- 尝试在不同网络上的另一台计算机上使用同一个路由器。
对于网络问题:
- 尝试 Windows 网络诊断工具
- 使用跟踪路由应用程序确认问题发生的位置,以及问题的性质是否是数据包丢失和/或高延迟。
对于射频问题:
- 尝试更改您的 wifi 频道。您所在的地区可能存在太多干扰。您不想使用拥挤的频道,但这更多的是一种带宽优化,而不是解决延迟问题(通常)。
- 您可以使用名为“inssider”的 Windows 程序。它有多种版本,一些免费软件/试用软件可以完成这项工作。
答案2
虽然不完全是您所描述的,但也许是一条需要调查的路径:如果这种“延迟”在连接到网络后不久发生然后消失,您可能需要检查您的 DNS 设置。
有几种情况,您连接到服务时,第一部分运行很快,然后一切都停滞一段时间。当您通过 SSH 连接到服务器并等待实际提示出现时(连接本身处于活动状态),通常会出现这种情况。
您可能希望尝试通过在/etc/hosts
(Linux) 或C:\Windows\System32\drivers\etc\hosts
(MS Windows——我总是发现这是一个存储此文件的奇怪地方) 中直接命名目标设备来绕过 DNS 设置。主机的示例可以是在维基百科上找到。
您还可以尝试打开/关闭 MS Windows 上的各种 LMHOSTS 和 WINS 设置(位于 WiFi 卡的属性 -> TCP/IP 中)
答案3
我会尝试完全绕过无线,然后将计算机插入路由器背面的有线端口之一。这样做,看看您的 ping 值是否有所改善。如果改善了,那么您就知道您的 WiFi 设置有问题,如果没有改善,那么我会开始查看您的 DNS 提供商。
尝试在路由器内切换到 Google DNS,看看是否有什么变化(8.8.8.8)。运行连续 ping 几分钟,以验证您的平均连接速度是否超过旧 DNS。如果是,则说明您的 ISP 的服务器速度慢/过载,请继续使用 Google DNS。如果没有,则您的连接本身可能很差,或者路由器的有线接口也很慢。如果是这种情况,请完全绕过路由器,将计算机直接插入调制解调器。
重复上述步骤,看看是否能缓解问题。如果绕过路由器后连接速度确实更快,那么就换一个新的路由器,故事就结束了。如果没有,那么你的连接问题可能是从你的房子到电线杆,或者从 ISP 端到电线杆。
如果您不习惯刷新路由器,我建议您避免刷新,因为这并不能保证更好的性能。修改 hosts 文件也不是解决问题的万无一失的方法。最好的办法是确保您的设备一切正常,然后再深入研究问题。