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

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

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

如今咱们就借这个比喻来解释一下互联网传输的三个很是重要的特色:延时、丢包、抖动。工具


假设咱们如今有一百辆车从北京鸟巢开往上海东方明珠,而且每隔一分钟出发一辆。设计

  • 延时视频

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

  • 丢包开发

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

  • 抖动效率

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

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

声网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 资深移动开发专家

相关文章
相关标签/搜索