即构QUIC信令服务,极端弱网下音视频服务高可用

  • 时间:
  • 浏览:0

基于卓越的自研音视频引擎,即构科技实现了超低强度的多路音视频通信和优异的音频体验。通很深度1优化音视频数据避免、传输策略和音视频信令服务,让音视频服务在各种环境下都是着优良的体验和超高的可用性。一 70%

 基于卓越的自研音视频引擎,即构科技实现了超低强度的多路音视频通信和优异的音频体验。通很深度1优化音视频数据避免、传输策略和音视频信令服务,让音视频服务在各种环境下都是着优良的体验和超高的可用性。

 一.70%高丢包环境下,即构音视频流畅互动

 以下为即构示例APP在上行丢包70%和下行丢包70%网络环境下的可用性展示:

 上行丢包70%:

 下行丢包70%:

 从测试数据能要能了看了,在上下行70%的高丢包环境下,即构示例APP依然可保持每秒15帧的流畅音视频通话。

 二.要怎样实现音视频云服务在弱网环境下高可用

 音视频云服务,核心是对音频/视频数据的避免和传输。但在实际应用场景中,除了音视频数据,还有或多或少非音视频数据需用同步避免,比如设备初始化、登录通信房间、发起推/拉流消息等服务,哪几种非音视频数据的避免通常由信令服务来支持。

 或者 音视频云服务的弱网高可用需用从音视频数据和信令服务两方面入手。

 音视频数据

 在数据避免上,需用适应网络强度的变化,动态调整音视频码率大小,通过牺牲一定的音视频质量来保证弱网环境下音视频服务的可用性和流畅度;

 在数据传输上,传输信道要足够“智能”,要能视具体网络环境保证所需的音视频数据要能顺利传达。

 信令服务

 音视频信令服务需用在弱网环境下保证服务的高效稳定,实现信令的精准传达。

 针对弱网避免的另一二个 方面,我们歌词 歌词 我们歌词 歌词 的教程将分为上下两篇,本文为下篇,介绍要怎样提升信令服务在复杂化网络的可用性。

 信令服务的弱网高可用,即构主要通过QUIC协议来实现。我们歌词 歌词 我们歌词 歌词 对使用QUIC协议和或多或少协议(TCP协议)在弱网的表现进行了统计,发现:

 QUIC协议在登录成功、推拉流成功的耗时,大幅低于TCP协议,优化百分比在150%以上,极端场景甚至超过90%。

 以下为删剪数据:

 iOS端

 Android端

 三.取舍QUIC协议的原因分析

 互联网数据传输协议有TCP和UDP:

 TCP可靠、稳定,或者 建连需用经过3次握手,相对繁琐、强度低且占用系统资源高;

 UDP强度高、快、轻量,占用系统资源较少,或者 地处不可靠、无序等缺点。

 而QUIC(Quick UDP Internet Connection)协议,是谷歌制定的或多或少基于UDP的低强度的互联网传输层协议。

 QUIC协议既吸收TCP和UDP的优点,又对当前网络环境有优良的适应性,尤其是在弱网环境下能保证数据传输的可靠、稳定和高效。

 四.基于QUIC协议实现信令服务的优势

 与当前广泛应用的TCP+TLS+HTTP/2相比,QUIC有以下优势:

 连接建立延时低,减少往返次数

 QUIC实现了0RTT建连,相比TCP+TLS+HTTP/2的3RTT建连,具有相当的优势,同时通过加密传输保证数据安全。以下为QUIC的建连过程:

 1) 客户端向服务端发送CHLO

 2) 服务器收到并返回Rejection,包括密钥交换算法的公钥信息,算法信息,证书信息等被倒进Server Config中传给客户端

 3) 客户端发送删剪的CHLO,包括客户端公钥信息

 4) 服务端收到很久再返回另一二个 实时生成的公钥给客户端,客户端收到很久重新生成主密钥,用新的主密钥加密数据

 上述过程中,客户端收到Rejection后,就能要能了加密和发送数据,实现1RTT的建连。后续的连接中,一旦客户端缓存或持久化Server Config,就能要能了复用并结合本地生成的私钥进行加密数据传输,不需用再次握手,从而实现0RTT建连。

 改善拥塞控制,使用新的ACK确认机制

 QUIC协议当前默认使用TCP的拥塞控制算法,并在其基础上进行了相应的优化与改进,同时也支持CubicBytes, Reno, RenoBytes, BBR, PCC 等拥塞控制算法。主要的优化与改进点有:

 1)可插拔设计,应用层实现算法,不必操作系统,或者 支持单个应用应用任务管理器的不同链接

 2)单调递增的Packet Number,或者 引入Stream Offset,保证数据的顺序性和可靠性

 3)不允许Reneging,避免数据重传的干扰

 4)更多的Ack块,在丢包率高的网络下减少重传量,提升网络的恢复强度

 5)考虑到Ack Delay,减少RTT时间的计算误差

 多路复用,避免HTTP/2队头阻塞问题图片图片

 QUIC的多路复用和 HTTP2 例如,在一条 QUIC 连接上可并行发送多个 HTTP 请求 (stream)。但QUIC 的多路复用优势在于:QUIC 另一二个 连接上的多个 stream 之间那么 依赖。

 当 stream2 丢了另一二个 udp packet,也只会影响 stream2 的避免,不必影响 stream2 很久及很久的 stream 的避免,这在很大程度上缓解甚至消除了队头阻塞的影响。

 实现前向纠错,减少超时重传

 前向纠错(FEC,Forward Error Correction)是通太多发冗余的包,当有的包丢失时,能要能了通过冗余的包恢复出来,而不需重传。QUIC的FEC使用XOR的妙招,即发N + 另一二个 包,多发另一二个 冗余的包,在正常数据的N个包上方任意另一二个 包丢了,能要能了通过或多或少冗余的包恢复出来。

 连接平滑迁移,网络情况变更不影响连接中断

 一条连接是由四元组标识的(源IP,源端口,目的IP,目的端口)。连接迁移是指,其中任何另一二个 元素地处变化(如WIFI和移动网络的切换,连接竞争原因分析重绑端口),这条连接依然维持,要能保持业务逻辑不中断。

 而通过QUIC实现连接迁移时,任何一条QUIC连接不再以IP及端口四元组标识,我希望以另一二个 64位的随机数作为ID来标识。当IP很久端口地处变化时,我希望ID不变,这条连接依然维持,上层业务逻辑感知要能了变化,不必中断,也就不需用重连。很久或多或少ID是客户端随机产生的,或者 长度有64位,所以冲突概率非常低。

 基于自研基础引擎卓越的性能和优秀的网络抗性,即构科技实现对音视频数据高效避免和稳定传输。结合QUIC协议深度1优化信令服务,即构打通音视频云服务整个链路,让用户在任何地方,任何很久都能要能了看见、听见。

(本内容属于网络转载,文中涉及图片等内容如有侵权,请联系编辑删除)