QUIC 的速度不足以应对高速互联网
QUIC is not quick enough over fast internet

原始链接: https://dl.acm.org/doi/10.1145/3589334.3645323

QUIC 是基于 UDP 的多路复用传输层协议,并具有强制加密功能。 它有望成为提高 Web 应用程序性能的游戏规则改变者。 UDP、QUIC 和 HTTP/3 与网络层和下面的层一起形成了新的...

当前操作系统中的网络性能面临以下几个挑战: * 系统调用接口设计不佳,在处理常规大小的数据包(大约 1500 字节)时会导致速度变慢 * 系统 Unix 域协议 (UDP) 缓冲区默认过小,限制了有效使用 * 通用分散聚集溢出 (GSO) 等优化技术复杂、不可靠且消耗过多资源 * 某些优化仅在中型规模上表现良好,但在大型或低端系统上表现不佳 为了解决这些问题,需要一种简化的、高开销的应用程序编程接口 (API),最好在不牺牲复杂性的情况下,与现有 API 相比消耗的资源减少 10 倍。 此外,系统UDP缓冲区需要针对低端系统和高负载/并发性进行扩展,但由于敏感性和复杂性,保持最佳缓冲区大小调整仍然具有挑战性。 此外,现有的网络应用程序编程接口 (API)(例如 BSD 套接字/POSIX API)在这十年被认为已经过时。 尽管 Uring API 提供了高级功能,但仍需要教程级别的 API 来弥合新手和专家用户之间的差距。 关于 UDP 堆栈优化,在不连接的情况下实现路由查找重用是有益的,但 GSO(尽管提供了此类功能)不可靠、资源密集型且过于复杂。 这些限制阻碍了安全、非特权用户空间优化的实施。 最后,以现实生活中的 1MB JPEG 图像下载场景为例。 尽管人们普遍认为现代 API 以最少的 CPU 周期和系统调用来处理此任务,但目前没有现有的 API 允许这样做。 相反,每个单独的数据包都会在用户空间和内核空间中进行大量处理,从而导致性能不佳。 理想情况下,数据应直接从网卡传输到图形处理器 (GPU),CPU 不发挥任何作用。 目前,实现这种理想的流程仍然难以实现。
相关文章

原文

QUIC is a multiplexed transport-layer protocol over UDP and comes with enforced encryption. It is expected to be a game-changer in improving web application performance. Together with the network layer and layers below, UDP, QUIC, and HTTP/3 form a new ...

联系我们 contact @ memedata.com