腾讯开源高性能轻量级跨平台 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核心能力。

相關推薦

2024-10-23

统和硬件平台的适配。 目前,该报告已上传至开源PHP APP,详情可至「开源PHP APP - 报告模块」下载查看。 APP 下载地址:https://www.oschina.net/app  

2023-04-08

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

2024-08-09

Honor Of Kings》(王者荣耀国际服)的,轻量级、跨平台、高性能的日志组件。由C++实现,同时支持Java,C#的调用。可以用于Unreal、Unity等游戏引擎,也能用于Android、IOS环境下的App。在Windows、Mac、Linux等的桌面和服务器环境也能够

2024-07-02

【 低延迟的 ssh 】tsshd 发布 v0.1.1,支持 QUIC 协议,修复 KCP 协议挂起的问题。 优点简介 低延迟( 基于 QUIC / KCP ) 端口转发( 与 openssh 相同 ) 如何使用 在客户端(本地电脑)上安装 tssh。 在服务端(远

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等。 系统监控 会话管理 支持查看系统登录会话,支持回话下线。                          

2024-08-28

P 与 tsshd 进程通讯。 tsshd 支持 QUIC 协议和 KCP 协议(默认是 QUIC 协议),可以命令行指定(如 -oUdpMode=KCP),或如下配置: Host xxx #!! UdpMode KCP 安装方法 Ubuntu 可用 apt 安装 sud

2023-04-02

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

2024-07-09

P 与 tsshd 进程通讯。 tsshd 支持 QUIC 协议和 KCP 协议(默认是 QUIC 协议),可以命令行指定(如 -oUdpMode=KCP),或如下配置: Host xxx #!! UdpMode KCP   安装方法 Ubuntu 可用 apt

2024-08-15

腾讯宣布开源自动驾驶仿真软件 TAD Sim。TAD Sim 基于腾讯专业的游戏引擎、厘米级数字孪生三维重建技术、集成工业级的车辆动力学模型、种类丰富的物理级传感器仿真和数据驱动的AI交通流,可以完成感知、决策、控制算法等实