我猜我的调制解调器在多个用户同时发送数据包时出现了问题,过去我与其他 4 台设备(电脑和智能手机)共享互联网连接,玩在线游戏(dota、英雄联盟、反恐精英),我的 ping 值正常,为 25~40 毫秒。但现在,我与其他 4 台设备(一台笔记本电脑、2 台智能手机和 1 台平板电脑)共享连接,我的 ping 值非常糟糕!有时会从 32 毫秒跳到 700 毫秒或更长,当只有我的笔记本电脑连接时,没有延迟,我的延迟没有峰值,但如果其他设备与我连接在一起,ping 值会跳到 700 毫秒,无法玩任何在线游戏,导航正常。
所以,我的问题是:我的调制解调器可能无法支持具有良好延迟的多个设备,或者延迟高达 700ms 是正常的吗?我在 cmd 上进行了测试,我让 PC“永远”ping 到我的 IP 调制解调器,在尝试打开网站、在智能手机上下载文件时,我注意到延迟从 2ms 增加到 57ms/130ms/455ms。这正常吗?
我没有专用路由器,我只使用内置路由器 wifi 功能的调制解调器。购买专用路由器会改善连接吗?
看看图像,当我打开网站或尝试在智能手机上使用 Speedtest 时,ping 会出现几次峰值
我在使用有线或 wifi 时也遇到了同样的问题。
附言:抱歉我的英语不好
答案1
您有一个愚蠢的路由器(或者实际上,可能是您的 ISP)。该问题称为“缓冲区膨胀”。基本上,这意味着路由器有大量的 RAM,并且乐于将其全部用于排队等待发送的数据包。您排队的数据包越多,队列就越长,数据包通过队列所需的时间就越长。当 TCP 遇到延迟时,它的运行方式使情况更加复杂。TCP 假设延迟是由链路本身而不是拥塞引起的,例如,卫星链路具有高延迟,因为信号需要花费数千英里的时间才能进入轨道并返回地球。TCP 通过在等待确认之前发送更多数据包来做出响应,这会使路由器缓冲区更加拥挤,从而使延迟变得更糟,并且您有一个正反馈循环。
这个问题几年前就被认识到了,现代路由器限制了队列的深度,并开始丢弃数据包,而不是让延迟失控。如果问题出在你的路由器上,那么买一个新的可能会有帮助。但如果问题出在你的 ISP 端,你就没那么幸运了。你可以通过实验来判断差异,看看哪种类型的流量会导致延迟:上传还是下载。如果是下载,那么它就在你的 ISP 端。