首页 > 其他分享 >龙蜥白皮书精选:面向 HTTP 3.0 时代的高性能网络协议栈

龙蜥白皮书精选:面向 HTTP 3.0 时代的高性能网络协议栈

时间:2023-07-28 22:06:12浏览次数:50  
标签:UDP 场景 HTTP 3.0 网络协议 高性能 QUIC XDP

龙蜥白皮书精选:面向 HTTP 3.0 时代的高性能网络协议栈_HTTP

文/高性能网络 SIG



01

背景概述 

随着互联网特别是移动互联网的快速发展,对互联网通信协议提出了新的诉求。经过多年的发展,QUIC 协议在 2021 年正式被 IEFT 标准化,成为 HTTP 3 的标准传输层协议。QUIC 是基于 UDP 实现的面向连接可靠有序的传输协议。相比于 TCP 在内核态实现,QUIC 基于 UDP 在用户态实现大大降低了部署成本,并且可将拥塞控制算法/参数调控到连接的粒度,灵活适应不同业务场景的网络需求。此外,QUIC 还具备多路复用 /0-RTT 握手/连接迁移等多种优点。

02

轻量、高性能、标准化的 HTTP 3.0 解决方案:XQUIC + ExpressUDP

XQUIC 是一个轻量、高性能、标准化的跨平台 IETF QUIC 协议库,内部包含了 QUIC-Transport(传输层)、QUIC-TLS(加密层、与 TLS/1.3对接)和HTTP/3.0(应用层)的实现,为应用提供可靠、安全、高效的数据传输功能,在 IETF 开发者社区进行了比较充分的互通性验证,支持 Linux/Android/iOS/Mac/Windows 等平台,在 Android/iOS 双端的编译产物均小于 400KB,适用于需要高性 能但同时又对包大小敏感的移动端 APP 场景,可以方便地部署到移动设备和各种嵌入式设备中。在服务端方面,基于阿里内部广泛 使用的Tengine,开发了 ngx_xquic_module 和 ngx_xudp_module 模块用于适配 Tengine 服务端。 

XQUIC 还添加了对多路径传输的能力支持,可以同时利用 cellular 和 wifi 双通道进行数据传输。多路径 QUIC 草案已经被 IETF 工作组正式接收纳入标准,我们与达摩院 XG 实验室共同研发的 XLINK 多路传输技术,相关论文「XLINK:QoE-driven multi-path QUIC transport in large-scale video services」已经发表在网络顶会 SIGCOMM 2021 上。 



ExpressUDP 是一个基于 Linux XDP Socket 和 XDP 实现的高性能用户态 UDP 通信库 。利用 XDP 和 XDP Socket 封装了一套高性能 UDP 通信接口,为应用提供了一种高性能 UDP 通信编程框架。可以为高 PPS UDP 通信场景带来显著的网络性能提升。ExpressUDP 具有与 软件结合简单,不影响软件本身框架的特点,具备高吞吐,低延时,开发方便,部署简单等优点。利用 蜥 OS 在业界首次实现了 virtio_net 的发送方向的零拷贝 ,UDP PPS 相比非零拷贝提升 4 倍,相比普通内核 UDP 提升 7 倍以上,接收方向相比内核 UDP 提升 3 倍以上。 

03

应用场景 

XQUIC 已经在手淘 Android/iOS 双端正式版本,XQUIC + ExpressUDP 已经在阿里巴巴集团统一接入网关大规模应用。在 RPC 请求场 景降低网络耗时 15%,在短视频场景下降低 20% 卡顿率,在上传场景提升 25% 上传速率(相对于TCP)。在服务器端性能上,经过 ExpressUDP 适配改造,E2E QUIC 性能提升了 30%~50%。



龙蜥白皮书精选:面向 HTTP 3.0 时代的高性能网络协议栈_iOS_02

更多龙蜥白皮书精选内容:



【1】面向 DPU 场景的软硬协同协议栈

【2】敏捷开发场景下的调度器热升级 SDK

【3】跨云-边-端的只读文件系统 EROFS

【4】龙蜥全面支持 Intel 第四代可扩展处理器 SPR 平台

【5】面向异构计算的加速器 SDK

【6】基于 SM4 算法的文件加密(fscrypt)实践

【7】CentOS 迁移场景的平滑迁移方案

【8】利用 io_uring 提升数据库系统性能

【9】开源 RISC-V 技术支持软硬件全栈平台

【10】Ancert——硬件兼容性验证与守护



【11】面向芯片研发和验证的操作系统 SiliconFastOS

