开源公告|TQUIC-高性能轻量级跨平台QUIC协议库

e1b5fea09049dc87e8c6873def4413e2.gif

1b43f7b8b3b328e9b96a97af6265bc66.png

1、项目简介

TQUIC是基于RUST语言开发的QUIC协议库。目标是打造一个稳定、快速、高性能并具有广泛技术影响力的传输协议库。

QUIC是一个安全、可靠、快速的通用传输协议。相比TCP具有很多结构性优势,包括0-RTT握手,连接迁移,多路复用,优良的丢包检测和拥塞控制。QUIC完全在应用层实现,不依赖操作系统内核和中间网络设备的支持,具有很强的灵活性和扩展性,特别是拥塞控制算法可以实现更加快速灵活的迭代和优化。

随着QUIC被选为HTTP3的底层传输协议,QUIC协议的地位和价值变得更加重要,已经应用在几乎所有的业务场景,流量份额上也一直稳步上升,技术优势和业务收益都很明显,我们有理由相信,QUIC协议将主导互联网传输领域至少30年以上。

由于QUIC所具备的广泛性、长期性、创新性特点,我们开源了自研的TQUIC协议库,也希望借TQUIC开源的机会, 吸引更多的同学共建,一起促进传输协议的发展,提升互联网快速和安全的传输体验。

38d4ab1a13f402061a1ed21f0b27f005.png

2、特性优势

TQUIC协议库具有如下的优势:

快传输:TQUIC是业界支持拥塞控制算法最丰富的协议库,在全部场景下表现符合RFC预期,在弱网和部分场景下传输效果领先2%-30%。

高性能:TQUIC在大部分测试场景下的单机处理性能优于同类开源产品5%,部分场景下单机处理性能领先20%。

高质量:QUIC 协议栈涵盖10+篇核心的RFC标准或草案,同时涉及到传输层、安全层、应用层,复杂度远大于TCP。TQUIC单元测试覆盖率95%以上,与业界四个主流 QUIC实现的互操性测试用例通过率为100%, 同时采用基于形式化规范(SIGCOMM2019论文成果)的测试方法,严格保障了协议一致性。

易用性:TQUIC易于使用,支持灵活的配置和丰富的可观察性;TQUIC提供了Rust/C/C++多语言接口,未来计划进一步提供Kotlin/Swift等语言接口。

基于RUST:TQUIC基于内存安全语言编写,不受缓冲区溢出漏洞和其他与内存相关缺陷影响。

丰富特性:

TQUIC支持所有QUIC和HTTP/3规范的重要特性。

关于TQUIC的详细介绍可以查看TQUIC项目网站 https://tquic.net/zh/docs/intro

316305a95601eb192ef941bd967154fa.png

3、架构设计

TQUIC项目架构图如下所示。

97eacb367dcd0de6c29545a0e461be2e.png

TQUIC将跨平台兼容及多并发模型支持作为关键的设计目标。TQUIC核心采用了网络IO及事件循环抽象化设计。TQUIC核心并不依赖于套接字,而是通过用户提供的回调来实现。同时,TQUIC核心没有强加特定的事件循环要求,它提供了帮助用户调度事件的函数。TQUIC的灵活性使得易于在各种系统中的定制和集成。

TQUIC接口层提供了面向主流平台编程语言的高层级封装接口,支持同步、异步语义接口,兼容不同的并发模型,并简化用户的使用。

7da3b0317aa94d8355f977d8208ea3ea.png

4、后续规划

● 对接开源技术生态,扩大TQUIC使用场景,进一步提升TQUIC使用体验。

● 发表相关论文,并逐步开源更多TQUIC高级特性和算法。

● 追踪QUIC协议的演进和创新,并持续提升TQUIC核心能力。

4a0ed6d300c34b4fb766fe5e04675c34.png

5、项目地址

TQUIC的开源只是开始。期待得到大家的指正,并能参与进来,共同建设网络传输领域的技术生态。欢迎有兴趣的同学和我们联系。

TQUIC开源项目网站:https://tquic.net

TQUIC开源项目地址:https://github.com/tencent/tquic

请给项目 一个 Star !

欢迎提出你的 issue 和 PR!

关注腾讯开源公众号

获取更多最新腾讯官方开源信息!

2302d894aeb696fa772f38542cf2128f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值