中国科技产业化促进会主办    投稿邮箱:204151826@qq.com    cngxkj@126.com

微信公众号

微信公众号

天津 河北 山西 辽宁 吉林 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 内蒙古 黑龙江
网站首页 > 科技大数据 > 人工智能 > 正文

技术分享:国民远控向日葵如何通过BBR算法提升远控体验?

来源:CSDN技术社区 时间:2022-08-18

  决定远程控制服务体验是否优秀的核心点之一是网络。网络环境优秀时,远程控制的体验自然是高清流畅,但事实上,很多需要应用到远程控制的场景其网络环境远远称不上优秀,在这类弱网环境下如何保证远程控制服务依旧能够有十足的稳定性,是远程控制厂商们的一大课题。

  “国民远控”向日葵为优化弱网环境下的连接稳定性问题并提升带宽的利用率,已于早前完成了一次技术升级,全球各地的主要服务器均支持BBR拥塞控制算法,该升级可以让服务器之间的连接更快,端与服务器的连接更稳定。

  而作为本次技术升级核心的BBR拥塞控制算法,受到的关注却比较少,各路资料和宣传中均鲜被提及,这篇文章将介绍这一算法,并且实测引入BBR拥塞控制算法之后的向日葵在弱网环境中的提升。

  拥堵控制算法的“来龙去脉”:从“Cubic”到“BBR”

  ● TCP拥塞控制(Congestion Control)算法

  互联网经历了几代的发展,从上网需要电话线带宽只有几十Kbps,到现在随时随地上网,最新的5G更是让我们获得了Gbps的接入带宽,这在以前很难想象。不过,在互联网快速发展的背后,它的技术基础有相当一部分仍然构建于20年前甚至更早。TCP拥塞控制(Congestion Control)算法就是其中之一。作为专有名词它很少被提及,但我们的一些经历,比如明明网速很快但下载却很慢这样的事很可能跟它有关。

  互联网上的两点通信时,会经过很多路由,每经过一个路由设备叫一跳(hop)。每一跳都有不同的带宽,有大有小,两点之间的可用带宽是每一跳中的最小值,被称为Bottleneck BW,因为是公共链路,它们几乎总是拥挤不堪,丢包和排队经常发生,可用带宽也时大时小,这很常见。

  不过7层应用程序并不需要关心这些,即使排队和路由抖动产生了丢包或者数据错误,4层的TCP协议也会处理,它会重传并进行带宽控制。重传用于保证数据的完整性,带宽控制则确保有限的带宽资源被尽可能公平分配,减少排队和丢包,这就是拥塞控制算法的核心,是的,为了公平。除了带宽,通信的另外一个重要指标是延时,用RTT(Round-trip time)计量,是一个包从被发送到收到ACK的间隔,一般是以毫秒计。RTT也与拥塞控制密切相关。

  ● Cubic拥塞控制算法

  1980年代的互联网崩溃,促成了TCP拥塞控制的落地。经过十多年的发展,Cubic出现并延续至令,目前它仍然是互联网主流的拥塞控制算法,它基于著名的“加性增,乘性减”(AIMD)控制律,将丢包作为网络链路拥塞的指示。它会检测丢包,发现时便会主动降低发送频率,减少拥塞。这被称为“基于丢包”的拥塞控制算法。同类算法有几个,像更早前的Reno, BIC等。

  由于只有当路由器的队列满了以后才会有丢包,因此,这类算法倾向于快速填满瓶颈路由器的缓存,然后急剧降低发包(减少50%),当队列空闲后又慢慢填满,周而复始。

  Cubic算法的正常运行对链路的丢包率有一定的要求,在丢包率较高的长肥管道环境下,其发送窗口会迅速收敛到很小。另一方面,当实际可用带宽增大时,它总是会花固定的时间去探测然后慢慢增大,显得缓慢而笨拙。

  ● BBR拥塞控制算法

  Cubic在拥塞避免阶段会逐渐加大发送窗口直至填满瓶颈队列,这种机制加速了拥塞的形成,造成了网络延时的波动。在链路瓶颈处保持最大带宽和最小延时的状态是拥塞控制的目标,但明显Cubic在目前的互联网环境中已经不能很好的胜任。谷歌提出一种基于延时带宽积的算法BBR (Bottleneck Bandwidth and RTT),使用了交替测试链路的最大带宽与最小的RTT的方法,来寻找名为Kleinrock的最佳操作点,这个点,核心特征是报文开始排队。如下图所示,Cubic的拥塞控制点是排队并且缓存已经满了。

  将最近10次往返中测得的最大带宽视为Bmax,将过去10s中测得的最小RTT视为Tprop,然后根据这两个值估算BDP。

  BBDP = Bmax × Tprop

  BBR分别通过窗口增益和起博增益来调整CWND和发送速率,进而控制其发送行为,将拥塞快速收敛到最佳控制点。

  向日葵引入BBR之后在弱网环境的提升

  前文已经详细介绍了BBR拥塞控制算法的发展历程和实现原理,接下来将具体介绍引入BBR拥塞控制算法之后,向日葵在弱网环境下有怎样程度的提升。

  向日葵的实验室数据显示,在跨国的弱网环境中,未使用多路复用的单连接应用,BBR能提升约10倍的端与服务器间的可用带宽(如:由120Kbps提升到>1Mbps)。同时,国内的服务器间互联时,BBR能提升1倍以上的服务器间带宽利用率(由40%到85%)。

  向日葵实际应用数据显示,在经过支持BBR的服务器中转后,向日葵的连接带宽提升了3倍以上,帧率提升了5倍以上。

  因此,我们可以得到如下结论:BBR拥塞控制算法能显著改善向日葵在部分使用场景下的用户体验。

  当然,除了BBR拥塞控制算法,向日葵优秀的远控体验还得益于大量其他的技术优势,例如:、丢包重传及抗丢包(ARQ/FEC)技术、Visualsaliency算法、自研SADDC图像算法等等。事实上,正是向日葵经年累月在技术上的坚持不懈和极致追求,以及对技术细节的不断打磨,才能够不断突破技术瓶颈,造就如今行业的领先地位。

上一篇:突破存储边界 赋能开放计算 | 西部数据亮相OCP China Day 2022
下一篇:阿尔法蛋AI双语听说宝上市,实现听、说、学和测试的闭环

1.凡本网注明“来源:《中国高新科技》杂志”或“来源:中国高新科技网”的所有作品,版权均属于《中国高新科技》期刊社所有,未经本社授权,任何单位及个人不得转载、摘编或以其它方式使用上述作品。已经本社授权使用作品的,应在授权范围内使用,并注明“来源:《中国高新科技》杂志”或“来源:中国高新科技网”。违反上述声明者,本网将追究其相关法律责任。

2.凡本网注明“来源:XXX(非《中国高新科技》杂志或中国高新科技网”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

版权声明:凡注有稿件来源为“中国高新科技网”的稿件,均为中国高新科技网版权稿件,转载必须注明来源为“中国高新科技网”
关注我们

微信公众号

百家号