相关链接:

高性能网络

https://openanolis.cn/sig/high-perf-network



更多龙蜥技术特性解析可移步《龙蜥特性百科》:

https://anolis.gitee.io/anolis_features/

2022 龙蜥社区全景白皮书 (或公众号【OpenAnolis龙蜥】回复关键字“白皮书”获取)

https://openanolis.cn/openanoliswhitepaper

—— 完 ——


标签:UDP,场景,HTTP,3.0,网络协议,高性能,QUIC,XDP
From: https://blog.51cto.com/u_15308345/6887286

相关文章

  • AJAX - 创建 XMLHttpRequest 对象
      AJAX-创建XMLHttpRequest对象AJAX(异步JavaScript和XML)是一种在Web应用程序中创建快速动态更新的技术。使用AJAX,Web应用程序可以异步地向服务器发送和接收数据,而无需刷新整个页面。AJAX广泛用于Web应用程序中,包括社交媒体,电子商务,在线游戏等等。XMLHttpRequest是A......
  • android网络通信之HTTP协议教程实…
    在现在的开发和应用中,网络通讯是必不可少的。虽然还是比较怀念小时候,抱着一台95在那里玩单机游戏玩的天昏地暗的时光,但是,现在,就算一个幼儿园的小盆友如果问你要手机玩游戏,突然发现居然买不了冰激凌草莓果汁什么的去喂talkinggina,或者切出一个超爆的水果分数却传不到网上去炫......
  • Visual Studio Code -- 配置https
    安装liveserver插件默认OpenwithLiveServer是http,如果想用https访问,进行一些设备权限授权才能查看页面功能的时候还是需要配置一下,这样不需要每次都上传服务器:Setting-->输入liveserver-->Editinsetting.json进行配置也可以在项目目录中创建.vscode/setting.......
  • java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
    环境信息:JDK17、Tomcat10问题原因我这里编译,打包都是好的,但是一运行发现就报错。错误的原因是Tomcat10里也自带了一些lib包,可以打开Tomcat下lib文件夹,这又涉及到了包的加载顺序了一打开发现Tomcat里的是 JakartaEE,我Maven里引用的还是JavaEE导致的。JavaEE的servlet......
  • 接口测试(3)--HTTPS协议
    HTTPSHTTPS是HTTP协议+SSL/TLS(SecureSocketsLayer/TransportLayerSecurity)认证,是一个基于安全套接字的超文本传输协议HTTP与HTTPS的区别HTTP的URL以http://开头,而HTTPS的URL以https://开头HTTP是不安全的,而HTTPS是安全的HTTP标准端口是80,而HTTPS的......
  • 基本的 HTTP 方法GET、POST、PUT 和 DELETE
    (目录)一、方法介绍1.1GETGET方法用于从服务器检索资源。这是一种安全的方法,因为它不会以任何方式改变资源的状态。GET方法是幂等的,因此多次调用此方法将始终给出相同的结果。HTTPGET'http://www.timi.com/users'HTTPGET'http://www.timi.com/users?size=20&page=5'HT......
  • 异步http响应与异步任务处理
    Golang线程池实现http异步响应参考链接https://www.cnblogs.com/aaronhoo/p/16364492.html使用Gin框架实现异步任务处理功能参考链接https://www.php.cn/faq/564681.html......
  • Acrobat Pro DC 2023 for Mac(PDF编辑器) 2023.003.20244 中文版
    AcrobatProDC2023forMac是一款功能强大的PDF编辑器软件,由AdobeSystems开发。它为Mac用户提供了广泛的PDF处理工具和功能,使用户能够创建、编辑、转换和共享高质量的PDF文件。以下是AcrobatProDC2023forMac的一些主要特点和功能:PDF编辑:AcrobatProDC允许用户对PDF文件进......
  • 《http篇》通过curl库实现http服务
    编译和引用参考链接:https://blog.csdn.net/weixin_44122235/article/details/128969128参考链接里写的非常详细,虽然我只参考了编译和引用的部分,还是建议大家看一下。下载官方(旧):https://curl.haxx.se/download.html官方(新):https://curl.se/download.htmlgithub:https://github.......
  • 【2023.07.28】三年计划
    =主线任务今年的主线是考上研究生,并让学校所有人都认识我攒钱买辆车(大概率小米)明年的主线是软考高项,业余时间去考电工和思科支线任务增肥上60kg,让自己身体更好,目前只有53还是太瘦了和妹妹拼完一整个柜子的积木(目前四层已经塞满两层)谈恋爱,找女朋友入校后打算......