QUIC的全称是 Quick UDP Internet Connections protocol,由 Google 设计提出,目前由 IETF 工作组推动进展,其设计的目标是替代 TCP 成为 HTTP/3 的数据传输层协议。本文章整理目前各大厂及主流编程语言的开源 QUIC 实现。
在线社区:discord/quic
维护者:YoMo
C/C++
Name |
Version |
Roles |
Handshake |
GitHub |
Microsoft's MsQuic |
draft-29/v1 |
client, server |
TLS 1.3 RFC |
https://github.com/microsoft/msquic |
Facebook's mvfst |
draft-29 |
library, client, server |
TLS 1.3 |
https://github.com/facebookincubator/mvfst |
Google's Chromium |
Q043, Q046, Q050, T050, T051, draft-27, draft-29 |
library, client, server |
QUIC Crypto, TLS |
https://www.chromium.org/quic/playing-with-quic |
ats (Apache Traffic Server) |
draft-29 |
client. server |
TLS 1.3 |
https://cwiki.apache.org/confluence/display/TS/QUIC |
LiteSpeed's lsquic |
v1, Draft-34, Draft-29, Draft-27, Q043, Q046, and Q050 |
library, client, server |
QUIC Crypto, RFC 8446 |
https://github.com/litespeedtech/lsquic |
ngtcp2 |
draft-29, draft-30, draft-31, and draft-32 |
library, client, server |
TLSv1.3 (RFC 8446) |
https://github.com/ngtcp2/ngtcp2 |
Cloudflare's nginx-cloudflare |
draft-27, draft-28, draft-29 |
server |
TLSv1.3 (RFC8446) |
https://github.com/cloudflare/quiche/tree/master/extras/nginx |
picoquic |
draft-32/31/30/29/28/27 |
library and test tools, test client, test server |
TLS 1.3 (using picotls) |
https://github.com/private-octopus/picoquic |
Pluginized QUIC |
draft-29 |
library, client, server |
TLS 1.3 (using picotls) |
https://github.com/p-quic/pquic |
quant |
draft-33, draft-34, v1 |
library, client, server |
TLS 1.3 |
https://github.com/NTAP/quant |
Fastly's quicly |
draft-27 |
client, server |
TLS 1.3 (final) |
https://github.com/h2o/quicly |
nginx-quic |
draft-27 .. draft-32 |
server |
TLSv1.3 (RFC8446) |
https://hg.nginx.org/nginx-quic/ |
XQUIC |
draft-29,v1 |
client, server |
TLS 1.3 |
https://github.com/alibaba/xquic |
Rust
Go
Java
Node.js
Python
Haskell
参考链接
QUIC 开源实现列表