太阳集团tcy8722

当前位置: 首页 >应用方案 >技术应用 >

浅谈QUIC协议能否取代TCP协议?

一、什么是QUIC、TCP?

QUIC全称Quick UDP Internet Connection,由命名可以看出,QUIC协议是一种基于UDP的低时延的互联网传输层协议。

TCP全称Transmission Control Protocol,TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。

1 协议栈结构

单从协议栈结构可以分析出,QUIC实际属于HTTP/2、TLS、UDP的结合。

二、QUIC协议浅析

1、QUIC协议发展史

①、QUIC于2012年开始实施部署;

②、在2013年时,被公布于众;

③、2015年中,提交草案于IETF开始标准化之路;

④、2016年QUIC工作组正式成立;

⑤、2018年末,HTTP/3问世;

⑥、2021年中,IETF基于RFC 9000对其进行了标准化,使其真正全球化。

2、QUIC协议的特性

①、相对于UDP,它提供了可靠传输;

②、相对于TCP,它拥有更短的连接建立时间,QUIC握手过程详解见下图;

2 QUIC协议

③、更加出色的拥塞控制;

④、更加出色的多路复用;

⑤、具有前向纠错能力;

⑥、链接迁移。

三、QUIC协议与TCP协议对比

1、QUIC在网络安全方面可谓是用心良苦,它完全以加密形式通信,未加密的通信是完全被禁止的。在这一点上仁者见仁,智者见智,主要取决于开发者们的需求。

2、QUIC在建立安全连接的时间上可以说是完全碾压TCP+TLS,其主要原因是QUIC发送打开连接的同时,响应数据包中还包含后续需要使用的加密数据包的数据。也不需要建立TCP连接,只需通过其他数据包协商安全协议。对比见下图:

3 QUIC协议与TCP协议

TCP+TLS几乎需要长达300ms的建立连接时间,而QUIC建立连接时间远低于此。

3、在网络拥塞控制方面,QUIC也是下足了功夫,不仅支持TCP协议中的Cubic拥塞控制算法,同时也支持其他5种拥塞控制算法,它们分别是Reno、PCC、BBR、CubicBytes、Reno,由于支持多种不同算法,而增加了改造的灵活性。除此之外,QUIC在应用层也对其做了大量的优化,且拥有完善的数据包同步机制,这也为通信稳定性、传输效率性、流畅性奠定了基础。

4、多路复用方面,QUIC可以复用多个stream,同时其中一个stream的丢包并不会影响其他stream,这也说明了在QUIC中,每个stream是相对独立的。这下算是彻底解决了TCP协议中队头阻塞问题。

5、正是由于QUIC是基于UDP协议,所以它在弱网环境中表现相对于TCP要强得多。


四、结论

QUIC协议对比TCP协议,主要最优化在于以下几点:一是增加多种拥塞控制算法;二是增加了时间戳选项,可有效提高RTT的测量精准性;三是大大降低建立连接时间;四是增加SACK,优化判断丢包的精准性,有效提高数据重传效率。

TCP协议对比QUIC协议,主要优势在于:一是TCP滑动窗口能够同时兼顾流量控制及保序;二是TCP拥有更加简洁的协议头,但又不失可靠性。

总而言之,QUIC协议与TCP协议各有千秋,在数据吞吐上,QUIC协议毫无疑问更加优秀,但是在资源占用方面,TCP协议又是优于QUIC协议。所以无论是TCP协议还是QUIC协议,它们都是在特定环境下不可替代的存在,我相信在未来的互联网世界中,它们是可以共存的。


今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的太阳集团tcy8722官网和企业公众号(微信号:cdebyte进行了解,也可以直接拨打400电话咨询技术专员!



相关阅读:

1、TCP/IP协议五层处理流程功能详解

2、关于TCP协议流量控制机制的详解说明

3、TCP协议重传机制详解

4、什么是TCP协议粘包以及如何解决TCP粘包问题


太阳集团tcy8722