基于路径拥塞度灰色预测的拥塞控制方法及系统与流程

文档序号:28865713发布日期:2022-02-12 04:02阅读:106来源:国知局
基于路径拥塞度灰色预测的拥塞控制方法及系统与流程

1.本发明涉及网络通信技术领域,尤其涉及一种基于路径拥塞度灰色预测的拥塞控制方法及系统。


背景技术:

2.mptcp每个路径都有自己独立的拥塞窗口,根据接收的ack或丢包,来控制拥塞窗口的增加或减少,同时mptcp将所有路径的拥塞窗口进行耦合,使拥塞程度较高路径上的数据能够转移到拥塞程度较低路径上继续传输,实现负载均衡,提高网络资源利用率。
3.目前包括uncoupled tcp,coupled和lia在内的绝大多数mptcp拥塞控制算法,都属于基于丢包反馈的拥塞控制算法,这类算法将数据包丢失都判定为网络发生了拥塞。然而,在移动网络环境中,数据包丢失通常是由于链路传输错误或移动链路切换而不是网络拥塞。在移动无线网络中使用基于丢包反馈的拥塞控制算法,会简单地将所有丢包都认为是网络拥塞引起的,进而减小拥塞窗口,降低发送速率,造成吞吐量不必要降低,影响网络性能。除因非拥塞丢包造成吞吐量不必要降低外,该类算法被动地等待重复确认消息来确认链路拥塞,对于链路拥塞反应不及时,无法有效避免网络拥塞。


技术实现要素:

4.为解决传统基于丢包的mptcp拥塞控制算法在移动网络环境中因非拥塞丢包减小拥塞窗口,造成吞吐量不必要下降,以及传统拥塞控制算法被动地等待重复确认消息来确认链路拥塞,无法及时避免拥塞等问题,本发明提供一种基于路径拥塞度灰色预测的拥塞控制方法。
5.一方面,本发明提供一种基于路径拥塞度灰色预测的拥塞控制方法,包括:
6.步骤1:收集当前时刻及其前n-1个历史时刻的排队时延,根据所述当前时刻及其前n-1个历史时刻的排队时延构建灰色预测模型以预测下一时刻的排队时延,所述排队时延是指数据包在路径缓存区发送队列中等待处理的时间;
7.步骤2:根据预测的所述下一时刻的排队时延计算路径拥塞度;
8.步骤3:计算当前时间段内及其前一时间段内的网络负载均值,基于相邻两段时间内的网络负载均值得到路径拥塞趋势;
9.步骤4:根据所述路径拥塞度和所述路径拥塞趋势评估路径拥塞等级,基于所述路径拥塞等级对应调整下一时刻路径的拥塞窗口。
10.进一步地,步骤1中,按照公式(1)计算路径j的当前时刻及其前n-1个历史时刻中任一时刻的排队时延qdj:
[0011][0012]
其中,bj表示路径j缓存区发送队列中待处理数据包数量,mss为数据包大小,rttj为路径j往返时延,cwndj为路径j的拥塞窗口大小。
[0013]
进一步地,所述方法还包括:通过卡尔曼滤波对当前时刻的排队时延的计算值进行评估和纠正。
[0014]
进一步地,步骤1中,根据所述当前时刻及其前n-1个历史时刻的排队时延构建灰色预测模型以预测下一时刻的排队时延,具体包括:
[0015]
步骤1.1:收集当前时刻及其前n-1个历史时刻的排队时延qd={qd(t),qd(t-1),...,qd(t-n-1)};其中,qd(t)、qd(t-1)、qd(t-n-1)分别为当前时刻、上一时刻、前n-1时刻的排队时延;
[0016]
步骤1.2:将步骤1.1中收集到的n个数据作为原始样本,构成原始观察数据序列qd
(0)
=[qd
(0)
(1),qd
(0)
(2),...,qd
(0)
(n)];
[0017]
步骤1.3:通过累加方式对qd
(0)
进行累加处理以弱化原始观察数据序列的随机性,生成新序列qd
(1)
=[qd
(1)
(1),qd
(1)
(2),...qd
(1)
(n)];其中,k=1,2,...,n;
[0018]
步骤1.4:将新序列qd
(1)
进行紧邻均值计算,生成紧邻均值序列z
(1)
=[z
(1)
(2),z
(1)
(3),...,z
(1)
(n)];其中,k=2,3,...n;
[0019]
步骤1.5:将z
(1)
(k)作为背景值,将qd
(0)
(k)作为灰导数,建立描述qd的灰色预测模型gm(1,1),其灰微分方程如公式(2):
[0020]
qd
(0)
(k)+az
(1)
(k)=b
ꢀꢀ
(2)
[0021]
其中,a为发展灰数;b为内生控制灰数;
[0022]
步骤1.6:分别按照公式(3)、(4)和(5)构造累加矩阵b、常数向量矩阵y和待估参数向量β:
[0023][0024][0025]
β=(a b)
t
ꢀꢀ
(5)
[0026]
步骤1.7:按照公式(6)表示灰色预测模型gm(1,1):
[0027]
y=bβ
ꢀꢀ
(6)
[0028]
步骤1.8:通过公式(7)利用最小二乘法计算参数a和b:
[0029]
(a b)
t
=(b
t
b)-1btyꢀꢀ
(7)
[0030]
步骤1.9:按照公式(8)表示灰色预测模型gm(1,1)的白微分方程:
[0031]
[0032]
步骤1.10:对公式(8)进行求解,得到公式(9)所示的灰色预测模型gm(1,1)的白微分方程的预测模型:
[0033][0034]
步骤1.11:经过累减还原,按照公式(10)得到qd
(0)
的预测值:
[0035][0036]
当k=n时,即为下一时刻的排队时延。
[0037]
进一步地,步骤2中,按照公式(11)计算路径j的路径拥塞度cdj:
[0038][0039]
其中,qd
k+1
表示下一时刻的排队时延;rj表示路径j的排队时延变化范围,rj=qd
max-qd
min
;qd
min
表示路径j的最小排队时延,qd
max
表示路径j的最大排队时延。
[0040]
进一步地,步骤3中,按照公式(12)采用滑动平均方法计算当前时间段及其前一时间段的网络负载均值:
[0041][0042]
其中,为当前时间段内的网络负载平均值,为上一时间段内的网络负载平均值,a为在滑动平均窗口中样本的数量,unackj为路径j已经从发送端发出但尚未接收到ack的数据包数目;
[0043]
按照公式(13)计算路径j的路径拥塞趋势ctj:
[0044][0045]
其中,当ctj大于等于1时,表示路径j的飞行数据包数目在增多,网络负载在增大,路径有产生拥塞的可能;当ctj小于1时,表示路径j的飞行数据包数目在减少,网络负载在减小,路径拥塞在缓解。
[0046]
进一步地,步骤4中,根据所述路径拥塞度和所述路径拥塞趋势评估路径拥塞等级,具体包括:
[0047]
当cdj《γ且ctj≤1时,表示链路排队时延较小,路径拥塞程度较轻,同时网络负载在减少,路径拥塞在缓解,定义路径拥塞等级为ⅰ级;
[0048]
当cdj《γ且ctj》1时,表示链路排队时延较小,路径拥塞程度较轻,同时网络负载在增加,路径拥塞在加重,定义路径拥塞等级为ⅱ级;
[0049]
当cdj≥γ且ctj≤1时,表示链路排队时延较大,路径拥塞程度较重,但网络负载在减少,路径拥塞在缓解,定义路径拥塞等级为ⅲ级;
[0050]
当cdj≥γ且ctj》1时,表示链路排队时延较大,路径拥塞程度较重,同时网络负载
在增加,路径拥塞在加重,定义路径拥塞等级为ⅳ级;
[0051]
其中,γ为拥塞阈值,cdj为路径j的路径拥塞度,ctj为路径j的路径拥塞趋势。
[0052]
进一步地,步骤4中,基于所述路径拥塞等级对应调整下一时刻路径的拥塞窗口,具体包括:
[0053]
当路径拥塞等级为ⅰ级和ⅱ级时,按照公式(14)调整下一时刻路径j的拥塞窗口w
j+1

