延时、丢包、抖动,用尽洪荒之力也传不到,该怎么办?

互联网大概可以算是最近几十年人类最重要的发明之一。最早人们用互联网发送电子邮件,接着普及了网页浏览,后来又流行即时文字聊天,人们工作生活的方式在这写年里发生了巨大的变化。可是当人们想更进一步实现实时音视频通话时,却发现互联网有点不给力了。卡顿、掉线、延时太高等等,这些问题始终伴阻碍实时音视频通话的发展。而这根本上的原因是,互联网一开始并不是针对实时通信而设计的。

人们常把互联网比喻成“信息高速公路”,其实更确切的比喻应该是“信息公路网”。互联网就像现实中的路网一样交错复杂,有像连接两地的高速公路一样快速的骨干网,也有像是难走的崎岖山路一样糟糕的网络环境。而在互联网上传输数据就像是从一个地方开车到另一个地方一样。

现在我们就借这个比喻来解释一下互联网传输的三个非常重要的特点:延时、丢包、抖动。


假设我们现在有一百辆车从北京鸟巢开往上海东方明珠,并且每隔一分钟出发一辆。

延时

“延时”指的是每辆车从鸟巢开到东方明珠花的平均时间。显然,车队走高速公路肯定要比走各种小公路快很多,而且从鸟巢出发沿着怎样的路线开上高速公路也有很大影响,万一堵在了三环可就要多花好几个小时了。所以这个值和车队选择的行驶路线有关。互联网传输也是一样的道理,需要传输数据的两点之间经常是有很多可选路径的,而这些路径的延时往往相差很大。

丢包

“丢包”指的是有的车无法在有效时间内无法达到终点,甚至可能永远也到不了终点。有的车可能永远堵在北京的三环上了,有的车可能中途出了车祸。假如我们的一百辆车里有五辆车因为各种原因没能按时到达上海,我们这次车队传输的“丢包率”就是5%。是的,互联网传输也一样,它并不是百分百可靠的,总有数据无法按时传输到目的地。

抖动

“抖动”指的是车子到达的顺序、间隔和出发时的差异。虽然我们的一百辆车在北京是等间隔的一分钟一辆出发的,但是它们到达上海时却并不是按顺序一分钟一辆到达的,甚至可能有晚出发的车比早出发的车先到的情况。互联网传输也一样,如果简单地按照收到的音视频数据顺序直接播放出来,就会出现失真的现象。

延时、丢包、抖动是互联网这个信息公路网无法避免的三个特点。以前电子邮件、网页浏览、文字聊天的场景下,这三个特点并不是太大的问题,毕竟人们可以接受电子邮件晚几分钟到达对方的邮箱。但在实时音视频通信的场景下,不要说几分钟,就算只有几秒钟的延迟,音视频交流的体验就会大打折扣。

声网Agora.io是怎么做的

为了解决这三个问题对实时音视频通信的影响,声网Agora.io以多种技术手段并用,建立了自己的虚拟通信网。我们仍然用前面车队的比喻,声网Agora.io的虚拟通信网就像是一个车队调度中心,指引车队沿着速度最快、路况最好的线路通行。

就近接入

当车队从鸟巢出发的时候,调度中心首先给出一条从鸟巢通往高速公路入口的最优路径,让车队尽快离开拥挤的市区。同样的,声网Agora.io虚拟通信网根据用户所在地分配最近的接入点,让音视频数据包尽快到达快速的骨干网络,这就叫做“就近接入”。

动态路由

当我们的车队上了高速公路后,理想情况下只要沿着最短路线向上海行驶就可以了。但现实情况是,在最短路线上可能会有路段在维修无法通行,会有路段车辆太多非常拥堵,会有路段收费站太多通行效率低下等等情况。调度中心会根据实时的全国路况,给车队规划高速公路上的行驶路径,保证车队以最快的速度到达上海的高速公路出口。同样的,骨干网络也会有线路暂时不可用,线路拥堵,跨运营商线路质量差等情况。声网Agora.io虚拟通信网会根据全球的主干网络状况,为需要传输的音视频数据包实时规划传输路径,这就叫做“动态路由”。

当车队沿着高速公路到达上海后,调度中心再次给出一条从高速公路出口通往东方明珠的最优路径。也即当数据沿着骨干网传输到对方的地区后,声网Agora.io虚拟通信网再次使用“就近接入”的技术让数据包尽快到达目标设备。

丢包重传

“延时”的问题解决了,“丢包”怎么办呢?假设正好遇到上下班高峰,北京的路况非常糟糕,即使调度中心规划了最优的离开北京的线路,100辆车里也只有80辆按时到达了高速公路入口,“丢包率”达到了20%。在这种情况下调度中心的办法是,通知鸟巢再补发20辆车出来!即使这20辆车仍然有20%(4辆)无法离开北京,最终也能有总共96辆车驶上高速公路,最终的丢包率从20%降到了4%。这一技术在声网Agora.io虚拟通信网中被称为“丢包重传”。无论是从用户到接入点,还是我们的服务器之间,还是最终从接入点到用户,丢失的数据包都有机会通过重传机制得到及时的恢复。

由此,声网Agora.io虚拟通信网通过“就近接入”、“动态路由”等技术,有效降低了数据传输的延时,使得中美之间端到端传输的平均延时只有0.15秒;又通过“丢包重传”的机制对抗网络丢包,使得中美之间端到端的数据包有效到达率超过了99%。再加上声网Agora.io引擎内部专门的模块针对网络的“抖动”进行处理,互联网上实时音视频传输的三大难题得以解决。

通过这些硬性的技术手段,加上完备的报警系统、丰富的问题调查工具、详细的统计报表等软性的技术工具,声网Agora.io虚拟通信网为互联网用户提供了稳健可靠的实时音视频传输解决方案。

本文作者

龚宇华  声网Agora.io 资深移动开发专家

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容