多路径传输(MPTCP MPQUIC)数据包调度研究总结

近些年来,以5G和Wifi6为代表的无线通信技术发展迅速,并已经在全世界实现了大规模部署。此外,智能手机等移动设备不断迭代更新,其网络通信能力也持续演进,使得应用同时利用多个不同网卡在多条不同物理链路上(如5G和WiFi)传输数据成为可能。加之新兴应用对于带宽的需求与日俱增,多路径传输技术得到了广泛关注。

多路径传输基于不同的传输层协议,主要分为多路径TCP(Multipath TCP,MPTCP)[1]和多路径QUIC (Multipath QUIC,MPQUIC) [2-4] 两类。MPTCP是传输层使用最广泛的多路径技术,并已经得到了商用智能手机操作系统如iOS[5]和Android[6]的支持。然而,TCP本身存在固有弊端,例如其实现在内核级别,难以与应用层进行结合,且对于应用提供商而言难以进行针对性的性能优化。为解决这一问题,MPQUIC利用了QUIC传输协议[7-8]的用户空间特性,可以方便地集成并部署到应用中。

概述

多路径传输领域的学术研究,在过去主要针对MPTCP开展。MPQUIC的部分核心设计仍沿用MPTCP,不过其基于QUIC和易与应用结合的特性,使其能够针对不同应用(如点播视频、短视频、低时延实时视频等)进行深入优化。

多路径的研究内容主要包括[9]:数据包调度、多路径(耦合)拥塞控制、子流/路径管理、能耗[27]、安全性等。其中,数据包调度是多路径设计最核心的部分之一。数据包调度器负责确定每个数据包应该由哪个路径(子流)进行发送,致力于解决两个关键问题[10-11]:

  • 多路径队首阻塞(Head-of-Line blocking):由在慢子流分配过多数据引起,由于多路径传输需保证按序交付,快子流必须等待慢子流数据包到达,从而导致整体传输性能下降;
  • 接收缓冲区(窗口)限制:由数据包乱序到达引起,慢子流的数据包占据了接收缓冲区,导致发送窗口被阻塞,影响快子流的充分利用。

本文重点梳理多路径传输中数据包调度机制的设计空间与发展历程。

设计空间

多路径数据包调度器可以分为四类:(相关综述可以参见:[9][29-32])

(1) 简单调度器

  • 轮询(Round-Robin,RR):没有优先级,按照轮询的顺序将数据包填满各子流的发送窗口
    • 不足:忽略外部因素(拥塞、丢包等)对子流传输的影响,无法保证数据包按序到达
  • 最小往返时延优先(Lowest-RTT-First,LowRTT/MinRTT)[10]:将子流按RTT大小确定优先级,按优先级排序将数据包依次填满子流的发送窗口
    • 优势:让路径质量好的子流承载更多的数据包,有一定负载均衡的效果
    • 不足:无法保证数据包按序到达,存在多路径HoL阻塞和接收窗口限制等问题
  • 机会性重传和惩罚(opportunistic retransmission and penalization,RP)[11]:为了补偿不同路径上的时延差异以缓解HoL阻塞,机会重传会在其他可用子流重传(重注入)引发HoL的数据包,惩罚机制会将阻塞的子流的拥塞窗口减半以限制其使用
    • 不足:惩罚机制会减少聚合带宽
  • 缓冲区膨胀缓解(bufferbloat mitigation,BM)[12]:通过限制传输的数据量(拥塞窗口减半)来排空网络缓冲区中的队列,从而降低RTT
    • 不足:随机作用,不总是有效,会反复触发拥塞
  • ReMP[13]:为了提高可靠性,将数据包冗余发送到所有子流上
    • 不足:会产生额外的开销
  • eMPTCP[14]:在路径管理和数据包调度中考虑多路径的功耗
    • 不足:主要针对功耗进行设计,没有考虑性能提升

MPTCP默认调度器用的是MinRTT[10]+RP[11],也包含RR与ReMP[13]。

(2) 基于路径质量估计的调度器
如BLEST[21],ECF[22],MuSher[25]等

(3) 基于路径时延差的调度器
如DEMS[23],STMS[24],RAVEN[26]等

(4) 基于机器学习的调度器
如ReLes[27],Peekaboo[28]等

其中,第二、三类和第四类的大部分工作,其设计思想可以统一归为“乱序发生,按序到达”。

