当我使用 ISP 提供的全部带宽时,每个网站的延迟都极高,超过 1000 毫秒。
我测试了包括我自己在内的 3 个朋友的互联网连接。在开始下载之前,我读取了 google.com 的延迟,并在下载过程中读取了另一个延迟。这 3 个网站的延迟非常接近。波动并不大。但我的延迟立即超过了 1000 毫秒,并且大部分时间都停留在 1800-3000 毫秒左右。我进行了跟踪路由,发现大部分延迟都是在我 ISP 的默认网关中产生的。这是我的 ISP 最近遇到的一个问题。以前没问题。他们对此根本无动于衷。
我想知道的是,我的 ISP 做错了什么?他们的路由器配置有问题还是其他什么问题?请帮我,这样我至少可以指出他们的问题。
谢谢。
答案1
链路饱和时的高延迟是路由器/调制解调器设计缺陷(称为缓冲区膨胀)的明显迹象。
跑步http://dslreports.com/speedtest(如果它支持您的国家)通过台式机/笔记本电脑的网络浏览器检查您的缓冲膨胀等级。
解决缓冲区膨胀问题的方法是智能队列管理,使用 Cake 和 FQ-CoDel 等算法。许多基于 Linux 的售后开源路由器固件发行版(如 OpenWrt)都支持 SQM,一些供应商也已开始将 SQM 构建到其工厂固件中。
一个交钥匙解决方案是来自 evenroute.com 的 IQrouter,这是一款预装了 OpenWrt 的优质 TP-Link 型号,提前设置了 SQM,并配备一些自定义软件以随时保持 SQM 处于调整状态。
当这个话题出现时,那些好心但了解不多的极客们经常会传播两种广为流传的错误观念,下面让我来揭穿一下这些观念:
- 链路饱和并不一定意味着高延迟。通过适当的队列管理,您可以保持链路饱和,同时仍具有相当低的延迟。TCP 等网络协议旨在保持链路饱和,以便您的网络操作(文件下载或其他操作)尽快完成,这样您就可以获得所支付的所有带宽。
- 使用 QoS 来优先处理一类流量(例如游戏)而不是另一类流量(例如视频流),这不是解决缓冲区膨胀的办法。它只是把问题推给别人。SQM 是解决缓冲区膨胀的办法。