Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

备稿计划: 由 HTTP/3 开始的, QUIC 与 KCP 的对比, TCP 的未来 #116

Open
iugo opened this issue Jun 8, 2022 · 0 comments
Open

Comments

@iugo
Copy link
Member

iugo commented Jun 8, 2022

HTTP/3 最近越来越多被提起.

HTTP/3 的基础是 QUIC.

在 QUIC 被广泛熟知之前, KCP 更多被中国大陆用户知道.

QUIC 与 KCP 的重点, 都是替代 TCP 的场景.

但是 KCP 仅想替代部分场景, 而 QUIC 似乎是要革命.

KCP 核心是低阈值重传, 更在乎 快. 而 QUIC 是真的想替换掉 TCP, 在自行解决可靠性问题, 但这种解决并非简单重传.

TCP 与 UDP 最大的不同, 或者说优势, 就是 可靠性, 即确保数据完整被传输, 由此带来的, 是一系列复杂的规则. 而 UDP 相对的, 最大的优势是 简单, 即便不可靠, 但可以基于此进行一系列扩展.

随着网络的进化, 带宽的提升, 大家对延迟越来越敏感. 此时就有了改造 TCP 的需求.

我们现在需要在确保可靠性的前提下, 尽可能低延迟.

但是 TCP 是底层协议, 很难被改造, 因为我们不能指望所有设备均能得到更新.

所以在 UDP 之上新增一层协议的 QUIC 来了. 在确保底层协议不变的前提下, 新增一层来保证数据的可靠性. 这就是使用 UDP 的 QUIC.

目前 QUIC 仅被用作 HTTP/3, 但将来, 或许许多使用 TCP 的软件都可能支持 QUIC, 比如数据库?

或许未来 TCP 会越来越式微, TCP 有很重要的价值.

但, 似乎 "简单", 才能活得更加久远.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant