基于自适应阈值机制的网络控制方法

文档序号:7685024阅读:123来源:国知局
专利名称:基于自适应阈值机制的网络控制方法
技术领域
本发明涉及一种计算机网络拥塞的控制方法,特别是涉及一种路由器队列管理和拥塞控制的方法。

背景技术
拥塞控制已经成为网络服务质量不可或缺的保障。端到端的TCP拥塞控制根据反馈信息,调整源端的发送速率。但仅仅依靠端到端的控制很难提供良好的服务质量保证,必须引入基于中间节点的拥塞控制。拥塞控制能够提前检测到拥塞的发生,采取一定的措施来缓减拥塞,并产生拥塞反馈信息使源端采取措施避免拥塞恶化。在路由器上采用主动队列管理机制AQM作为拥塞控制手段,其中,随机早期检测RED算法是一种推荐的AQM算法。RED在路由器上监控数据包的平均排队长度,发现拥塞迫近后,随机地主动标记或丢弃数据包来告知源端降低发送速率。RED在满队列前用概率机制提前丢弃分组,从而解决了满队列问题;并使用平均队长而不是即时队长来调整丢弃概率,可以尽可能地吸收短暂突发流。
RED的有效性已经过了一系列实践的验证,但由于RED的参数缺乏自适应性,给网络性能带来了诸多不利影响 1.RED的性能敏感于参数的设置,使得很难找到适应动态环境的参数,并且参数的微小变化会给网络性能带来很大影响; 2.RED的性能敏感于竞争源/流的数目; 3.RED的性能敏感于包的大小; 4.当负载等网络环境突变时,原本适应的参数可能不再适应新环境,缓存队列出现较大振荡,给系统带来不利影响。
为了避免上述RED参数的敏感性带来问题,产生了很多非RED策略同时,也基于RED的内核进行了改进,这些非RED策略缓解了参数设置的敏感性,增强了系统的鲁棒性,但其参数的自适应调整的滞后较大,对队列的控制力度并未得到加强。
因此,在网络拥塞的控制中,实现参数阈值在线的自适应调整是现有技术中有待解决的问题。


发明内容
为了能够在复杂多变的网络环境下增强对队列的控制,有效控制网络拥挤的情况,本发明基于RED内核提出了一种基于自适应阈值机制的网络控制方法(简称ATRED)。
根据上述需解决的问题设计了一种能够在线调整最小阈值minth和最大阈值maxth的基于RED的自适应的主动队列管理算法ATRED。该发明依次含有如下步骤 (1)参数定义和初始化wq为计算平均队长时所用的权值;pmax为最大丢弃概率;count代表连续成功传输的分组数,初始值为-1;qavg代表平均队长,初始值为0;minth表示最小阈值;maxth表示最大阈值; (2)在路由器建立一个ATRED方法的控制器; (3)当新分组到来时,如果此时队列为空,则执行步骤(4);否则执行步骤(5); (4)计算平均队长qavg=(1-wq)m×qavg;并将当前时间设为队列为空的起始时间q_time=time;其中,m代表空队列持续的时间,m=f(time-q_time); (5)计算平均队长qavg=(1-wq)qavg+wq×q; (6)更新阈值 其中,α的平滑系数;β是期望的缓存占用率;t是当前时间;T是采样时间; (7)由qavg计算丢包率pa;如果qavg≤minth,转去步骤(8);如果qavg≥maxth,转去步骤(9);否则转去步骤(10); (8)数据包入列,pa=0,count=0,转到步骤(11); (9)丢弃数据包,pa=1,count=-1,转到步骤(11); (10)计算临时丢弃率则 (11)转至步骤(3),重复执行步骤(3)到(10),直至结束。
基于自适应阈值机制的网络控制方法与传统的尾丢弃和早期随机检测算法RED相比自适应性和鲁棒性显著增强,该方法能够对队列实施强力有效的控制,使队列振荡减小、更加平稳,从而改善系统性能,提供更加稳定的网络服务质量。



