张维访,徐 蕾
(沈阳航空航天大学 计算机学院,沈阳 110136)
园区网的网络故障状态预测方法
张维访,徐蕾
(沈阳航空航天大学 计算机学院,沈阳 110136)
为及时处理园区网可能发生的网络故障,提出了一种网络故障状态预测方法。首先利用采集的园区网网络运行数据样本做数据挖掘,获得网络运行参数的ARMA预测函数及网络故障预测的BP神经网络模型;做网络故障状态实时预测时,在园区网的关键监测点中利用SNMP协议采集网络运行参数,通过这些参数预测下面几个时段的网络运行参数,进而利用BP网络预测网络监测点的故障状态。实验结果表明,网络运行状态预测的准确率能够达到80%以上,可实现基本的网络故障状态预测。
园区网络故障;神经网络;数据预测;简单网管协议
对于大型园区,尤其是国防企事业单位,网络系统的稳定、可靠运行是现代化生产和管理的基本保障,网络的崩溃或瘫痪意味着传输数据的丢失等巨大损失。因此,提前预测网络延迟、拥塞等网络故障状态,使网络运维系统能够及时响应、处理,进而保证网络的稳定运行是非常重要的。
现有的网络故障预测方法主要是对网络历史故障数据进行分析,利用数据挖掘的方法得出故障预测模型。文献[1]引入基于状态的维修技术,通过监测网络状态,利用构建的神经网络预测网络故障;文献[2]针对网络一段时间中的故障率,建立多元线性回归模型,进而预测网络下一个时段的故障率;文献[3]为了实现计算机网络系统中的故障和资源的自我管理,提出了一种具有自主故障预测和管理能力的系统。文献[4-5]在异常行为频繁项集挖掘的基础上提出了单个网络参数的多尺度趋势分析,利用多维时间尺度趋势来计算节点的网络故障。文献[6]提出一种针对多区域故障的预测模型,采用风险评估知识来描述网路故障模型。以上预测方法存在不足,回归分析的因子选择及因子的数学表达式只是一种推测,如果因子选择不合理,预测效果会降低;利用趋势分析的网络状态预测方法的不足是当一种正常趋势很像异常趋势的时候可能会误判断成故障。以上文章主要是对网络状态故障管理的研究,对网络状态故障预测的研究很少。
本文提出了一种园区网的网络故障预测方法,主要针对网络运行状态进行预测,进而能够及时发现网络的拥塞情况。网络故障预测方法是在园区网的关键监测点中采集网络运行参数,然后利用数据挖掘得到的网络运行参数预测模型预测下一阶段的网络运行参数,将预测得到的网络运行参数输入神经网络模型预测网络的运行状态。实验结果表明,这一方法能够预测网络的运行状态,进而保证网络稳定运行。
网络故障状态预测是维护网络稳定运行和保障网络健康状态的一种技术手段。方法是利用已知的网络运行数据进行数据挖掘,得到网络故障状态的预测模型[7],进而在网络监测点上利用实时采集的数据预测一段时间之后网络故障状态,便于网络运维系统做出及时的响应,其系统模型如图1所示。
图1 网络故障状态预测系统模型
预测系统模型主要对网络拥塞的故障状态进行预测。利用简单网管协议(SNMP)实现网络运行状态数据的采集;首先选择ARMA模型进行网络运行状态参数的预测;然后利用学习得到的BP神经网络模型依据预测的网络运行状态参数预测网络故障状态。简单网管协议可以采集出一组与网络运行状态相关的属性数据,本文选择与网络拥塞密切相关的网络流量数据作为典型参数进行分析。
1.1网络运行参数预测方法
选用ARMA模型根据已知的网络运行参数预测下一时段的网络运行参数。ARMA(p,q)模型是自回归模型(AR模型)和滑动平均模型(MA模型)的一般形式,ARMA(p,q)模型如式(1)所示[8]:
(1)
其中{yt}是平稳的时间序列,φ1,…,φp是自回归系数,θ1,…,θq是滑动平均系数,εt,εt-1,…,ε1是误差项;根据时间序列理论,通常选择模型ARMA(2n,2n-1)( n是正整数)。本文对网络流量等参数进行预测,而流量的变化是呈一种趋势的,不能用少量的数据预测,因此选用了ARMA(6,5)的形式,其表示如式(2)所示:
(2)
图2 网络流量参数时间序列与预处理后的结果对比
(3)
(4)
由方程(4)估计计算出自回归系数,φ1,…,φ6。
样本的自相关系数定义如式(5)所示:
(k=1,2,…,6)
(5)
利用一段时间采集到的网络运行状态参数的有限时间序列{xi}(i=1,2,…,n)对ARMA(6,5)模型进行数据拟合,计算得出ifInoctets、ifoutOctets和连接复位数三个参数的ARMA(6,5)模型分别为线性函数,如式(6)、(7)和(8)所示。
参数ifInOctets的预测函数为:
yt=1.177yt-1+0.279 2yt-2+1.622yt-3-1.621yt-4-3.271yt-5+2.819yt-6-1.642εt-1+0.288 7εt-3+1.542εt-4-0.808 2εt-5
(6)
参数ifOutOctets的预测函数为:
yt=2.28yt-1-2.864yt-2+0.814 8yt-3+0.698 5yt-4-0.497 8yt-5+0.028 64yt-6+0.971 1εt-1+0.053 1εt-2-0.699 7εt-3-0.005 7εt-4+0.348 6εt-5
(7)
参数tcpEstabResets的预测函数为:
yt=0.527yt-1+0.530yt-2+0.504yt-3+0.317 81yt-4-1.033yt-5+0.154yt-6-0.485εt-1+0.064 4εt-2+0.588 2εt-3+0.922 92εt-4-0.114 3εt-5
(8)
其他参数的数据预处理及数据预测模型可用类似的方法求解,不在这里一一说明。
1.2网络故障预测的BP神经网络模型
将预测得到的网络运行状态参数,输入BP神经网络模型预测网络的故障状态。利用网络运行状态的样本数据对三层结构的BP(Back Propagation)神经网络进行训练与学习。设BP网络的输入层节点数是n,输出层节点数是1,隐层是一层结构且节点数是m;BP的输入层节点对应某时刻采集的网络运行状态参数,输出层节点表示该时刻的网络状态(网络的使用率)。本文对BP网络隐层及输出层的输出都采用公式(9)的非线性函数[9-11]做计算。
(9)
其中的wij是上层第i个节点和本层第j个节点的联接权值,当oj表示隐层输出时1≤j≤m、k=n;oj表示输出层输出时j=1、k=m。
本文设置(-1,1)区间内的随机数作为wij初始值,权值的学习是根据输出层节点输出值与输出期望值之间的误差做出调整。设t表示输出层节点z的输出期望值,BP网络的边权值wij利用公式(10)做调整。
wij(n+1)=wij(n)+ηoiδj
(10)
其中的n和n+1表示迭代次数,η是学习因子,设置为常数(文中设为0.9),oi是上层第i节点的输出(若第i层是输入层,则输出值即为输入值),若j是输出层节点,δz=oz(1-oz)(t-oz);若j是隐层节,δj=oj(1-oj)δzWjz。
使用5 min间隔采集的网络运行状态样本数据对BP网络进行训练,选用对网络运行状态影响较大的网络流量数据(接口接收数据、接口发送数据、缺乏缓冲丢弃数据报文数(IpIndiaCards)、接收的ICMP报文数(IcmpInMsgs)、接收TCP总段数(TcpInSegs)和网络连接复位数)作为BP神经网络的输入数据,选定误差小的(6,15,1)作为BP网络结构模型。
本文利用实验室环境下一种二层网络结构的局域网做实验[12-13],在该二层网络中,有2台交换机、每台交换机下有3台实验机。监测局域网内交换机的网络运行状态,网络带宽为10 M。
网络运行参数的实时采集是利用SNMP协议中异步walk方式,以5 min的时间间隔轮询,数据采集产生的网络负载对网络的正常运行影响很小;为使网络运行状态出现一些拥塞现象,实验时利用ping of death对监测点做攻击(主要使网络带宽占用率增高,使网络出现拥堵),进而测试网络故障预测模型系统的运行效果。
2.1网络运行参数预测实验
网络运行参数预测是利用已经采集的数据,利用前面学习得到的ARMA参数预测函数预测未来5、10、15、20 min的对应参数值,图3给出了三种网络运行参数的部分预测结果。
图3 部分预测数据与真实数据对比结果
从参数预测和实际测量值的结果对比图可以看出,预测的参数能够提前得到参数的变化趋势,但是预测值相对参数变化值的计算结果有些偏大。可以计算参数预测的相对误差,设某个参数的预测值为a,实测值为b,则参数预测的相对误差为:e=|a-b|/b;表1给出了图3中三种网络运行参数5分钟、10分钟、15分钟及20分钟预测值的相对误差平均值。
表1 网络运行参数不同预测时间的相对误差均值
由表1的误差结果可以看出预测的时间越长,预测的误差也就越大,这是合理的。
2.3网络运行状态预测实验
实验检测了BP神经网络对网络运行状态的预测结果。实验中为保持网络的工作状态,在通过网络监测点的两个节点之间运行数据传输程序,使网络使用率在10%左右,在此过程中,利用突发的、大量的数据传输对网络传输流量进行扰动;在网络监测点中采集网络运行参数,然后进行网络运行参数的5 min后数值预测,将预测的数值输入训练后的BP神经网络,得出网络运行状态5 min之后的结果,实验结果如图4所示。
由于网络运行参数预测模型对网络运行参数的变化预测比较敏感,而网络运行状态预测是根据预测的网络运行参数得出的,因而表现出网络运行状态预测能够及时预测出网络运行的变化,但是预测的变化幅度比真实的变化幅度要大一些。
假定预测的网络使用率与实际的网络使用率之差的绝对值小于2%就认为预测是基本准确的,图4实验中预测准确率大于85%,基本上能够达到预测的目标。
图4 网络使用率的预测与实际结果的对比
不断扩大的网络规模和不断上升的网络速度使网络故障预测和管理变得十分困难,若能利用网络运行数据提前做出渐变性故障的预测,将有助于网络故障的及时处理。
本文首先采集各种不同网络运行状态下的网络运行参数,基于这一样本数据采用数据挖掘的方法获得网络运行参数的ARMA预测模型及网络运行状态的BP神经网络模型,利用ARMA模型对网络运行的主要数据属性进行预测,然后将这些预测数据输入BP神经网络预测网络的运行状态。实验证明了这一方法的有效性。
文本探讨了一种新的网络故障预测方法,但是在实验中,仅仅选择了网络流量等少量网络运行相关参数进行预测,这些参数不能充分反应完整的网络运行状态,因此实验预测结果误差在20%左右,进一步的工作应增加网络运行状态的相关参数分析,从而使网络故障预测模型更加完善。
[1]侯晓凯,李师谦,王杰琼,等.一种基于神经网络的网络设备故障预测系统[J].山东理工大学学报:自然科学版,2014(6):29-34.
[2]邓力,范庚,刘治学.基于回归分析方法的网络故障预测[J].计算机工程,2012(20):251-255.
[3]ZHANG Z,FU S.Failure prediction for autonomic management of networked computer systems with availability assurance[C].2013 IEEE International Symposium on Parallel & Distributed Processing,Workshops and Phd Forum IEEE,Cambridge,2013:1-8.
[4]ABED H J,AL-FUQAHA A,GUIZANI M,et al.Failure prediction based on multi-scale frequent anomalous behavior identification in support of autonomic networks[C].Global Telecommunications Conference(GLOBECOM 2010),2010 IEEEIEEE,2010:1-5.
[5]ABED H J,AL-FUQAHA A,KHAN B,et al.Efficient failure prediction in autonomic networks based on trend and frequency analysis of anomalous patterns[J].International Journal of Network Management,2013,23(3):186-213.
[6]LIU XIAO,WANG YING,XIAO AILING,et al.Disaster-prediction based virtual network mapping against multiple regional failures[C].Integrated Network Management(IM),2015 IFIP/IEEE International Symposium on IEEE,Ottawa,2015.
[7]唐斌,曾启杰,章云.网络化最优优预预测状态估计[J].控制理论与应用,2011(05):727-734.
[8]邹柏贤,刘强.基于ARMA模型的网络流量预测[J].计算机研究与发展,2002,39(12):1645-1652.
[9]李瑞莹,康锐.基于神经网络的故障率预测方法[J].航空学报,2008,29(2):357-363.
[10]薛宇.基于模糊数据挖掘的主机故障预测研究[D].沈阳:沈阳航空航天大学,2015.
[11]杜超,徐蕾.结构化P2P网络访问热点预测与负载均衡机制研究[J].沈阳航空航天大学学报,2013,30(6):38-43.
[12]胡海峰,伍庆润,张文渊,等.基于局域网的网络状态预测[J].华中科技大学学报:自然科学版,2003(S1):233-237.
[13]林耀进,胡学钢.多数据源中局部模式挖掘研究[J].合肥工业大学学报:自然科学版,2013,36(1):53-58.
(责任编辑:刘划英文审校:赵亮)
Networkfaultspredictionmethodforparknetwork
ZHANGWei-fang,XULei
(CollegeofComputerScience,ShenyangAerospaceUniversity,Shenyang110136,China)
Todealwiththepossiblenetworkfailuresintheparknetworkinstantly,anewmethodofnetworkfaultspredictionwasproposed.Firstly,theARMApredictionfunctiontomakedataminingonthedatasamplewasused.Thenthepredictfunctionofnetworkoperationparameters,andBPneuralnetworkmodelfornetworkfailurepredictionwasobtained.ThecollectionnetworkoperatingparametersofSNMPprotocolonthecriticalmonitoringpointofthecampusnetworkwasappliedwhilethereal-timenetworkfaultswaspredicted.Thereforeseveralhoursinadvancebytheaboveparameterswaspredictedwheneverthenetworkwasrunning.FurthermoretheBackPropagationtopredictthenetfailureswasused.Theexperimentalresultsshowthattheoperationaccuracyratereachesatmorethan80%ofthenetworkstatepredictionbyusingtheproposedthemethod.
parknetworkfault;neuralnetwork;dataforecast;SNMP
2015-12-16
张维访(1990-),男,辽宁省朝阳人,硕士研究生,主要研究方向:信息安全,E-mail:18040036125@163.com;徐蕾(1959-),女,上海人,教授,主要研究方向:信息安全,E-mail:xulei@sau.com。
2095-1248(2016)04-0073-05
TP274
A
10.3969/j.issn.2095-1248.2016.04.013