5G 时代是时候全面解决 TCP 的效率问题了

回顾过去一年工业界在实时网络方面的探索,大量的篇幅留给了基于UDP的SRT、QUIC等明星协议,包括Google以及国内的B站都有令人欣喜的实践。但不可否认TCP在整个互联网依然占据统治地位,UDP并非银弹。本文由LiveVideoStack对Cascade Range Networks CTO/联合创始人范醒哲的邮件采访整理而成,作为一名研究UDP和TCP十多年的老兵,范醒哲剖析了UDP与TCP的优势与不足,并预测了5G将带来的网络协议与应用变革。在LiveVideoStackCon2019上海音视频技术大会上,范醒哲将详细介绍TCP技术的未来。

文 / 范醒哲

整理 / LiveVideoStack

LiveVideoStack:范醒哲你好,简单介绍下自己的工作经历,以及在Cascade Range Networks负责的工作内容和感兴趣的技术方向。

范醒哲: 我是2005年参加工作,第一份工作是在学术界,在University of Miami 电子与计算机工程系作Visiting Assistant Professor,主要教授计算机网络方面的课程和从事TCP方面的科研。当时英国剑桥大学和美国一批院校引领了一股网络建模优化潮,通过数学建模,一些相关领域的科研人员得以将控制理论博弈理论等根基深厚的理论研究应用到计算机网络协议的研究上,辅助传统的计算机网络系统工程设计。我当时带着系里的几个博士生从事此方面的研究,后来研究成果都发表到相应的 IEEE等刊物上,其中一篇TCP的研究文章引起了硅谷创业公司Aspera的注意,于是由朋友牵线搭桥我加入了这家早期创业公司,专门从事网络协议方面的研究与开发。当时我主要从事基于UDP的应用层协议研发。后来公司被成功收购,我开始思索下一个大的问题在哪里,注意到这么多年TCP一直是工业界的痛点, 正因为TCP协议的诸多效率问题,才让大家思变去找新出路,于是我和朋友商量后决心将这个痛点问题彻底解决,于是就开始了我的第二次创业之旅。我们现在的公司Cascade Range Networks为企业提供新一代 TCP协议,颠覆TCP的低效,让老树开新花。从学生时代起,我就一直作网络协议方面的研发工作, 做了将近 20年了,也是越做越感兴趣,我的兴趣关注点也主要在各种网络协议上 。 

LiveVideoStack:我注意到您一直专注在网络传输技术,回顾历史,您认为网络传输技术实现了哪些里程碑式的演进?未来的挑战和突破口在哪里?

范醒哲: 网络传输技术这些年发展很快,各种开源的和商业方案层出不穷,仅是文件传输领域就有多家公司,音视频流媒体领域更是出现了很多针对特定应用场景比方说实时音视频交互的Framework。这些Framework基本上都是基于UDP的应用层框架。选择UDP有诸多原因,一个主要原因就是TCP对广域网丢包和时延非常敏感,直接导致TCP远距离使用带宽非常低效,因而无法满足某些特定应用的要求。

从大的方面说,我个人觉得传输技术正在从基于内容的方案到真正提升底层协议效率的转变。早期有像Akamai这样的CDN内容分发技术提前将内容分布到用户附近,后来又有了像Riverbed这样的WAN Optimization 技术通过内容差分(比如WAN De-dupe)减少远距离传输的内容大小。这类公司依靠CDN和WAN Optimization技术迅速崛起,共同造就了上百亿美金的大市场。基于内容的传输本质上就是提前预传输或者减少传输数据量从而提升传输的时效性,再结合带宽的批量采购与零售,解决终端客户很多数据传输方面的问题。这些年随着链路及路由管理自动化,又出现了SD-WAN的热潮,从传输角度看SD-WAN好比是收费高速公路,较共享链路路况好,时延低,可保证某些特定应用的时效性要求,缺点就是对终端用户而言费用高,而且SD-WAN主要解决高速主干路段传输问题,未很好解决接入通道的低效(好比市内接入收费高速的路段拥堵)。随着这些内容分发和带宽管理技术的慢慢成熟,数据传输行业也逐渐开始关注如何提升协议层的传输效率。CDN,WAN Optimization, SD-WAN都广泛使用了各种TCP tuning对TCP传输协议进行改良,这好比是给车换机油和调整引擎参数来提升TCP在某类链路上的效率。在UDP领域行业则基本采取在应用层重建TCP的某些机制的办法,如在UDP协议基础上重建重传机制以满足一些特定应用的需求,实例比方说Google推出的一些应用层传输协议。

最后想提一下,我个人认为从数据传输角度看是时候全面解决TCP的效率问题了,而不是再像过去那样只针对某类网络进行小修小补式的改良。网络各层的效率都在提升,从物理层到应用层,包括基于UDP的协议都在迅速发展,而作为当年赫赫有名的TCP/IP的TCP协议却迟迟未被深度挖掘,这中间有历史原因,有技术原因,但是TCP优化始终未跟上应用的需求,这是挑战也是机遇,时代呼唤新一代的TCP协议。