图1为本发明的AQM控制框图; 图2为本发明ATRED算法流程图; 图3为本发明平均队长小于期望队长时,阈值变大示意图(此时,丢弃率曲线向右平移,由原来的实线变成了虚线); 图4为本发明平均队长大于期望队长时,阈值变小示意图(此时,丢弃率曲线向左平移,由原来的实线变成了虚线);
具体实施例方式 本发明提出了一种基于RED算法的能够在线自适应调整阈值RED策略。ATRED拥有更强的自适应性和鲁棒性,能够取得更小的瞬时队长方差,使瞬时队长更为平稳。下面结合实施例参照附图进行详细说明,以便对本发明方法的技术特征及优点进行更深入的诠释。
本发明基于自适应阈值机制的网络控制方法的具体实施步骤为 (1)参数定义和初始化wq为计算平均队长时所用的权值;pmax为最大丢弃概率;count代表连续成功传输的分组数,初始值为-1;qavg代表平均队长,初始值为0;minth表示最小阈值;maxth表示最大阈值; (2)在路由器建立一个ATRED方法的控制器; (3)当新分组到来时,如果此时队列为空,则执行步骤(4);否则执行步骤(5); (4)计算平均队长qavg=(1-wq)m×qavg;并将当前时间设为队列为空的起始时间q_time=time;其中,m代表空队列持续的时间,m=f(time-q_time); (5)计算平均队长qavg=(1-wq)qavg+wq×q; (6)更新阈值 其中,α的平滑系数;β是期望的缓存占用率;t是当前时间;T是采样时间; (7)由qavg计算丢包率pa;如果qavg≤minth,转去步骤(8);如果qavg≥maxth,转去步骤(9);否则转去步骤(10); (8)数据包入列,pa=0,count=0,转到步骤(11); (9)丢弃数据包,pa=1,count=-1,转到步骤(11); (10)计算临时丢弃率则 (11)转至步骤(3),重复执行步骤(3)到(10)直至结束。
参照TCP流量控制的非线性模型 其中,各参数的物理意义为W为TCP期望窗口(单位包);q为期望队长(包);R为往返时间(秒);C为链路容量(包/秒);N为负载因子,即TCP连接数;p为丢弃率。用小信号理论在稳态工作点将该非线性模型线性化,并结合路由器上的AQM方法,结合经典控制理论,将TCP/AQM描述为反馈控制系统(如图1所示方框图)。系统的开环传递函数如(1)式,描述了AQM控制器如何通过改变p(t)来影响q(t)。

其中,

为了增强RED算法的鲁棒性和自适应性,对RED中原本固定的阈值进行重新设定,让其能够根据当前的平均队长进行自适应在线调整,得到了ATRED算法.ATRED控制器的实施步骤如下 步骤1)在RED算法的框架下,引入期望平均队长qavg_e,来判断算法控制力度的适当与否,对RED的最小阈值minth和最大阈值maxth进行在线调整。如果 1)qavg=qavg_e,则系统的控制适当,阈值保持不变; 2)qavg<qavg_e,则系统的控制过强,增大阈值; 3)qavg>qavg_e,则系统的控制较弱,减小阈值。
步骤2)设队列缓存的期望的平均占用率为β,且相应地,在时刻t,瞬时的队列平均占用率为βa,且其中,qmax代表缓存容量。将队列实际的平均占用率βa是否达到期望值β作为依据,阈值的在线调整方案设计如下 阈值的调整为 1)qavg=qavg_e时,β=βa,即队列缓存的占用率为期望值,阈值保持不变 2)qavg<qavg_e时,βa<β,队列缓存的占用率小于期望值,阈值增大。如图3所示,minth和maxth等幅增大,丢弃率曲线由原来黑色实线向右平移,如图中虚线所示; 3)qavg>qavg_e时,βa>β,队列缓存的占用率大于期望值,阈值减小。如图4所示,minth和maxth等幅减小,丢弃率曲线由原来黑色实线向左平移,如图中虚线所示; 显然,0<β<1,β的推荐值为0.5。β取值过小,则控制力过大,影响控制的稳定性;β取值过大,则控制力太弱,牺牲了时延却无法提高吞吐量。
α是平滑系数,用来控制阈值的变化范围在一个较小的区域,使队长的变化更加平稳,一般有0<α<0.1。α的推荐值是0.005。α取值过小,则达不到自适应调整的目的;α取值过大,则阈值变化过大,反而会加大队列振荡,降低系统的稳定性。
步骤3)改进后,ATRED控制器可描述为微分方程(4) 其中,qtmp代表瞬时队长,δ是采样频率。
步骤4)在平衡点处对系统进行线性化,得到ATRED控制器的传递函数 其中,maxth0和minth0分别代表平衡点处的最大阈值和最小阈值。
根据系统稳定性定理,使用ATRED控制器,并满足R0<R+、N>N-的系统(如图2所示),当β(k+η′)>α成立时,闭环稳定。其中,Ro是平衡态的往返时间; α=0.005; β=0.5; 把代入(6)式后,可将(1)的系统开环传递函数近似为
再由(7)式知,当时可有
其中,

由(8)式可得 其中,
综上所述,可得系统特征方程为 该系统的劳斯表如下 s3 1 μ+kη0 s2 k+η
s1
s0
当系统满足R0<R÷时,由(6)式得 0<η′<η (11) 对劳斯表第一列进行分析,由k>0,η>0,μ>0,α>0,β>0知且劳斯表第一列除了第三行的

外都明显大于零。
如果β(k+η′)>α,则有 由上式可得 可见劳斯表第一列的第三行也大于0,即劳斯表的第一列全部大于零,由劳斯判据可知系统稳定。
假设网络环境为,C=4000packet/sec5,N-=80,R+=0.25sec。对ATRED控制器有k=0.005,α=0.005,β=0.5,pmax=0.2,qmax=800。
将已知参数代入(6)式得η′=0.64,可推出 由系统稳定定理可见,闭环系统稳定。
在NS-2仿真平台上实现了ATRED算法,并对它进行了性能测试。仿真使用2.31版的NS-2平台,操作系统为UBUNTU7.04。实验中采用n个FTP业务源和m个HTTP业务源来模拟实际应用中网络负载情况,所有业务源与路由器r1之间的链路容量为1Mbps,延时为160ms到240ms之间的随机值;瓶颈链路位于路由器r1和r2之间,链路容量为15Mbps,延时40ms;除路由器r1与r2之间的链接以外,其余链接均使用DropTail算法;路由器r1上的缓存为800个包(分组缺省大小为500bytes),各个业务源的分组设置为500bytes。
使用以下一系列的实验来说明ATRED对瞬时队长拥有的增强的控制力。实验的前提为预设3种算法的参数,只改变负载量,来观察3种算法在固定参数设置的情况下对不同负载量的敏感度。
●ATRED的参数设置α=0.005,β=0.5,pmax=0.1,minth=150,maxth=700,wq=0.00000133; ●RED的参数设置minth=150,maxth=700,pmax=0.1,wq=0.00000133; ●GENTLE_RED的参数设置minth=150,maxth=700,pmax=0.1,wq=0.00000133。
实施例一 设置20个FTP业务源和60个HTTP业务源,所有业务源从0s开始工作,实验时间为200s。路由器r1和r2之间的链路采用ATRED、RED和GENTLE_RED 3种方法,分别进行3次实验。并且每增加10个FTP业务源和30个HTTP业务源就进行一次3种方法的比较实验,一直到把负载量增加到180个FTP业务源和540个HTTP业务源,得到如下表1实验数据 表1不同负载情况下ATRED、RED和GENTLE_RED的性能指标

