如何减轻 ADSL 连接上的 BufferBloat?

如何减轻 ADSL 连接上的 BufferBloat?

我以前有过有趣的网络体验。搬家之前,我有一个 VDSL 连接,上行速度为 3mb。(下行速度约为 30mb,但目前不相关)。每当我使上行链路饱和时(CrashPlan 备份),我都能看到总体延迟和响应速度变慢,但我仍然可以使用互联网而不会出现任何重大问题。

现在,我搬到了一个更远的地方,那里只有普通的 ADSL+。速度是下行 10mb,上行 1mb。然而问题是,每当我把上行链路用满时,几乎所有东西都会停止运行 - ping 时间会上升到几十秒,总体体验相当糟糕。即使我只使用 50% 的上传速度,延迟也会增加到 500-800ms。

起初,我把问题归咎于连接质量下降 - 然而,现在我认为这是我的提供商方面的配置/网络问题,与我所用的铜线质量无关。让我更加确信这一点的是,我的一个朋友有一个具有类似参数的连接(另一个区域,但与交换机的距离相似),他可以愉快地完成上传,而不会影响整体连接!

那么,问题可能出在哪里?这是著名的缓冲区膨胀问题?如果是,有什么办法可以缓解?技术支持只是告诉我,为了确保连通性,不要过度使用上传功能……在我看来,这是很薄弱的。

我也正在调查一些番茄固件路由器,对此有什么建议吗?我尝试了所有可能的 QoS 设置来降低备份软件的优先级,但这只能部分解决问题。

那么,总结一下 - 您认为这是一个缓冲区膨胀吗?如果是,如何解决它?(除了更换提供商)

答案1

没有理由认为使用 50% 的上传和 0% 的下载会导致 ping 值显著增加。这里还有其他原因。我不知道这是否是缓冲区膨胀。我怀疑这只是调制解调器或线路的物理问题。严重拥塞的连接仍应能够将 ping 值保持在 1 秒以下。如果您的调制解调器支持此功能,我会与 ISP 进行故障排除和/或检查调制解调器统计信息(如果您的调制解调器不支持,您的 ISP 可以检查)。我猜上传时的信噪比低于 6 或衰减太高(大于 55db)

缺乏带宽管理也无济于事(但绝不会导致事情像您描述的那么糟糕)您应该实施 QoS 解决方案;唯一适用于 aDSL 连接的是带有 TC-ATM 补丁的解决方案。我推荐使用 Tomato Toastman 或 Shibby 的最新版本。我的“迷你指南”配置如下:http://www.dslreports.com/forum/r28371690-Cable-Help-Configuring-Tomato-QoS-。您的设置的唯一区别在于,您将“仅适用于 DSL 调制解调器的设置”设置为 32 字节之类的值,而不是“无”。

缓冲区膨胀测试:http://netalyzr.icsi.berkeley.edu/

答案2

这可能是缓冲区膨胀。Tomato 没有修复这个问题。

尝试openwrt,dd-wrt或者cerowrt的qos系统,它们现在都使用fq_codel。

我注意到某些形式的 DSL 使用 ATM 封装,直到最近才出现准确的补偿(在 linux 3.10.12 或更高版本中已修复,当前 openwrt 屏障断路器头,cerowrt 头)

答案3

解决“缓冲区膨胀”问题的方法是完全禁用 ISP 缓冲区,方法是将传入和传出带宽限制在各自的限制范围内。这样,ISP 端的缓冲区就不会被使用,而且您会在吞吐量略有下降的情况下体验到延迟的改善。

tc是用于此目的的 Linux/DD-WRT/Tomato 工具。有一个名为“Wondershaper”的脚本可以在 PC 上实现此功能,也许您可​​以将其改编为 Tomato。

相关内容