LiveVideoStack:根据思科的报告,2022年,5G流量站到整个移动设备流量的12%。5G对于多媒体传输带来哪些本质变化呢?

范醒哲: 5G人未到,声先至,现在也是各种媒体关注的焦点,如前面提到的,5G极大的解决了网络底层传输带宽问题,几乎所有的人都期待5G能极大的提升传输速度,为多媒体传输带来变革,像超高清3D、VR、AR等数据量极大需要带宽更多的音视频应用都会因为多媒体传输速度的提升可以通过互联网进入更多的家庭。5G提升网络底层带宽的同时也将势必暴露出其上各网络协议层的瓶颈问题,而这些瓶颈是否能真正解决将影响多媒体传输的未来。我们知道端到端用户感知的提升,绝不仅受限于5G技术,从目前来看,网络传输层和应用层仍是最主要瓶颈。举例来说在旧金山市中心,现在4G普通手机在白天时段可用带宽实测已经是100Mbps,可以支撑绝大多数的音视频应用,但是大家还是无法体验 100Mbps所能支撑的诸如4K高清视频等应用,这主要就是因为上层协议的各种瓶颈问题。 5G的到来会像催化剂一样,加速多媒体传输的发展,带动整个上层协议和应用的革新。从这个意义上讲, 作为一名为传输和应用平台提供优化技术的工程人员,我也是摩拳擦掌,愿意加入到这场速度和用户体验提升的大变革中。

LiveVideoStack:未来几年,哪些行业与场景会成为多媒体传输触达的领域呢?

范醒哲: 多媒体数据作为一种大信息载体势必将来成为IoT,自动驾驶等行业的边缘设备所消耗的主要流量之一,比方说自动驾驶期待有大量的行车视频信息要上传至智能数据中心,这些数据和其它行车数据一起对自动驾驶技术的研发,及自动驾驶普及后的车辆控制、管理和安全都非常重要。除了自动驾驶外,超高清视频通讯将更一步普及,智慧城市也将更多,而其中的数据流绝大部分也将为超高清多媒体数据,可以说各行各业都会越来越多的使用和传输多媒体数据。

LiveVideoStack:像TCP和DASH提供了统一的网络和容器标准,您看好哪些标准正在变得越来越重要和流行?

范醒哲: 一个标准流行起来需要两点,一是覆盖和二是穿透。覆盖是说是否能为绝大部分互联网软件和硬件应用比方说各种浏览器,各种终端设备所支持,穿透是说是否能为绝大多数防火墙和网络设备所允许。从这个意义是讲,我觉得HTTPS是未来最重要的协议标准,而其基于的TCP协议也会是最重要的传输协议标准。作为对比,基于UDP的应用层协议,虽然在骨干网某些特定场景下被使用,但真正面对千家万户的各种终端时,因为其部署往往不能为所有终端和浏览器所支持,还受到某些防火墙的阻挡而必须以TCP作 fallback备胎方案。因而在这类特定应用场景里,UDP方案的流行也离不开TCP,而且作为fallback备胎方案的TCP在平台上支撑的数据流数往往也远超UDP所支撑的数据流数,这好比NBA比赛,一个替补队员得分远超主力首发。当然在某些UDP流行的场景下,TCP作为替补队员的确存在短板,但是随着短板的改进,TCP在这些场景下也会变得更重要和流行。

LiveVideoStack:一些专业公司提供出色的网络传输技术,但他们的标准是私有的,这可能在与其他标准服务切换过程中存在高风险和成本,同时可能是企业保护自己的一种策略。您如何看待开放标准与私有标准的价值与利弊?

范醒哲: 你的问题里涉及了几个概念,我先罗列一下:公有(开源)vs私有(闭源),标准vs非标准。在传输领域这些年公有开源协议往往走的是非标准的道路,因而需要企业去学习、集成、运维,除了时间成本巨大外,每年的维护成本也是相当可观,而且如要真正做到为企业平台定制优化,还需额外的研发与迭代,而这种研发的人力资源本身往往就是稀缺的,所以我们常见的一种现象是公有开源从运维集成角度来说并非免费,而且某种意义上说是非常昂贵的,本质原因就是这些开源采用了非标准的路线。

在社会高度分工的今天,我个人是标准协议的倡导者,无论这个标准协议是开源的还是闭源的,如果有公司可以更高效的低成本的提供一个部件,为什么不去把资源调动到企业的核心业务上呢?这就好比现在的汽车厂商,零部件其实很多都是从第三方订购的,比如发动机,如果有发动机厂商可以以更低廉的成本生产优质的发动机,为什么需要每个汽车厂去根据开放标准去自己生产发动机呢?生产就意味着质量控制,这些往往需要大量的投入。结合我们自己的经历,虽然我们的协议是私有协议,但是我们是TCP标准的坚定支持者,无论是私有协议还是公有协议都要遵循标准,这样才能没有切换的成本,真正为终端企业和用户考虑。比方说当你考虑采用私有的传输协议时,与TCP兼容绝对是我们倡导和追求的,这样企业将来想换成其它开源或者私有TCP协议时就没有切换的成本。

