n0 发布 noq:纯 Rust 实现的 QUIC 多路径传输,吞吐量超 40Gbps
Available in: 中文
n0 发布 noq——纯 Rust 实现的 QUIC 多路径传输协议,在商用硬件上实现 40+ Gbps 吞吐量,加速 IETF 标准化并提供生产级多路径传输。
n0 发布 noq:纯 Rust 实现的 QUIC 多路径传输,吞吐量超 40Gbps
n0,基于 Rust 的网络栈项目,宣布了 noq——一个用纯 Rust 编写的生产级 QUIC 多路径实现,在商用硬件上实现了超过 40 Gbps 的吞吐量。这标志着网络编程和多路径传输协议广泛采用的一个重要里程碑。
什么是 QUIC 多路径?
QUIC(Quick UDP Internet Connections)已作为 HTTP/3 的传输协议被广泛部署。多路径 QUIC(MP-QUIC)扩展了这一点,允许单个连接同时使用多个网络路径——例如,同时使用 Wi-Fi 和蜂窝网络,或多个以太网接口。
优势包括:
- 聚合带宽:组合多个链路实现更高吞吐量
- 无缝切换:在 Wi-Fi 和蜂窝网络之间切换而不中断连接
- 可靠性:如果一条路径失败,其他路径无缝继续
- 更低延迟:通过最快的可用路径路由数据包
noq 技术亮点
noq 实现的主要技术成就:
- 纯 Rust:无 C 依赖,全程内存安全
- 40+ Gbps 吞吐量:在双 25GbE 网卡上使用商用服务器硬件实现
- 亚毫秒调度:跨路径的智能数据包调度
- 拥塞控制:每路径拥塞控制与全局协调
- Linux 和 FreeBSD 支持:通过 io_uring 和 kqueue 实现内核旁路
- 零拷贝:DPDK 和 XDP 集成实现线速性能
为什么这很重要
QUIC 多路径在标准化过程中停滞了多年。n0 的实现提供了:
- 参考实现:加速 IETF 对 MP-QUIC 的标准化
- 生产就绪:基准测试表明它可以在实际工作负载中替代内核 TCP
- Rust 生态:证明 Rust 中的系统网络编程可以匹配或超过 C 的性能
- 云和边缘:多路径对移动设备和多宿主服务器至关重要
应用场景
- 移动游戏:同时使用 Wi-Fi + 蜂窝网络实现无延迟游戏
- 视频流:使用聚合带宽的自适应比特率
- 云计算:多网卡服务器可以利用所有链路
- 自动驾驶:安全关键系统的冗余连接
基准测试
| 配置 | 吞吐量 | 延迟(p99) |
|---|---|---|
| 单路径(25GbE) | 23.4 Gbps | 12μs |
| 双路径(2x25GbE) | 41.2 Gbps | 15μs |
| 四路径(4x10GbE) | 37.8 Gbps | 18μs |
| TCP 基线(2x25GbE) | 19.1 Gbps | 22μs |
来源: GitHub n0/noq | HN 讨论
← Previous: Huawei's Ascend Challenge: New AI Chip 2.87x Faster Than H20, First Chinese FP4 InferenceNext: Wayland Reaches 40% Market Share After 17 Years: The Long Death of X11 →
0