[0054][0055]
当路径拥塞等级为ⅲ级时,按照公式(15)调整下一时刻路径j的拥塞窗口w
j+1

[0056]wj+1
=wj(1-δ)
ꢀꢀ
(15)
[0057]
当路径拥塞等级为ⅳ级时,按照公式(16)调整下一时刻路径j的拥塞窗口w
j+1

[0058][0059]
其中,wj表示当前时刻路径j的拥塞窗口,w
total
表示mptcp所有路径拥塞窗口之和,α表示侵略因子,
[0060]
进一步地,按照公式(17)计算侵略因子α:
[0061][0062]
其中,rttj表示路径j当前时刻往返时延。
[0063]
另一方面,本发明提供一种基于路径拥塞度灰色预测的拥塞控制系统,包括:
[0064]
排队时延灰色预测模块,用于收集当前时刻及其前n-1个历史时刻的排队时延,根据所述当前时刻及其前n-1个历史时刻的排队时延构建灰色预测模型以预测下一时刻的排队时延,所述排队时延是指数据包在路径缓存区发送队列中等待处理的时间;
[0065]
路径拥塞度计算模块,用于根据预测的所述下一时刻的排队时延计算路径拥塞度;
[0066]
路径拥塞趋势判断模块,用于计算当前时间段内及其前一时间段内的网络负载均值,基于相邻两段时间内的网络负载均值得到路径拥塞趋势;
[0067]
拥塞窗口自适应调整模块,用于根据所述路径拥塞度和所述路径拥塞趋势评估路径拥塞等级,基于所述路径拥塞等级对应调整下一时刻路径的拥塞窗口。
[0068]
本发明的有益效果:
[0069]
本发明采用排队时延灰色预测模型提前感知路径拥塞度的方式,取代以丢包为路径拥塞的依据的方式,通过将路径拥塞度与拥塞阈值进行比较,然后参考路径拥塞趋势,对路径拥塞状况进行评估,之后根据评估结果及时对拥塞窗口进行调整,进而避免拥塞窗口大幅度变化,提高网络吞吐量。
附图说明
[0070]
图1为本发明实施例提供的基于路径拥塞度灰色预测的拥塞控制方法的流程示意图;
[0071]
图2为本发明实施例提供的吞吐量和网络负载之间的关系示意图。
具体实施方式
[0072]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0073]
实施例1
[0074]
本发明实施例提供一种基于路径拥塞度灰色预测的拥塞控制方法,其总体框架如图1所示,主要包括:(ⅰ)基于排队时延灰色预测的路径拥塞度计算;(ⅱ)基于网络负载的路径拥塞趋势判断;(ⅲ)拥塞窗口自适应调整三个部分。该方法具体包括以下步骤:
[0075]
s101:收集当前时刻及其前n-1个历史时刻的排队时延,根据所述当前时刻及其前n-1个历史时刻的排队时延构建灰色预测模型以预测下一时刻的排队时延,所述排队时延是指数据包在路径缓存区发送队列中等待处理的时间;
[0076]
具体地,本步骤主要分为两个过程:当前时刻排队时延更准估计和下一时刻排队时延灰色预测。其中当前时刻排队时延更准确估计主要通过确卡尔曼滤波方法对当前时刻排队时延的计算值进行评估和纠正,以获取当前时刻排队时延更准确的估计值;下一时刻排队时延灰色预测主要通过构建排队时延灰色预测模型,预测下一时刻排队时延。
[0077]
作为一种可实施方式,按照公式(1)计算路径j的当前时刻及其前n-1个历史时刻中任一时刻的排队时延qdj:
[0078][0079]
其中,bj表示路径j缓存区发送队列中待处理数据包数量,mss为数据包大小,rttj为路径j往返时延,cwndj为路径j的拥塞窗口大小。
[0080]
为进一步提高排队时延预测的准确性,在采用公式(1)得到上述排队时延的计算值后,本步骤还包括对该计算值进行评估和纠正,作为一种可实施方式,采用卡尔曼滤波方法,利用前一时刻的排队时延与当前时刻排队时延的计算值来更新对排队时延的预测估计,进而获得当前时刻排队时延更准确的估计值。
[0081]
作为一种可实施方式,根据所述当前时刻及其前n-1个历史时刻的排队时延构建灰色预测模型以预测下一时刻的排队时延,具体包括:
[0082]
s1011:收集当前时刻及其前n-1个历史时刻的排队时延qd={qd(t),qd(t-1),...,qd(t-n-1)};其中,qd(t)、qd(t-1)、qd(t-n-1)分别为当前时刻、上一时刻、前n-1时刻的排队时延;
[0083]
s1012:将步骤1.1中收集到的n个数据作为原始样本,构成原始观察数据序列qd
(0)
=[qd
(0)
(1),qd
(0)
(2),...,qd
(0)
(n)];
[0084]
s1013:通过累加方式对qd
(0)
进行累加处理以弱化原始观察数据序列的随机性,生成新序列qd
(1)
=[qd
(1)
(1),qd
(1)
(2),...qd
(1)
(n)];其中,k=1,2,...,n;
[0085]
s1014:将新序列qd
(1)
进行紧邻均值计算,生成紧邻均值序列z
(1)
=[z
(1)
(2),z
(1)
(3),...,z
(1)
(n)];其中,k=2,3,...n;
[0086]
s1015:将z
(1)
(k)作为背景值,将qd
(0)
(k)作为灰导数,建立描述qd的灰色预测模型gm(1,1),其灰微分方程如公式(2):
[0087]
qd
(0)
(k)+az
(1)
(k)=b
ꢀꢀ
(2)
[0088]
其中,a为发展灰数;b为内生控制灰数;
[0089]
s1016:分别按照公式(3)、(4)和(5)构造累加矩阵b、常数向量矩阵y和待估参数向量β:
[0090][0091][0092]
β=(a b)
t
ꢀꢀ
(5)
[0093]
s1017:按照公式(6)表示灰色预测模型gm(1,1):
[0094]
y=bβ
ꢀꢀ
(6)
[0095]
s1018:通过公式(7)利用最小二乘法计算参数a和b:
[0096]
(a b)
t
=(b
t
b)-1btyꢀꢀ
(7)
[0097]
s1019:按照公式(8)表示灰色预测模型gm(1,1)的白微分方程:
[0098][0099]
s10110:对公式(8)进行求解,得到公式(9)所示的灰色预测模型gm(1,1)的白微分方程的预测模型:
[0100][0101]
s10111:经过累减还原,按照公式(10)得到qd
(0)
的预测值:
[0102][0103]
当k=n时,即为下一时刻的排队时延。
[0104]
s102:根据预测的所述下一时刻的排队时延计算路径拥塞度;
[0105]
在通信过程中,由于网络的带宽、路由器的缓存和处理能力有限,当网络中的数据包数目超过网络的处理能力和容量时,后续数据包因得不到存储空间而被丢弃,路径发生拥塞,网络传输性能下降。一般地,路径发生拥塞分为两个阶段:一是早期拥塞阶段,当路径上的数据包数目达到一定程度,超过了网络的处理能力,缓冲区中的数据包数目开始增加,
排队时延增大;二是严重拥塞阶段,在早期拥塞阶段,当发送端无法感知网络状况时会继续发送数据,后续数据包因缓冲区被占满发生丢包。
[0106]
因此在网络发生拥塞时,有两个信号,一个是缓存区中排队的数据包逐渐增多,排队时延增大;二是缓存区满,路径出现丢包。以丢包作为网络拥塞发生的信号进行拥塞控制不够及时,而排队时延则具有可变性,反应更加灵敏。因此,为更及时获取网络的拥塞情况,本发明实施例通过先步骤s101对排队时延进行预测,然后通过步骤s102根据预测值计算路径拥塞度,在路径尚未拥塞至丢包状态时即实施拥塞控制,动态调整拥塞窗口大小,减少数据包丢失等。
[0107]
作为一种可实施方式,按照公式(11)计算路径j的路径拥塞度cdj:
[0108][0109]
其中,qd
k+1
表示下一时刻的排队时延;rj表示路径j的排队时延变化范围,rj=qd
max-qd
min
;qd
min
表示路径j的最小排队时延,qd
max
表示路径j的最大排队时延。从该公式(11)可以看出,cdj∈[0,1],cdj越小,说明路径j的排队时延越小,间接反应出路径j的拥塞程度越轻;cdj越大,说明路径j的排队时延越大,间接反应路径j的拥塞程度越重。
[0110]
s103:计算当前时间段内及其前一时间段内的网络负载均值,基于相邻两段时间内的网络负载均值得到路径拥塞趋势;
[0111]
拥塞反馈机制是网络进行拥塞控制的重要环节,除了考虑路径拥塞度外,还应该考虑路径拥塞变化趋势。本发明实施例通过网络负载的变化来判断路径拥塞趋势,图2为网络负载与吞吐量的关系描述,从图2可以看出:当网络中负载较小时,随着网络负载的增加,吞吐量随之增加;当网络负载达到网络能够承受的最大容量时,网络负载继续增加,链路发生丢包,网络出现拥塞,网络吞吐量急剧下降。链路中已发送但尚未收到ack的数据包(即飞行数据包)数目在一定程度上可以表示网络的负载情况,能够作为网络状态好坏的判断依据。
[0112]
为了避免因为丢包或网络切换引起路径中飞行数据包数目激增,对判断路径拥塞趋势产生影响,作为一种可实施方式,按照公式(12)采用滑动平均方法计算当前时间段及其前一时间段的网络负载均值:
[0113][0114]
其中,为当前时间段内的网络负载平均值,为上一时间段内的网络负载平均值,a为在滑动平均窗口中样本的数量,unackj为路径j已经从发送端发出但尚未接收到ack的数据包数目;
[0115]
按照公式(13)计算路径j的路径拥塞趋势ctj:
[0116][0117]
其中,当ctj大于等于1时,表示路径j的飞行数据包数目在增多,网络负载在增大,
路径有产生拥塞的可能;当ctj小于1时,表示路径j的飞行数据包数目在减少,网络负载在减小,路径拥塞在缓解。可以看出,ctj的值直接反应了路径j上飞行数据包数目的增减,同时也间接反映了路径j的拥塞趋势。
[0118]
s104:根据所述路径拥塞度和所述路径拥塞趋势评估路径拥塞等级,基于所述路径拥塞等级对应调整下一时刻路径的拥塞窗口。
[0119]
作为一种可实施方式,根据所述路径拥塞度和所述路径拥塞趋势评估路径拥塞等级,如表1所示,具体包括:
[0120]
当cdj《γ且ctj≤1时,表示链路排队时延较小,路径拥塞程度较轻,同时网络负载在减少,路径拥塞在缓解,定义路径拥塞等级为ⅰ级;
[0121]
当cdj《γ且ctj》1时,表示链路排队时延较小,路径拥塞程度较轻,同时网络负载在增加,路径拥塞在加重,定义路径拥塞等级为ⅱ级;
[0122]
当cdj≥γ且ctj≤1时,表示链路排队时延较大,路径拥塞程度较重,但网络负载在减少,路径拥塞在缓解,定义路径拥塞等级为ⅲ级;
[0123]
当cdj≥γ且ctj》1时,表示链路排队时延较大,路径拥塞程度较重,同时网络负载在增加,路径拥塞在加重,定义路径拥塞等级为ⅳ级;
[0124]
其中,γ为拥塞阈值,cdj为路径j的路径拥塞度,ctj为路径j的路径拥塞趋势。
[0125]
表1拥塞等级及对应的网络状态划分
[0126][0127]
当路径拥塞级别为ⅰ级和ⅱ级时,实施拥塞窗口增加策略;当路径拥塞级别为ⅲ级和ⅳ级时,实施拥塞窗口减小策略。作为一种可实施方式,具体为,:
[0128]
当路径j收到一个ack时,若cdj《γ,即路径拥塞等级为ⅰ级和ⅱ级时,按照公式(14)调整下一时刻路径j的拥塞窗口w
j+1

