编辑:Coco Liang

策划:Ant Bao & Coco Liang

时隔近一年的时间,我们再次有幸采访到了Cascade Range Network的联合创始人兼CEO范醒哲,这次我们和他聊了聊数据传输技术在视频会议中的应用。本文由LiveVideoStack与范醒哲的邮件采访整理而成。

01

老树开新花

从学生时代起,我就一直在做计算机网络协议方面的研发工作,到现在做了将近20年了,反而越做越感兴趣。

2005年的时候,我开始参加工作,在University of Miami 电子与计算机工程系教授计算机网络相关的课程,同时从事TCP方面的科研。

之后由于机缘巧合,加入了硅谷的一家创业公司Aspera,从事基于UDP的应用层协议研发。公司被成功收购后,我开始思索下一个需要被解决的大问题在哪里。

我注意到,尽管TCP是互联网使用最广泛的标准数据传输协议,但这么多年来,其性能问题却一直是互联网、物联网的痛点,于是我开始了第二次创业之旅:解决TCP协议的低率问题。

我们现在的公司Cascade Range Networks在不改变TCP协议标准的前提下,重写TCP的3万行内核代码,重新实现了TCP、解决了TCP为大家所诟病的低效,让老树也开出了新花。

02

我们的产品是一部“越野车队”

最近由于新冠肺炎的影响,大家都在家里远程上课、远程办公、远程会议,很多平常线下的活动全部都移到了线上,有一些行业也被“逼”开直播自救,网络带宽因而压力猛增。如何提升视频流并发量从而更高效地利用网络带宽,成为疫情期间我们遇到的技术难点之一。

比方说原来一条1Gbps的教育线路可以支持300路高清视频流供学生课后复习观看,但是由于疫情,学校的IT部门突然被要求在同样的带宽下支持450路等同的高清视频流。学校发现如果继续使用原有数据传输技术就会出现线路拥塞,这时我们需要做的,就是在不升级线路带宽的情况下仍能迅速支持更多的学生观看教学视频。

攻克这个技术难点的关键,是要对每一路数据流进行精准的速度控制,去除TCP的暴力发送数据、暴力抢占带宽等造成的不必要的数据丢包和数据重传,及时重传丢包的同时不抢占别的数据流的带宽,做到精准的“恒速”发送。

这个工作,就好比是以前的TCP是一群不守规矩的司机,开车频繁换道、加速和刹车,不仅自己没能节省时间还对其他车辆造成了干扰,从而导致道路未满负荷就已经拥堵。

我们所做的就像是为每辆车升级,使其具备自动驾驶功能,这样车与车之间保持匀速小间距,车辆也不再频繁换道,尽可能让道路做到满负荷、高吞吐量并服务尽可能多的数据流。从而支持更多的学生在线上无卡顿地观看教学视频,也降低端到端的延时与滞后。

在上一次接受LiveVideoStack采访的时候,我做过这样一个比喻:如果把带宽想象成“路”,那我们的产品就是无论路况好坏都可以在上面高速行驶的“越野车队”,为客户准确、快速、可靠地“运送”数据。

流量暴增的情况下,数据传输解决方案首先要保证优先传输关乎国计民生的视频数据流,然后再传输相对次要的供大家消遣娱乐的视频数据流,这就对数据传输速度有一个非常高的要求,即在带宽拥堵等不理想的情形下能快速可靠、及时优先地传送重要应用的数据,比方说重要的疫情监控视频等。

以前绝大多数数据传输技术的缺陷在于,在理想的情形下(比方说近距离、低丢包,好比道路路况较好时)能够持续稳定地保证数据传输速度,而在不理想情形下(比方说远距离,高丢包,好比道路路况不好时)就不能够稳定地保证传输速度,进而无法保证及时性,这就造成了很多现有数据传输解决方案依赖于专线(好比铺设专用通道),或者依赖于提前传输预存(好比各地建立很多仓储提前把视频预存在城市附近的数据中心)。

具体来说,在没有像这次新冠肺炎造成的互联网数据流量暴增时,视讯服务提供方往往依赖于像CDN、SDWAN等预传输、预分发或专有线路优化技术,或者FEC等数据冗余技术,面对突然数据流量的急剧暴增,这些技术方案或因实施耗时而无法快速应对需求、或因预传输分发等无法满足实时性要求、或因“冗余”传输量在需求陡增时“浪费严重”。

所以在突发事件发生时,不仅要靠CDN,SDWAN这样的“道路”基础设施类方案,还需要有“越野车队”,能及时的传送数据。在这次突发情形下,我们看到视频类应用的一个核心要求就是在全天候“路况”下,如何保障其所需的传输速度和低时延。这里面有很多算法和系统方面的挑战。

在算法方面,及时的重传技术不仅需要准确的探测丢包还需要准确的预测丢包,这些算法需要一系列的数据结构和软件架构来支持;

在系统方面,在应用层UDP之上实现这些算法相对难度较低,因而近些年来我们看到很多应用层的API的出现,但是在操作系统内核中直接重组重构重写TCP,因内核内部没有稳定的网络传输层API,难度很大。

选择基于UDP的应用层API还是TCP,这个可以说各有利弊,就目前的技术生态来看,完整的解决方案本身两者是都需要的。

03

速度与激情的挑战

这次我们聊的高清会议,在我看来主要有两个挑战,第一是高清带来的传输速度的挑战,第二是会议带来的实时性挑战。

在网络上,大家谈起速度往往同时涵盖了单位时间道路吞吐量和用户感知时延两个概念。如果形象的想象每个数据包在网络里的移动,那数据包移动的平均速度可以用时间来量化,即从数据发送端到数据接收端花了多长时间,在技术上我们称之为时延。

当一个数据包丢失了,这个数据包就需要被重传,所以真正的用户感知时延往往是线路时延的数倍,这个简单的说就是实时性的挑战。

单独一个包到达对用户是没有意义的,视频流需要很多很多数据包才能播放起来,所以需要单位时间的吞吐量大,这个简单的称为传输速度的挑战。

攻克速度和实时性的难点需要同时几方面的努力,在速度方面需要精准的带宽检测和带宽预测,做到尽可能大的利用可用带宽。在实时性方面需要精准的丢包检测和丢包预测,及时重传减小用户感知时延等待。

疫情造成的互联网拥堵还增加了另外一个挑战,就是在有限带宽底下最大限度的提升视频流的并发量,虽然一直有这方面的优化,但在面对突发性的互联网流量陡增时,我们就不会仅仅满足于次优。继续提升的难点在于需要结合码率做传输速度方面的非常精准的速度控制,这方面的工作需要一定的数学建模和像现代控制理论这样的应用数学工具指导速度控制。

速度控制的本质是可用带宽的跟踪。可用带宽随着用户的数量、信号的强弱、运营商的某些策略等随着时间变化。5G带宽大但是基站覆盖范围小,容易受建筑物等影响,也会造成可用带宽的巨变。

再聊聊沉浸式会议体验,这也是未来的趋势之一。沉浸式会议体验对数据传输技术要求的关键点还是高带宽和低延时,这种带宽和延时的要求是端到端(用户端到服务端)的用户感知带宽和用户感知时延。

5G可以解决网络接入部分的高带宽和低时延要求,所以很多媒体在报道时认为5G的到来意味着新兴媒体体验的到来,这个还是需要澄清一下,沉浸式会议体验所要求的高带宽是用户应用感知的带宽,它跟5G带宽相关但不完全是5G的物理带宽。

首先用户感知带宽是端到端的,这种带宽瓶颈随着5G接入带宽的提升,更有可能出现在服务器端,比方说由访问用户增多引起的挤兑拥塞,如像这次新冠肺炎疫情造成服务器访问流量激增而造成用户访问变慢;其次用户感知的带宽还要考虑丢包、重传或者FEC冗余数据等造成的折扣。

5G接入带宽的提升,会马上暴露以上所述数据传输的瓶颈,而任何用户感知带宽过低(相比5G物理带宽)都会马上带来急需解决的技术问题:比如数据发送端重传丢包造成的数据接收端等待;简单FEC带来的冗余数据过多而不能自适应网络丢包状况;服务器高并发访问造成带宽利用率下降等等问题。这些都是沉浸式会议体验给数据传输技术带来的高带宽方面的要求。

除了高带宽的要求,沉浸式会议体验也有非常苛刻的用户感知时延要求,比方某些VR应用的时延滞后达到一定阈值时,参与者会有明显的晕眩感,这就需要不仅是5G网络接入段降低时延,骨干网络部分、服务器网络接入部分都要有很低的时延。

考虑到共享网络时延的不可预测性,沉浸式会议体验所要求的低用户感知时延将会更多依赖优化路由甚至租用专线来满足,但数据传输本身,比如发送端不能及时重传先前丢失数据从而造成的接收端应用等待,进而造成用户感知延时过大也是非常需要注意的问题。

04

5G与SRT,新与旧

谈到5G可否带来上层技术诸如多媒体压缩技术和传输技术的标准化,这是个很有意思的话题。

接入带宽的极大提升的确给了上层技术更多的想象空间,好比存储空间的极大提升也促进了文件系统、文件格式的发展,不过这将是一个非常漫长的过程。

网络和存储的不同在于,网络是一个多层多样的系统,5G仅是网络接入技术。就好比我们家庭宽带以前依赖铜缆,现在越来越多依赖光纤,接入带宽的提升仅是把瓶颈从一个地方移到了另外一个地方。新的瓶颈将更有可能出现在流媒体服务器端,甚至是5G基站的互联网接入端。

我们知道网络除了路段多样和瓶颈多样外,它的数据通讯实现也是分层的,各层之间的设计是相对独立的,所以上层传输层或者应用层并不知晓端到端(用户端到服务器端)发生在何处,上层对底层的瓶颈是一视同仁的。

一个好的协议或者标准,在设计之初不会仅为一个G而设计,或者仅针对某个特定路段的瓶颈而设计,它是相对稳定的。一个简单的例子就是TCP协议,它从最初的1G到现在的5G,都是互联网的标准,支撑着我们最常见的像HTTPS这样的应用层协议。

我想,这个话题更深一层的思索,是以前的协议或者标准是否能够在5G时代继续生存和发展。具体而言,数据传输协议在5G时代(平均无线用户感知100Mbps的量级,相比4G时代平均用户感知10Mbps的量级、3G时代的平均1Mbps的量级)是否能继续生存下去,还是将被新的协议标准所替代。

我个人认为当前的多媒体传输协议标准大部分不会受到5G带来的冲击,只会继续调优适应带宽的增长,因为如前所述绝大部分这些技术并不是为某一个G、或者某一特定路段瓶颈而设计的,是为互联网设计的。

5G带来的速度提升对上层应用来说也并不是第一次遇到,比方说在我们的家庭宽带接入中,也是从小带宽提升到100Mbps的量级,而且现在100Mbps早已不少见,这些协议一直在发展并胜任了家庭光纤接入,我想它们也能胜任5G时代的到来。

当然5G的另一挑战是带宽大但基站覆盖范围小,对终端用户体验的影响是带宽瞬时变化巨大,您可能在路上移动转个弯,手机的速度就或许就从100Mbps掉到1Mbps以下。

这当然是一个很有意思的问题,我个人觉得很多现有的多媒体传输技术面对带宽的剧烈波动是会受影响,所以每个协议需要做些相应的工作,但这些应该不会影响协议标准,仅是协议内部的调优。当然优化也会造成优胜劣汰,让我们拭目以待。

SRT随着互联网音视频应用的增多也会逐步增多各种应用场景。

一个协议被看好与否不仅仅是技术原因,比方说是否容易集成、是否容易调优、是否可以自学习适应各种不同的网络环境和不同的应用要求等,还有很多商业因素,比方说是否有联盟支持、联盟中企业在互联网和其相关行业中的分量、是否容易找到相应的集成和开发人员等等。

总体来说SRT相较其他视频流传输格式(RTMP、HLS、DASH等)有一定技术和非技术方面的优势,但是SRT的劣势也是相当明显的,就是在高并发时带宽的浪费。这也是整个基于UDP的视频传输协议目前的通病,目前来看还是比较适合点对点视频传输,比方说网红直播时主播推流到平台,还有企业高清视频会议,在点到面上的场景现在应用起来需要一些冗余带宽,比如阿里一年一度的晚会等特殊场合。

