APP下载

一种基于模糊控制的参数自适应RED改进算法*

2017-10-12任金霞温春晖王水泉

网络安全与数据管理 2017年18期
关键词:包率模糊控制队列

任金霞,温春晖,王水泉

(江西理工大学 电气工程与自动化学院,江西 赣州 341000)

一种基于模糊控制的参数自适应RED改进算法*

任金霞,温春晖,王水泉

(江西理工大学 电气工程与自动化学院,江西 赣州 341000)

考虑到传统随机早期检测(Random Early Detection,RED)算法在较强的业务突发度和较大流量抖动的情况下很难获得令人满意的吞吐量这一问题,基于模糊控制理论设计了一个模糊控制器,以提高系统在减少队列长度、降低丢包率中的作用。同时由于在网络拥塞控制中传统RED算法存在着参数敏感、稳定性差等问题,故在系统中加入一个参数自适应算法,用来稳定队列长度。仿真结果表明该算法在减少队列长度、降低丢包率、提高鲁棒性方面的优化有着明显的效果。

拥塞控制;模糊控制;RED算法;自适应

Abstract: Considering the problem that the traditional Random Early Detection (RED) algorithm in the stronger business under the condition of sudden and large flow jitter is difficult to obtain satisfying throughput, this article designs a fuzzy controller to improve the system performance in reduce the queue length and the reduce packet loss rate based on fuzzy control theory. At the same time, due to network congestion control in traditional RED algorithm has sensitive parameters baol instability, this paper introduces a parameter adaptive algorithm to the system to stabilize the queue length. The simulation results show that the algorithm has obvious effect in reducing queue length, reducing the packet loss rate, and improving the robustness of optimization.

Key words:congestion control; fuzzy controller; RED algorithm; self-adaptive

0 引言

主动队列管理(Active Queue Management,AQM)是基于路由器的拥塞控制领域的研究热点之一[1]。典型的AQM机制是随机早期检测(Random Early Detection,RED)算法[2],RED算法根据平均队列长度估计值,按概率随机丢弃分组,实现早期拥塞通知,在保持高吞吐率和低延时的同时,能够容纳一定的突发数据[3]。RED算法对参数的设置异常敏感,同时随着网络的连接数增加,队列长度变长,这会增加中间节点的延时,对一些网络业务产生一定的影响[4]。所以有PI、PID、PD控制器广泛用于AQM设计中,以求获得更好的网络性能。随着智能控制理论的发展,将智能控制理论应用于主动队列管理(AQM)算法中也有了新的尝试和突破。

基于以上分析,本文提出一种基于模糊逻辑的参数自适应RED优化算法设计。算法在传统RED算法中加入改进的模糊控制器,该模糊控制器可以根据当前网络流的状况动态地推出数据包的丢弃率,同时由于加入了参数自适应算法使得算法系统的性能得到提升,在降低队列长度和丢包率的同时,其鲁棒性也得到提高[5]。该算法在理论上可以获得较低的丢包率,同时增加网络吞吐量和减少延时,从而增加网络服务性能[6]。

1 传统RED算法

RED算法是最早也是最著名的一个有效缓解网络拥塞的算法,RED算法通过网络链路中的平均队列长度大小来确定网络运行状态以及判断有无网络拥塞的出现。当平均队列长度接近或达到设定的最大阈值时,说明网络中发生了拥塞,这时发送端节点将收到拥塞信号,同时降低数据发送的速率,以达到缓解拥塞的效果。也就是RED算法是通过丢弃路由器中间节点中的缓存数据包来缓解拥塞。RED早期检测的设计主要解决如下两个问题[7]:

(1)降低丢包率和延时;

(2)提高网络资源的利用率以及提供较高的链路利用率。

RED算法中平均队列长度是根据时间的变化发生变化的,并在拥塞发生的临近期就会对链路中的数据包进行随机性丢弃,这样既有效降低了网络时延,又给算法的有效运行提供了保障,使网络的运行更有效率。

2 基于模糊控制的参数自适应RED算法

针对传统RED算法对参数设置的敏感性问题,本文在模糊控制理论的基础上提出一种在丢包发生之前对丢包率信号进行处理的改进的RED算法,该算法的结构主要为两个部分:模糊控制的RED算法和参数自适应的RED算法。该算法的主要思想是加入参数自适应算法来保持队列的稳定性,提高网络系统的鲁棒性,有效减少队列的溢出和空闲。同时以传统RED算法为基础,加入一个以路由器中的缓冲区的平均队列长度、平均队列长度的变化率、时延作为网络拥塞状态检测变量的模糊控制器,文献[8]在RED算法中设计了一个以平均队列长度、平均队列长度变化率为状态检测变量的模糊控制器。本文在其基础上多加入一个时延作为控制器输入参数变量。该模糊控制器在减少丢包损失、降低丢包率上有更好的实验效果。

