CN104796350B - 一种基于连续报文标记的多路径tcp拥塞控制方法 - Google Patents
一种基于连续报文标记的多路径tcp拥塞控制方法 Download PDFInfo
- Publication number
- CN104796350B CN104796350B CN201510214548.0A CN201510214548A CN104796350B CN 104796350 B CN104796350 B CN 104796350B CN 201510214548 A CN201510214548 A CN 201510214548A CN 104796350 B CN104796350 B CN 104796350B
- Authority
- CN
- China
- Prior art keywords
- mtd
- mtr
- mrow
- congestion
- msub
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明为一种基于连续报文标记的多路径TCP拥塞控制方法,当缓存队列长度大于标记阈值K时,交换机在输出报文加拥塞标记;接收方服务器通过确认报文反馈拥塞标记,发送方服务器接收到确认报文按有无标记更新确认报文矩阵MTi,计算T时段内该矩阵变化量之和当此值大于拥塞阈值θ,计算拥塞因子α,并按α成比例地减小拥塞窗口,α≤1/2,发送报文的拥塞窗口已减标志位置位;不大于θ或接收到确认报文无拥塞标记,根据联合增长算法增大拥塞窗口。本发明路径的拥塞状态信息在一个RTT内准确反馈给发送方,根据拥塞程度按比例有约束地减小拥塞窗口,充分利用各链路,保证多路径传输的实施,适用于多路径架构的数据中心网络。
Description
技术领域
本发明涉及数据中心网络技术领域,特别涉及数据中心网络中一种基于连续报文标记的多路径TCP拥塞控制方法。
背景技术
数据中心网络由成千上万台服务器通过商业交换机互联组成,为企、事业单位提供网络服务,具有带宽高、延时小、流量规模大以及突发性强的特点。数据中心网络采用多级网络架构,服务器位于最底层,向上是商业交换机,依次分为接入层、聚合层和核心层。数据中心网络的多级网络架构的拓扑能够为服务器之间同时提供多条可用路径。比如,在多级树形(Fat-Tree)架构中,位于不同簇(Pod)之间的两个服务器有k2/4条等价路径,其中,k是每台交换机的可用端口数。
多路径传输控制协议(Multi-path TCP,MPTCP)是TCP协议的一种扩展,能够充分利用现有的网络终端中的多个网络接口,在通信主机之间同时建立多条子流进行可靠的数据传输。然而,当应用到数据中心网络时,协议的适应性不佳,主要体现在流量传输速率慢且链路带宽利用率低下的问题,这主要是由于MPTCP的默认拥塞控制算法最初是针对因特网设计的。
针对这个问题,国内外学术界开展了大量的研究工作,并提出了一些数据中心网络中拥塞的解决方法。例如文献《多路径传输协议的联合拥塞控制(Coupled congestioncontrol for multipath transport protocols)》(刊于RFC6356,2011、10月),文献《多路径传输控制协议的机会式线性增长拥塞控制算法(Opportunistic Linked-IncreasesCongestion Control Algorithm for MPTCP)》,文献《并行多路径传输的拥塞控制策略对传输层的影响(On the impact of congestion control for Concurrent MultipathTransfer on the transport layer)》(刊于ConTEL,IEEE,2011:397-404),文献《多路径传输控制协议非帕累托最优:性能问题及解决方法(Mptcp is not pareto-optimal:Performance issues and a possible solution)》(刊于Networking,IEEE/ACMTransactions on,2013,21(5):1651-1665.),文献《数据中心网络的的显式多路径拥塞控制机制(Explicit Multipath Congestion Control for Data Center Networks)》,(刊于Conext,2013:73-84)等。
上述的拥塞控制方法都能够有效地提高数据中心网络中多路径传输时的协议性能。但是现有的拥塞控制方法有些是以丢包作为拥塞判断的准则,发送方需要等待重传,定时器超时,导致拥塞响应速度慢;另一些在拥塞发生时对拥塞窗口的调节过于激进,造成链路利用率低下,最终导致数据中心网络的通信性能变差。
显式拥塞通知(Explicit Congestion Notification,ECN)是一种通过网络中间节点(比如:交换机)对缓存队列中的报文进行标记、并将标记信息反馈给发送方服务器的机制,发送方服务器会据此衡量网络的拥塞状况,调节发送速率以缓解网络中即将发生的拥塞事件。当前,数据中心网络中的交换机都已支持ECN机制,同样主机的协议栈中也已经实现。目前整个拥塞控制流程是按如下方式执行的:交换机通过随机早期检测(RandomEarly Detection,RED)机制的指数加权移动平均(Exponentially Weighted MovingAverage,EWMA)算法估计缓存队列的平均长度,然后以一定的概率对报文进行标记;当接收方服务器接收到被标记的报文时,会通过标记对应确认报文的方式将拥塞信息反馈给发送方服务器;发送方服务器接收到被标记的确认报文后,将当前拥塞窗口减半,同时,对即将要发送的报文的拥塞窗口已减(Congestion Window Reduced,CWR)的标志位置位,以此来通知接收方服务器暂时停止进行报文标记。
但这种拥塞标记的拥塞控制方法只适用于单路径,对于数据网络中心需要另行设计一套多路径TCP传输的拥塞控制方法。
发明内容
本发明的目的是提供一种基于连续报文标记的多路径TCP拥塞控制方法,本方法交换机采用显式拥塞通知标记(ECN标记),发送方服务器在统计时间T内,以有拥塞标记报文的变化量作为拥塞判断的准则,计算拥塞因子,然后根据拥塞因子按照相应比例调节拥塞窗口。
多路径传输控制协议(MPTCP)能够为每个通信连接同时建立多条子流进行数据传输,并具备良好的负载均衡特性。本发明在数据中心网络中采用多路径传输控制协议(MPTCP)进行可靠的的数据传输,以相互促进充分发挥网络拓扑和协议的优势。
本发明提供的一种基于连续报文标记的多路径TCP拥塞控制方法,具体步骤如下:
Ⅰ、交换机加拥塞标记
为了更加快速准确地向发送方服务器反馈子流拥塞状态信息,交换机采用显式拥塞通知(ECN)与随机早期检测(RED)相结合的机制。
交换机用随机早期检测(RED)对其即将输出的TCP报文缓存队列的长度进行检测,如果瞬时缓存队列长度大于标记阈值K,则对当前即将输出的报文加拥塞标记,否则,不执行任何标记操作。标记阈值K≥C×RTT/7,C表示路径容量或者路径的最大传输速率,RTT为数据在此路径上传输的往返时间;较佳方案为20≤K≤30。
Ⅱ、接收方服务器反馈拥塞标记
当接收方服务器接收到标记了拥塞的报文时,在该报文的确认报文上加拥塞标记反馈给发送方服务器;
Ⅲ、发送方服务器对拥塞窗口的处理
Ⅲ-1、接收确认报文
在第i时刻发送方服务器的一个子流接收到s个确认报文,当发送方服务器有n个子流,某子流r接收到新的确认报文时,更新该子流接收到的确认报文数,并记录到多路径传输控制协议(MPTCP)连接的确认报文矩阵MTi中:
mrj表示第r条子流当前接收到的第j个确认报文,若该确认报文包含拥塞标记位,则mrj=1;否则,即该确认报文不包含拥塞标记位,mrj=0;矩阵MTi的项数r×s表示该发送方服务器n个子流接收到的确认报文总数。
某一时刻i,当发送方服务器的某个子流接收到确认报文时,首先判断是否为有拥塞标记的确认报文,若该确认报文无拥塞标记,mrj=0;更新该子流接收到的确认报文数,并记录到确认报文矩阵MTi;直接进入步骤Ⅲ-32;
若该确认报文有拥塞标记,停止增大该子流的拥塞窗口,mrj=1;更新该子流当前接收到的确认报文数,并记录到确认报文矩阵MTi中;进入下一步骤进入步骤Ⅲ-2;
Ⅲ-2、计算确认报文矩阵变化量
计算统计时间T时段内p个时刻相邻两个时间点所记录的确认报文矩阵变化量之和;此值若大于设定的拥塞阈值θ,即拥塞标记报文数增大时,判定拥塞程度增高,进入步骤Ⅲ-31;此值若等于或小于设定的拥塞阈值θ,判定当前路径状况良好,进入步骤Ⅲ-32;
拥塞阈值θ为大于0的任意数,由发送方服务器设定;较佳方案为1≤θ≤5。
由第i-1时刻到第i时刻内、确认报文矩阵的变化量△i=MTi-MT(i-1),并统计T时段内p个时刻确认报文矩阵变化量之和p是可调节参数,1≤p≤5。
若成立,即拥塞标记确认报文数增大,则判定拥塞程度增高,进入步骤Ⅲ-31;若成立,则认为当前路径状况良好,进入步骤Ⅲ-32;
Ⅲ-3、拥塞程度的判定和拥塞窗口的调整
Ⅲ-31、减小拥塞窗口
计算拥塞因子,依据拥塞因子成比例地减小拥塞窗口,缓解子流中出现的拥塞;
当前的拥塞因子也即拥塞标记确认报文占接收到的确认报文总数的比例,并依据拥塞因子的比例减小拥塞窗口,缓解路径中出现的拥塞,调整拥塞窗口值为W'r=Wr(1-α)。
为了保证使用多路径传输控制协议,减小拥塞窗口的约束条件为即α≤1/2,当按上式所求α大于1/2时,取α=1/2,使得拥塞窗口减小的最大幅度为当前各子流拥塞窗口合计值的一半,以保证传输效率。
当执行了减小拥塞窗口,发送方服务器在下一时刻将后续发送的TCP报文的拥塞窗口已减(CWR)标志位置位,以此通知接收方服务器在本循环内,当接收到的标记拥塞的报文时、反馈的确认报文无需再加拥塞标记,这样可保证每次拥塞事件发生时,只执行一次减小拥塞窗口的操作。
Ⅲ-32、增大拥塞窗口
根据联合增长算法增大拥塞窗口。
Ⅲ-321、若当前拥塞窗口小于慢启动门限值φ,则直接将当前拥塞窗口更新为W'r=Wr+1,慢启动门限值φ采用主机的网络协议栈默认值;
Ⅲ-322、若当前拥塞窗口等于慢启动门限值φ,进入拥塞避免阶段,根据联合增长算法的子流耦合思想,计算各子流的拥塞窗口值之和将当前拥塞窗口值更新为W'r=Wr+min(β/Wtotal,1/Wr),其中,式中rttr为某个子流r的数据往返时间,这样既能根据各子流的拥塞状况调整子流的拥塞窗口增长速度,又能保证对单路径TCP的公平性。
与现有技术相比,本发明一种基于连续报文标记的多路径TCP拥塞控制方法的优点为:1、由于采用显式拥塞通知(ECN)机制,路径的拥塞状态信息能够跟随确认报文在一个往返时间RTT内反馈给发送方服务器,而不需要等待三个重复确认报文(ACK),或者等到重传定时器发生超时,大大地缩短了响应拥塞的时间;2、相比于传统的联合增长算法,本方法能够更加准确地将网络中的拥塞状态反馈给发送方服务器,并对拥塞作出快速响应,及时缓解路径中将要发生的拥塞;3、当拥塞发生时,并不直接将拥塞窗口减半,而是根据拥塞程度按比例减小拥塞窗口,尽可能地避免链路利用率过低,不仅能够快速响应拥塞事件,而且保证链路利用率,从而提高数据中心网络的通信性能;4、当拥塞发生时,通过减小拥塞窗口的约束条件,使得各子流拥塞窗口减小幅度的总和最大仅为当前拥塞窗口总和的一半,保证多路径传输的实施,提高传输速率,在数据中心网络中具有更好的适应性。
附图说明
图1为本基于连续报文标记的多路径TCP拥塞控制方法实施例中某个数据中心网络拓扑示意图。
图2本基于连续报文标记的多路径TCP拥塞控制方法实施例中发送方服务器的流程图。
图3本基于连续报文标记的多路径TCP拥塞控制方法实施例在数据中心网络使用时建立不同数量子流时服务器数据吞吐量与采用传统拥塞控制方法的对比例吞吐量的对比图。
具体实施方式
以下结合附图和具体实施方式对本发明方法作进一步的详细说明。
本基于连续报文标记的多路径TCP拥塞控制方法实施例应用于数据中心网络。如图1所示,数据中心网络的拓扑结构包含三层交换架构,分别为接入层TO、聚合层AG和核心层CO。核心层CO包括多台核心交换机,能够为网络中的不同服务器之间的数据传输提供多条可用路径,增大共享链路的带宽。图1中从A服务器至B服务器的两条路径。
本基于连续报文标记的多路径TCP拥塞控制方法实施例,具体步骤如下:
Ⅰ、交换机加拥塞标记
交换机用随机早期检测(RED)对其即将输出的TCP报文缓存队列的长度进行检测,如果瞬时缓存队列长度大于标记阈值K,则对当前即将输出的报文加拥塞标记,否则,不执行任何标记操作。标记阈值K≥C×RTT/7,C表示路径容量或者路径的最大传输速率,RTT为数据在此路径上传输的往返时间。本例K=20。
Ⅱ、接收方服务器反馈拥塞标记
当接收方服务器接收到标记了拥塞的报文时,在该报文的确认报文上加拥塞标记反馈给发送方服务器;
Ⅲ、发送方服务器对拥塞窗口的处理
本例发送方服务器的运行流程如图2所示。
Ⅲ-1、接收确认报文
在第i时刻发送方服务器的一个子流接收到s个确认报文,当发送方服务器有n个子流,某子流r接收到新的确认报文时,更新该子流接收到的确认报文数,并记录到多路径传输控制协议(MPTCP)连接的确认报文矩阵MTi中,
mrj表示第r条子流当前接收到的第j个确认报文,若该确认报文包含拥塞标记位,则mrj=1;否则,即该确认报文不包含拥塞标记位,mrj=0;矩阵MTi的项数r×s表示该发送方服务器n个子流接收到的确认报文总数。
某一时刻i,当发送方服务器的某个子流接收到确认报文时,判断是否为有拥塞标记的确认报文,若该确认报文无拥塞标记,mrj=0;更新该子流当前接收到的确认报文数,并记录到确认报文矩阵MTi中;直接进入步骤Ⅲ-32;mrj=1;
若该确认报文有拥塞标记,停止增大该子流的拥塞窗口,mrj=1;更新该子流当前接收到的确认报文数,并记录到确认报文矩阵MTi中;
Ⅲ-2、计算确认报文矩阵变化量
计算统计时间T时段内p个时刻相邻两个时间点所记录的确认报文矩阵变化量之和;此值若大于设定的拥塞阈值θ,即拥塞标记报文数增大时,判定拥塞程度增高,进入步骤Ⅲ-31;此值若等于或小于设定的拥塞阈值θ,判定当前路径状况良好,进入步骤Ⅲ-32;
拥塞阈值θ为大于0的任意数,本例为3;
由第i-1时刻到第i时刻内、确认报文矩阵的变化量△i=MTi-MT(i-1),并统计T时段内p个时刻确认报文矩阵变化量之和p是可调节参数,本例为3。
若成立,即拥塞标记确认报文数增大,则判定拥塞程度增高,,进入步骤Ⅲ-31;若成立,则认为当前路径状况良好,进入步骤Ⅲ-32;
Ⅲ-3、拥塞程度的判定和拥塞窗口的调整
Ⅲ-31、减小拥塞窗口
计算拥塞因子,依据拥塞因子成比例地减小拥塞窗口,缓解子流中出现的拥塞;
当前的拥塞因子调整拥塞窗口值为Wr=Wr(1-α)W'r=Wr(1-α)。
减小拥塞窗口的约束条件为即α≤1/2,当按上式所求α大于1/2时,取α=1/2,使得拥塞窗口减小的最大幅度为当前各子流拥塞窗口合计值的一半,以保证传输效率。
当执行了减小拥塞窗口,发送方服务器在下一时刻将后续发送的TCP报文的拥塞窗口已减(CWR)标志位置位,接收方服务器在本循环内,当接收到的标记拥塞的报文时、反馈的确认报文无需再加拥塞标记。
Ⅲ-32、增大拥塞窗口
根据联合增长算法增大拥塞窗口。
Ⅲ-321、若当前拥塞窗口小于慢启动门限值φ,则直接将当前拥塞窗口更新为Wr=Wr+1W'r=Wr+1,慢启动门限值φ采用主机的网络协议栈默认值;
Ⅲ-322、若当前拥塞窗口等于慢启动门限值φ,进入拥塞避免阶段,根据联合增长算法的子流耦合思想,计算各子流的拥塞窗口值之和将当前拥塞窗口值更新为W'r=Wr+min(β/Wtotal,1/Wr),其中,式中rttr为某个子流r的数据往返时间。
本基于连续报文标记的多路径TCP拥塞控制方法实施例在图1所示的数据中心网络使用时,统计某台服务器A建立2~8条子流时的标准化吞吐量。同时在该数据中心网络采用传统的拥塞控制方法作为对比例,统计同一台服务器A的2~8条子流的标准化吞吐量。所得结果如图3柱形图所示,图3中横坐标为子流数目,纵坐标为标准化吞吐量,其中,斜格柱形为本实施例数据,斜线柱形为对比例数据,图3中可看到,服务器A建立不同数量的子流进行数据传输,采用本方法服务器A总的吞吐量均比对比例显著提高。
上述实施例,仅为对本发明的目的、技术方案和有益效果进一步详细说明的具体个例,本发明并非限定于此。凡在本发明的公开的范围之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。
Claims (6)
1.一种基于连续报文标记的多路径TCP拥塞控制方法,其特征为具体步骤如下:
Ⅰ、交换机加拥塞标记
交换机用随机早期检测对其即将输出的TCP报文缓存队列的长度进行检测,如果瞬时缓存队列长度大于标记阈值K,则对当前即将输出的报文加拥塞标记,否则,不执行任何标记操作;
Ⅱ、接收方服务器反馈拥塞标记
当接收方服务器接收到标记了拥塞的报文时,在该报文的确认报文上加拥塞标记反馈给发送方服务器;
Ⅲ、发送方服务器对拥塞窗口的处理
Ⅲ-1、接收确认报文
在第i时刻发送方服务器的一个子流接收到s个确认报文,当发送方服务器有n个子流,某子流r接收到新的确认报文时,更新该子流接收到的确认报文数,并记录到多路径传输控制协议连接的确认报文矩阵MTi中:
<mrow>
<msub>
<mi>M</mi>
<mrow>
<mi>T</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>m</mi>
<mn>11</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mn>12</mn>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mn>1</mn>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mn>1</mn>
<mi>s</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>m</mi>
<mn>21</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mn>22</mn>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mn>2</mn>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mn>2</mn>
<mi>s</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mi>r</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mi>r</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mi>r</mi>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mi>r</mi>
<mi>s</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow></mrow>
</mtd>
</mtr>
</mtable>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mi>n</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mi>n</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mi>n</mi>
<mi>j</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<msub>
<mi>m</mi>
<mrow>
<mi>n</mi>
<mi>s</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
mrj表示第r条子流当前接收到的第j个确认报文,若该确认报文包含拥塞标记位,则mrj=1;否则,即该确认报文不包含拥塞标记位,mrj=0;矩阵MTi的项数r×s表示该发送方服务器n个子流接收到的确认报文总数;
某一时刻i,当发送方服务器的某个子流接收到确认报文时,首先判断是否为有拥塞标记的确认报文,若该确认报文无拥塞标记,mrj=0;更新该子流接收到的确认报文数,并记录到确认报文矩阵MTi;直接进入步骤Ⅲ-32;
若该确认报文有拥塞标记,停止增大该子流的拥塞窗口,mrj=1;更新该子流当前接收到的确认报文数,并记录到确认报文矩阵MTi中;进入下一步骤进入步骤Ⅲ-2;
Ⅲ-2、计算确认报文矩阵变化量
计算统计时间T时段内p个时刻相邻两个时间点所记录的确认报文矩阵变化量之和;此值若大于设定的拥塞阈值θ,即拥塞标记报文数增大时,判定拥塞程度增高,进入步骤Ⅲ-31;此值若等于或小于设定的拥塞阈值θ,判定当前路径状况良好,进入步骤Ⅲ-32;
所述拥塞阈值θ为大于0的任意数;由发送方服务器设定;
由第i-1时刻到第i时刻内、确认报文矩阵的变化量△i=MTi-MT(i-1),并统计T时段内p个时刻确认报文矩阵变化量之和p是可调节参数,1≤p≤5;
若成立,即拥塞标记确认报文数增大,则判定拥塞程度增高,进入步骤Ⅲ-31;若成立,则认为当前路径状况良好,进入步骤Ⅲ-32;
Ⅲ-3、拥塞程度的判定和拥塞窗口的调整
Ⅲ-31、减小拥塞窗口
计算拥塞因子调整拥塞窗口值为Wr'=Wr(1-α);
Ⅲ-32、增大拥塞窗口
根据联合增长算法增大拥塞窗口;
Ⅲ-321、若当前拥塞窗口小于慢启动门限值φ,则直接将当前拥塞窗口更新为Wr'=Wr+1,慢启动门限值φ采用主机的网络协议栈默认值;
Ⅲ-322、若当前拥塞窗口等于慢启动门限值φ,进入拥塞避免阶段,根据联合增长算法的子流耦合思想,计算各子流的拥塞窗口值之和将当前拥塞窗口值更新为Wr'=Wr+min(β/Wtotal,1/Wr),其中,式中rttr为某个子流r的数据往返时间。
2.根据权利要求1所述的基于连续报文标记的多路径TCP拥塞控制方法,其特征在于:
所述步骤Ⅲ-1中标记阈值K≥C×RTT/7,C表示路径容量或者路径的最大传输速率,RTT为数据在此路径上传输的往返时间。
3.根据权利要求1所述的基于连续报文标记的多路径TCP拥塞控制方法,其特征在于:
所述步骤Ⅲ-1中标记阈值K的取值为20≤K≤30。
4.根据权利要求1所述的基于连续报文标记的多路径TCP拥塞控制方法,其特征在于:
所述步骤Ⅲ-2中拥塞阈值θ的取值为1≤θ≤5。
5.根据权利要求1所述的基于连续报文标记的多路径TCP拥塞控制方法,其特征在于:
所述步骤Ⅲ-31减小拥塞窗口的约束条件为α≤1/2。
6.根据权利要求1所述的基于连续报文标记的多路径TCP拥塞控制方法,其特征在于:
所述步骤Ⅲ-31当执行了减小拥塞窗口,发送方服务器在下一时刻将后续发送的TCP报文的拥塞窗口已减标志位置位,接收方服务器在本循环内,当接收到的标记拥塞的报文时,反馈的确认报文无需再加拥塞标记。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510214548.0A CN104796350B (zh) | 2015-04-29 | 2015-04-29 | 一种基于连续报文标记的多路径tcp拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510214548.0A CN104796350B (zh) | 2015-04-29 | 2015-04-29 | 一种基于连续报文标记的多路径tcp拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104796350A CN104796350A (zh) | 2015-07-22 |
CN104796350B true CN104796350B (zh) | 2018-03-09 |
Family
ID=53560869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510214548.0A Active CN104796350B (zh) | 2015-04-29 | 2015-04-29 | 一种基于连续报文标记的多路径tcp拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104796350B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049369A (zh) * | 2015-08-14 | 2015-11-11 | 浙江大学 | 异构无线网络中基于mptcp的视频传输拥塞控制方法 |
CN105049262B (zh) * | 2015-08-24 | 2018-07-10 | 中国联合网络通信集团有限公司 | 调整端口流量负载的方法及装置 |
CN105827527B (zh) * | 2016-03-14 | 2019-04-02 | 清华大学 | Sdn网络mptcp子流共享瓶颈路径的发现调整方法 |
EP3499820B1 (en) * | 2016-09-20 | 2020-07-29 | Huawei Technologies Co., Ltd. | Congestion control method, apparatus, and system |
CN106302228B (zh) * | 2016-10-18 | 2019-06-04 | 中南大学 | 一种数据中心网络中基于任务感知的传输控制方法 |
CN108259383B (zh) * | 2016-12-29 | 2021-10-01 | 北京华为数字技术有限公司 | 一种数据的传输方法和网络设备 |
CN107770082B (zh) * | 2017-10-19 | 2020-05-12 | 中南大学 | 数据中心网络中一种基于任务流量特性的传输控制方法 |
CN114157603A (zh) | 2018-05-04 | 2022-03-08 | 华为技术有限公司 | 拥塞控制方法、装置、设备及存储介质 |
CN110830381B (zh) * | 2018-08-10 | 2021-10-26 | 华为技术有限公司 | 拥塞控制方法及相关设备 |
CN109660467B (zh) * | 2019-02-26 | 2022-12-23 | 北京百度网讯科技有限公司 | 用于控制流量的方法和装置 |
CN110166370B (zh) * | 2019-05-15 | 2022-08-30 | 浙江启程电子科技股份有限公司 | 一种基于拥塞因子预判的传输方法 |
CN114244773A (zh) * | 2020-09-09 | 2022-03-25 | 英业达科技有限公司 | 封包处理***及其封包处理方法 |
CN112910795B (zh) * | 2021-01-19 | 2023-01-06 | 南京大学 | 一种基于众源的边缘负载均衡方法和*** |
CN113194509B (zh) * | 2021-04-30 | 2022-06-17 | 武汉理工大学 | 一种基于QoS的多网络融合传输***及传输方法 |
CN113949651B (zh) * | 2021-11-01 | 2023-04-07 | 北京百度网讯科技有限公司 | 网络传输方法、装置、设备、存储介质 |
CN115190072B (zh) * | 2022-07-08 | 2023-06-20 | 复旦大学 | 激进传输协议和保守传输协议之间公平性的速率调节方法 |
CN115396355A (zh) * | 2022-08-25 | 2022-11-25 | 北京有竹居网络技术有限公司 | 网络路径探测方法、装置和电子设备 |
CN116233002A (zh) * | 2022-12-30 | 2023-06-06 | 天翼云科技有限公司 | 一种数据包发送方法、接收方法、报文发送方法和产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662842A (zh) * | 2009-10-09 | 2010-03-03 | 天津大学 | 一种应用于无线自组织网络的tcp参数调节方法 |
CN103581035A (zh) * | 2012-08-01 | 2014-02-12 | 华为技术有限公司 | 一种多径tcp拥塞控制的方法、装置及*** |
CN103888367A (zh) * | 2014-03-10 | 2014-06-25 | 清华大学 | 基于分组传输时延的多路径tcp拥塞控制方法 |
-
2015
- 2015-04-29 CN CN201510214548.0A patent/CN104796350B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662842A (zh) * | 2009-10-09 | 2010-03-03 | 天津大学 | 一种应用于无线自组织网络的tcp参数调节方法 |
CN103581035A (zh) * | 2012-08-01 | 2014-02-12 | 华为技术有限公司 | 一种多径tcp拥塞控制的方法、装置及*** |
CN103888367A (zh) * | 2014-03-10 | 2014-06-25 | 清华大学 | 基于分组传输时延的多路径tcp拥塞控制方法 |
Non-Patent Citations (3)
Title |
---|
多径并行数据传送的拥塞控制机制研究;孟宪晴;《计算机技术与发展》;20111031;全文 * |
多路径TCP拥塞控制算法研究;刘佩等;《通信学报》;20121130;全文 * |
面向多路径并行传输的拥塞控制及公平性;高冲等;《华东理工大学学报》;20140228;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104796350A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104796350B (zh) | 一种基于连续报文标记的多路径tcp拥塞控制方法 | |
US9621384B2 (en) | Systems and methods for communicating data over parallel data paths | |
CN100407698C (zh) | 无线链路控制层的数据传输方法 | |
CN107347021A (zh) | 一种基于sdn网络可靠传输方法 | |
Kliazovich et al. | A cross-layer scheme for TCP performance improvement in wireless LANs | |
EP1344359B1 (en) | Method of enhancing the efficiency of data flow in communication systems | |
CN101404622A (zh) | 基于多径负载均衡的无线互联网拥塞控制方法及控制器 | |
CN107948103A (zh) | 一种基于预测的交换机pfc控制方法及控制*** | |
CN103346963A (zh) | 一种基于预测到达时间的mptcp数据调度方法 | |
CN103957121A (zh) | 一种面向空天信息网络的跨层tcp优化方法 | |
CN108965322A (zh) | 空间网络传输控制协议 | |
CN107154897A (zh) | Dcn中基于包散射的异构流隔离方法 | |
CN107547430A (zh) | 一种报文发送方法及装置 | |
CN114124826B (zh) | 拥塞位置可感知的低时延数据中心网络传输***及方法 | |
CN106101005B (zh) | 一种数据中心网络中基于分组长度的拥塞控制方法 | |
Zhou et al. | Expresspass++: Credit-effecient congestion control for data centers | |
Rahman et al. | A QoS adaptive congestion control in wireless sensor network | |
Hu et al. | Aeolus: A building block for proactive transport in datacenter networks | |
Zhou et al. | APCC: agile and precise congestion control in datacenters | |
Kamboj et al. | Various TCP options for congestion evasion | |
Xu et al. | ABQ: Active buffer queueing in datacenters | |
Raniwala et al. | Evaluation of a stateful transport protocol for multi-channel wireless mesh networks | |
Chawhan et al. | TCP performance enhancement using ECN and snoop protocol for Wi-Fi network | |
Dong et al. | Predictive Queue-based Low Latency Congestion Detection in Data Center Networks | |
Chen et al. | Adaptive congestion control of internet of things based on improved red algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200818 Address after: No.401 Xingdao international, Singapore Park, No.10, Zhujin Road, Qingxiu District, Nanning City, Guangxi Zhuang Autonomous Region Patentee after: Guangxi Younai Information Technology Co., Ltd Address before: 530004 School of computer science, Guangxi University, 100 East University Road, the Guangxi Zhuang Autonomous Region, Nanning Patentee before: GUANGXI University |
|
TR01 | Transfer of patent right |