基于免疫PID算法的无线网络拥塞控制优化
2017-04-25王倪
王倪
摘要:无线网络由于其传输方式的独特性,导致在有线网络中表现良好的各种拥塞控制方法无法在无线网络中得到有效的应用,尤其是数据通信在存在干扰的情况下,丢包率远远超过有线网络,因此必须加以改进。该文对无线网络拥塞控制方法进行深入的研究,引入了工业控制领域常用的PID控制方式来实现对无线通信节点中的缓存队列进行有效的管理,并结合免疫算法实现了对PID控制器的参数寻优,极大提高了控制的实时性和准确性,经过仿真验证,该算法在保证网络吞吐量的前提下,表现出了更强的收敛性,对网络数据流量变化波动的响应速度也大大提高了,有效的调节了网络拥塞现象,具有一定的借鉴意义和推广价值。
关键词:PID;AQM队列控制;免疫算法;拥塞控制
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)02-0044-03
1 引言
无线局域网是指基于IEEE802.11协议构建的无线网络,采用无线电波为通信载体,在有限范围内完成数据传输任务。随着智能手机及其他移动终端设备的推广,目前无线局域网得到了最广泛的应用,覆盖范围越来越广,出现的各种矛盾和问题也越来越多,同有线网络相比,无线网络最明显的劣势就在于其带宽相对有限,而影响其带宽的主要因素之一就是无线网络的拥塞问题,因此,如何有效的解决网络拥塞现象,保障无线网络的带宽不受影响,为用户提供更快捷、更稳定的数据通信服务已经成为该领域研究的重点。需要明确的是,无线网络在底层的组网方式上,存在两种主要模式,分别是以有源基站为核心的基础结构集中式和以用户主机为节点的分布对等式,也称自组式网络,本文主要针对第一种网络模式进行研究,探讨其拥塞解决方案。
无线网络通信具有其独特性,由于通信环境的复杂性、通信媒介的低防御性和众多的干扰因素的存在,使得无线网络通信的质量波动较大,从而引起通信流量的变化,在这种变化速度快、变化幅度大的环境下,若要实现精确的实时化拥塞控制是非常困难的,传统的控制方式虽然能起到一定的效果,但随着无线网络规模的不断扩大,通信流量的不断增加,这些方式都出现了或多或少的问题,必须加以改進。
目前在无线网络拥塞控制领域,AQM队列管理方法得到了广泛的肯定,该策略属于网络层的调控方法,通过主动的丢弃数据报来确保网络始终有足够的空闲缓存来应对可能出现的拥塞问题。但队列管理模式最大的问题就是响应速度过慢,无法应对网络中流量的突发性波动,本文针对这种情况,提出采用免疫PID算法参与到AQM队列管理中,将PID强大的调节能力和免疫算法优秀的收敛能力相结合,共同来解决无线网络的拥塞问题,实现全局优化。
2 主动缓存队列管理方式
主动队列管理模式AQM的优势体现在于该算法提前对网络中数据报流量趋势进行预测,在问题出现之前就提前做好预防工作,采用一定的机制来减少缓存中队列的长度,并提前通过减小拥塞窗口来降低各发送方的发送速率,这一算法思维被称作早期随机检测RED,这也是AQM算法系列中最著名的一种。RED算法包含两个环节,第一是计算路由器缓存中数据报队列的队列长度,用来判断网络中是否有出现拥塞的可能;第二是当出现拥塞可能的时候,随着这个可能性的增加,动态的调整丢弃队列中数据报的概率,以缓解路由器的通信压力。
在计算平均队列长度的时候,RED算法采用的是加权平均法,因为必须考虑到网络中数据流量的突发性特点,即网络数据量是呈大幅度快速变化的:
[Qavg(n+1)=(1-ω)×Qavg(n)+ω×Q(n)] (1)
[ω]为权值,[Q(n)]为第n次采样时得到的队列长度。由上述公式可以看出,当[ω]趋向于1时,平均队列长度[Qavg(n+1)]的取值更多的依靠本次采样的结果,而当[ω]趋向于0时,平均队列长度[Qavg(n+1)]的取值则更依赖于上一次的平均值。在实际应用中,这一参数的设定是根据路由器根据其处理的业务特点来灵活设置的。
缓存平均队列长度是反映当前路由器缓存使用情况的指标,用以决定丢弃数据包的概率,具体算法如下:首先RED算法设定两个阈值[Lmin]和[Lmax],然后路由器根据计算得到的[Qavg]同这两个阈值进行比较,根据比较的结果来决定丢弃报文的概率,若[Qavg]<[Lmin],丢包概率为0;若[Qavg]>[Lmax],丢包概率为1;而当[Lmin]<[Qavg]<[Lmax]时,以某一动态变化的概率P对新到达的数据报执行丢弃操作。计算公式如下:
[P=PmaxQavg-LminLmax-Lmin] (2)
[Pmax]为预设好的,在到达1之前的最大丢弃报文的概率。从公式中可以看出,丢包概率P是呈线性变化的,其趋势图如图1所示。
3 免疫PID控制算法的优化作用
3.1 增量PID控制方法
本设计采用增量式PID控制为改进对象,所谓增量式PID,即使根据被控对象在某时间周期内的变化率来决定下一轮需要调节的相对值,即控制被控对象的增量,气算法流程如图2所示。
参照其中第K轮的控制输出为:
[u(k)=kp(error(k)+TTIj=0kerror(j)+TDT(error(k)-error(k-1)))] (3)
递推得到第上一轮的控制输出为:
[u(k-1)=kp(error(k-1)+TTIj=0k-1error(j)+TDT(error(k-1)-error(k-2)))] (4)
将式3与式4做相减操作,得到式5:
[Δu(k)=u(k)-u(k-1)=kp(error(k)-error(k-1)+TTIj=0kerror(j)+TDT(error(k-1)-error(k-2)))](5)
对增量式PID算法归并后,得到:
[Δu(k)=q0error(k)+q1error(k-1)+q2error(k-2)] (6)
其中:[q0=Kp1+TTI+TDT];[q1=-Kp1+2TDT];[q2=-KpTDT]
通过式6可以看出,增量式PID算法的核心依据就是通过反馈上一轮调控所产生的误差量来修正下一轮调控时的输出控制量,对于数字化设备而言,误差值相对较小,因此上式可以简化为只保留[e(k)、e(k-1)、e(k-2)]即可得到合理的控制增量。
3.2 免疫PID控制器的设计
现将免疫算法同PID控制模式相结合,按照免疫算法的相关理论,可假设:第k代的抗原个体数量为[n(k)],增强细胞[TH]的输出为[TH(k)],则有:
[TH(k)=k1n(k)] (7)
假设抑制细胞[TS]的影响为[TS(k)],则:
[TS(k)=k2f(Δs(k))n(k)] (8)
式中[k2是抑制因子]。[f(?)]为[TS]的抑制函数,取值在[0,1]范围内。
根据(7)和(8)可得,免疫系统接受的总刺激为:
[S(k)=TH(k)-TS(k)=(k1-k2f(Δs(k)))n(k)] (9)
因此,可将增量式PID控制器离散形式写为:
[uPID(k)=u(k-1)+KP(e(k)-e(k-1))+KIe(k)+KD(e(k)-2e(k-1)+e(k-2))] (10)
其中P控制器的控制模式为:
[u(k)=KPe(k)] (11)
将免疫反馈引入到控制中,其规律为:
[u(k)=K(1-ηf(u(k),Δu(k)))e(k)=KPIe(k)] (12)
其中[KP1=K(1-ηf(u(k),Δu(k)))e(k)],[K=k1]为控制反应速度,两者成正比增长的关系;[η=k2k1],為控制稳定效果,两者成反比增大的关系。[f(?)=f(u(k),Δu(k))]表示对[TS]的抑制程度,其值的大小与机体内抗原当前数量以及变化率相关。
本设计采用免疫控制系统与PID控制器中的参数[KP]进行动态调节,以提高系统的响应速度。最终免疫PID控制器的输出定为:
[u(k)=u(k-1)+KP1(e(k)-e(k-1))+KIe(k)+KD(e(k)-2e(k-1)+e(k-2))] (13)
上式中[KP1=K(1-ηf(u(k),Δu(k)))]
优化后的控制系统的结构如图3所示。
4 仿真验证
为了更好地体现出对本设计的优化效果,本实验选取四种不同的控制方法进行对比分析,分别为早期随机丢弃策略RED,PI,PID和免疫PID,实验环境模拟为网络流量变化较大的外部环境,通过监测数据来查看着四种优化算法对AQM队列的控制效果。设定FTP源为100条,分别在0s,10s,20s三个时间点启动50条,25条和25条,得到的实验结果数据及缓存队列的瞬时长度如表1及图4所示:
通过以上数据和曲线对比可以明显地看出,免疫PID控制算法明显拥有更高的响应速度和控制精度,比传统的早期随机丢弃策略RED有了明显的改善和提高,同时相较于PI和PID控制方法也具有一定的优势,尤其是当网络流量发生大幅变化时,免疫PID能够更早地捕捉到这一变化情况并对控制输出做了及时的调整,无论从丢包率、队列长度还是变化幅度上来看都实现了较高的控制质量,从而验证了本控制方案的有效性。
5 总结
从网络的整体发展趋势上看,无线网络将逐渐成为网络发展的主要方向,而日益增多的用户势必会带来超大规模的数据通行量,在此情况下,网络的拥塞控制质量将会成为制约无线网络发展的主要瓶颈。本文提出了一种基于免疫PID算法的无线网络拥塞控制方法,通过仿真实验证实了该算法较为有效地提高了无线网络拥塞控制的实时性和精确性。相信随着智能控制技术和计算机网络技术的不断发展,将会进一步提高无线网络的通信效率,为广大用户提供更可靠、更快捷的数据通信服务。
参考文献:
[1] 罗万明,林闯,阎保平. TCP/IP拥塞控制研究[J].计算机学报,2011, 24(1):1-18.
[2] L. Tong,V. Naware,and P. Venkitasubramanima, Signal Processing in random access[J].IEEE Signal Processing Mag., 2015,21(5):29-39.
[3] 刘琳琅.无线网络中控制策略的研究[D].杭州:浙江工业大学,2012.
[4] Afanasyev A, Tilley N, Reiher P, Kleinrock L. Host-to-Host Congestion Control for TCP [J] .Communications Surveys & Tutorials, 2014, 12(3): 304-342.
[5] Brown K, Singh S. M-TCP: TCP for mobile cellular networks[J]. ACM Computer CommunicationReview, 2010, 25(5): 19-43.
[6] 戴晓晖.人工免疫系统的建模研究[D].杭州:浙江大学,2011.