2.1基于模糊控制的RED算法

本文在传统RED算法的基础上加入一个模糊控制器,该模糊控制器以平均队列长度、平均队列长度变化率和延时作为输入变量,通过该模糊控制器可以得到一个改进的基于模糊控制的RED算法。

2.1.1模糊控制器的结构

以路由缓冲区的平均队列长度qavg、平均队列长度变化Δqavg和时延RTT作为该模糊控制器网络拥塞状态的三个检测变量,也是该算法的三个输入变量,通过模糊控制器得到一个较理想的丢弃概率p。由此根据这三个输入变量,本文设计的模糊控制RED算法的结构图如图1所示。

图1 模糊控制RED算法结构图

平均队列长度的计算公式为:

qavg=(1-wq)qavg+qwq

(1)

式中qavg为平均队列长度,q表示t时刻的队列长度,wq为权重。

平均队列长度变化的计算公式为:

Δqavg=qavg(t+1)-qavg(t)

(2)

式中:Δqavg为平均队列长度变化,qavg(t)为t时刻的平均队列长度。

时延的计算公式为:

(3)

其中RTT是回路时间,qt是缓冲器中的瞬时队列长度,ct是链路容量,Tp是传输延时。

2.1.2模糊控制器的设计

考虑到三个变量对丢包率影响,本文把平均队列长度、平均队列长度变化、时延作为模糊逻辑控制器的输入,丢包率作为输出。设Q、VQ、D、P分别是平均队列长度、平均队列长度变化、时延和输出量丢弃概率的模糊变量,其对应的模糊语言值分别为:

Q={很长、长、中等、短、很短}={VL、L、M、S、}

VQ={很多、多、中等、少}={Very Lot、Lot、Medium、Few}={VA、A、M、F}

D={低、中等、高、非常高}={Low、Med、High、Very High}={L、M、H、VH}

P={非常少、少、中等、多、非常多}={Very Little、Little、Moderate、Much、Very Much}={VL、L、MD、MC、VMC}。

得到该模糊控制器的模糊规则如表1所示。

表1 模糊控制规则

设平均队列长度Q和输出量丢弃概率P的模糊论域为{0,2,4,6,8,10,12,14,16},平均队列长度变化率VQ和延时D的模糊论域为{0,0.2,0.4,0.6,0.8,1,1.2,1.4,1.6}。其隶属度函数为三角形隶属函数,以平均队列长度Q的隶属函数曲线为例,如图2所示。

图2 输入变量队列长度Q的隶属函数曲线

其余三个参数变量的隶属函数曲线与平均队列长度Q的隶属函数曲线类似,本文不一一画出。

该模糊控制器的规则可以表示成:

ifQi,VQjandDk, ThenPijk(i=1,2,3,4;j=1,2,3,4;k=1,2,3,4)

本文是通过三个输入变量即平均队列长度、平均队列长度变化和时延来控制模糊控制器,经过模糊推理、解模糊化得到相对较低的丢包率P。

2.2基于参数自适应的RED算法

由于传统RED算法网络拥塞控制中存在着非线性、参数时变、稳定性等问题,无法有效保证队列长度收敛在预期结果内,为避免队列的不稳定、溢出或空闲,故本文在模糊控制的基础上加入了一个参数自适应的算法,用来保持队列的稳定。

算法借鉴RED算法的早期拥塞检测机制,同样根据平均队列长度的变化来自适应地调节丢包率,算法给队列长度设定两个控制阈值Min_th,Max_th。通过平均队列长度和两个控制阈值的比较可以得到以下三种网络状态。其中平均队列长度的计算公式可通过式(1)来计算得到。

(1)当队列长度大于控制阈值Max_th时,队列溢出,网络处于重载区,这时需及时增大丢包率P,缓解网络拥塞。

(4)

其中α为队列溢出的调节系数;din是常量,用来调节丢包率P。

(2)当队列长度小于阈值最小值Min_th时,网络处于轻载区,无需丢包,故丢包率P=0。

(3)当队列长度在Max_th和Min_th之间时,网络状态稳定,队列长度也较稳定故无需较大改变丢包参数。

p=p+αdin,α>1

(5)

(5)为了防止空队列的出现,当链路空闲且队列长度大于阈值最大值Max_th时有:

p=p+βdde,β>1

(6)

其中β为队列空闲时的调节系数,虽然队列长度大于Max_th,但因为队列是空闲的,所以网络也是处于轻载区,同样采取较缓和的小概率丢包策略。算法实现可以参考文献[9]。

3 仿真与分析