乱序发送,按序到达

目前主流的数据包调度器采用乱序发送,按序到达的思想:并非将连续的数据包分别分配到快子流和慢子流上(如MinRTT[10]),而是为快子流提前预留一部分数据包(超出其拥塞窗口,以便下一个RTT发送),以尽可能多地利用快子流进行传输,从而提高多路径传输整体的聚合带宽。其核心思想如下图所示[24]:
image.png

代表性研究工作的发展过程为:

  • Westwood SCTP[15]:根据RTT与可用带宽估计值,估计不同路径上数据包的到达时间,据此对每条传输路径进行性能排序,并按降序选择路径传输数据包
    • 不足:当不同路径之间存在显着不同的时延时效果不佳
  • FPS(Forward Prediction Scheduling)[16]:估计传输路径上数据包的到达时间以及其他路径(非传输路径)上的数据传送时间,实现所有路径上的数据同时到达
    • 不足:没有考虑丢包的影响[9]
  • F2P-DPS(Fine-grained Forward Prediction based Dynamic Packet Scheduling)[17]
  • DAPS(Delay Aware Packet Scheduling)[18-19]:有两个版本
    • [18] :在接收buffer受限的环境下,为了减少接收buffer的阻塞时间,基于子流的转发时延倒数和CWND来确定各子流分配的数据包数量,按照时延从小到大的顺序依次为各子流分配数据包,确保在各子流转发时延的最小公倍数(LCM)内,所有数据包按序到达
    • [19]:针对只有两个子流的场景设计,是原始算法[18]的简化及实践扩展,提出了最大接收buffer阻塞时间的分析模型
    • 不足:若子流时延的差异较大(LCM较大),则调度时间(周期)较长,无法及时对网络变化做出反应;使用所有可以发送的子流,即使某个子流的贡献非常低(慢路径);没有考虑使用重注入(重传)[21]
  • OTIAS(Out-of-order Transmission for In-order Arrival Scheduling)[20]:
    • 不足:没有考虑拥塞窗口的可用性,可能会导致不必要的重传[21-22]
  • BLEST(BLocking ESTimation)[21]:为了避免慢子流数据包阻塞发送窗口,使用RTT和CWND等参数计算快子流(在一个慢子流的RTT内)可以发送的数据包数量,通过减少不必要的重传次数来最小化HoL阻塞
    • 不足:会导致部分子流(如空闲的快子流[22])未充分利用,从而延长较大文件的下载时间
  • ECF(Earliest Completion First)[22]:利用RTT、带宽(拥塞窗口大小)、发送缓冲区等信息估计数据包传输时间,当无待发数据(发送缓冲区为空)时视情况等待可用快子流(而非直接使用慢子流发送),尽可能提高快子流的利用率,从而提升聚合吞吐量
    • 不足:在多数时间里,大象流的发送缓冲区都是满的,ECF只有在流即将结束时(尾部数据包)才能起到调度作用。 此外,ECF在计算流完成时间(FCT)时没有考虑单向延迟,因此无法实现准确的有序到达[24]
  • DEMS(DEcoupled Multipath Scheduler)[23]:感知数据块边界,快子流从前向后发送,慢子流从后向前发送,以此将子流解耦,通过估计RTT(单向时延,OWD)和带宽来实现快慢子流传输的同时完成,并根据网络情况重注入数据包
    • 不足:需要一个巨大的缓冲区来存储整个块[24];主要针对两个子流进行设计,多路径扩展性不佳[26]
  • STMS(Slide Together Multipath Scheduler)[24]:为了解决链路及接收端缓冲区受限时多路径聚合带宽下降的问题,根据数据包被ACK的情况,来动态调节快慢子流间数据包序列号的间隔(gap),以充分利用快子流并实现数据包的按序到达
    • 不足:调节gap的过程偏启发式,可能不是最优策略

