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

相关推荐
我爱学习_zwj19 小时前
Node.js拦截器模式实现动态HTTP服务
网络协议·http·node.js
huangyuchi.19 小时前
【Linux 网络】理解并应用应用层协议:HTTP(附简单HTTP服务器C++代码)
linux·服务器·网络·网络协议·http·c/c++
捧 花19 小时前
Go Web 中 WebSocket 原理与实战详解
网络·后端·websocket·网络协议·http·golang·web
小熊哥^--^20 小时前
谈谈我对HTTP的理解
网络·网络协议·http
小熊哥^--^20 小时前
HTTP一些问题的解答(接上篇)
网络·网络协议·http
板鸭〈小号〉21 小时前
HTTP中的cookie
网络·网络协议·http
ZNineSun21 小时前
Go的Http框架:gin
http·golang·gin
梦想的旅途22 天前
媒体文件(图片/文件)的上传与管理:获取 Media ID 的技术细节
前端·http·servlet
她是太阳,好耀眼i2 天前
配置FTP目录文件以http网址方式访问并下载
网络·网络协议·http
okseekw2 天前
Java网络编程从入门到实战:吃透三要素,玩转CS/BS架构
java·后端·http