以动制动——网络“治堵”的灵丹妙药

Akamai高级工程经理 Darren Ng

中国互联网络信息中心(CNNIC)于2019年8月发布的《中国互联网状况发展报告》显示,截至2019年6月中国网民规模已达到8.54亿,2019年1月到6月仅移动互联网接入流量就高达553.9亿GB,同比增长107.3%。除了巨大的流量压力和激增的网民数量,智能手机、平板电脑和笔记本等设备种类逐渐丰富;传统的浏览器和新兴的移动应用程序等各式浏览工具不断涌现;音频、视频、游戏、图片等不同内容形式层出不穷;移动蜂窝数据网络、固网、WiFi等“最后一公里”的网络技术发展并普及,整体网络环境变得极其复杂。但无论网络环境如何,普通终端用户只想快速地获取高清且流畅的内容。

这看似简单的需求背后,互联网内容提供商还要面对首帧时间、卡顿率、码率、时延、下载时长、多项任务同时进行时的优先级等针对不同交付内容的性能参数。要想在这样共享的环境中使每个终端用户都能够拥有一个高效率、高质量的体验,网络协议层面的优化必不可少。

拥塞控制,“治堵”关键

网络环境好比市政交通。只有少量行人时,道路永远畅通无阻。当越来越多的机动车、非机动车涌上街头,堵车现象随之而来,于是就需要能有效应对不同状况的交通规则来缓解交通压力。网络亦是如此,流量太大、“路况”太复杂势必会“堵”得水泄不通,而这个“堵”字用行话来讲就是“拥塞”,用来“治堵”的网络“交通规则”即是TCP(传输控制协议)拥塞控制算法。

目前,主流的TCP拥塞控制算法主要被划分为两大类:一是以Cubic、Reno为代表的基于丢包的算法,二是包括FastTCP和BBR在内的基于RTT(往返时间)/时延的算法。尽管不同TCP拥塞控制算法的具体运行机制有所差异,但都是通过对需要发送的数据量、拥塞窗口(cwnd)数值及接受窗口(rwnd)可接受的数据量三项参数进行衡量,以达到避免网络拥塞的目的。更进一步讲,采用TCP拥塞控制算法所能实现的理想效果是(如图一),通过算法猜测网络瓶颈在哪里,在达到瓶颈值之前尽可能多地发送数据,同时尽可能接近瓶颈上限而又不超过,而非发生拥塞后再做出反应。

图一、TCP拥塞控制算法运行机制

然而,面对市面上的诸多选择,是否有一种TCP拥塞控制算法能够适用于所有的场景呢?

以一敌百,难以实现

问题的答案自然是否定的,而且Akamai对网络环境状况的监测结果也印证了这一点。Akamai在全球部署了分布最广泛且高度分散的内容交付网络(CDN),具备较高的对整体网络的可见性,Akamai在自身平台上部署了多种TCP拥塞控制算法,包括FastTCP、BBR、QDK、Cubic、Reno等。以Akamai在亚太地区某区域不同网络环境下的有效发包效率为例:

亚太地区某区域移动蜂窝网络的数据显示(如图二),当交付内容的大小在1M至3M之间时,平均有效发包效率最高的TCP拥塞控制算法为QDK(18240.6kbps),比最低的FastTCP快约4.4Mbps,差异高达惊人的33%。使用FastTCP时,有超过半数情况有效发包效率在11940.0kbps以上;而使用Reno时,半数以上的情况有效发包率可达到16048.0kbps,远高于垫底的FastTCP。

而亚太地区相同区域固网的数据则呈现出另一番景象(如图三)。BBR的平均有效发包效率仅为20229.1kbps,是效率最低的TCP拥塞控制算法,而在移动蜂窝网络环境中不太“灵光”的FastTCP反而以22694.9kbps的平均有效发包效率,一跃成为了固网环境里的“优等生”。同时,对超过一半情况有效发包效率可以达到的数值进行比较,FastTCP依然以18618.4kbps保持领先。

图二

不难发现,每一种TCP拥塞控制算法都有最适合它的特定网络环境,没有一劳永逸的方法可以解决繁杂且庞大的网络中的所有问题。因此,如果固化地选用一种TCP拥塞控制算法,必然会出现一部分终端用户难以快速获得高清、流畅内容的情况;但终端用户又是挑剔的,对极致体验的追求不分时间、地点、内容和设备。面对如此难上加难的处境,互联网内容提供商自然不能束手就擒。

以动制动,应势而变

既然网络环境中的拥塞状况时刻处于动态的变化之中,试想如果能够根据实际的网络条件,自动选择出最适合的TCP拥塞控制算法,及时对症下药,难题也就可以迎刃而解。那么,这样动态的优化过程又该如何实现呢?

首先,依托一张能够交付大规模流量的内容交付网络,从中收集涵盖数据类型、网络类型、用户地理位置、网络时延、使用时间段等20个维度的海量数据,作为分析网络环境状况的原始素材。而要利用这些数据完成对网络流量和拥塞情况的分析,并识别出其中的细微差别和特点,依靠人工手段显然不现实,因此需要机器学习来助一臂之力。最后,根据机器学习的分析结果,自动地从所部属的多种TCP拥塞控制算法中,选择出最适合当前终端用户所处网络环境的一种,从而使应势而变的动态选择成为现实。

当前,Akamai正在稳步推进以分析框架、机器学习、TCP拥塞控制算法工具库为主要构成的动态协议优化解决方案。凭借这套解决方案,Akamai期待不仅能够实现对网络使用体验的优化,更能够营造一个相对公平的网络使用环境。未来,Akamai仍将是互联网内容提供商在网络“治堵”道路上并肩同行、值得信赖的伙伴。