参考文献

  1. Ford A, Raiciu C, Handley M, et al. TCP extensions for multipath operation with multiple addresses[R]. 2013.
  2. Olivier Bonaventure. Apple uses Multipath TCP[EB/OL]. [2018-12-15]. http://blog.multipath-tcp.org/blog/html/2018/12/15/apple_and_multipath_tcp.html.
  3. Olivier Bonaventure. In Korean, Multipath TCP is pronounced GIGA Path[EB/OL]. [2015-07-24]. http://blog.multipath-tcp.org/blog/html/2015/07/24/korea.html.
  4. De Coninck Q, Bonaventure O. Multipath quic: Design and evaluation[C]//Proceedings of the 13th international conference on emerging networking experiments and technologies. 2017: 160-166.
  5. Viernickel T, Froemmgen A, Rizk A, et al. Multipath QUIC: A deployable multipath transport protocol[C]//2018 IEEE International Conference on Communications (ICC). IEEE, 2018: 1-7.
  6. Liu Y, Ma Y, De Coninck Q, et al. Multipath Extension for QUIC[R]. 2023.
  7. Iyengar J, Thomson M. QUIC: A UDP-based multiplexed and secure transport[M]//RFC 9000. Fremont, CA, USA: Internet Engineering Task Force (IETF), 2021.
  8. Langley A, Riddoch A, Wilk A, et al. The quic transport protocol: Design and internet-scale deployment[C]//Proceedings of the conference of the ACM special interest group on data communication. 2017: 183-196.
  9. 薛开平, 陈珂, 倪丹, 等. 基于 MPTCP 的多路径传输优化技术综述[J]. 计算机研究与发展, 2016, 53(11): 2512-2529.
  10. Paasch C, Ferlin S, Alay O, et al. Experimental evaluation of multipath TCP schedulers[C]//Proceedings of the 2014 ACM SIGCOMM workshop on Capacity sharing workshop. 2014: 27-32.
  11. Raiciu C, Paasch C, Barre S, et al. How hard can it be? designing and implementing a deployable multipath {TCP}[C]//9th USENIX symposium on networked systems design and implementation (NSDI 12). 2012: 399-412.
  12. Ferlin-Oliveira S, Dreibholz T, Alay Ö. Tackling the challenge of bufferbloat in multi-path transport over heterogeneous wireless networks[C]//2014 IEEE 22nd International Symposium of Quality of Service (IWQoS). IEEE, 2014: 123-128.
  13. Frommgen A, Erbshäußer T, Buchmann A, et al. ReMP TCP: Low latency multipath TCP[C]//2016 IEEE international conference on communications (ICC). IEEE, 2016: 1-7.
  14. Lim Y, Chen Y C, Nahum E M, et al. Design, implementation, and evaluation of energy-aware multi-path TCP[C]//Proceedings of the 11th ACM Conference on Emerging Networking Experiments and Technologies. 2015: 1-13.
  15. Casetti C, Gaiotto W. Westwood SCTP: load balancing over multipaths using bandwidth-aware source scheduling[C]//IEEE 60th Vehicular Technology Conference, 2004. VTC2004-Fall. 2004. IEEE, 2004, 4: 3025-3029.
  16. Mirani F H, Boukhatem N, Tran M A. A data-scheduling mechanism for multi-homed mobile terminals with disparate link latencies[C]//2010 IEEE 72nd Vehicular Technology Conference-Fall. IEEE, 2010: 1-5.
  17. Ni D, Xue K, Hong P, et al. Fine-grained forward prediction based dynamic packet scheduling mechanism for multipath TCP in lossy networks[C]//2014 23rd international conference on computer communication and networks (ICCCN). IEEE, 2014: 1-7.
  18. Sarwar G, Boreli R, Lochin E, et al. Mitigating receiver’s buffer blocking by delay aware packet scheduling in multipath data transfer[C]//2013 27th international conference on advanced information networking and applications workshops. IEEE, 2013: 1119-1124.
  19. Kuhn N, Lochin E, Mifdaoui A, et al. DAPS: Intelligent delay-aware packet scheduling for multipath transport[C]//2014 IEEE international conference on communications (ICC). IEEE, 2014: 1222-1227.
  20. Yang F, Wang Q, Amer P D. Out-of-order transmission for in-order arrival scheduling for multipath TCP[C]//2014 28th international conference on advanced information networking and applications workshops. IEEE, 2014: 749-752.
  21. Ferlin S, Alay Ö, Mehani O, et al. BLEST: Blocking estimation-based MPTCP scheduler for heterogeneous networks[C]//2016 IFIP networking conference (IFIP networking) and workshops. IEEE, 2016: 431-439.
  22. Lim Y, Nahum E M, Towsley D, et al. ECF: An MPTCP path scheduler to manage heterogeneous paths[C]//Proceedings of the 13th international conference on emerging networking experiments and technologies. 2017: 147-159.
  23. Guo Y E, Nikravesh A, Mao Z M, et al. Accelerating multipath transport through balanced subflow completion[C]//Proceedings of the 23rd Annual International Conference on Mobile Computing and Networking. 2017: 141-153.
  24. Shi H, Cui Y, Wang X, et al. {STMS}: Improving {MPTCP} throughput under heterogeneous networks[C]//2018 USENIX Annual Technical Conference (USENIX ATC 18). 2018: 719-730.
  25. Saha S K, Aggarwal S, Pathak R, et al. MuSher: An agile multipath-TCP scheduler for dual-band 802.11 ad/AC wireless LANs[C]//The 25th Annual International Conference on Mobile Computing and Networking. 2019: 1-16.
  26. Lee H J, Flinn J, Tonshal B. RAVEN: Improving interactive latency for the connected car[C]//Proceedings of the 24th Annual International Conference on Mobile Computing and Networking. 2018: 557-572.
  27. Zhang H, Li W, Gao S, et al. ReLeS: A neural adaptive multipath scheduler based on deep reinforcement learning[C]//IEEE INFOCOM 2019-IEEE Conference on Computer Communications. IEEE, 2019: 1648-1656.
  28. Wu H, Alay Ö, Brunstrom A, et al. Peekaboo: Learning-based multipath scheduling for dynamic heterogeneous environments[J]. IEEE Journal on Selected Areas in Communications, 2020, 38(10): 2295-2310.
  29. Polese M, Chiariotti F, Bonetto E, et al. A survey on recent advances in transport layer protocols[J]. IEEE Communications Surveys & Tutorials, 2019, 21(4): 3584-3608.
  30. Kimura B Y L, Lima D C S F, Loureiro A A F. Packet scheduling in multipath TCP: Fundamentals, lessons, and opportunities[J]. IEEE Systems Journal, 2020, 15(1): 1445-1457.
  31. Chao L, Wu C, Yoshinaga T, et al. A brief review of multipath tcp for vehicular networks[J]. Sensors, 2021, 21(8): 2793.
  32. Asiri M Y. A Survey of Multipath TCP Scheduling Schemes: Open Challenges and Potential Enablers[J]. 2021.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/215815.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【AIGCode】让AI生成随机数据

