CN105025524B - 一种多路径并行传输数据调度方法及传输控制协议 - Google Patents
一种多路径并行传输数据调度方法及传输控制协议 Download PDFInfo
- Publication number
- CN105025524B CN105025524B CN201510314286.5A CN201510314286A CN105025524B CN 105025524 B CN105025524 B CN 105025524B CN 201510314286 A CN201510314286 A CN 201510314286A CN 105025524 B CN105025524 B CN 105025524B
- Authority
- CN
- China
- Prior art keywords
- path
- cwnd
- congestion window
- window
- congestion
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/52—Allocation or scheduling criteria for wireless resources based on load
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种多路径并行传输数据调度方法及传输控制协议,其特征在于,拥塞窗口的动态值cwndr按照以下方式调整:当路径r成功接收一个ACK时,拥塞窗口cwndr增加α/cwndtotal;当路径r检测到一个分组数据包丢失时,拥塞窗口cwndr减小max(β*cwndr,cwndr/2)。本发明提出的基于拥塞窗口动态调整的多路径并行传输数据调度方法充分考虑了链路延迟分化对传输质量的影响,在拥塞窗口控制机制中引入了路径延迟因子参数,能够实现路径传输质量分化的有效缩减,避免最优链路的过度拥塞,从而提高MPTCP传输吞吐量,增强用户体验。
Description
技术领域
本发明涉及多宿主终端中的多路径并行传输技术,特别是指一种多路径并行传输数据调度方法及传输控制协议。
背景技术
多宿主终端通过多路径传输控制协议(Multi-path Transmission ControlProtocol,MPTCP)实现数据多条路径并行传输,借助多个不同的网络接入技术联合利用,结合拥塞控制算法与数据调度方法,能有效提高多径并行传输的吞吐量。MPTCP数据调度方法分为三步骤:1)在多条链路中寻找可用链路(拥塞窗口cwnd有空余);2)在可用链路中选择链路进行数据调度;3)决策该条链路上传输数据包大小。在多条子流链路中进行数据调度时,需要在多个可用链路(拥塞窗口cwnd有空余)中实现最优链路有效地分担负载进行传输,避免最优链路的过度拥塞,并且降低路径之间传输质量的差异性,进而提高传输吞吐量,增强用户体验,否则,会造成接收端产生大量无序数据包,造成接收端缓存空间过载,延迟接收端对数据包的处理过程,发生错误判断数据包丢失并重传,进而影响多路径并行传输的整体传输性能。因此,在MPTCP数据传输中,有效地结合拥塞控制算法与数据调度方法,基于拥塞窗口动态调整进行数据调度,对于缩减路径之间传输质量的分化,平衡负载,提高传输吞吐量以及提高用户体验至关重要。
在现有的MPTCP传输协议中,Smallest-RTT数据调度策略,根据路径上的传输延迟评估路径传输质量,并实现最小传输延迟链路分担负载。对于该评估指标的评测方法为测量路径上数据传输的往返时间,既RTT(Round-Trip Time)值。RTT值表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的延迟,RTT值越小,表明链路传输性能越好。
MPTCP传输协议中,拥塞窗口的动态调整依靠拥塞控制机制,MPTCP的拥塞控制机制与传统TCP有很大区别。在MPTCP中拥塞控制机制分为两层机制,下层拥塞控制机制与传统TCP相同,各子流链路相互之间独立;上层拥塞控制机制视各子流链路存在耦合关系,统筹控制各链路拥塞窗口cwnd。现有MPTCP传输协议中,使用Linked increase算法。其中,当链路有效接收一个ACK时,链路的拥塞窗口增加min(α/cwndtotal,1/cwndi),链路丢失一个数据包时,拥塞窗口减小cwndi/2。cwndtotal表示MPTCP整体拥塞窗口大小,cwndi表示该子流链路拥塞窗口大小。
该算法令各子流拥塞窗口与其他子流的性能相关联,窗口变化都由总拥塞窗口的大小决定,有效地实现了资源共享,但同时也存在以下缺点:1)过度使用最优链路,无法有效平衡负载,影响MPTCP传输链路整体传输性能;2)无法解决各子流链路之间传输质量的严重分化,在接收端产生大量无序数据包,延迟应用层对数据包的处理过程,影响MPTCP的整体传输质量。
发明内容
有鉴于此,本发明的目的在于提出一种多路径并行传输数据调度方法及传输控制协议,能够有效平衡各子流链路负载,缩减链路间传输质量差异,减少数据传输时接收端无序数据包,提高MPTCP传输吞吐量。
基于上述目的本发明提供的多路径并行传输数据调度方法,在现有的MPTCP传输协议中,拥塞窗口的动态值cwndr按照以下方式调整:
当路径r成功接收一个ACK时,拥塞窗口cwndr增加
当路径r检测到一个分组数据包丢失时,拥塞窗口cwndr减小:
max(β×cwndr,cwndr/2)。
其中,
cwndr是路径r当前的拥塞窗口值;
α是考虑了不同链路延迟分化的窗口增长因子;
cwndtotal是所有子流的拥塞窗口之和;
β是考虑了不同链路延迟分化的窗口减小因子。
在一些实施方式中,所述窗口减小因子β根据以下公式更新:
其中,Ir是路径r的传输延迟因子。
在一些实施方式中,所述窗口增长因子α根据以下公式来更新:
其中,RTTi是路径i上的数据传输往返时间。
在一些实施方式中,所述路径r的传输延迟因子Ir按照以下公式更新:
基于上述目的本发明提供的多路径并行传输控制协议,其特征在于,包括传输层,所述传输层包括MPTCP层和TCP子流层。所述MPTCP层基于如前所述的多路径并行传输数据调度方法实现。
在一些实施方式中,所述MPTCP层按功能分为路径管理模块和包调度模块。所述包调度模块包括数据包调度模块、子流接口模块和拥塞控制模块。所述数据包调度模块和拥塞控制模块基于如前所述的多路径并行传输数据调度方法实现。
从上面所述可以看出,本发明提供的多路径并行传输数据调度方法对MPTCP中的拥塞控制算法做了改进,通过将“链路传输延迟因子”引入窗口增长因子和窗口减小因子引入,对拥塞窗口cwnd进行动态调整。该算法能够有效缩减子流链路间传输质量的严重分化,避免最优链路的过度拥塞,提高MPTCP的传输吞吐量,增强用户体验。
附图说明
图1为本发明提出的多路径并行传输数据调度方法及传输控制协议实施例中的MPTCP的架构图;
图2为本发明提出的多路径并行传输数据调度方法及传输控制协议实施例中的MPTCP层的构架框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
MPTCP中对待传输数据分配两个序号,子流层序列号和数据层序列号。子流层序列号即是TCP中的序列号,而数据层序列号被封装在选项字段中。因为链路延迟差距,数据包到达接收端缓存空间时,为无序数据包,先行到达的数据包要等待高延迟链路的数据到达接收端缓存空间,直到有序数据包形成,上传应用层进行数据处理。并且,MPTCP中RTT值评估路径传输质量的Smallest-RTT数,更倾向于使用低延迟链路进行数据调度,造成低延迟链路的过度拥塞。
针对现有MPTCP传输协议中Linked increase拥塞控制算法不能有效实现各子流链路的负载平衡、过度使用低延迟链路导致拥塞的上述局限,本发明对拥塞窗口的动态更新提出如下调整:
当路径r成功接收一个ACK时,拥塞窗口cwndr增加
当路径r检测到一个分组数据包丢失时,拥塞窗口cwndr减小
其中,α及β分别为考虑了路径延迟分化的窗口增长因子和窗口减小因子。
在现有的MPTCP传输协议中,Smallest-RTT数据调度方法对各路径上的传输延迟评估路径传输质量,对于传输延迟的评测方法为测量路径上数据传输的往返时间(Round-Trip Time,RTT)值。该拥塞窗口动态调整策略考虑到各子流链路的延迟分化对窗口变化以及数据调度的影响,将各子流链路的传输延迟引入传输延迟因子:
上述窗口减小因子:
结合以上两个公式,当只存在一条路径时,β=1/2,与传统TCP拥塞控制机制相符合。
下面就窗口增长因子作推倒:
平衡状态下,单位时间内窗口的增加量和减小量应相等,既接收ACK速率x平均每ACK窗口增量=丢包速率x平均每丢包窗口减少量,设定路径r上的丢包率为pr,
MPTCP传输协议要保证MPTCP吞吐量不低于任何一条TCP子流在最佳单路径下的吞吐量,且MPTCP的通信双方在任意一条共享链路上的通信不会影响其他端节点的通信,因此MPTCP吞吐量=TCP子流在最佳但路径下的吞吐量:
根据标准TCP拥塞控制算法:
结合以上公式,成功接收ACK窗口的增加因子α:
至此,考虑了链路延迟因素的新的拥塞窗口调整方案已建立。
本方案能够避免过度拥塞的实质在于:低延迟链路(RTT小)在成功接收每个ACK的窗口增加量与每丢失一个分组数据包后的窗口减小量相对于高延迟链路(RTT大)而言更大。从而使较低延迟的那一部分链路相对于较高延迟的另一部分路拥有更大的窗口,调度器会把当前需要发送的数据包更多的分配给较低延迟的一部分链路,且能够根据链路情况实现均衡分配,避免了最优低延迟链路的过度使用及高延迟链路的过早使用,从而使数据调度更加优化。
为使本发明的设计方案、技术原理更加清晰明了,以下对本发明的实施进行详细说明。图1为MPTCP协议架构图,包括传输层1,传输层分为MPTCP层11与TCP子流层12。图2为MPTCP层11的架构框图,在传输层1中,MPTCP层11按功能可以分为路径管理模块111和包调度模块112。路径管理模块111探测通信双方的可用路径,包调度模块112包括数据包调度模块1121、子流接口模块1122和拥塞控制模块1123。本发明提出的基于拥塞窗口动态调整的多路径并行传输数据调度方法的实现,需对MPTCP协议栈相应模块进行修改。
针对现有MPTCP在Linux内核中的嵌入实现,本发明在Linux内核中对MPTCP协议栈的拥塞控制模块与数据调度模块进行修改,并移植到嵌入式开发板中,搭建并行传输测试环境,监测链路吞吐量,完成系统实现。
本发明提出的基于拥塞窗口动态调整的多路径并行传输数据调度方法具有如下优点:有效平衡负载,避免高传输质量链路的过度拥塞,提高吞吐量;动态调整各子流链路的拥塞窗口,有效缩减各子流链路间传输质量差异,解决在接收端存在大量无序数据包问题,提高MPTCP传输质量。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种多路径并行传输数据调度方法,其特征在于,在MPTCP传输协议中,拥塞窗口的动态值cwndr按照以下方式调整:
当路径r成功接收一个ACK时,拥塞窗口cwndr增加
当路径r检测到一个分组数据包丢失时,拥塞窗口cwndr减小调度器把当前需要发送的数据包优先分配给拥塞窗口较低延迟的链路;
其中,
cwndr是路径r当前的拥塞窗口值;
α是考虑了不同链路延迟分化的窗口增长因子;
cwndtotal是所有子流的拥塞窗口之和;
β是考虑了不同链路延迟分化的窗口减小因子;
所述窗口减小因子β根据以下公式更新:
其中,Ir是路径r的传输延迟因子;
所述窗口增长因子α根据以下公式来更新:
其中,RTTi是路径i上的数据传输往返时间;
所述路径r的传输延迟因子Ir按照以下公式更新:
2.一种多路径并行传输控制协议,其特征在于,包括传输层,所述传输层包括多路径传输协议层和传输协议子流层;所述多路径传输协议层基于如权利要求1所述的基于拥塞窗口动态调整的多路径并行传输数据调度方法实现。
3.根据权利要求2所述的多路径并行传输控制协议,其特征在于,所述多路径传输协议层按功能分为路径管理模块和包调度模块;所述包调度模块包括数据包调度模块、子流接口模块和拥塞控制模块;
所述数据包调度模块和拥塞控制模块基于如权利要求1所述的基于拥塞窗口动态调整的多路径并行传输数据调度方法实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510314286.5A CN105025524B (zh) | 2015-06-09 | 2015-06-09 | 一种多路径并行传输数据调度方法及传输控制协议 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510314286.5A CN105025524B (zh) | 2015-06-09 | 2015-06-09 | 一种多路径并行传输数据调度方法及传输控制协议 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105025524A CN105025524A (zh) | 2015-11-04 |
CN105025524B true CN105025524B (zh) | 2018-11-13 |
Family
ID=54415140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510314286.5A Active CN105025524B (zh) | 2015-06-09 | 2015-06-09 | 一种多路径并行传输数据调度方法及传输控制协议 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105025524B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106211238A (zh) * | 2016-07-11 | 2016-12-07 | 青岛海信移动通信技术股份有限公司 | 数据传输方法及装置、终端 |
CN106878192B (zh) * | 2016-12-26 | 2020-02-14 | 北京邮电大学 | 一种自适应mptcp的数据调度方法 |
CN108881008B (zh) * | 2017-05-12 | 2021-06-08 | 华为技术有限公司 | 一种数据传输的方法、装置和系统 |
CN109729007B (zh) * | 2017-10-28 | 2022-07-22 | 华为技术有限公司 | 一种传输数据的方法、装置和设备 |
CN109788509B (zh) | 2017-11-15 | 2023-03-10 | 华为技术有限公司 | 连续数据包传输失败的规避方法及装置 |
CN108632157B (zh) * | 2018-04-10 | 2020-08-25 | 中国科学技术大学 | 多径tcp协议拥塞控制方法 |
KR102094988B1 (ko) * | 2018-08-31 | 2020-03-30 | 연세대학교 산학협력단 | 다중경로 전송제어프로토콜을 위한 혼잡 윈도우 제어 장치 및 방법 |
CN110730479B (zh) * | 2019-10-24 | 2021-02-09 | 北京大学 | 一种用于多路径通信的方法及装置 |
CN112671660B (zh) * | 2020-12-24 | 2022-03-22 | 海南大学 | 异构多路径传输网络系统多性能参数并行优化方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557607A (zh) * | 2009-05-15 | 2009-10-14 | 东南大学 | 无线传感器网络中汇聚节点的传输控制方法 |
CN102546106A (zh) * | 2011-12-28 | 2012-07-04 | 南京邮电大学 | 面向卫星网络的多路径并行传输方法 |
-
2015
- 2015-06-09 CN CN201510314286.5A patent/CN105025524B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557607A (zh) * | 2009-05-15 | 2009-10-14 | 东南大学 | 无线传感器网络中汇聚节点的传输控制方法 |
CN102546106A (zh) * | 2011-12-28 | 2012-07-04 | 南京邮电大学 | 面向卫星网络的多路径并行传输方法 |
Non-Patent Citations (1)
Title |
---|
基于MPTCP协议的拥塞控制研究;甘俊娜;《重庆邮电大学硕士学位论文》;20131231;正文第3.3.1、5.3.2节 * |
Also Published As
Publication number | Publication date |
---|---|
CN105025524A (zh) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105025524B (zh) | 一种多路径并行传输数据调度方法及传输控制协议 | |
US10594596B2 (en) | Data transmission | |
JP6077047B2 (ja) | ネットワーク中で通信するためのシステムおよび方法 | |
CN106027416B (zh) | 一种基于时空结合的数据中心网络流量调度方法及系统 | |
US8737214B2 (en) | System, method and computer program for intelligent packet distribution | |
CN109120544B (zh) | 一种数据中心网络中基于主机端流量调度的传输控制方法 | |
US8923117B2 (en) | Congestion handling in a base station of a mobile network | |
US8369221B2 (en) | Efficient flow control in a radio network controller (RNC) | |
CN104994036B (zh) | 一种多路径传输协议中的动态数据调度方法 | |
WO2018113393A1 (zh) | 报文传输方法及混合接入网关 | |
US20160007223A1 (en) | Multi-Stream Service Concurrent Transmission Method, SubSystem, System And Multi-Interface Terminal | |
CN105517053B (zh) | 减少无线链路控制层协议数据单元重分段的方法及系统 | |
CN103477596A (zh) | 用于减小从绑定通信链路中接收的包的时间差异的方法与系统 | |
CN107517158B (zh) | 无人机通信网络联合路由协议的设计方法 | |
CN110808884B (zh) | 一种网络拥塞控制方法 | |
CN108540380A (zh) | 多子流网络传输方法及装置 | |
US20140281034A1 (en) | System and Method for Compressing Data Associated with a Buffer | |
CN103299675B (zh) | 用于tcp依赖的流控制的自适应相对比特率管理器 | |
CN106027407A (zh) | 网络中拥塞窗口的调整方法、网络拥塞控制方法及交换机 | |
US20190075486A1 (en) | Congestion control in a telecommunications network | |
CN109104742A (zh) | 拥塞窗口调整方法及发送设备 | |
Wang et al. | Predictable vFabric on informative data plane | |
CN112787919B (zh) | 报文传输方法及设备、可读介质 | |
US11728893B1 (en) | Method, system, and apparatus for packet transmission | |
Kim et al. | MAC-level measurement based traffic distribution over IEEE 802.11 multi-radio networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |