QUIC
一种计算机网络传输层协议 / 维基百科,自由的 encyclopedia
QUIC(读作“quick”)是一个通用[1]的传输层[2]网络协议,最初由Google的Jim Roskind设计[3]。该协议于2012年实现并部署[4],2013年随着实验范围的扩大而公开发布[5][6][7],并向IETF描述[8]。虽然长期处于互联网草案(英语:Internet Draft)阶段,但从Chrome浏览器至Google服务器的连接中超过一半的连接都使用了QUIC[9]。Microsoft Edge[10]、Firefox[11]都已支持此协议;Safari[12]实现了QUIC,但默认情况下没有启用。QUIC于RFC9000中被正式标准化[13]。
QUIC最初是“快速UDP互联网连接”(Quick UDP Internet Connection)的首字母缩写[3][8],但在IETF标准中,QUIC不是任何内容的缩写[1]。QUIC提高了目前使用TCP的面向连接的网络应用的性能[2][9]。QUIC通过UDP协议在两个端点之间建立若干个多路连接,以达到在网络层淘汰TCP的目标。因为其设计目标在于取代TCP协议,该协议偶尔也被昵称为“TCP/2”[14]。
QUIC与HTTP/2的多路复用连接协同工作,允许多个数据流独立到达所有端点,因此不受涉及其他数据流的丢包影响。与之相比,HTTP/2建立在传输控制协议(TCP)上,如果任何一个TCP数据包延迟或丢失,所有多路数据流都会遭受队头阻塞延迟。
QUIC的次要目标包括降低连接和传输时延,以及每个方向的带宽估计以避免拥塞。它还将拥塞控制算法移到了两个端点的使用者空间,而不是内核空间,据称这将使这些算法得到更快的改进。此外,该协议还可以扩展前向纠错(FEC),以进一步提高预期错误时的性能,这被视为协议演进的下一步。
2015年6月,QUIC规范的互联网草案(英语:Internet Draft)提交给IETF进行标准化[15][16]。2016年,成立了QUIC工作组[17]。2018年10月,IETF的HTTP工作组和QUIC工作组共同决定将QUIC上的HTTP映射称为 "HTTP/3",以提前使其成为全球标准[18]。2021年5月IETF公布RFC9000,QUIC规范推出了标准化版本[13]。