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

本文涉及的产品
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 带你读《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 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
2月前
|
网络协议
网络通信的基石:TCP/IP协议栈的层次结构解析
在现代网络通信中,TCP/IP协议栈是构建互联网的基础。它定义了数据如何在网络中传输,以及如何确保数据的完整性和可靠性。本文将深入探讨TCP/IP协议栈的层次结构,揭示每一层的功能和重要性。
92 5
|
2月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
147 2
|
2月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
79 13
|
7月前
|
安全 网络协议 网络安全
HTTPS:保护你的网站免受中间人攻击的关键技术
【6月更文挑战第13天】HTTPS是抵御中间人攻击的关键技术,通过数据加密、身份验证和完整性保护保障网络安全。它基于SSL/TLS协议加密通信,防止数据被窃取或篡改,并使用数字证书确认服务器身份,避免伪造。要确保HTTPS安全,需使用有效数字证书,启用强制HTTPS,定期更新维护并限制访问范围。
|
4月前
|
网络协议 网络架构 数据格式
TCP/IP基础:工作原理、协议栈与网络层
TCP/IP(传输控制协议/互联网协议)是互联网通信的基础协议,支持数据传输和网络连接。本文详细阐述了其工作原理、协议栈构成及网络层功能。TCP/IP采用客户端/服务器模型,通过四个层次——应用层、传输层、网络层和数据链路层,确保数据可靠传输。网络层负责IP寻址、路由选择、分片重组及数据包传输,是TCP/IP的核心部分。理解TCP/IP有助于深入掌握互联网底层机制。
680 2
|
5月前
|
缓存 网络协议 Linux
扩展Linux网络栈
扩展Linux网络栈
106 3
|
6月前
|
存储 缓存
解析HTTP通用首部字段
【7月更文挑战第18天】HTTP通用首部字段是指,请求报文和响应报文双方都会使用的首部。
|
5月前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
535 0
|
6月前
|
机器学习/深度学习 人工智能 文字识别
文本,文字识别02----PaddleOCR基础概念及介绍,安装和使用,人工智能是一种使计算机模仿人类的一种技术,PaddleOCR的安装地址-https://www.paddlepaddle.org
文本,文字识别02----PaddleOCR基础概念及介绍,安装和使用,人工智能是一种使计算机模仿人类的一种技术,PaddleOCR的安装地址-https://www.paddlepaddle.org
|
7月前
|
网络协议 Java 程序员
TCP/IP协议栈是网络通信基础,Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用
【6月更文挑战第23天】 **TCP/IP协议栈是网络通信基础,它包含应用层(HTTP, FTP等)、传输层(TCP, UDP)、网络层(IP)、数据链路层(帧, MAC地址)和物理层(硬件信号)。Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用,如Socket和ServerSocket用于客户端和服务器通信。**
60 3