用户测试数据库性能,SQL性能等。 交互流程: 假如我的表结构是: CREATE TABLE prd_article_inf ( ARTICLE_INF_ID int(11) NOT NULL AUTO_INCREMENT, ARTICLE_AUTHOR varchar(24) DEFAULT NULL, ARTICLE_BRIEF varchar(255) DEFAULT NULL, …

面试题之分布式事务篇

1.什么是分布式事务? 概述:在分布式系统上一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务节点上,且属于不同的应用,分布式事务需要保证这些小操作要 么全部成功,要么全部失败。 如下所示&…

课题学习(十四)----三轴加速度计+三轴陀螺仪传感器-ICM20602

本篇博客对ICM20602芯片进行学习,目的是后续设计一个电路板,采集ICM20602的数据,通过这些数据对各种姿态解算的方法进行仿真学习。 一、 ICM20602介绍 1.1 初识芯片 3轴陀螺仪:可编程全刻度范围(FSR)为250 dps,500 d…

Apache shiro1.2.4反序列化漏洞(CVE-2016-4437)

1.搭建环境 2.准备好ysoserial反序列化工具和poc.py 3.输入账号和密码然后记得勾上remember me,然后抓包。 4.后来了解到,shiro是基于CommonsBeanutils的反序列化链 5.所以通过ysoserial,生成那个的gadget(小工具)&#xff…

探索元宇宙链游戏:一场数字世界的奇妙融合

随着互联网的飞速发展,以及人们不断对互动娱乐体验的要求提高,元宇宙渐渐成为人们追求的目标。 而区块链技术的出现给元宇宙链游开发带来了新的机遇和挑战。 一、元宇宙链游定义 元宇宙链游全称为基于区块链技术的元宇宙游戏,是一种新型的网…

SSM整合(注解版)

SSM 整合是指将学习的 Spring,SpringMVC,MyBatis 进行整合,来进行项目的开发。 1 项目基本的配置类 1.1 Spring 配置类 这个配置类主要是管理 Service 中的 bean,controller 层的 bean 对象是 SpringMVC 管理的 package cn.ed…

在高德地图SDK上加载五层十五级瓦片的方法

目录 前言实现思路加载高德SDK,显示地图加载GroundOverlay类加载五层十五级瓦片清除瓦片总结前言 因为项目需求,需要在高德地图上加载五层十五级瓦片。这八竿子打不着的结合,着实没有思路。好在高德地图SDK提供了一个加载地表覆盖物的接口(GroundOverlay),这就为加载五层…

大数据集群增加数据盘,平衡数据盘HDFS Disk Balancer

大数据集群增加数据盘,平衡数据盘HDFS Disk Balancer 官网:https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-hdfs/HDFSDiskbalancer.html hdfs diskbalancer -execute /system/diskbalancer/nodename.plan.jsonhdfs diskbalancer -q…

无需公网IP!Apache服务器本地部署与内网穿透实现公网访问

Apache服务安装配置与结合内网穿透实现公网访问 文章目录 Apache服务安装配置与结合内网穿透实现公网访问前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpo…

01、pytest:帮助你编写更好的程序

简介 ​pytest框架可以很容易地编写小型、可读的测试,并且可以扩展以支持应用程序和库的复杂功能测试。使用pytest至少需要安装Python3.7或PyPy3。PyPI包名称为pytest 一个快速的例子 content of test_sample.py def inc(x):return x1def test_ansewer():assert i…

Presto:基于内存的OLAP查询引擎

Presto查询引擎 1、Presto概述1.1、Presto背景1.2、什么是Presto1.3、Presto的特性2、Presto架构2.1、Presto的两类服务器2.2、Presto基本概念2.3、Presto数据模型3、Presto查询过程3.1、Presto执行原理3.2、Presto与Hive3.3、Presto与Impala3.4、PrestoDB与PrestoSQL4、Presto…

YehdBPev通过AES解密为123456

1、代码 import cn.hutool.crypto.Mode; import cn.hutool.crypto.Padding; import cn.hutool.crypto.symmetric.AES; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec;public class Test {public static void main(String [] args) {Secr…

使用群晖Docker搭建HomeAssistant并实现异地公网访问家中智能设备

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 使用群晖Docker搭建HomeAssistant并实现异地公网访问 文章目录 使…

iOS代码安全加固利器:深入探讨字符串和代码混淆器的作用

​ 在网上搜“代码混淆”关键词,可以看到n多教程。包括本篇博客,大部分重要内容也是从网上各位大神的博客里面看到然后摘取和总结出来的。虽然网上都有,但是对于我个人来说,很难找到一篇博客概括完全的,所以还是总结一…

IDEA使用git从远程仓库获取项目

将地址填入url中 然后直接clone就行

redis 常见问题分析

目录 redis 使用分析 一、redis 双写一致性分析 常见方式 1、先写数据库,后写缓存 2、先写数据库,后删缓存 3、先删缓存,再写数据库 4、延迟双删 二、redis 常见异常分析 一、缓存穿透 1、概念 2、解决方案 二、缓存雪崩 1、概念…

自媒体原创改写工具,自媒体首发改写软件

自媒体平台已成为许多创作者表达观点、分享知识和积累影响力的关键渠道。创作是需要技巧和经验的。本文将分享一些自媒体文章改写技巧,并推荐一系列优秀的自媒体文章改写工具,帮助您提升创作效率,创作出更优秀的文章。 自媒体文章改写技巧 …

浅谈档案管理与档案数据挖掘应用

一、当前常见档案及其管理方式 一般,档案是指人们在各项社会活动中直接形成的各种形式的具有保存价值的原始记录。原始记录性是它的本质属性。随着社会发展及数字技术的发展,产生了电子档案,是档案领域最剧烈的一次变革,它直接影…

ssrf介绍、相关php函数及demo演示

SSRF系列 危害(利用) 漏洞判断 回显 延时 DNS请求 相关函数

汽车后服务行业汽美汽修店小程序作用如何

汽车后服务行业包括汽美、汽修等多种门店类型,如今家庭拥车量平均数非常高,这意味着后服务市场商家只要服务好、质量佳、具备一定引流转化方式,就能获得生意。 然而传统门店在近些年生意也不好做,自然流量减少、同行竞争压力等&a…