|
QUIC协议的核心优点如下:
TCP是1974年提出的传输协议,在以前主要是在有线网络环境使用的。现在无线网络环境越来越多,网络环境越来越复杂,有Wifi,蜂窝网络,蜂窝网络还分为3G,4G,5G等等。并且现在传输的数据包也远比上世纪大。所以TCP的拥塞,重传等机制已经不能很好的解决现有复杂网络的问题了。
所以Google提出了QUIC协议,QUIC协议有如下优点:
低延迟连接建立
对于通信的连接时间,一般采用往返时延(RTT,Round-Trip Time)进行衡量,即从发送方发送数据开始,到发送方接收到来自接收方的确认消息所经过的时间。
常见的TCP连接需要1.5个RTT,很多面试题会问TCP为什么需要三次握手,而不是4次,这也是一个原因. 而Https则需要2个RTT.
而QUIC协议连接建立时就同步进行TLS加密握手结合,所以QUIC的连接建立只需要1-RTT或0-RTT,
特别是短连接的场景下,连接的开销占比还是非常大的。比如一个短链接需要传输4个包,如果采用TCP,那么有3.5RTT用于建立握手与断开握手。这样传输效率只有2/5.5=36%.浪费非常惊人的。
网络无缝切换(连接迁移能力)
现在网络环境越来越复杂,也越来越多样化。
QUIC能实现WiFi与蜂窝网络无缝切换,切换后无需重新建立连接,保持会话连续性。
这点对现在的用户体验非常重要,比如从家里Wifi环境移动到外部蜂窝网络环境,如果能保持连接,对于视频的流程播放是很重要的。否则在Wifi与蜂窝的交接处,那么很容易出现重新连接。
更强的拥塞重传机制
QUIC是UDP,但是又修补了UDP不可靠传输的缺点。QUIC通过丢包检测和恢复机制,能识别丢包并重传。
QUIC支持各种先进的拥塞控制算法,针对不同的网络条件采用不同的拥塞控制算法,而不是传统TCP的那种固定而粗暴的算法。从而能减少重传,减少传输时延。通过发送冗余数据包,在高丢包网络中快速恢复丢失数据,减少重传次数。
所以在高延迟、高丢包或弱网环境中(比如蜂窝移动网络), 性能显著优于TCP,能够更好的保障实时通信,实时视频流播放,互联网游戏等对延迟要求高的场景。
安全性高
默认集成TLS 1.3加密协议,所有传输数据均加密,安全性等同于HTTPS。
|
|