QUIC是HTTP下一版本的基础协议
Internet工程任务组(IETF)透露,超文本传输协议(HTTP)的第三个正式版本将不再使用TCP。 取而代之的是,它将在2012年google首次开发的QUIC协议上运行。
顾名思义,快速UDP Internet连接(QUIC)是基于多路UDP连接的传输层协议。 实际上,QUIC将UDP上的TCP + TLS + SPDY结合使用,并相对于当前的TCP上的HTTP / 2进行了一些增强。
自2016年以来,IETF就一直在开发Google QUIC的标准化版本,最近,他们宣布打算将其包含在新的HTTP / 3版本中。 但是,IETF QUIC版本已经与原始QUIC设计大相径庭。
> Position of HTTP/3 and QUIC in the protocol stack
借助TLS 1.3加密,QUIC协议旨在在保持安全性的同时实现简单性和速度。 他们在连接建立和数据传输方面开发了一种更有效的协议。 根据Google的说法,与TCP + TLS的1-3次往返相比,QUIC握手在发送有效载荷之前通常需要零次往返。 实际上,第一个连接曾经需要一个往返,而随后的连接将为零。
此外,与当前的TCP相比,它在处理数据包丢失方面更好。 每个重发的数据包都消耗一个新的序列号,从而消除了歧义并防止了引起RTO的损失。 正如IETF的Jana Iyengar所说,QUIC不仅是对互联网传输层的重新定义,而且是对传输权的重新发明。
目前,只有1.2%的顶级网站支持QUIC,但它们通常都是人流量大的网站:几乎每个Google服务都支持自己的QUIC协议。
QUIC的第一个开发包括其自己的加密。 但是,这只是一个临时实现,注定要被IETF所描述的TLS 1.3取代。
实际上,QUIC的连接建立策略是基于加密和传输握手的结合。
> Integration of QUIC and TLS, adapted from the IETF's draft of "Using Transport Layer Security (TLS
使用QUIC,默认情况下将对所有内容进行加密。 尽管如此,与任何其他技术一样,QUIC确实确实存在安全风险。
Robert Lychev和Samuel Jero在2015年的工作报告了该协议的一些弱点。 服务器配置重播攻击等攻击可能会降低QUIC的性能。 但是,根据数据的安全性模型和测试,数据的机密性和真实性似乎得到了适当的保护。
如果您想了解有关QUIC的更多信息,以及如何将其集成到下一版本的HTTP中,强烈建议您查看Google的官方文档以及IETF发布的草案。 您可以在本文的参考书目中找到它们!
创新总是在向前发展。 就像钻头一样。