室友观看中国网站的视频时网络连接延迟。QoS 可以解决问题吗?

室友观看中国网站的视频时网络连接延迟。QoS 可以解决问题吗?

我的室友是一名来自中国的留学生,喜欢使用一个中国网站在线观看中国电视节目(我们在美国东海岸)。但这导致我们的网络延迟飙升到离谱的高水平,ping 4.2.2.2 时达到约 400 毫秒,范围从 100 到 1000+(正常范围是 20-40 毫秒)。不幸的是,她想装傻,所以我必须找到一种不需要她服从的方法来解决这个问题。

我当前的路由器 (Netgear N150 WPN824N) 不支持 QoS 或任何具有该功能的流行自定义固件(据我所知)。所以我考虑购买内置 QoS 的更昂贵的路由器或支持 Tomato、dd-wrt ​​或其他东西的更便宜的路由器。但我不确定问题是什么,也不确定 QoS 是否会有所帮助(即人们在花钱之前最好知道的事情)。最有可能的罪魁祸首网站 tv.sohu.com 不是英文的,而且大部分视频内容都有地区限制。所以我真正能测试的只是网站本身的延迟(从我住的地方来看大约是 350 毫秒)。我不知道这是带宽问题,还是网站使用了某种奇怪的自定义协议,或者其他可能成为影响因素的因素。我不是网络专家,所以除了高带宽消耗之外,我真的不知道哪些因素可能会以这种方式影响网络性能。

不过,我确实知道我的网络连接一开始就很差。当我尝试从 Steam 下载游戏时,我的峰值速度可以达到约 2.5 mbps,这会导致严重的延迟。但 2.5 mbps 占用的带宽很大,我无法想象那个网站会消耗这么多。

答案1

室友观看中国网站的视频时网络连接延迟。QoS 可以解决问题吗?

我没有读完整个故事,但根据你提出的问题,答案通常是并不真地. 在某些理想情况下,QoS 可能部分如果您使用某些高优先级服务(如 IP 语音),并且数据包已正确标记,并且您的上游提供商尊重 QoS,则可解决此问题。但是,如果您的数据包和您室友的数据包的优先级相同,则它对您没有帮助。

你想要的是某种主动队列管理

当你的室友观看视频时会发生什么?嗯,你们共享的路由器/调制解调器会接收大量数据。为了防止丢失这些数据(这些数据以调制解调器可以接收的速度快速传入),它会在调制解调器内创建一个越来越大的内部缓冲区,将所有数据包数据排队。

它必须这样做,因为它接收的 IP 数据包是无序的,并且来自多个地方(您的下载、室友的下载等),并且必须将这些部分重新组合在一起以形成完整的 TCP 数据包。因此,它创建了这个巨大的缓冲区以避免丢失任何数据包;否则,如果缓冲区较小,某些数据包将不得不被丢弃,这可能导致需要重新发送数据。

不幸的是,一旦缓冲区超过一定大小,缓冲区的好处就会被它的缺点所抵消。“膨胀”缓冲区的主要缺点是存在巨大的潜伏与数据包的接收有关。

延迟意味着发送或接收数据的应用程序必须等待很长时间才能确认数据已正确发送或接收。由于 TCP 套接字中的数据被另一端“确认”以确认“OK,我收到了!”,因此另一端可能认为在数据包丢失的一定延迟后,仍然尝试重新发送。因此,大缓冲区的目标是防止重新发送,但在这样做的过程中,它导致重新发送!!!每次重新发送只会消耗/浪费更多的带宽,并增加延迟。

从概念上讲,主动队列管理是一种解决方案,它试图聪明地限制缓冲区可以增长到多大。通过保持缓冲区尽可能小,同时又足够大以防止最多由于等待无序数据包而导致数据丢失,您可以防止缓冲区膨胀

多年来,研究人员一直在尝试设计一种算法,该算法可以实现适当的主动队列管理 (AQM),而无需任何手动用户配置或调整(因为这会耗费时间且令人烦恼)。这只是一种“灵丹妙药”,可以适当平衡队列大小,同时最大限度地减少数据包丢失和延迟。

到目前为止,我们发现在家用路由器上取得巨大成功的唯一功能是受控延迟 (CoDel) 主动队列管理,这是 Linux 内核的最新添加功能。

CoDel 非常有用,因为它控件延迟(数据包的延迟)。如何对于这个问题来说,这样做有点太技术性了。

您可以阅读以下有关 CoDel 的链接:

CoDel 在 bufferbloat.net 上

CeroWRT

Jim Gettys 在 codel 上的文章

编辑:QoS 只是解决方案的一半。基于端口的 QoS(例如,赋予数据包更高的优先级)只能起到一定的作用;它根本不会减少缓冲区膨胀,并且延迟仍然很高。但数据包丢失可能会略有下降。

柯德尔结合服务质量,啊啦路由器上的 CeroWRT 确实是最好的方法。

答案2

如果您 100% 确定该问题仅当您的室友正在流式传输视频时才会发生,那么 QoS 将帮助您解决这个问题。

没有“来自中国的诡异协议”或任何可能影响延迟的东西。这完全是为了使您的连接饱和。当排队的数据包数量超过您的连接可以处理的数量时,每个数据包都必须“等待轮到它”,这显然需要 400 毫秒。

通过使用 QoS,您可以(为自己)开辟出足够的空间,以确保数据包可以通过,而不会在大量流视频数据包旁边排队。

答案3

首先,我会试着和你的室友谈谈某些习惯是如何对你的生活产生负面影响的。除此之外,QoS 确实可以解决你的问题。你可以限制她电脑、某些网站或无线客户端等的带宽。DD-WRT 有一个很棒的 QoS 界面,允许非常详细的配置。但是,它需要一些技术知识来配置/刷新路由器的新固件。DD-WRT 网站有详细的教程,在这种情况下对你来说是一个很好的资源。

DDWRT 路由器数据库,确保您购买的产品受到支持。

相关内容