CN105610820A - 一种基于mptcp的拥塞控制方法及装置 - Google Patents
一种基于mptcp的拥塞控制方法及装置 Download PDFInfo
- Publication number
- CN105610820A CN105610820A CN201510997813.7A CN201510997813A CN105610820A CN 105610820 A CN105610820 A CN 105610820A CN 201510997813 A CN201510997813 A CN 201510997813A CN 105610820 A CN105610820 A CN 105610820A
- Authority
- CN
- China
- Prior art keywords
- tcp subflow
- tcp
- mptcp
- subflow
- buff
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于MPTCP的拥塞控制方法及装置,其中的方法包括:建立MPTCP连接,并为MPTCP连接中的每条TCP子流分配各自的缓存区;对每条TCP子流的缓存区占用率进行估算;根据缓存区占用率确定TCP子流的拥塞等级,并基于拥塞等级对TCP子流的传输速率进行调节。本发明的基于MPTCP的拥塞控制方法及装置,为每条子流分割缓存区,然后根据每条子流缓存区使用比例精确的检测出是否存在拥塞,并根据拥塞程度分级进行流量调控,同时兼顾MPTCP传输的公平性,使网络吞吐量变化更平滑,提高了MPTCP的链路利用率、吞吐量和健壮性。
Description
技术领域
本发明涉及网络数据传输技术领域,尤其涉及一种基于MPTCP的拥塞控制方法及装置。
背景技术
如今网络技术在飞速的发展,传统TCP协议开始逐渐暴露出不能适应发展的局限性。传统TCP协议在网络中流量不断地增加时,将所有的流量限制在单一路径上传输,没能有效的利用网络资源。单一路径的TCP传输已经不能完全的满足现代高速传输。MPTCP(MultiPathTransportControlProtocol,多路径传输协议)是对传统TCP的一种延伸,在通信源和目的节点之间通过多条路径高效的传输数据,提供端到端可靠、有序的快速数据传输。比较于传统的TCP,MPTCP协议有着两个显著的特点:1)改进网络的吞吐量。由于MPTCP同时采用多条路径传输数据,在量上增加了网络资源,因而传输了更多的数据流量,也就提高了网络的吞吐量。2)提供更灵活、可靠的服务,且增强了网络鲁棒性。因为在传输层,数据可以通过多条路径传输,当一条路径上传输过程中连接失败,而该连接的数据仍在其他可用路径上保持传输,且MPTCP路径管理单元将立即选择一条可用路径来转移链路失败的数据,这就避免了传输终止。MPTCP协议也可以与现有的TCP协议完全兼容(自动协商的)。
目前,MPTCP的拥塞控制就是对TCP的一个扩展,采用的拥塞控制策略是:用于传输的多条子流都有一个各自的拥塞窗口,每条子流分别根据该条路径上收到的确认数据包,或者是检测到的丢包相应的增加和减少拥塞窗口,而对于窗口的具体的增加和减少取决于所有子流路径的拥塞窗口和回路时间。目前,MPTCP利用是否收到ACK作为拥塞判断依据,这种方法简单但准确度不高,因此,需要一种新型的拥塞控制方法。
发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种基于MPTCP的拥塞控制方法及系统,能够解决上述的问题。
一种基于MPTCP的拥塞控制方法,包括:建立MPTCP连接,并为所述MPTCP连接中的每条TCP子流分配各自的缓存区;对每条TCP子流的缓存区占用率进行估算;根据所述缓存区占用率确定所述TCP子流的拥塞等级,并基于所述拥塞等级对所述TCP子流的传输速率进行调节。
根据本发明的一个实施例,进一步的,所述为所述MPTCP连接中的每条TCP子流分配各自的缓存区包括:为每条TCP子流分配的缓存区为:
其中,Buffi为所述MPTCP连接的第i条TCP子流的大小,Bufftotal为所述MPTCP连接的总缓存区大小,BWi为第i条TCP子流的带宽,ΣBWi为所述MPTCP连接中的全部TCP子流的总带宽。
根据本发明的一个实施例,进一步的,所述对每条TCP子流的缓存区占用率进行估算包括:采用增加指数加权移动平均EWMA算法对每条TCP子流的缓存区占用长度进行估值,每条TCP子流的缓存区占用长度满足:
其中,为第i条TCP子流在当前时刻的缓存区占用长度,为第i条TCP子流在上一时刻的缓存区占用长度,p为缓存区大小计算参数。
根据本发明的一个实施例,进一步的,根据所述缓存区占用率确定所述TCP子流的拥塞等级包括:设置两个拥塞等级,分别为轻度拥塞和严重拥塞等级;当判断时,则确定此TCP子流为轻度拥塞等级;当判断时,则确定此TCP子流为严重拥塞等级;其中,α、β都为参数,且0≤α≤β≤1,Buffi为第i条TCP子流缓存区的长度。
根据本发明的一个实施例,进一步的,所述基于所述拥塞等级对所述TCP子流的传输速率进行调节包括:如果确定TCP子流为轻度拥塞等级,则调节此TCP子流发送窗口大小并满足wi=wi-γ*wi;如果确定TCP子流为严重拥塞等级,则调节此TCP子流发送窗口大小并满足如果确定TCP子流不为轻度拥塞等级和严重拥塞等级,则调节此TCP子流发送窗口大小并满足:
其中,wi是第i条TCP子流的发送窗口大小,r和δ为速率控制参数,并且,0<γ<0.5,δ=n2,n为所述MPTCP连接中的TCP子流的个数。
一种基于MPTCP的拥塞控制装置,包括:缓存分配单元,用于建立MPTCP连接,并为所述MPTCP连接中的每条TCP子流分配各自的缓存区;缓存使用估算单元,用于对每条TCP子流的缓存区占用率进行估算;传输速率调节单元,用于根据所述缓存区占用率确定所述TCP子流的拥塞等级,并基于所述拥塞等级对所述TCP子流的传输速率进行调节。
根据本发明的一个实施例,进一步的,所述缓存分配单元为每条TCP子流分配的缓存区为:
其中,Buffi为第i条TCP子流的大小,Bufftotal为所述MPTCP连接的总缓存区大小,BWi为第i条TCP子流的带宽,ΣBWi为所述MPTCP连接中的全部TCP子流的总带宽。
根据本发明的一个实施例,进一步的,所述缓存使用估算单元,还用于采用增加指数加权移动平均EWMA算法对每条TCP子流的缓存区占用长度进行估值,每条TCP子流的缓存区占用长度满足:
其中,为第i条TCP子流在当前时刻的缓存区占用长度,为第i条TCP子流在上一时刻的缓存区占用长度,p为缓存区大小计算参数。
根据本发明的一个实施例,进一步的,所述传输速率调节单元,还用于设置两个拥塞等级,分别为轻度拥塞和严重拥塞等级;当判断时,则确定此TCP子流为轻度拥塞等级;当判断时,则确定此TCP子流为严重拥塞等级;其中,α、β都为参数,且0≤α≤β≤1,Buffi为第i条TCP子流缓存区的长度。
根据本发明的一个实施例,进一步的,所述传输速率调节单元,还用于如果确定TCP子流为轻度拥塞等级,则调节此TCP子流发送窗口大小并满足wi=wi-γ*wi;如果确定TCP子流为严重拥塞等级,则调节此TCP子流发送窗口大小并满足如果确定TCP子流不为轻度拥塞等级和严重拥塞等级,则调节此TCP子流发送窗口大小并满足:
其中,wi是第i条TCP子流的发送窗口大小,r和δ为速率控制参数,并且,0<γ<0.5,δ=n2,n为所述MPTCP连接中的TCP子流的个数。
本发明的基于MPTCP的拥塞控制方法及装置,为每条子流分割缓存区,然后根据每条子流缓存区使用比例精确的检测出是否存在拥塞,并根据拥塞程度分级进行流量调控,同时兼顾MPTCP传输的公平性,使网络吞吐量变化更平滑,提高了MPTCP的链路利用率、吞吐量和健壮性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明的基于MPTCP的拥塞控制方法的一个实施例的流程示意图;
图2为MPTCP拥塞控制场景的示意图;
图3为拥塞控制与吞吐量的关系示意图;
图4为根据本发明的基于MPTCP的拥塞控制方法的另一个实施例的流程示意图;
图5为根据本发明的基于MPTCP的拥塞控制方法的一个应用场景示意图;
图6为MPTCP拥塞控制场景的另一示意图;
图7为根据本发明的基于MPTCP的拥塞控制装置的一个实施例的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为根据本发明的基于MPTCP的拥塞控制方法的一个实施例的流程示意图,如图1所示:
步骤101,建立MPTCP连接,并为MPTCP连接中的每条TCP子流分配各自的缓存区。
步骤102,对每条TCP子流的缓存区占用率进行估算。
步骤103,根据缓存区占用率确定TCP子流的拥塞等级,并基于拥塞等级对TCP子流的传输速率进行调节。
在一个实施例中,为每条TCP子流分配的缓存区为:
Buffi为MPTCP连接的第i条TCP子流的大小,Bufftotal为MPTCP连接的总缓存区大小,BWi为第i条TCP子流的带宽,ΣBWi为MPTCP连接中的全部TCP子流的总带宽。
对每条TCP子流的缓存区占用率进行估算可以采用多种方法,例如采用增加指数加权移动平均EWMA算法对每条TCP子流的缓存区占用长度进行估值,每条TCP子流的缓存区占用长度满足:
为第i条TCP子流在当前时刻的缓存区占用长度,为第i条TCP子流在上一时刻的缓存区占用长度,p为缓存区大小计算参数。
缓存区的使用率情况能直接反映出该条线路的拥塞情况,但是MPTCP是多条子流共用一个缓存区,所以要对单条子流进行精确的拥塞检测,首先必须得为每条子流分割合适的缓存区。本发明是依据每条子流带宽进行分割缓存区的。每条子流分得的缓存区大小为
其中Bufftotal为总缓存区大小(字节),BWi为第i条子流的带宽,Buffi为第i条子流分得的缓存区大小。如图2所示,Buff_0,Buff_1,Buff_2到Buff_n分别表示A到B的两个子流的缓存区。
在一个实施例中,根据缓存区占用率确定TCP子流的拥塞等级包括:设置两个拥塞等级,分别为轻度拥塞和严重拥塞等级。当判断时,则确定此TCP子流为轻度拥塞等级;当判断时,则确定此TCP子流为严重拥塞等级;其中,α、β都为参数,且0≤α≤β≤1,Buffi为第i条TCP子流缓存区的长度。
如图3所示,不同的拥塞级别对链路会造成不同的影响。网络中吞吐量的下降在很大程度上是由于数据包的丢失造成的,丢包可能是由于网络传输中出现了错误,也可能是由于网络拥塞造成的。早期版本的TCP仅仅包含基于窗口的流量控制,用来改善端到端的传输性能,但是流量控制不能动态调整拥塞窗口,以对拥塞进行响应。流量控制只能处理端到端传输中,通信双方的数据传输,不能处理网络中节点的拥塞。当多个用户使用共享链路造成网络中链路或节点的拥塞时,无法通过流量控制进行拥塞的调整和控制。
理想情况下,当网络中的负载增加时,网络的吞吐量也应得到相应的增加。在一定阶段内,网络的吞吐量等于网络中的负载总量。但是网络的运算、处理和传输能力是有限的,当输入到网络中的负载达到其所能处理的最大容量后,再继续增加网络的负载,吞吐量将维持不变,不再增加。这个维持不变的网络吞吐量,即为理想情况下该网络的容量。
图3中所示“提供的负载”即代表输入到网络中的负载。如图3中所示,网络中吞吐量随负载的变化可分为三个阶段。
1)初始阶段,网络的吞吐量随着输入到网络中负载的增加而增大。
2)轻度拥塞阶段,当输入到网络中的负载达到一定程度,网络吞吐量基本接近饱和,这时一部分分组被丢弃,吞吐量的增长速率明显减小。
3)拥塞阶段,网络吞吐量达到饱和,继续增加网络中的负载,当负载超过网络的容量时,将导致严重的队列延迟,以及数据包的丢失,网络吞吐量急剧下降。甚至出现网络崩溃,无法继续工作。
为了避免网络崩溃,应该尽量避免网络拥塞的发生。这时需要对网络进行必要的拥塞控制。但是,在网络中进行拥塞控制是需要付出一定代价的。首先,要进行有效的拥塞控制,需要获得网络中流量的分布状况。其次,拥塞控制还需要选择一定的控制策略,以及执行控制。这些都给网络带来了额外的开销。
在一个实施例中,如果确定TCP子流为轻度拥塞等级,则调节此TCP子流发送窗口大小并满足wi=wi-γ*wi;如果确定TCP子流为严重拥塞等级,则调节此TCP子流发送窗口大小并满足如果确定TCP子流不为轻度拥塞等级和严重拥塞等级,则调节此TCP子流发送窗口大小并满足:
wi是第i条TCP子流的发送窗口大小,r和δ为速率控制参数,并且,0<γ<0.5,δ=n2,n为MPTCP连接中的TCP子流的个数。
在一个实施例中,根据EWMA(ExponentiallyWeightedMovingAverage)对下一时刻缓存区占用长度进行平滑的一个估值:
EWMA(ExponentiallyWeightedMovingAverage)指数加权移动平均,是一种常用的序列数据处理方式。在t时刻,根据实际的观测值可以求取EWMA(t):
EWMA(t)=αY(t)+(1-α)EWMA(t-1)(3)
其中,t=1,2,.....n.EWMA(t)为t时刻的估计值;Y(t)为t时刻的测量值;n所观察的总的时间;a(0<a<1)表示对于历史测量值权重系数。之所以称之为指数加权,是因为加权系数a是以指数式递减的,即各指数随着时间而指数式递减。用n表示为a=2/(n+1)。物理意义:系数a越接近1表示对当前抽样值的权重越高,对过去测量值得权重越低,估计值(器)的时效性就越强,反之,越弱;另外,EWMA还有一定的吸收瞬间突发的能力,也即平稳性,显然随着a减小,参考过去测量值的程度更多一些,平稳性增强,反之则降低。
本发明中的两个参数α、β(0≤α≤β≤1)表示两种拥塞级别:当
时表示轻度拥塞。当
表示严重拥塞。
根据不同的拥塞等级分级进行拥塞解除(速率调节)。在情况(3)属于轻度拥塞,在以往的拥塞控制中使用的是AIMD(AdditiveIncreaseMultiplicativeDecrease。TCP/IP模型中,属于运输层,为了解决拥塞控制的一个方法,即:加性增,乘性减,或者叫做“和式增加,积式减少”)方法。即,当认为拥塞是让传输速率减半。然而,在轻度拥塞情况下,传输速率减半虽然会解决拥塞,但也会使吞吐量严重下滑,采用的控制方法如下:
其中wi是发送窗口大小。在情况(4)采用的控制方法如下:
在情况(3)(4)以外说明子流无拥塞,通信状况良好,此时可以加大发送速率并且同时兼顾公平性。算法假设TCP流的权重为1,MPTCP中每个子流的权重均为Dn。则相对于TCP,MPTCP将得到Dn倍的吞吐量。为了使MPTCP的以个子流总共得到和TCP相同的吞吐量,那么MPTCP子流的权重应该满足以下等式:
若每个子流均得到相同的权重,那么:
同时,若TCP流的每一个RTT,拥塞窗口增加c。则TCP流的吞吐量是往返时间RTT,重传超时时间t,数据包的大小S,丢包率P,和拥塞窗口增长参数c的函数。吞吐量模型为:
在TCP中,每经过一个RTT,拥塞窗口增加1,即C=1,则有:
在MPTCP中,每个子流的权重为D,吞吐量为TCP的D倍,即:
对比式(9)和(10),可得:
c=D2(12)
由式(8)和(12)可得:
所以该种情况下,按以下方式调整该子流速率。其中n是MPTCP中子流的个数。
图4为根据本发明的基于MPTCP的拥塞控制方法的另一个实施例的流程示意图,如图4所示:
步骤201,为MPTCP连接中的每条TCP子流分配各自的缓存区。
步骤202,采用EWMA算法对每条TCP子流的缓存区占用长度进行估值。
步骤203,对需要使用的各个参数进行初始化。
步骤204,判断是否满足,如果是,则进入步骤207,如果否,则进入步骤205。
步骤205,判断是否满足,如果是,则进入步骤208,如果否,则计入步骤206。
步骤206,调节此TCP子流发送窗口大小并满足:
wi是第i条TCP子流的发送窗口大小,r和δ为速率控制参数,并且,0<γ<0.5,δ=n2,n为MPTCP连接中的TCP子流的个数。
步骤207,调节此TCP子流发送窗口大小并满足wi=wi-γ*wi。
步骤208,调节此TCP子流发送窗口大小并满足
步骤209,进行下一次速率调节。
在一个实施例中,如图5所示,主机A与主机B为MPTCP连接,主机C与主机D连接方式为单路径TCP。其中,主机B设置为多个网卡以满足MPTCP连接。MPTCP的3条子流TCP(分别为SF0、SF1、SF2、TF0)与TCP共用一条链路Link1,参数设置如下表1所示:
数据流 | 起始地址 | 目的地址 | 带宽(Mbps) |
SF0 | 10.1.1.5 | 10.1.1.4 | 4 |
SF1 | 10.1.1.5 | 10.1.1.3 | 3 |
SF2 | 10.1.1.5 | 10.1.1.2 | 3 |
TF0 | 10.1.2.2 | 10.1.2.3 | 3 |
表1-连接的参数设置表
缓存区的使用率情况能直接反映出该条线路的拥塞情况,但是MPTCP是多条子流共用一个缓存区,所以要对单条子流进行精确的拥塞检测,首先必须得为每条子流分割合适的缓存区。依据每条子流带宽进行分割缓存区的。假定主机B的总缓存区大小为Bufftotal那么由公式(1)可得,SF0分配了0.4*Bufftotal。同理可得其他子流被分配的缓存区大小。
如图6所示,Buff_0=0.4*Bufftotal,Buff_1=0.3*Bufftotal,Buff_2=0.3*Bufftotal。在本实施例场景中MPTCP子流为三条,故下图中的Buff_n为Buff_2,本实施例拥塞检测参数设置如下表2所示:
表2-拥塞检测参数表
首先根据EWMA(ExponentiallyWeightedMovingAverage)对下一时刻缓存区占用长度进行平滑的一个估值
EWMA(ExponentiallyWeightedMovingAverage)指数加权移动平均,是一种常用的序列数据处理方式。在实事例中参数p设置为0.8,表示对当前抽样值的权值高,又同时兼顾上一时刻的值的积累效应。即
本发明用两个参数α、β(0≤α≤β≤1)表示两种拥塞级别,在实施例中α、β分别设置为0.6和0.9。即当时表示轻度拥塞。当时,表示严重拥塞。
根据不同的拥塞等级分级进行拥塞解除(速率调节)。属于轻度拥塞时,在以往的拥塞控制中使用的是AIMD方法。即,当认为拥塞是让传输速率减半。然而,在轻度拥塞情况下,传输速率减半虽然会解决拥塞,但也会使吞吐量严重下滑。在该实施例场景中γ取值为1/3,起着适当减小传输速率,但又同时兼顾吞吐量的作用。
wi是发送窗口大小。在严重拥塞时,采用方法如下:
在轻度、严重拥塞外,说明子流无拥塞,通信状况良好,此时可以加大发送速率并且同时兼顾公平性。在实事例场景中我们用下述公式进行速率控制。
上述实施例中的基于MPTCP的拥塞控制方法,为每条子流(子TCP)分割缓存区,然后根据每条子流缓存区使用比例精确的检测出是否存在拥塞,并根据拥塞程度分级进行流量调控,同时兼顾MPTCP传输的公平性。
如图7所示,本发明提供一种基于MPTCP的拥塞控制装置,包括:缓存分配单元31、缓存使用估算单元32、传输速率调节单元33。缓存分配单元31建立MPTCP连接,并为MPTCP连接中的每条TCP子流分配各自的缓存区。缓存使用估算单元32对每条TCP子流的缓存区占用率进行估算。传输速率调节单元33根据缓存区占用率确定TCP子流的拥塞等级,并基于拥塞等级对TCP子流的传输速率进行调节。
在一个实施例中,缓存分配单元31为每条TCP子流分配的缓存区为:
Buffi为第i条TCP子流的大小,Bufftotal为MPTCP连接的总缓存区大小,BWi为第i条TCP子流的带宽,ΣBWi为MPTCP连接中的全部TCP子流的总带宽。
缓存使用估算单元32采用增加指数加权移动平均EWMA算法对每条TCP子流的缓存区占用长度进行估值,每条TCP子流的缓存区占用长度满足:
为第i条TCP子流在当前时刻的缓存区占用长度,为第i条TCP子流在上一时刻的缓存区占用长度,p为缓存区大小计算参数。
传输速率调节单元33设置两个拥塞等级,分别为轻度拥塞和严重拥塞等级;当判断时,则传输速率调节单元33确定此TCP子流为轻度拥塞等级;当判断时,则传输速率调节单元33确定此TCP子流为严重拥塞等级;α、β都为参数,且0≤α≤β≤1Buffi为第i条TCP子流缓存区的长度。
如果确定TCP子流为轻度拥塞等级,则传输速率调节单元33调节此TCP子流发送窗口大小并满足wi=wi-γ*wi。如果确定TCP子流为严重拥塞等级,则传输速率调节单元33调节此TCP子流发送窗口大小并满足如果确定TCP子流不为轻度拥塞等级和严重拥塞等级,则传输速率调节单元33调节此TCP子流发送窗口大小并满足:
其中,wi是第i条TCP子流的发送窗口大小,r和δ为速率控制参数,并且,0<γ<0.5,δ=n2,n为MPTCP连接中的TCP子流的个数。
上述实施例中的基于MPTCP的拥塞控制方法及装置,为每条子流分割缓存区,然后根据每条子流缓存区使用比例精确的检测出是否存在拥塞,并根据拥塞程度分级进行流量调控,同时兼顾MPTCP传输的公平性,通过在MPTCP的拥塞检测上独创性的使用了缓存区使用率这一更精确的拥塞检测方式。并对拥塞进行分级控制同时兼顾公平性,使网络吞吐量变化更平滑,提高了MPTCP的链路利用率、吞吐量和健壮性。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (10)
1.一种基于MPTCP的拥塞控制方法,其特征在于,包括:
建立MPTCP连接,并为MPTCP连接中的每条TCP子流分配各自的缓存区;
对每条TCP子流的缓存区占用率进行估算;
根据所述缓存区占用率确定所述TCP子流的拥塞等级,并基于所述拥塞等级对所述TCP子流的传输速率进行调节。
2.如权利要求1所述的方法,其特征在于,所述为所述MPTCP连接中的每条TCP子流分配各自的缓存区包括:
为每条TCP子流分配的缓存区为:
其中,Buffi为所述MPTCP连接的第i条TCP子流的大小,Bufftotal为所述MPTCP连接的总缓存区大小,BWi为第i条TCP子流的带宽,∑BWi为所述MPTCP连接中的全部TCP子流的总带宽。
3.如权利要求2所述的方法,其特征在于,所述对每条TCP子流的缓存区占用率进行估算包括:
采用增加指数加权移动平均EWMA算法对每条TCP子流的缓存区占用长度进行估值,每条TCP子流的缓存区占用长度满足:
其中,为第i条TCP子流在当前时刻的缓存区占用长度,为第i条TCP子流在上一时刻的缓存区占用长度,p为缓存区大小计算参数。
4.如权利要求3所述的方法,其特征在于,根据所述缓存区占用率确定所述TCP子流的拥塞等级包括:
设置两个拥塞等级,分别为轻度拥塞和严重拥塞等级;
当判断时,则确定此TCP子流为轻度拥塞等级;
当判断时,则确定此TCP子流为严重拥塞等级;
其中,α、β都为参数,且0≤α≤β≤1,Buffi为第i条TCP子流缓存区的长度。
5.如权利要求4所述的方法,其特征在于,所述基于所述拥塞等级对所述TCP子流的传输速率进行调节包括:
如果确定TCP子流为轻度拥塞等级,则调节此TCP子流发送窗口大小并满足wi=wi-γ*wi;
如果确定TCP子流为严重拥塞等级,则调节此TCP子流发送窗口大小并满足
如果确定TCP子流不为轻度拥塞等级和严重拥塞等级,则调节此TCP子流发送窗口大小并满足:
其中,wi是第i条TCP子流的发送窗口大小,r和δ为速率控制参数,并且,0<γ<0.5,δ=n2,n为所述MPTCP连接中的TCP子流的个数。
6.一种基于MPTCP的拥塞控制装置,其特征在于,包括:
缓存分配单元,用于建立MPTCP连接,并为所述MPTCP连接中的每条TCP子流分配各自的缓存区;
缓存使用估算单元,用于对每条TCP子流的缓存区占用率进行估算;
传输速率调节单元,用于根据所述缓存区占用率确定所述TCP子流的拥塞等级,并基于所述拥塞等级对所述TCP子流的传输速率进行调节。
7.如权利要求6所述的装置,其特征在于:
所述缓存分配单元为每条TCP子流分配的缓存区为:
其中,Buffi为第i条TCP子流的大小,Bufftotal为所述MPTCP连接的总缓存区大小,BWi为第i条TCP子流的带宽,∑BWi为所述MPTCP连接中的全部TCP子流的总带宽。
8.如权利要求7所述的装置,其特征在于:
所述缓存使用估算单元,还用于采用增加指数加权移动平均EWMA算法对每条TCP子流的缓存区占用长度进行估值,每条TCP子流的缓存区占用长度满足:
其中,为第i条TCP子流在当前时刻的缓存区占用长度,为第i条TCP子流在上一时刻的缓存区占用长度,p为缓存区大小计算参数。
9.如权利要求8所述的装置,其特征在于:
所述传输速率调节单元,还用于设置两个拥塞等级,分别为轻度拥塞和严重拥塞等级;当判断时,则确定此TCP子流为轻度拥塞等级;当判断时,则确定此TCP子流为严重拥塞等级;
其中,α、β都为参数,且0≤α≤β≤1,Buffi为第i条TCP子流缓存区的长度。
10.如权利要求9所述的装置,其特征在于:
所述传输速率调节单元,还用于如果确定TCP子流为轻度拥塞等级,则调节此TCP子流发送窗口大小并满足wi=wi-γ*wi;如果确定TCP子流为严重拥塞等级,则调节此TCP子流发送窗口大小并满足如果确定TCP子流不为轻度拥塞等级和严重拥塞等级,则调节此TCP子流发送窗口大小并满足:
其中,wi是第i条TCP子流的发送窗口大小,r和δ为速率控制参数,并且,0<γ<0.5,δ=n2,n为所述MPTCP连接中的TCP子流的个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510997813.7A CN105610820B (zh) | 2015-12-28 | 2015-12-28 | 一种基于mptcp的拥塞控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510997813.7A CN105610820B (zh) | 2015-12-28 | 2015-12-28 | 一种基于mptcp的拥塞控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105610820A true CN105610820A (zh) | 2016-05-25 |
CN105610820B CN105610820B (zh) | 2019-03-22 |
Family
ID=55990358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510997813.7A Active CN105610820B (zh) | 2015-12-28 | 2015-12-28 | 一种基于mptcp的拥塞控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105610820B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878192A (zh) * | 2016-12-26 | 2017-06-20 | 北京邮电大学 | 一种自适应mptcp的数据调度方法 |
CN107147619A (zh) * | 2017-04-12 | 2017-09-08 | 北京交通大学 | 基于多源、多径协同传输控制协议的数据传输方法 |
CN107171842A (zh) * | 2017-05-22 | 2017-09-15 | 南京大学 | 基于强化学习的多路径传输协议拥塞控制方法 |
CN107786440A (zh) * | 2016-08-26 | 2018-03-09 | 华为技术有限公司 | 一种数据报文转发的方法及装置 |
CN108306827A (zh) * | 2017-01-12 | 2018-07-20 | 华为技术有限公司 | 传输数据的方法和服务器 |
WO2018161262A1 (zh) * | 2017-03-07 | 2018-09-13 | 华为技术有限公司 | 数据发送方法及装置 |
CN108540519A (zh) * | 2018-01-29 | 2018-09-14 | 北京奇艺世纪科技有限公司 | 一种均衡下载控制方法和装置 |
CN108632157A (zh) * | 2018-04-10 | 2018-10-09 | 中国科学技术大学 | 多径tcp协议拥塞控制方法 |
WO2018218957A1 (zh) * | 2017-05-31 | 2018-12-06 | 华为技术有限公司 | 一种流量控制方法、设备及系统 |
WO2018233376A1 (zh) * | 2017-06-23 | 2018-12-27 | 华为技术有限公司 | 传输报文的方法、代理服务器和计算机可读存储介质 |
CN111064704A (zh) * | 2019-11-19 | 2020-04-24 | 中国科学院计算技术研究所 | 一种基于mptcp启动窗口自适应的数据传输方法、装置和介质 |
CN112929960A (zh) * | 2021-02-04 | 2021-06-08 | 重庆邮电大学 | 一种支持IPv6且提高无线传感网络确定性的方法 |
CN114039922A (zh) * | 2021-11-22 | 2022-02-11 | 中国通信建设集团有限公司河南省通信服务分公司 | 基于路径拥塞度灰色预测的拥塞控制方法及系统 |
CN114071563A (zh) * | 2020-08-03 | 2022-02-18 | 中国电信股份有限公司 | 基于缓存空间的多路径传输控制方法、装置和移动终端 |
KR20230064294A (ko) * | 2021-11-03 | 2023-05-10 | 연세대학교 산학협력단 | 무선 네트워크 mptcp 혼잡 윈도우 제어 장치 및 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056261A (zh) * | 2007-05-21 | 2007-10-17 | 中南大学 | 多速率无线局域网中接入节点的主动拥塞处理方法 |
CN101984594A (zh) * | 2010-10-25 | 2011-03-09 | 华为技术有限公司 | 交换网流量控制方法和装置 |
CN104270793A (zh) * | 2014-09-18 | 2015-01-07 | 北京邮电大学 | 一种基于卫星协同传输的资源分配方法 |
CN104581821A (zh) * | 2015-01-28 | 2015-04-29 | 湘潭大学 | 基于节点缓存长度公平分配速率的拥塞控制方法 |
US20150295782A1 (en) * | 2014-04-09 | 2015-10-15 | Hcl Technologies Ltd | efficient mechanism to improve data speed between systems by MPTCP and MIMO combination |
CN104994036A (zh) * | 2015-06-09 | 2015-10-21 | 北京邮电大学 | 一种多路径传输协议中的动态数据调度方法 |
CN105007235A (zh) * | 2015-05-29 | 2015-10-28 | 中国科学院深圳先进技术研究院 | 一种无线多媒体传感器网络中的拥塞控制方法 |
-
2015
- 2015-12-28 CN CN201510997813.7A patent/CN105610820B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056261A (zh) * | 2007-05-21 | 2007-10-17 | 中南大学 | 多速率无线局域网中接入节点的主动拥塞处理方法 |
CN101984594A (zh) * | 2010-10-25 | 2011-03-09 | 华为技术有限公司 | 交换网流量控制方法和装置 |
US20150295782A1 (en) * | 2014-04-09 | 2015-10-15 | Hcl Technologies Ltd | efficient mechanism to improve data speed between systems by MPTCP and MIMO combination |
CN104270793A (zh) * | 2014-09-18 | 2015-01-07 | 北京邮电大学 | 一种基于卫星协同传输的资源分配方法 |
CN104581821A (zh) * | 2015-01-28 | 2015-04-29 | 湘潭大学 | 基于节点缓存长度公平分配速率的拥塞控制方法 |
CN105007235A (zh) * | 2015-05-29 | 2015-10-28 | 中国科学院深圳先进技术研究院 | 一种无线多媒体传感器网络中的拥塞控制方法 |
CN104994036A (zh) * | 2015-06-09 | 2015-10-21 | 北京邮电大学 | 一种多路径传输协议中的动态数据调度方法 |
Non-Patent Citations (1)
Title |
---|
胡敏等,: "MPTCP中一种减缓缓存阻塞的重传策略", 《电视技术》 * |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107786440A (zh) * | 2016-08-26 | 2018-03-09 | 华为技术有限公司 | 一种数据报文转发的方法及装置 |
US11184284B2 (en) | 2016-08-26 | 2021-11-23 | Huawei Technologies Co., Ltd. | Data packet forwarding method and apparatus |
CN106878192B (zh) * | 2016-12-26 | 2020-02-14 | 北京邮电大学 | 一种自适应mptcp的数据调度方法 |
CN106878192A (zh) * | 2016-12-26 | 2017-06-20 | 北京邮电大学 | 一种自适应mptcp的数据调度方法 |
CN108306827A (zh) * | 2017-01-12 | 2018-07-20 | 华为技术有限公司 | 传输数据的方法和服务器 |
CN108306827B (zh) * | 2017-01-12 | 2021-06-01 | 华为技术有限公司 | 传输数据的方法和服务器 |
WO2018161262A1 (zh) * | 2017-03-07 | 2018-09-13 | 华为技术有限公司 | 数据发送方法及装置 |
CN107147619B (zh) * | 2017-04-12 | 2019-12-13 | 北京交通大学 | 基于多源、多径协同传输控制协议的数据传输方法 |
CN107147619A (zh) * | 2017-04-12 | 2017-09-08 | 北京交通大学 | 基于多源、多径协同传输控制协议的数据传输方法 |
CN107171842A (zh) * | 2017-05-22 | 2017-09-15 | 南京大学 | 基于强化学习的多路径传输协议拥塞控制方法 |
CN107171842B (zh) * | 2017-05-22 | 2020-01-03 | 南京大学 | 基于强化学习的多路径传输协议拥塞控制方法 |
CN108989236A (zh) * | 2017-05-31 | 2018-12-11 | 华为技术有限公司 | 一种流量控制方法、设备及系统 |
WO2018218957A1 (zh) * | 2017-05-31 | 2018-12-06 | 华为技术有限公司 | 一种流量控制方法、设备及系统 |
US11425051B2 (en) | 2017-05-31 | 2022-08-23 | Huawei Technologies Co., Ltd. | Flow control method and system, and device |
WO2018233376A1 (zh) * | 2017-06-23 | 2018-12-27 | 华为技术有限公司 | 传输报文的方法、代理服务器和计算机可读存储介质 |
CN109120540B (zh) * | 2017-06-23 | 2021-09-14 | 华为技术有限公司 | 传输报文的方法、代理服务器和计算机可读存储介质 |
CN109120540A (zh) * | 2017-06-23 | 2019-01-01 | 华为技术有限公司 | 传输报文的方法、代理服务器和计算机可读存储介质 |
CN108540519A (zh) * | 2018-01-29 | 2018-09-14 | 北京奇艺世纪科技有限公司 | 一种均衡下载控制方法和装置 |
CN108632157B (zh) * | 2018-04-10 | 2020-08-25 | 中国科学技术大学 | 多径tcp协议拥塞控制方法 |
CN108632157A (zh) * | 2018-04-10 | 2018-10-09 | 中国科学技术大学 | 多径tcp协议拥塞控制方法 |
CN111064704B (zh) * | 2019-11-19 | 2021-02-09 | 中国科学院计算技术研究所 | 一种基于mptcp启动窗口自适应的数据传输方法、装置和介质 |
CN111064704A (zh) * | 2019-11-19 | 2020-04-24 | 中国科学院计算技术研究所 | 一种基于mptcp启动窗口自适应的数据传输方法、装置和介质 |
CN114071563A (zh) * | 2020-08-03 | 2022-02-18 | 中国电信股份有限公司 | 基于缓存空间的多路径传输控制方法、装置和移动终端 |
CN114071563B (zh) * | 2020-08-03 | 2023-11-14 | 中国电信股份有限公司 | 基于缓存空间的多路径传输控制方法、装置和移动终端 |
CN112929960A (zh) * | 2021-02-04 | 2021-06-08 | 重庆邮电大学 | 一种支持IPv6且提高无线传感网络确定性的方法 |
CN112929960B (zh) * | 2021-02-04 | 2022-07-12 | 重庆邮电大学 | 一种支持IPv6且提高无线传感网络确定性的方法 |
KR20230064294A (ko) * | 2021-11-03 | 2023-05-10 | 연세대학교 산학협력단 | 무선 네트워크 mptcp 혼잡 윈도우 제어 장치 및 방법 |
KR102626729B1 (ko) * | 2021-11-03 | 2024-01-17 | 연세대학교 산학협력단 | 무선 네트워크 mptcp 혼잡 윈도우 제어 장치 및 방법 |
CN114039922A (zh) * | 2021-11-22 | 2022-02-11 | 中国通信建设集团有限公司河南省通信服务分公司 | 基于路径拥塞度灰色预测的拥塞控制方法及系统 |
CN114039922B (zh) * | 2021-11-22 | 2024-03-12 | 中国通信建设集团有限公司河南省通信服务分公司 | 基于路径拥塞度灰色预测的拥塞控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105610820B (zh) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105610820A (zh) | 一种基于mptcp的拥塞控制方法及装置 | |
US8223641B2 (en) | Dynamic setting of optimal buffer sizes in IP networks | |
US9762491B2 (en) | Dynamic thresholds for congestion control | |
US11277349B2 (en) | Minimal buffer network arbiter | |
US6894974B1 (en) | Method, apparatus, media, and signals for controlling packet transmission rate from a packet source | |
CN101895466B (zh) | 一种降低sctp多路径传输数据包乱序影响的方法 | |
EP1382219B1 (en) | Method and device for robust real-time estimation of bottleneck bandwidth | |
US7136353B2 (en) | Quality of service management for multiple connections within a network communication system | |
EP2271032A2 (en) | Flow control for real-time data streams | |
US7979571B2 (en) | Method and system for providing load sensitive throttling | |
US10715442B2 (en) | Congestion control | |
JP2007509577A (ja) | データネットワークのトラフィック調整方法およびパケットレベルデバイス | |
CN105024940A (zh) | 基于链路自适应的异构网络tcp拥塞控制方法 | |
WO2000056021A1 (en) | Flow control method and apparatus | |
Ziegler et al. | Stability criteria of RED with TCP traffic | |
US10986030B2 (en) | Congestion control | |
EP3278500B1 (en) | Processing data items in a communications network | |
US20210211384A1 (en) | Congestion control | |
Katabi | Decoupling congestion control and bandwidth allocation policy with application to high bandwidth-delay product networks | |
EP3516858B1 (en) | Allocation of physical communication resources | |
CN114598653B (zh) | 一种基于时延管理模型的数据流加速方法 | |
CN103269295A (zh) | 基于包对的路径容量的测量方法 | |
Ho et al. | A TCP-friendly stateless AQM scheme for fair bandwidth allocation | |
CN117041154A (zh) | 一种多租户场景下的网络带宽分配方法、设备和存储介质 | |
KR101078981B1 (ko) | 특정 스테이션에 의한 대역폭 독점을 감소시키는 방법 및 장치 |
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 |