腾讯开源高性能轻量级跨平台 QUIC 协议库-TQUIC


腾讯开源了一个基于 RUST 语言开发的 QUIC 协议库 - TQUIC,旨在打造一个稳定、快速、高性能并具有广泛技术影响力的传输协议库。

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

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

  • 快传输:TQUIC是业界支持拥塞控制算法最丰富的协议库,在全部场景下表现符合RFC预期,在弱网和部分场景下传输效果领先2%-30%。
  • 高性能:TQUIC在大部分测试场景下的单机处理性能优于同类开源产品5%,部分场景下单机处理性能领先20%。
  • 高质量QUIC 协议栈涵盖10+篇核心的RFC标准或草案,同时涉及到传输层、安全层、应用层,复杂度远大于TCP。TQUIC单元测试覆盖率95%以上,与业界四个主流 QUIC实现的互操性测试用例通过率为100%, 同时采用基于形式化规范(SIGCOMM2019论文成果)的测试方法,严格保障了协议一致性。
  • 易用性:TQUIC易于使用,支持灵活的配置和丰富的可观察性;TQUIC提供了Rust/C/C++多语言接口,未来计划进一步提供Kotlin/Swift等语言接口。
  • 基于RUSTTQUIC基于内存安全语言编写,不受缓冲区溢出漏洞和其他与内存相关缺陷影响。
  • 丰富特性TQUIC支持所有QUIC和HTTP/3规范的重要特性。

架构图:

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

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

后续规划:

  • 对接开源技术生态,扩大TQUIC使用场景,进一步提升TQUIC使用体验。
  • 发表相关论文,并逐步开源更多TQUIC高级特性和算法。
  • 追踪QUIC协议的演进和创新,并持续提升TQUIC核心能力。

相關推薦

2023-04-08

2 个重要功能进行了升级:MQTT over QUIC 的双向认证和 DDS 协议转换代理的序列化代码自动生成。另外还新增了 QUIC 传输层的配置参数,增加了 Retain 消息的持久化,以及发布了 NanoSDK 0.9 版本等诸多更新。 QUIC 双向认证 & 新增

2023-02-08

回顾 腾讯 APIJSON 是一种专为 API 而生的 JSON 网络传输协议 以及 基于这套协议实现的 ORM 库。 为各种增删改查提供了完全自动化的万能 API,零代码实时满足千变万化的各种新增和变更需求。 能大幅降低开发和沟通成本,简化

2024-04-11

OpenSSL 3.2 中引入的 QUIC 连接支持的基础上,对 QUIC 传输协议支持做了许多改进。 OpenSSL 3.2 的重点是 QUIC 客户端支持,而 OpenSSL 3.3 则在 QUIC 服务器端做了更多工作。有关 OpenSSL 当前 QUIC HTTP/3 支持的详细信息,查看此文档。 OpenS

2023-11-25

QUIC 的初版客户端,QUIC 是 Google 开发的通用传输层网络协议,后来被 IETF 采用。 对于 OpenSSL 3.3 和明年的 OpenSSL 3.4,他们的目标是进一步完成此实现。 此外还增加了对 TLS 1.3 中 Brainpool 曲线的支持、原始公钥 (RFC7250) 支持、使用

2023-10-19

宣布开源 tRPC ,一款基于插件化理念设计的支持多语言、高性能的 RPC 开发框架。首批开源支持 Go/Cpp 两种编程语言,预计接下来会开源更多编程语言的支持。 根据介绍吗,tRPC 通过对底层通信的封装提供RPC的调用方式,可以轻

2023-03-21

,腾讯已发布了 3 款自研芯片,面向AI推理、视频处理和高性能网络三大场景;腾讯自主研发的移动机器人 Max 和 Ollie 发布新版本,并首次融合了智能体、深度学习、Sim2Real和触觉传感器等技术。 35% 的需求一天内发布上线,70%

2023-08-09

位。 存储配置 支持配置云存储服务,如阿里云、腾讯云、MinIO等。 系统监控 会话管理 支持查看系统登录会话,支持回话下线。                          

2023-04-02

序端是一套基于微信原生WebSocket的即时通讯库: 1)超轻量级、无任何第3方库依赖(开箱即用); 2)纯JS编写、ES6语法、高度提炼,简单易用; 3)基于微信原生WebSocket API,简洁优雅; 4)支持运行于任何支持微信小程

2023-10-29

QUIC 的初步客户端,QUIC 是 Google 开发的通用传输层网络协议,后来被 IETF 采用。 对于 OpenSSL 3.3 和明年的 OpenSSL 3.4,他们的目标是进一步完成此实现。 此外还增加了对 TLS 1.3 中 Brainpool 曲线的支持、原始公钥 (RFC7250) 支持、使用

2023-06-14

15%以上,尤其在大数据、机器学习和云计算等场景具备较高性能。据悉,腾讯近年来在基础软件领域正在持续加速攻坚,除了OpenKona,腾讯还在将操作系统OpenCloudOS等基础软件开源并捐赠给开放原子开源基金会。 工业和信息化部

2023-09-01

服务、计算机视觉、智能客服等 AI 领域。 产品能力 高性能 单索引支持10亿级向量数据规模,可支持百万级 QPS 及毫秒级查询延迟。 高可用 提供多副本高可用特性,其多可用区和三节点的架构可用性可达99.99%,显著提高

2023-02-09

支持,支持云储存分片上传(阿里云、百度云、华为云、腾讯云、FTP、七牛云、UCloud、又拍云) 第三方短信支持(阿里云、腾讯云、华为云、百度云、253云通讯、聚合、七牛云、融云、赛邮、UCloud、云片、网易云) V5.7.0版

2023-05-06

支持,支持云储存分片上传(阿里云、百度云、华为云、腾讯云、FTP、七牛云、UCloud、又拍云) 第三方短信支持(阿里云、腾讯云、华为云、百度云、253云通讯、聚合、七牛云、融云、赛邮、UCloud、云片、网易云) V6.3.0

2023-09-16

多元共进|2023 Google 开发者大会精彩演讲回顾 腾讯宣布开源分布式数据科学组件项目 Fast-Causal-Inference。这是由腾讯微信研发,采用SQL交互的,基于分布式向量化的统计分析、因果推断计算库;目前已在微信视频号、微信搜一