长远来说实现SRT与专业实时会议通讯系统的兼容,还有一定的路要走,需要厂家的集成与支持。据我们观察,厂家在对SRT的支持上也是有一定的私心的,比如说将SRT的经验用于厂家自己私有协议的开发、还有一些厂家在优化SRT后未完全公开优化代码等等。

我个人觉得,厂家从自身商业利益考虑,将来会在自己的设备中支持多个标准协议,保证设备的通用性。比方说同时支持基于UDP和TCP的传输方案,在这点上,这些不同方案对厂家来说是一个生态,在其产品里一个合作的生态更有利于其硬件系统在互联网、物联网的普适性。

05

当时只道是平常

疫情影响了很多行业,也让很多人“闲”在家里,可以说是“人闲了,网络忙了”。而我们这些网络工程师恰恰相反,在疫情期间反而比平常更忙。

疫情之下,平常看来理所当然的事,其实都来之不易,我的内心是“对自然深深的敬畏,对真情深深的感动,和对技术强烈的渴望”。

在面对突发事件时,大家通过在家办公、在家上课,继续为社会做贡献的同时也减轻了给地球生态带来的压力。这些都离不开一个更加强大的互联网和物联网,也让我们对现在做的工作多了一份使命感。

CRN是一家专注于数据传输技术的公司,一直致力于革新陈旧的数据传输协议,解决互联网和物联网上各种数据传输瓶颈。

当前我们看到的最大的数据传输瓶颈就是互联网最广泛使用的传输协议TCP的瓶颈,这个协议40年来未能与时俱进,有很多技术方面的难点,深嵌在操作系统的内核中,内核本身有非常多的变种和版本,市场产品等碎片化非常严重;也有理论方面的难点,比方说需要很多智能控制与预测算法。

由于互联网的存在,地球越来越小,我们今天可以跨区域、跨洋进行超高清的视频会议、视频点播,这在以前只有通过卫星才能做到的事,现在也能通过CDN、SDWAN等底层技术与上层应用结合来实现。

我们的目标是继续降低互联网数据移动的成本,尽可能利用已有的共享互联网络带宽,减少不必要的专线开销,减少不必要的缓存服务器开销。

疫情结束了,我们会抓紧时间提升互联网的数据传输效率。好好工作,只争朝夕,不负韶华。

相关文章:

“‘疫‘外爆发:没那么简单的视频会议”

“不要随便打扰一个正在开视频会议的人”

“我们请到了声网、亿联和网易云信,来聊聊疫情带来的一些思考”

“聊五分钟未来——视频会议音频技术的下半场”

“做技术的,不要去迷信黑科技 | 对话思科Webex 研发总监汪凯”

LiveVideoStackCon 2020 上海/北京/旧金山 讲师招募

2020年LiveVideoStackCon将持续迭代,LiveVideoStackCon将分别在上海(6月13-14日),北京(9月11-12日)和旧金山(11月)举行。欢迎将你的技术实践、踩坑与填坑经历、技术与商业创业的思考分享出来,独乐不如众乐。请将个人资料和话题信息邮件到 speaker@livevideostack.com 或点击【阅读原文】了解成为LiveVideoStackCon讲师的权益与义务,我们会在48小时内回复。

Hey,有关下一代音视频会议的技术和趋势,你还想听我们聊些什么吗,记得评论区留言:)

