CN106656856B - 一种抵抗mptcp接收缓冲区阻塞的数据包调度方法 - Google Patents
一种抵抗mptcp接收缓冲区阻塞的数据包调度方法 Download PDFInfo
- Publication number
- CN106656856B CN106656856B CN201611169329.6A CN201611169329A CN106656856B CN 106656856 B CN106656856 B CN 106656856B CN 201611169329 A CN201611169329 A CN 201611169329A CN 106656856 B CN106656856 B CN 106656856B
- Authority
- CN
- China
- Prior art keywords
- subflow
- data packet
- serial number
- max
- buffer area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9005—Buffering arrangements using dynamic buffer space allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种抵抗MPTCP接收缓冲区阻塞的数据包调度方法。现有MPTCP协议中数据包调度策略不当使得接收缓冲区阻塞,从而导致传输性能不佳。本发明方法首先获取各个子流的带宽、往返时间和丢包率,然后对各个子流按照往返时间的值从大到小排序,组成排序子流集合,选取排序子流集合中往返时间值最大的子流,获得调度序号和该子流传输数据包的个数,发送端从调度序号的数据包开始调度数据包分配给该子流,最后将该子流从排序子流集合中删除,重复操作,直到排序子流集合为空。本发明方法能有效地应对网络变化,解决接收缓冲区阻塞问题,提升MPTCP的传输性能。
Description
技术领域
本发明属于无线通信技术领域,具体涉及一种异构无线网络环境下可抵抗多路径传输控制协议(MPTCP)接收缓冲区阻塞的数据包调度方法。
背景技术
无线技术正处在一个高速发展的过程中,在我们周围部署着多种不同的无线接入网络,包括公众无线局域网WiFi,车载无线网WAVE,城域网WiMax和移动网4G/LTE等,也预示着无线网络向宽带异构并行接入的方向发展。无线接入网络的不断壮大和多媒体业务的蓬勃发展,给多模终端的发展指明了方向——支持多个网络接口,具备更强大的计算能力,拥有更庞大的存储空间。终端不断增强的处理能力和通信能力能支持丰富多彩的多媒体业务,从而更加适应异构无线网络的通信环境。多模终端数量的增加,使多路径并行传输(CMT)技术的应用更加广泛。CMT支持多种网络并行接入,利用多个网络接口和多条路径并行地传输数据,从而获得较大的聚合吞吐量,提高传输效率。现有的CMT传输协议主要有两类:流传输控制协议(SCTP)和多路径TCP(MPTCP)协议。SCTP具有多宿性,常用于CMT;MPTCP是一种结合了TCP协议和CMT优点的方案,在研究领域被广泛关注。
然而,在异构无线网络环境下,现有的MPTCP协议并没有达到理想的传输效果,接收端的数据重组使得多路径并行传输存在很严重的问题。由于无线路径的时变性以及各路径之间的差异性(带宽、时延和丢包率等),使得通过多路径传输的数据包不能按序到达接收端,而应用层面对数据包次序性的要求使得接收端不得不对数据包进行缓存重组,再按序提交给应用层。传统的多路传输调度策略,如时间片轮转调度策略,会使得有限的接收缓冲区因为大量数据包的重排而被阻塞,接收缓冲区阻塞会限制部分路径的数据传输使其空闲,不仅降低了吞吐量,还增加了传输时延并会导致大量的数据包重传。因此,迫切需要一种有效的数据包调度方法来解决MPTCP接收缓冲区阻塞的问题。
本发明涉及了MPTCP方面内容,介绍如下:
MPTCP***模型:如图1所示,MPTCP中存在一个发送端和一个接收端,发送端和接收端之间通过P条路径进行数据传输,将每条路径上建立的连接称为MPTCP的子流,所有子流的集合用p表示。发送端的数据包在发送缓冲区通过统一编号后由调度模块将数据包分发到各条子流上;各条子流通过TCP协议将数据包发送到接收端;接收端通过统一的接收缓冲区,将各条子流发送来的数据包进行缓存并重新排序,然后按序地将数据包递交给应用。
带宽测量:带宽是指通信路径单位时间内能发送的数据量,是衡量网速的指标。文献《pathChirp:Efficient Available Bandwidth Estimation for Network Paths》提供了一种称为pathChirp的带宽估计方法,pathChirp中每一个chirp由N个数据包组成,每个数据包的大小为S,数据包之间的发送间隔呈指数增长,记第k个数据包的发送间隔为△k,传输延时为qk,这个包的瞬时发送速率Rk=S/Δk,如果qk=qk-1,说明此时的发送速率小于等于路径带宽,否则,此时的发送速率大于路径带宽。pathChirp通过发送少量的探测数据可以准确地估计路径的可用带宽。
发明内容
本发明针对现有MPTCP协议中数据包调度方法不当使得接收缓冲区阻塞从而导致传输性能不佳的问题,提出了一种抵抗MPTCP接收缓冲区阻塞的数据包调度方法,该方法首先基于网络状况分析接收缓冲区的数据包乱序情况,再进行数据包调度使得数据包在接收端顺序到达。
本发明方法具体步骤是:
步骤(1)获取子流i的带宽μi、往返时间RTTi和丢包率πi;具体是:
通过pathChirp算法获取子流i的带宽μi,通过TCP协议的SRTT机制获取子流i的往返时间RTTi,通过统计丢失的数据包个数和发送的数据包个数获取子流i的丢包率πi。
步骤(2)对原始子流集合p中的各个子流按照往返时间RTT的值从大到小排序组成排序子流集合pavailable。
步骤(3)选取pavailable中RTT值最大的子流imax,获得调度序号Seqselect和子流imax传输数据包的个数发送端从序号为Seqselect的数据包开始调度个数据包分配给子流imax。
获得调度序号Seqselect和子流imax传输数据包的个数的方法是:
将发送端的发送缓冲区内未发送数据包中的最小数据包序号记为Seqmin,从序号Seqmin开始(包括Seqmin)连续未发送数据包中的最大数据包序号记为Seqmax,如果发送缓冲区中没有未发送的数据包,则将序号Seqmin置为下一个到达的数据包序号,序号Seqmax置为-1;
获得调度序号Seqselect:
j为原始子流集合p中往返时间小于子流imax往返时间的子流;MSS为最大报文段长度,确立为每个数据包的大小;
获得子流imax传输数据包的个数
其中为子流imax的发送窗口大小。
步骤(4)将子流imax从集合pavailable中删除,重复执行步骤(3),直到pavailable为空。
本发明综合考虑了MPTCP中各子流的网络状况,通过分析各子流的差异性做出合理的数据包调度使得数据包顺序到达接收缓冲区。与现有的MPTCP调度方法相比,其优点体现在:
1、传统的MPTCP调度方法,如时间片轮转和最小RTT等方法,不根据接收缓冲区的阻塞情况进行调度,而且对数据包到达接收端的顺序不做规划,因此这些调度方法不能解决接收缓冲区阻塞的问题。而本发明综合考虑各条子流的网络状况,分析数据包通过各条子流到达接收端的时间,在发送端对数据包调度时进行合理规划,能有效解决接收缓冲区阻塞问题,提升MPTCP的传输性能;
2、新提出的一些DAPS和OTIAS等MPTCP数据包调度方法,在发送端对数据包的调度提前做出判决以解决接收缓冲区拥塞的问题,这些方法的弊端是提前做出判决后,子流不能及时地将分发到的数据包发送出去,特别是当子流发生丢包时会有大量的数据包阻塞在子流的发送缓冲区中,因此不能有效地应对网络的变化。而本发明充分从带宽、丢包率和时延等多方面考虑了各条子流的网络状况,对接收缓冲区阻塞进行充分分析然后做出合理的调度,同时考虑了网络变化的影响,因此能够有效地应对网络变化,从而提升MPTCP的传输性能。
附图说明
图1为抵抗MPTCP接收缓冲区阻塞的数据包调度方法***架构图。
图2为本发明提供的MPTCP数据包调度流程图;
图3为两条子流的MPTCP模型示例图;
图4为MPTCP数据包调度序号示意图;
图5为两条子流的MPTCP数据包调度方法示例图。
具体实施方式
以下结合附图并举例对本发明做进一步详细说明。
如图1所示,本发明首先通过路径状态监测动态获取各子流的网络状况(带宽、时延和丢包率等)交由参数控制单元管理,数据包调度模块根据获取的网络状况对各子流进行数据包调度。
一种抵抗MPTCP接收缓冲区阻塞的数据包调度方法,具体流程如图2所示。
以两条子流的MPTCP传输模型为例进行说明,如图3所示,MPTCP中存在两条子流,编号为子流1和子流2,即所有子流集合p={1,2},发送端和接收端通过这两条子流相连。其中子流1的带宽μ1为6Mbps,往返时间RTT1为40ms;子流2的带宽μ2为1.5Mbps,往返时间RTT2为80ms,为了简化说明,这里暂不考虑丢包问题,假设两条子流的丢包率为零。MPTCP中的子流根据拥塞控制机制调整拥塞窗口,每个时刻拥塞窗口大小都有可能不同,在此选取某一时刻为代表进行举例说明。假定此时发送缓冲区中未发送的数据包最小序号Seqmin为101,最大序号为140,此时子流1的发送窗口为20(单位数据包),子流2的发送窗口为10(单位数据包),每个数据包的大小MSS为1500字节。调度示意过程参照附图5,本发明具体通过以下步骤实现:
步骤(1)获取子流带宽、往返时间和丢包率,得到子流1的带宽μ1为6Mbps,往返时间RTT1为40ms,丢包率π1为0;子流2的带宽μ2为1.5Mbps,往返时间RTT2为80ms,丢包率π2为0;
步骤(2)对原始子流集合p={1,2}集合中的子流按照RTT值从大到小排序得到排序子流集合pavailable={2,1};
如图4所示,步骤(3)选取排序子流集合pavailable={2,1}中RTT值最大的子流2,发送端从序号为Seqselect的数据包开始调度Num2个数据包分配给子流2,其中:
Num2=min{Seqmax-Seqselect+1,SWND2}
=min{140-121+1,10}=10
步骤(4)将子流2从集合pavailable中删除得到pavailable={1},重复执行步骤(3);
如图4所示,步骤(3)选取集合pavailable={1}中RTT值最大的子流1,发送端从序号为Seqselect的数据包开始调度Num1个数据包分配给子流1,其中:
Num1=min{Seqmax-Seqselect+1,SWND1}
=min{120-101+1,20}=20
步骤(4)将子流1从集合pavailable中删除得到pavailable为空集,此次调度结束。
等待子流1这一轮次传输完成,经过RTT1时间后,子流1的发送窗口为21(单位数据包),继续执行本发明的调度方法,具体如下:
步骤(1)获取子流带宽、往返时间和丢包率,得到子流1的带宽μ1为6Mbps,往返时间RTT1为40ms,丢包率π1为0;子流2的带宽μ2为1.5Mbps,往返时间RTT2为80ms,丢包率π2为0;
步骤(2)对原始子流集合p={1,2}集合中的子流根据RTT值从大到小排序得到排序子流集合pavailable={2,1};
如图4所示,步骤(3)选取集合pavailable={2,1}中RTT值最大的子流2,发送端从序号为Seqselect的数据包开始调度Num2个数据包分配给子流2,其中:
Num2=0,Seqselect>Seqmax
步骤(4)将子流2从集合pavailable中删除得到pavailable={1},重复执行步骤(3);
如图4所示,步骤(3)选取集合pavailable={1}中RTT值最大的子流1,发送端从序号为Seqselect的数据包开始调度Num1个数据包分配给子流1,其中:
Num1=min{Seqmax-Seqselect+1,SWND1}
=min{140-131+1,21}=10
步骤(4)将子流1从集合pavailable中删除得到pavailable为空集,此次调度结束。
至此,发送缓冲区中的数据已全部调度完毕,需要等待应用层数据到达,而后继续执行本发明的数据包调度方法。
Claims (2)
1.一种抵抗MPTCP接收缓冲区阻塞的数据包调度方法,其特征在于该方法的具体步骤是:
步骤(1)获取子流i的带宽μi、往返时间RTTi和丢包率πi;
步骤(2)对原始子流集合p中的各个子流按照往返时间RTT的值从大到小排序,组成排序子流集合pavailable;
步骤(3)选取pavailable中RTT值最大的子流imax,获得调度序号Seqselect和子流imax传输数据包的个数发送端从序号为Seqselect的数据包开始调度个数据包分配给子流imax;
获得调度序号Seqselect和子流imax传输数据包的个数的方法是:
将发送端的发送缓冲区内未发送数据包中的最小数据包序号记为Seqmin,从序号Seqmin开始连续未发送数据包中的最大数据包序号记为Seqmax,如果发送缓冲区中没有未发送的数据包,则将序号Seqmin置为下一个到达的数据包序号,序号Seqmax置为-1;
获得调度序号Seqselect:
j为原始子流集合p中往返时间小于子流imax往返时间的子流;MSS为最大报文段长度,确立为每个数据包的大小;
获得子流imax传输数据包的个数
其中为子流imax的发送窗口大小;
步骤(4)将子流imax从集合pavailable中删除,重复执行步骤(3),直到pavailable为空。
2.如权利要求1所述的一种抵抗MPTCP接收缓冲区阻塞的数据包调度方法,其特征在于:步骤(1)中通过pathChirp算法获取子流i的带宽μi,通过TCP协议的SRTT机制获取子流i的往返时间RTTi,通过统计丢失的数据包个数和发送的数据包个数获取子流i的丢包率πi。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611169329.6A CN106656856B (zh) | 2016-12-16 | 2016-12-16 | 一种抵抗mptcp接收缓冲区阻塞的数据包调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611169329.6A CN106656856B (zh) | 2016-12-16 | 2016-12-16 | 一种抵抗mptcp接收缓冲区阻塞的数据包调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106656856A CN106656856A (zh) | 2017-05-10 |
CN106656856B true CN106656856B (zh) | 2019-07-26 |
Family
ID=58822199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611169329.6A Active CN106656856B (zh) | 2016-12-16 | 2016-12-16 | 一种抵抗mptcp接收缓冲区阻塞的数据包调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106656856B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107302504B (zh) * | 2017-07-07 | 2020-01-14 | 北京邮电大学 | 一种基于虚拟发送队列的多路传输调度方法及*** |
CN107566275B (zh) * | 2017-10-18 | 2019-12-03 | 中南大学 | 数据中心网络中基于延时差异性的多路径传输方法 |
CN109951260B (zh) * | 2018-02-12 | 2020-04-03 | 华为技术有限公司 | 一种数据包发送方法及相关设备 |
CN110380978B (zh) * | 2018-04-13 | 2021-09-28 | 清华大学 | 多路径传输的调度方法、装置、计算机设备和存储介质 |
ES2903241T3 (es) * | 2018-06-07 | 2022-03-31 | Deutsche Telekom Ag | Un sistema de comunicación para transmitir un segmento de protocolo de control de transmisión a través de una red de comunicación mediante el uso de un protocolo de control de transmisión de múltiples rutas, procedimiento y programa informático correspondientes |
CN110392394B (zh) * | 2019-07-26 | 2021-04-16 | 湖南大学 | 无线网络中基于链路状态信息的mptcp调度方法 |
CN110808859B (zh) * | 2019-11-01 | 2020-12-01 | 海南大学 | Mptcp多路径传输缓存耗量的回归模型计算方法和*** |
WO2021248886A1 (zh) * | 2020-06-11 | 2021-12-16 | 华为技术有限公司 | 数据传输方法、发送侧设备和接收侧设备 |
CN115134292B (zh) * | 2022-06-28 | 2023-11-28 | 王蕊 | 基于接收窗口的多路径传输实时流媒体的路径管理方法 |
CN115665060A (zh) * | 2022-12-26 | 2023-01-31 | 中国华能集团清洁能源技术研究院有限公司 | 一种用于异构网络的多路径传输调度方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761470A (zh) * | 2011-04-29 | 2012-10-31 | 清华大学 | 一种多径tcp传输协议报文调度方法 |
CN103166959A (zh) * | 2013-02-28 | 2013-06-19 | 东北大学 | 一种多径实时传输控制***及方法 |
-
2016
- 2016-12-16 CN CN201611169329.6A patent/CN106656856B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761470A (zh) * | 2011-04-29 | 2012-10-31 | 清华大学 | 一种多径tcp传输协议报文调度方法 |
CN103166959A (zh) * | 2013-02-28 | 2013-06-19 | 东北大学 | 一种多径实时传输控制***及方法 |
Non-Patent Citations (1)
Title |
---|
CMT-QA: Quality-Aware Adaptive Concurrent Multipath Data Transfer in Heterogeneous Wireless Networks;Changqiao Xu 等;《IEEE Transactions on Mobile Computing》;IEEE;20120904;第12卷(第11期);第5节 |
Also Published As
Publication number | Publication date |
---|---|
CN106656856A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656856B (zh) | 一种抵抗mptcp接收缓冲区阻塞的数据包调度方法 | |
US10986029B2 (en) | Device, system, and method of data transport with selective utilization of a single link or multiple links | |
CN103841041B (zh) | 一种多流业务并发传输控制方法及装置 | |
Xu et al. | CMT-NC: improving the concurrent multipath transfer performance using network coding in wireless networks | |
US9265055B2 (en) | Base station apparatus and wireless terminal apparatus | |
CN100407698C (zh) | 无线链路控制层的数据传输方法 | |
JP5614302B2 (ja) | 通信システムおよび通信方法 | |
CN103346963A (zh) | 一种基于预测到达时间的mptcp数据调度方法 | |
CA2678154A1 (en) | Access line bonding and splitting methods and apparatus | |
CN102014500B (zh) | 无线接入网中带宽高效分配方法 | |
CN106850455A (zh) | 一种无线多链路带宽聚合的*** | |
CN102546098B (zh) | 数据传输装置、方法及*** | |
CN102111819B (zh) | 一种延迟容忍网络 | |
US20140086222A1 (en) | Method and device for use in frame acknowledgement | |
CN103748845B (zh) | 报文发送方法、接收方法、装置及*** | |
CN102905319A (zh) | 一种数据分流的方法及*** | |
CN105323724B (zh) | 组播/广播技术中发送速率的设置方法及装置 | |
WO2013016971A1 (zh) | 一种分组交换网中数据包发送和接收的方法及装置 | |
CN105052112A (zh) | 一种压缩缓存器关联数据的方法与*** | |
CN105338646B (zh) | Rts/cts机制的启动控制方法及装置 | |
EP3682665B1 (en) | Packet latency reduction in mobile radio access networks | |
CN105050196B (zh) | 基于全双工中继缓存的多用户通信调度***及方法 | |
CN103178930A (zh) | 物理层链路汇聚传输方法及装置 | |
CN110113142A (zh) | 基于多个数据通道并发捆绑承载大数据量业务的传输方法及*** | |
US11196584B2 (en) | Network layer channel bonding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |