DOCSIS
DOCSIS 3.1如何通过主动队列管理降低延迟
在Ca亚博yabo888vip网页版bleLabs,我们有时会考虑大局,比如统一全球PON标准有时我们关注的是有重大影响的小事情。
在有线调制解调器的世界里,人们对带宽的需求不断增长,宽带速度每年以1.5倍的速度增长,这是一个坚如磐石的历史趋势。但是,除了这一趋势所描述的看似无懈可击的事实之外,还有一个令人困扰的问题:“谁需要每秒千兆的家庭宽带连接,他们会用它来做什么?”我们是否正在接近一个饱和点,客户不再关注更多的每秒比特数?就像现在买新笔记本电脑时,没人会太关注CPU时钟频率一样,百万像素也不再是数码相机曾经的卖点了。
很明显,随着越来越多的视频内容(更高分辨率和更大颜色深度)通过家庭宽带连接按需传输,总带宽需求正在增长。DOCSIS 3.1将提供这种带宽。但是,就直接影响用户体验的因素而言,延迟越来越受到关注。
报文时延和应用性能
延迟是衡量单个数据包在网络中穿行所花费的时间,例如,从平板电脑到web服务器。在某些情况下,它被称为“往返时间”,因为这更容易测量,而且对于许多应用程序来说,它是最重要的。
对于网络工程师来说,延迟一直被认为是特定应用的重要因素。例如,从洲际电话服务的早期开始,人们就知道长时间的往返会严重降低通话的感觉。互联网上的互动游戏也是如此,尤其是那些需要快速反应的游戏,比如第一人称射击游戏。延迟(游戏邦注:玩家称之为“延迟”或“ping时间”)对玩家的获胜机会有直接影响。
但对于一般的互联网使用,网页浏览,电子商务,社交媒体等,人们认为这些东西对延迟不敏感,至少在现代IP网络所能提供的规模上是这样。如果他们的Web浏览流量延迟了几百毫秒,用户真的会那么在意吗?这不过是一眨眼的功夫。当然这不会被注意到,更不用说被认为是一个问题了。事实证明这是一个问题,因为一个典型的网页可能需要10到20个往返时间来加载。因此,网络中400ms的眨眼延迟变成了痛苦的8秒等待。这对于电子商务网站和用户对宽带连接速度的感知来说都是致命的。
事实证明,更多的带宽并没有帮助。升级到“更快”的连接(如果这里的“更快”指的是更多的Mbps)对缓慢的体验几乎没有任何影响。对于一个典型的网页,将连接速度提高到超过6mbps几乎不会对页面加载时间产生任何影响。
如果延迟真的很重要,我们能做些什么?
客户机和服务器之间的距离(以网络链接英里数表示)会导致延迟。目前,信息在网络链路上以接近光速的速度传播,而一些网络研究人员哀叹道:“每个人都在谈论光速,但没有人对此采取任何行动。"(Joe Touch, USC-ISI),似乎一旦我们驾驭量子纠缠我们可以称之为解决了。在那一天到来之前,我们必须依靠Web缓存、内容交付网络和全球分布的数据中心将服务器移动到更靠近客户端的地方。这可以减少往返时间数十或数百毫秒。
延迟的另一个组成部分来自数据包在从客户端到服务器再返回的路径上停留在中间设备上的时间。每一个中间设备(如路由器、交换机、电缆调制解调器、CMTS、移动基站、DSLAM等)在将包送到目的地的过程中都起着重要的作用,每一个中间设备都通过检查包上的目的地址来执行该功能,然后决定将其转发到哪个方向。在每个网络跳点上,这个过程需要一些时间,而数据包等待轮到它被处理。减少网络跳数和使用高效的网络设备可以将往返时间减少数十毫秒。
但是,有一个隐藏的、暂时的显著延迟来源被很大程度上忽略了——数据包缓冲。网络设备供应商已经意识到,如果他们的设备包括吸收传入数据包突发的能力,然后在传出链路上播放它们,他们就可以提供更好的吞吐量和丢包性能。这种能力可以显著提高大文件传输和其他批量传输应用程序的性能,这是判断网络设备优劣的一个指标。事实上,通常的观点是缓冲能力越强越好,因为它进一步减少了由于没有地方放置数据包而不得不丢弃传入数据包的机会。
这种逻辑的问题是,文件传输使用传输控制协议(TCP)来控制从服务器到客户端的信息流。TCP的设计目的是尽量最大限度地利用可用的网络容量。它通过提高数据速率来实现这一点,直到网络开始丢弃数据包。如果网络设备实现越来越大的缓冲区,以避免丢包,和TCP根据它的设计它不会停止增加它的数据速率,直到它看到数据包丢失,结果是网络有很大的缓冲区,当TCP流移动文件时,这些缓冲区一直处于满状态,数据包必须坐在队列中等待处理。
在服务器和客户端之间的瓶颈链路(在许多情况下,这是宽带接入网络链路)顶端的网络设备中的缓冲对延迟影响最大。事实上,我们看到一些这样的设备支持巨大的缓冲区,在许多情况下报告了数百或数千毫秒的缓冲延迟,使其他来源造成的延迟相形见绌。但这是一个暂时的问题。它只在TCP大流量存在时显示。如果在没有此类流量的情况下测试网络连接的往返时间,则永远不会看到它。例如,如果家里有人正在玩在线游戏或试图拨打Skype电话,只要家里的另一个用户发送带有附件的电子邮件,游戏或Skype电话就会出现故障。
这个问题有解决办法吗?
我们能有好的吞吐量,低丢包吗而且低延迟?在Ca亚博yabo888vip网页版bleLabs,我们一直在研究一种叫做主动队列管理的技术,在这种技术中,电缆调制解调器和CMTS将密切关注它们的缓冲区有多满,一旦它们检测到TCP保持缓冲区满,它们就会丢弃足够多的数据包,向TCP发送它需要减速的信号,这样就可以维持更合适的缓冲区级别。
这项技术显示了从根本上改善宽带用户体验的前景,我们已经要求将其包含在DOCSIS 3.1设备中(包括电缆调制解调器和CMTS)。我们还修改了DOCSIS 3.0规范,强烈建议供应商尽可能将其添加到现有设备中(通过固件升级)。
在电缆调制解调器上,我们更进一步,要求设备实现我们专门设计的活动队列管理算法,以优化DOCSIS链路上的性能。该算法基于思科系统公司开发的一种方法,称为“比例积分增强主动队列管理(或者,更常见的是它不那么拘一格的首字母缩写:PIE),并结合了来自CableLabs和我们的几个技术合作伙伴的原创想法,以改善其在有线宽带网络中的使用。亚博yabo888vip网页版
通过实施主动队列管理,有线网络将能够将这些瞬态缓冲延迟减少数百或数千毫秒,这将转化为页面加载时间的大幅减少,并在视频会议和在线游戏等交互式应用程序中显著减少延迟和故障,同时保持巨大的吞吐量和低丢包。
主动队列管理:一件小事却能产生巨大的影响。
Greg White是CableLabs的首席架构师,他致力于为终端用户提供更亚博yabo888vip网页版快的互联网。他讨厌等待8秒钟页面加载。
有关DOCSIS中的活动队列管理的详细信息,请下载白皮书.