本文算法的一些参数设置:Min_th=80,Max_th=180,wq=0.002,α=3,β=2,其余参数设置同默认RED算法。采用如图3所示的网络拓扑结构,由图可知网络由n个FTP传输源组成,这些节点到达节点A之间的带宽均为10 Mb/s,延时均为5 ms,节点A、B之间的链路带宽为15 Mb/s,延时为5 ms,节点B、C之间的的链路带宽为45 Mb/s,在大时滞环境下时,时延为220 ms。

图3 网络拓扑结构

本文通过ns-2网络模拟仿真软件来验证本文模糊控制的RED优化算法的优越性,从队列长度、丢包率两方面将本文算法与传统算法进行对比分析,仿真结果如下。

(1)队列长度

实验仿真结果的对比如图4、图5所示,可以看出改进的模糊RED算法队列长度明显降低了,同时具有较原始RED算法有更高的链路利用率,更好地保持了队列长度的稳定性,具有更高的鲁棒性。

图4 传统RED算法队列长度

图5 改进的模糊RED算法队列长度

(2)丢包率

为了较为全面地衡量本算法的性能,给出两种算法的网络数据丢包率分析对比情况如图6所示。可以看出在前4 s时两种算法丢包率相差不大,随着时间的增加虽然两种算法丢包率均呈上升趋势,但本文提出算法的丢包上升坡度较原始算法相对平缓,丢包率整体小于原始算法,说明本算法在网络的数据丢包率方面较原始算法有一定提升。

图6 网络数据丢包率

4 结论

本文针对传统RED在FTP突发较强或大时滞网络环境下不能得到较满意的吞吐量这一问题,提出基于模糊控制理论参数自适应RED优化算法。仿真结果表明该算法较传统算法相队列长度的波动更加稳定,同时,增强了网络系统的鲁棒性,提高了链路利用率,降低了数据传输的丢包率。

[1] Liu Weiyan, Zhang Shunyi, Zhang Mu, et al. A fuzzy-logic control algorithm for active Queue Management in IP networks[J]. Journal of Electronics (China), 2008, 25(1):102-107.

[2] NASSAR K A, ABDULLAH A A. Fuzzy RED to reduce packet loss in computer network[J]. Journal of Qadisiyah Computer Science and Mathematics, 2016, 8(1):107-114.

[3] Ren Fengyuan, Ren Yong, Shan Xiuming. Design of a fuzzy controller for active queue management[J]. Computer Communications, 2002, 25(9):874-883.

[4] 黄迎春,李向丽,邱保志.一种改进的RED算法[J].计算机工程,2007, 33(1):117-121.

[5] ABBASOV B, KORUKOGLU S. Effective RED: an algorithm to improve RED’s performance by reducing packet loss rate[J]. Journal of Network and Computer Applications, 2009, 32(3):703-709.

[6] 黄海利,王晓喃.一种基于UDP的拥塞控制方案[J].电子技术应用,2013,39(1):109-115.

[7] RASTOGI S, ZAHEER H. Comparative analysis of queuing mechanisms: Droptail, RED and NLRED[J]. Social Network Analysis and Mining, 2016, 6(1):123-232.

[8] 李文帅,张忠林,徐洞成.基于模糊控制理论的RED改进算法[J].空军雷达学院学报,2009, 23(2):124-126.

[9] 刘伟彦,孙雁飞,张顺颐,等.一种参数自适应的主动队列管理算法——自适应BLUE[J].电子与信息学报,2009,31(2):462-466.

An improved parameter adaptive RED algorithm based on fuzzy control

Ren Jinxia, Wen Chunhui , Wang Shuiquan

(School of Electrical Engineering and Automation,Jiangxi University of Science and Technology, Ganzhou 341000, China)

TP393

A

10.19358/j.issn.1674- 7720.2017.18.023

任金霞,温春晖,王水泉.一种基于模糊控制的参数自适应RED改进算法[J].微型机与应用,2017,36(18):77-79,83.

江西省自然科学基金项目(20151BAB207041)

2017-02-28)

任金霞(1970-),通信作者,女,硕士,副教授,主要研究方向: 智能控制、机器学习。E-mail:dxzghyqq@sina.com。

温春晖(1992-),男,硕士研究生,主要研究方向:智能优化算法。

王水泉(1991-),男,硕士研究生,主要研究方向:计算机网络、优化算法。

猜你喜欢

包率模糊控制队列
支持向量机的船舶网络丢包率预测数学模型
一种基于喷泉码的异构网络发包算法*
电磁线叠包率控制工艺研究
队列里的小秘密
基于多队列切换的SDN拥塞控制*
在队列里
丰田加速驶入自动驾驶队列
T-S模糊控制综述与展望
基于模糊控制的PLC在温度控制中的应用
基于模糊控制的恒压供水系统的研究