跳到主要内容

介绍

什么是QUIC

TCP最早设计于20世纪70年代,几乎没有人能想象到50年后我们仍然还在依赖这个协议。虽然TCP多年来经历了无数改进,但许多专家认为TCP可能即将走到尽头。随着社会对互联网的依赖程度越来越高,TCP已经不能满足日益增长的需求

QUIC是一种新的通用、安全、多路复用的传输层协议。它提供了大量增强功能,旨在最终取代TCP,从而推动互联网传输继续发展并解决困扰互联网的许多问题。随着QUIC被选为HTTP/3的底层传输协议,我们有理由期待QUIC协议将占据更大的互联网流量份额。

QUIC的一些关键特性包括:

  • 零RTT连接建立
  • 无队首阻塞的多路复用
  • 改进的传输策略
  • 连接迁移
  • 可选的不可靠或半可靠的传输
  • 多路径,利用多条冗余路径提高性能及可靠性
  • 用户态实现,使开发、测试和迭代周期更高效更简单
  • 有效避免协议僵化

什么是TQUIC

TQUIC是IETF QUIC协议的实现。它是一个高性能、轻量级、跨平台的QUIC库。

特性和优势

  • 丰富的功能:TQUIC 支持所有QUIC、HTTP/3规范中的重大功能。

  • 高性能:TQUIC是为高性能和低延迟而设计的。相关细节可以参考基准测试结果

  • 可插拔拥塞控制:TQUIC支持多种拥塞控制算法,包括CUBICBBRBBRv3COPA

  • 多路径:TQUIC支持多路径,一个连接可同时使用多个路径提高性能及可靠性。

  • 易用性:TQUIC提供易用的接口,支持灵活的配置参数,提供丰富的可观测性。

  • 跨平台:TQUIC可运行在Rust语言支持的各种平台,同时提供了Rust/C/C++语言接口

  • 基于Rust:TQUIC基于用内存安全语言编写,可避免缓冲区溢出漏洞和其他内存相关错误的影响。

  • 高质量:TQUIC包括充分的自动化测试,包括单元测试、模糊测试、集成测试、性能基准测试、互操作性测试等。

  • 协议一致性:TQUIC已通过基于Ivy的形式化规范验证。同时与主流实现之间通过了IETF互操作性测试。

备注

一些高级特性将在随后版本中逐步开源,详见版本记录