我有一台特定的台式机,无论使用什么连接,它的数据包丢失和 ping 值似乎一直很高。我通过 wifi 连接,这台电脑到我的路由器的 ping 值通常约为 800ms,数据包丢失率约为 20%。我尝试过不同的无线适配器,甚至使用手机上的 USB 网络共享,它们的结果都一样。
该计算机运行的是 Windows Server 2008 R2 和 Arch Linux,问题仅在 Windows 上存在 USB 网络共享。我无法在 Linux 上使用 wifi 适配器进行测试,因为它们没有驱动程序。
这也不是位置或硬件问题。我的笔记本电脑可以从同一位置顺利连接,无论是使用自己的无线适配器、台式机有问题但在笔记本电脑上没问题的 USB 适配器,还是通过手机进行 USB 网络共享。
我尝试过禁用路由器上的 11n,所以我知道它是通过 11g 连接的,但出现了问题,我尝试将其设置为 11n,但仍然出现了问题。
我不知道如何诊断这个问题。我在网络设置中找不到任何可能造成这种情况的东西。
答案1
可以检查很多事情:
该主机的网络使用量很大吗?(使用:wireshark)
CPU 使用率过高导致网络数据包丢失?(使用 Sysinternals“进程监视器”)
MTU 设置:您可以有一个次优设置。我只需设置“不分段”位,然后进行越来越大的 ping,看看它从哪里开始中断,然后找出最佳 MTU 设置(即不是由于 ip 和 tcp 报头开销,该数字与 ping 大小相同。有关详细信息,请阅读)。但是谨防:不要更改超过 1 项,并且每次都要进行大量测试。您可能会彻底搞乱您的连接!
路线:您可能会遇到冲突的事情,例如多个默认网关等,可能会产生不必要的流量(例如无用的重复数据包)。
答案2
让我感到不安的是,到路由器的 ping 时间是 800ms。这意味着几乎有一秒钟的时间在单向流量中丢失!在繁忙的路由器上,这个时间可能不会高于 20ms!
在我看来,您似乎没有直接连接;无论是有意还是无意,某些软件或硬件都会“劫持”您的信号。最可能的原因是拨号器或 VPN 处于打开状态,导致在尝试二次连接之前出现长时间超时。另一个可能的原因是有人正在使用中间人方法监听您的信号,并以这种方式造成延迟。
您可以对您的路由器和 google.com 进行 tracert 吗?另外,请验证您是否连接到了正确的 wifi 网络,以及路由器的 MAC 是否与您连接的 MAC 匹配。您可以在 cmd 中使用以下命令来检查是否有人在模仿您的 wifi 网络:
netsh wlan show networks mode=Bssid