MultiPath HTTP:北大与华为合作部署FLEETY

当前的终端基本都能支持蜂窝网络和wifi网络,然而,不同的网络通路都不可避免的会出现信号不好或者其他因素引起的通路性能(吞吐量、时延等)下降。为了能够提升终端业务体验,很多不同的MultiPath方案被提出,其中,包括应用层的MultiPath HTTP,传输层的MultiPath TCP,MultiPath QUIC等等。

2023年Mobicom会议中有一篇关于MultiPath HTTP的文章,由北大与华为联合发表,名为"Experience: A Three-Year Retrospective of Large-scale Multipath Transport Deployment for Mobile Applications"。文章中所提出的基于MultiPath HTTP的方案FLEETY,从2019年9月开始,部署在142款不同的终端中,有156种不同的应用支持。截止到2022年1月,有约1000万用户使用到了FLEETY。在吞吐量增益维度,中值和平均值的增加值分别为82 Kbps和4.43 Mbps。在时延增益维度,增益不明显,其中,时延降低100ms的占比约5.32%,时延降低在30ms之内的占比约为49.97%。在功耗维度,对于大数据量的下载类业务增益明显。

FLEETY框架:

(1) Flow classifier:将不同的包(DNS、HTTP等)分发到不同的模块,HTTP数据包会分发到MPHTTP proxy模块。DNS数据包会同时往wifi和Cell通路发送以提升可靠性;

(2) MPHTTP proxy:在收到HTTP请求后,将数据包拆分为两个,分别从wifi和cell通路发送。MPHTTP proxy会根据wifi和cell通路的速率来确定分配到两条通路上的数据的大小,以保证两条通路的数据传输时延一致;

(3) Consistency verifier:通过扩展在wifi通路所发送数据包的尾部,以及扩展在cell通路所发送数据包头部,在接收端进行检测;

FLEETY性能:

FLEETY由于采用的是MultiPath HTTP技术,只需要终端侧的修改。相比于MultiPath TCP以及MultiPath QUIC等技术,它们都需要同时在终端侧以及服务端侧的修改。

从作者的实验结果看,FLEETY对于吞吐量有一定的增益,对时延增益不太明显。

MultiPath相关方案对于终端而言的另一个重要影响是功耗,从作者的实验结果看到,对于大文件下载业务,是可以很明显的降低功耗,约40%。但对于小数据量的业务,比如游戏和网页浏览,功耗是有一定的增加,分别是6.4%和1.4%。

论文原文链接:

Experience: A Three-Year Retrospective of Large-scale Multipath Transport Deployment for Mobile Applications | Proceedings of the 29th Annual International Conference on Mobile Computing and Networking

相关推荐
不可能的是6 天前
前端 SSE 流式请求三种实现方案全解析
前端·http
古译汉书9 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
21号 110 天前
Http粘包问题回顾
网络·网络协议·http
A懿轩A10 天前
【SpringBoot 快速开发】面向后端开发的 HTTP 协议详解:请求报文、响应码与常见设计规范
spring boot·http·设计规范
吧啦蹦吧10 天前
http-SNI
网络·网络协议·http
~kiss~10 天前
HTTP 429
网络·网络协议·http
Olive11 天前
深入理解 HTTP 请求重试:不只是指数退避那么简单
http
AI-小柒11 天前
Seedance 2.0(即梦 2.0)深度解析:AI 视频进入「导演级」可控时代
大数据·人工智能·网络协议·tcp/ip·http·音视频
弹简特11 天前
【JavaEE10-后端部分】SpringMVC05-综合案例1-从加法计算器看前后端交互:接口文档与HTTP通信详解
java·spring boot·spring·http
弹简特11 天前
【JavaEE12-后端部分】SpringMVC07-综合案例3-从留言板看前后端交互:接口文档与HTTP通信详解
spring boot·网络协议·spring·http·java-ee·交互