范醒哲:敬畏自然 渴望技术 —— 新冠肺炎后对网络数据传输能力的思考相关推荐

  1. 关于新冠疫情后世界发展趋势的几点思考

    欢迎来到我的频道,大家好,我是小范,一个稍微懂点经济的算法工程师,突如其来的疫情出乎全世界大多数人的预料,给世界的发展带来了很大的不确定性,同样的,个人的发展在这大的时代背景下也同样会因为宏观的不确定 ...

  2. 【实战篇】39 # 如何实现世界地图的新冠肺炎疫情可视化?

    说明 [跟月影学可视化]学习笔记. 世界地图新冠肺炎疫情可视化 下面将实现世界地图新冠肺炎疫情可视化.数据用的是从 2020 年 1 月 22 日到 3 月 19 日这些天的新冠肺炎疫情进展.效果类似 ...

  3. 新冠肺炎疫情数据可视化分析-FineBI

    目录 一.实验(实训)目的 二.实验(实训)原理或方法 三.仪器设备.材料 四.实验(实训)步骤 五.实训记录及结果 <------------------------------------- ...

  4. 超50%的新冠肺炎患者出现认知障碍,部分患者现抑郁症状

    在第七届欧洲神经病学院大会上提交的一项新研究发现,新冠肺炎患者在出院两个月后出现认知和行为问题[1]. 在八周内随访的新冠肺炎后患者的记忆.空间意识和信息处理问题被确定为可能是病毒所致. 研究还发现, ...

  5. 范醒哲:5G时代是时候全面解决TCP的效率问题了

    回顾过去一年工业界在实时网络方面的探索,大量的篇幅留给了基于UDP的SRT.QUIC等明星协议,包括Google以及国内的B站都有令人欣喜的实践.但不可否认TCP在整个互联网依然占据统治地位,UDP并 ...

  6. 视频分享|新冠肺炎疫情趋势预测大赛技术详解

    点击我爱计算机视觉标星,更快获取CVML新技术 本篇文章的内容是???? 3月1号FlyAI直播视频整理分享 视频内容: ????新冠肺炎疫情趋势预测大赛技术详解 ????用户问题答疑 前半部分会带领 ...

  7. IFR报告称新冠疫情后的恢复对“机器人技术”的需求很高

    韩国.新加坡和德国走在了前列 德国法兰克福--(美国商业资讯)--到2022年,预计库存中的近400万个可运作的工业机器人将在全球范围的工厂内工作.在自动化生产以加速新冠疫情后的经济发展中,这些机器人 ...

  8. 抗击新冠肺炎,如何进行实时动态时序图谱建模与分析?

    作者 | 闭雨哲 来源 | ThutmoseAI 背景介绍 新冠肺炎是一种具有最长达24天潜伏期的新型突发性传染疾病,这种特性给疫情防控带来了巨大的挑战,随着感染规模的不断扩增,简单的人为治理已不太奏 ...

  9. 细胞因子风暴与新冠肺炎

    来源:陈辉科学网博客 链接地址:http://blog.sciencenet.cn/blog-3426569-1219679.html 2020年2月15日下午,在国务院联发联控机制新闻发布会上,周琪 ...

最新文章

  1. jQuery 图片高亮显示
  2. 深入理解C++中的mutable关键字 ​
  3. flood fill算法
  4. Django使用中常见的错误
  5. .NET实现之(自动更新)
  6. vs 中自带的代码混淆器 Dotfuscator (图)
  7. Python3之requests模块
  8. Grunt学习笔记001---grunt使用步骤和总结
  9. ORACLE登录错误的解决方法
  10. xmpppy获取服务器版本信息,为什么XMPP? - 今幕明的个人页面 - OSCHINA - 中文开源技术交流社区...
  11. 计算机应用基础实例,计算机应用基础案例教程(Windows 7+Office 2010)
  12. 4~20mA变送器量程与输入电流、输出电流的关系
  13. mysql建表常用sql语句
  14. nginx常用配置模板
  15. 计算机及应用课程实验,广东北达经贸专修学院主考专业助学班计算机及应用课程实验(二)(实践考核)课程含数据结构、数据库系统原...
  16. uniapp editor编辑器
  17. python 异常检测算法_吴恩达机器学习中文版笔记:异常检测(Anomaly Detection)
  18. java多线程学习笔记。
  19. html验证座机号码_js验证输入是否为手机号码或电话号码示例
  20. k8s-最新版k8s安装(基于Centos)

热门文章

  1. 彻底搞清楚浏览器渲染过程
  2. springMVC---处理模型数据方法 *
  3. 从“负电价”说起:谈谈德国新能源消纳的借鉴意义
  4. 【十三单元】 软件安装 yum源配置
  5. 为CentOS 6 配置本地YUM源
  6. 让一个python源文件也能像bat批处理文件那样运行[转]
  7. PowerDesigner中的对象与关系映射建模
  8. CodeForces - 1514D Cut and Stick(线段树/随机数)
  9. (转)扩展KMP算法模板
  10. CodeForces - 520C DNA Alignment(思维)