LiveVideoStack:基于UDP的QUIC和SRT备受关注,许多公司开始在生产环境下应用,展现出一定的优势。与此同时,TCP还在不断优化中。您如何评价UDP与TCP的优势与不足?作为企业应该如何抉择?对此,您有哪些建议?

范醒哲: 数据传输瓶颈问题始终伴随着互联网的成长,且以不同用户感知的形态而展现,很多公司在苦等底层传输协议性能提高的过程中,集成使用了像QUIC和SRT这样的上层方案来解决生产环境中的一些问题,熟悉这个过程的公司一定知道,这种集成和之后的维护并不是一个令人愉快的过程,耗时耗力,针对特定企业生产环境的优化还需要额外调试。这些集成往往还造成了方案锁定,就是这些方案本身都是拍他的,将来有更好的技术出现时,又要经历昂贵的切换 。

UDP的优势是对某些特定场景应用能在一定程度上解决时延问题,但它的不足之处也是非常明显的,除了上面说的切换成本很高以外,因为UDP协议本身 是IP协议的简单封装,任何复杂的传输机制比方说重传机制等只能在应用层重建,从而导致方案消耗额外CPU和内存资源且需要服务端和用户端同时部署,而考虑到用户端软件和硬件的广泛性,这就造成了很难做到广泛的覆盖和穿透(覆盖是指能否为绝大部分互联网软件和硬件应用比方说各种浏览器,各种终端设备所支持,穿透是指能否为绝大多数防火墙和网络设备所允许)。UDP的另一个不足是基于UDP的应用层协议收发两端往往不为一个企业实体所拥有,这也极大增加了部署的难度。

TCP的最大优势就是覆盖和穿透,像基于TCP的HTTPS,是当今最广泛使用的协议,它的不足则在于针对低时延应用,如交互式音视频上略显劣势,还有就是对丢包和时延的敏感造成了其在长距离时不能有效利用带宽,而且在带宽检测时暴力发送会造成带宽的短暂拥堵,这两点都会造成带宽上的浪费。TCP的不足是有目共睹的,现在是彻底全面解决TCP短板的时候了。

LiveVideoStack:越来越多的企业采用一家甚至多家云端的多媒体服务,这些云服务需要通过API来互相对接。统一、强壮、易用的API对于多媒体生态是否有促进作用呢?

范醒哲: 统一、强壮、易用的API,没有Vender的方案锁定,没有切换成本,都是整个行业所乐见的。我并不是多媒体云服务的专家,但是我想所有用户都反对非标准的API,近几年一些国内外云平台利用自身市场优势开源强推自己的API实际上也造成云和云之间的割裂。无论是开源还是闭源若企业都能支持统一的API或标准,就能便利整个行业内企业间的对接。比方说视频云,为了解决一些视频进云的传输效率问题某些企业采用非标准的双端应用层传输协议,这样做的一个很大问题就是当视频需要上传第三方时,对接就会遇到很大阻力,因为大型公有云平台往往不支持需要双端部署的非标准应用层协议。网络传输层的标准Socket  API,一直是我们数据传输层最主要的协议标准,厂家可以有自己内部实现上的不同,但只要从外部看起来若是同一套Socket API,就能保证互通,当有更好的实现,用户切换成本也为零。

LiveVideoStack:网络的本质就是把数据从一端传输到另一端,保证数据及时(低延迟,高带宽)、准确(数据完整性)、安全和更低的成本。对于多媒体传输而言,您认为有哪些更深刻的挑战?

范醒哲: 多媒体传输是一个很大的概念,涉及很多行业和应用场景,不同应用也有不同的性能需求,总体而言,多媒体传输首先面临的挑战是通用数据传输的挑战。在低码率情况下,这种传输的挑战往往并不明显,传统的传输协议即可胜任。但是随着超高清视频分辨率的提高,码率的提升,距离和环境带来的挑战就会慢慢彰显,比方说距离会导致时延,环境干扰会带来丢包,而现有的传输协议又对延时和丢包敏感,这就带来了传输层协议不能够胜任大数据多媒体远距离传输的挑战。尤其是在不久的将来迎来5G,迎来4K和8K视频,当带宽道路不再是瓶颈,上层的各协议层作为信息车载是否能高速快递多媒体信息将是一个切实的挑战。

在多媒体传输中还有很多特定的挑战,比方说在超高清会议系统里,低延时的挑战,首屏等待时间的挑战,视频卡顿的挑战, 转码和安全的挑战等等。这些问题与挑战有些跟数据传输直接相关,有些则是衍生难题诸如视频转码和数据安全等。跟数据传输直接相关的多媒体传输挑战从本质上说都是数据传输瓶颈从不同用户感知以多媒体的形态展现了出来,所以本质上也是传输协议的挑战。跟传输间接相关的挑战诸如转码等,这些挑战的解决跟数据传输也是相辅相成的,比方说现在某些公司提供新的AV1转码技术,这些技术比现有技术能更进一步压缩视频数据,可以完美的结合新的数据传输技术解决一些更难的多媒体传输中的瓶颈问题。

点击【阅读原文】或扫描图中二维码了解更多LiveVideoStackCon 2019 上海 音视频技术大会 讲师与议题信息。