从上表可以看出,在大多数的负载情况中,ATRED的瞬时队列平均值与RED和GENTLE_RED相当,而方差却比这两种算法的要小,或者其方差增大的比例相对于队列平均值增大的比例要小,可见ATRED对瞬时队列长度的控制能力总体上要优于RED和GENTLE_RED。从平均值的结果,进一步验证了ATRED能适应大多数的负载情况,实现对瞬时队列长度较好的控制,获得更为稳定的队列长度。在大部分的负载环境下,ATRED可以获得较稳定的服务。
根据以上的数据可以看出,ATRED算法所展现的优势在负载较轻的时候,也就是轻度拥塞的情况下较为明显。为了进一步检验这点,针对在轻负载的情况,延用上面的拓扑模型,修改参数,可以得出以下表2的实验数据 表2轻负载负载情况下ATRED、RED和GENTLE_RED的性能指标
从上表可以看出ATRED在节点数量较少的轻负载情况下,瞬时队列方差明显低于RED和GENTLE_RED两种方法,而瞬时队列长度平均值较小,或者与RED和GENTLE_RED接近。可见ATRED对瞬时队列控制的能力明显优于RED和GENTLE_RED。
实施例二 拓扑结构仍旧采用实施例一的结构,设置60个FTP业务流和180个HTTP业务流,路由器r1和路由器r2之间的瓶颈带宽在5Mbps到30Mbps间,每隔2.5Mbps做一组实验,共11组,实验时间均为300秒。最后得出11组实验数据的平均值,如下表3 表3不同瓶颈带宽下的ATRED、RED和GENTLE_RED的性能指标
可见,在大多数的带宽情况中,RED和GENTLE_RED方法对瞬时队长的控制能力都较弱,而ATRED则在大部分情况都能实现对瞬时队长更好的控制。由实验数据的平均值可进一步验证,ATRED在大多数带宽情况下,对瞬时队长的控制效果要比RED和GENTLE_RED好。
实施例三 拓扑结构仍采用实施例一的结构,为了比较ATRED、RED和GENTLE_RED方法在负载量发生突变的时候对瞬时队列的控制能力,可用以下一系列的实验验证。拓扑结构依旧使用实施例一的结构,瓶颈带宽为15Mbps实验时间设定为300秒,假设在120秒的时候,FTP业务源的负载量突然发生变化,而HTTP业务源的负载量不变,选取4种突变情况进行实验,得出如下4组实验数据,并计算出4组数据的平均值,详细数据如下表4 表4负载量突变的情况下ATRED、RED和GENTLE_RED的性能指标
可见,在负载突变情况中,ATRED比RED和GENTLE_RED有比较明显优势,ATRED对瞬时队列长度的控制能力明显占优。根据4组突变实验数据的平均值,可进一步证明在大多数的负载量突变的情况中,ATRED比RED和GENTLE_RED方法对瞬时队列的控制能力更强。
在不同的网络环境下ATRED与RED和GENTLE RED的控制性能进行了比较,结果表明自适应性增强的ATRED算法对队列的控制更为有效,队列的振荡相对较小,能为用户提供更为稳定可靠的服务质量。
权利要求
1、一种基于自适应阈值机制的网络控制方法,其特征在于包括如下实施步骤
(1)参数定义和初始化wq为计算平均队长时所用的权值;pmax为最大丢弃概率;count代表连续成功传输的分组数,初始值为-1;qavg代表平均队长,初始值为0;minth表示最小阈值;maxth表示最大阈值;
(2)在路由器建立一个基于自适应阈值机制的网络控制方法的控制器;
(3)当新分组到来时,如果此时队列为空,则执行步骤(4);否则执行步骤(5);
(4)计算平均队长qavg=(1-wq)m×qavg;并将当前时间设为队列为空的起始时间q_time=time;其中,m代表空队列持续的时间,m=f(time-q_time);
(5)计算平均队长qavg=(1-wq)qavg+wq×q;
(6)更新阈值
其中,α的平滑系数;β是期望的缓存占用率;t是当前时间;T是采样时间;
(7)由qavg计算丢包率pa;如果qavg≤minth,转去步骤(8);如果qavg≥maxth,转去步骤(9);否则转去步骤(10);
(8)数据包入列,pa=0,count=0,转到步骤(11);
(9)丢弃数据包,pa=1,count=-1,转到步骤(11);
(10)计算临时丢弃率则
(11)转至步骤(3),重复执行步骤(3)到(10),直至结束。
2、根据权利要求1所述的基于自适应阈值机制的网络控制方法,其特征在于所述的基于自适应阈值机制的网络控制方法的控制器,其实施步骤为
(1)设期望平均队长为qavg_e,如果qavg=qavg_e,则阈值保持不变;qavg<qavg_e,则增大阈值;qavg>qavg_e,则减小阈值;
(2)设队列缓存的期望的平均占用率为β,且相应地,在时刻t,瞬时的队列平均占用率为βa,且其中,qmax代表缓存容量;根据和阈值的调整为
当qavg=qavg_e时,β=βa,即队列缓存的占用率为期望值,值保持不变
当qavg<qavg_e时,βa<β,队列缓存的占用率小于期望值,阈值增大;
当qavg>qavg_e时,βa>β,队列缓存的占用率大于期望值,阈值减小;
(3)通过以下微分方程计算相关参数;
其中,qtmp代表瞬时队长,δ是采样频率;
(4)在平衡点处对系统进行线性化,得传递函数为
其中,maxth0和minth0分别代表平衡点处的最大阈值和最小阈值。
3、根据权利要求2所述的基于自适应阈值机制的网络控制方法,其特征在于所述α的范围是0到0.1。
4、根据权利要求3所述的网基于自适应阈值机制的网络控制方法,其特征在于所述α的值是0.005。
5、根据权利要求2或3或4所述的基于自适应阈值机制的网络控制方法,其特征在于所述β根据网络的实际状态在区间0.2<β<0.7内选取相应的值。
6、根据权利要求5所述的基于自适应阈值机制的网络控制方法,其特征在于所述β的值是0.5。
全文摘要
基于自适应阈值机制的网络控制方法(简称ATRED)是一种在路由器上实施的主动队列管理算法。在ATRED中,最大阈值和最小阈值能够根据当前的拥塞状态在线调整,从而使算法的自适应性和鲁棒性增强,与传统的尾丢弃和早期随机检测算法RED相比,ATRED算法能够对队列实施强力有效的控制,使队列振荡减小、更加平稳,从而改善系统性能,提供更加稳定的网络服务质量。
文档编号H04L29/06GK101388833SQ20081002958
公开日2009年3月18日 申请日期2008年7月18日 优先权日2008年7月18日
发明者治 刘, 杰 倪, 文俊朝, 云 章 申请人:广东工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1