带你读《2022龙蜥社区全景白皮书》——5.5.2 面向HTTP 3.0时代的高性能网络协议栈

本文涉及的产品
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 带你读《2022龙蜥社区全景白皮书》——5.5.2 面向HTTP 3.0时代的高性能网络协议栈

5.5.2 面向HTTP 3.0时代的高性能网络协议栈


背景概述


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


轻量、高性能、标准化的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服务端。


image.png


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 倍 以上。


应用场景


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


image.png



相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
目录
打赏
0
6
7
25
309
分享
相关文章
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
39 22
Android平台毫秒级低延迟HTTP-FLV直播播放器技术探究与实现
本文详细探讨了在Android平台上实现HTTP-FLV播放器的过程。首先介绍了FLV格式的基础,包括文件头和标签结构。接着分析了HTTP-FLV传输原理,通过分块传输实现流畅播放。然后重点讲解了播放器的实现步骤,涵盖网络请求、数据解析、音视频解码与渲染,以及播放控制功能的设计。文章还讨论了性能优化和网络异常处理的方法,并总结了HTTP-FLV播放器的技术价值,尤其是在特定场景下的应用意义。
90 11
掌握网络通信协议和技术:开发者指南
本文探讨了常见的网络通信协议和技术,如HTTP、SSE、GraphQL、TCP、WebSocket和Socket.IO,分析了它们的功能、优劣势及适用场景。开发者需根据应用需求选择合适的协议,以构建高效、可扩展的应用程序。同时,测试与调试工具(如Apipost)能助力开发者在不同网络环境下优化性能,提升用户体验。掌握这些协议是现代软件开发者的必备技能,对项目成功至关重要。
智能体竟能自行组建通信网络,还能自创协议提升通信效率
《一种适用于大型语言模型网络的可扩展通信协议》提出创新协议Agora,解决多智能体系统中的“通信三难困境”,即异构性、通用性和成本问题。Agora通过标准协议、结构化数据和自然语言三种通信格式,实现高效协作,支持复杂任务自动化。演示场景显示其在预订服务和天气预报等应用中的优越性能。论文地址:https://arxiv.org/pdf/2410.11905。
48 6
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
【网络原理】——HTTP请求头中的属性
HTTP请求头,HOST、Content-Agent、Content-Type、User-Agent、Referer、Cookie。
鸿蒙应用开发从入门到入行 - 篇7:http网络请求
在本篇文章里,您将掌握鸿蒙开发工具DevEco的基本使用、ArkUI里的基础组件,并通过制作一个简单界面掌握使用
126 8
HTTP代理IP纯净度 提升用户网络体验的核心竞争力
随着互联网发展,使用HTTP动态代理IP的需求日益增加。高纯净度的代理IP在隐私与安全、网络体验和业务运营方面至关重要。它能保护用户信息、提高数据安全性、确保访问速度和连接稳定,并提升业务效率与信誉度。
77 2
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
256 3
HTTP代理服务器在网络安全中的重要性
随着科技和互联网的发展,HTTP代理IP中的代理服务器在企业业务中扮演重要角色。其主要作用包括:保护用户信息、访问控制、缓存内容、负载均衡、日志记录和协议转换,从而在网络管理、性能优化和安全性方面发挥关键作用。
128 2