[0129][0130]
当路径j收到一个ack时,若cdj≥γ且ctj≤1,即路径拥塞等级为ⅲ级时,按照公式(15)调整下一时刻路径j的拥塞窗口w
j+1

[0131]wj+1
=wj(1-δ)
ꢀꢀ
(15)
[0132]
当路径j收到一个ack时,若cdj≥γ且ctj》1,即路径拥塞等级为ⅳ级时,按照公式(16)调整下一时刻路径j的拥塞窗口w
j+1

[0133][0134]
其中,wj表示当前时刻路径j的拥塞窗口,w
total
表示mptcp所有路径拥塞窗口之和,α表示侵略因子,
[0135]
其中,可以按照公式(17)计算侵略因子α:
[0136][0137]
其中,rttj表示路径j当前时刻往返时延。
[0138]
本发明首先通过构建的排队时延灰色预测模型预测下一时刻排队时延,根据预测值计算路径拥塞度,同时通过当前网络负载变化情况,获取路径拥塞趋势,将路径拥塞度与拥塞趋势相结合,完成路径拥塞状况评估,并根据评估结果对拥塞窗口进行调整,可以解决传统基于丢包的mptcp拥塞控制算法锁存在的在移动网络环境中因非拥塞丢包导致拥塞窗口减小,吞吐量不必要降低,网络性能下降的问题,还可以解决传统拥塞控制算法被动地等待重复确认消息来确认链路拥塞,无法及时避免拥塞的问题。
[0139]
实施例2
[0140]
对应上述的基于路径拥塞度灰色预测的拥塞控制方法,本发明实施例还提供一种基于路径拥塞度灰色预测的拥塞控制系统,包括:排队时延灰色预测模块、路径拥塞度计算模块、路径拥塞趋势判断模块和拥塞窗口自适应调整模块;其中:
[0141]
排队时延灰色预测模块用于收集当前时刻及其前n-1个历史时刻的排队时延,根据所述当前时刻及其前n-1个历史时刻的排队时延构建灰色预测模型以预测下一时刻的排队时延,所述排队时延是指数据包在路径缓存区发送队列中等待处理的时间;路径拥塞度计算模块用于根据预测的所述下一时刻的排队时延计算路径拥塞度;路径拥塞趋势判断模块用于计算当前时间段内及其前一时间段内的网络负载均值,基于相邻两段时间内的网络负载均值得到路径拥塞趋势;拥塞窗口自适应调整模块用于根据所述路径拥塞度和所述路径拥塞趋势评估路径拥塞等级,基于所述路径拥塞等级对应调整下一时刻路径的拥塞窗口。
[0142]
需要说明的是,本发明实施例提供的基于路径拥塞度灰色预测的拥塞控制系统,是为了实现上述方法实施例的,其功能具体可参考上述方法实施例,此处不再赘述。
[0143]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1