一种EIGRP路由网络故障的分析方法和系统与流程

文档序号:15357775发布日期:2018-09-05 00:12阅读:157来源:国知局

本发明涉及通信技术领域,尤其涉及一种路由网络故障的分析方法和系统。



背景技术:

随着互联网技术的快速发展,网络产品在生产生活中越来越普及,网络体量和复杂度不断增长,ip网络逐渐向提供高品质业务方向发展,用户对网络服务的质量和网络品质提出了更高的要求,ip网络监测已成为网络管理的一种重要手段,由于路由的服务质量直接影响到整个网络的运行质量,因此对路由故障的监测成为了网络监测中的一项重要内容。

路由故障指路由协议运行偏离正常状态的情况。路由网络故障诊断按自治域可分为域内路由识别和域间路由识别,增强型内部网关路由协议eigrp(enhancedinteriorgatewayprotocol,eigrp)属于域内路由协议,具有部署简单、可靠性强、鲁棒性好等优点,常应用于高可靠性、高安全性的网络领域,例如银行系统和军队系统。如果eigrp路由协议在运行过程中发生异常或故障,将会造成非常严重的后果,因此有效识别eigrp路由网络中出现的故障和异常,对于维护网络的正常运行具有重要意义。

shaikh·a等人提出了两种不同的开放式最短路径优先(openshortestpathfirst,ospf)路由协议监测方法,一种是基于管理平台的snmp方法,另一种是基于lsar与lsag的控制平台方法,其已将控制平台方法应用于实际的企业ospf网络中以监测分析ospf在实际环境中的各种行为表现;shaikh·a等人还详细提出了这个监测方法的具体架构,并实现了这个识别方法。近些年来,机器学习被引入到网络故障诊断领域,已经有研究人员将机器学习中的神经网络算法和支持向量机应用于网络故障监测中并取得良好的实验结果,验证了机器学习算法在这一领域应用的可行性。然而,路由网络故障智能诊断领域的研究主要都集中于ospf路由协议,对于eigrp路由协议网络的故障智能诊断研究仍处于缺失状态;进一步,现有的基于神经网络和支持向量机的方法均是在包括类别标签的样本基础上来分析故障类型的,即他们是一种有监督的识别方法,这种方法的局限性在于只能识别已有的类别(即所述的类别标签),不能根据实际应用的演变及时识别出新的故障类型,这可能会导致分类的不准确和不合理。

eigrp路由协议中信息传递主要通过可靠传输协议(rtp)和邻居发现和恢复两个模块实现;eigrp路由协议网络中路由器的路由信息都来自于直连的邻接路由器,每个路由器中只存有邻接路由器端口路由信息,而邻接路由器会以同样的方式从与它们直连的邻接路由器获取路由信息,其本身的运行机制和传统的ospf路由协议、rip路由协议不同,不能简单照搬其他路由协议的故障诊断方法,因此,网络管理员亟需一种既能够诊断eigrp路由故障,又能够及时识别未知故障类型的智能分析识别技术。



技术实现要素:

本发明公开一种基于em算法和高斯混合模型gmm的eigrp路由网络的fdemc故障分析方法和系统,解决了现有技术中无法针对eigrp路由故障进行分析,且不能及时识别未知路由故障的技术问题。

为解决上述技术问题,本发明采用的一个技术方案是提供一种eigrp路由网络的fdemc故障分析方法,所述fdemc故障分析方法是基于em算法和高斯混合模型gmm的聚类方法,实现对所述eigrp路由网络已知故障和未知故障的无监督分析,包括以下步骤:步骤s1,采集所述eigrp路由网络中的路由报文进行特征提取和数据预处理,形成训练样本集;步骤s2,使用所述训练样本集训练所述高斯混合模型gmm以获取训练完成的聚类模型;该训练完成的聚类模型是具有最优参数的高斯混合模型gmm,且该最优参数通过使用em算法计算得到;步骤s3,获取所述eigrp路由网络的测试样本,将所述测试样本输入所述训练完成的聚类模型中,以获取所述测试样本的分类结果进而识别所述eigrp路由网络的运行状况;进一步,所述步骤s1中提取的特征至少包括操作码、标记、确认序列号、自助系统号、k值字段、as域字段、自动汇总、ip地址不连续、源路由器、目标路由器、表示不同域路由器设置的特征。

在本发明eigrp路由网络的fdemc故障分析方法的另一实施例中,所述步骤s2包括以下步骤:步骤s21,将所述训练样本集划分为m个样本子集,每个样本子集表示一个类别,在所述m个样本子集的基础上计算每个类别的均值、协方差和权重三个初始参数值以形成所述m个类别的初始参数向量集合其中分别表示所述m个类别的权重初始值,分别表示所述m个类别的均值初始值,分别表示所述m个类别的协方差初始值;步骤s22,重复地进行如下两步操作,直到所述高斯混合模型gmm的对数似然函数收敛:e步骤:在所述训练样本集和当前参数向量集合估计给定的情况下,计算所述训练样本集的对数似然函数的条件期望值:

所述的wij表示第i个样本属于第j类的概率,x表示一个d维的样本,θ表示高斯混合模型的参数向量集合,t=0,1,…,j,表示em算法的当前迭代次数,j表示em算法中的最大迭代次数;表示参数向量集合中第k类在当前t值迭代下的参数值;表示第k类在当前t值迭代下的权重;表示第k类在当前t值迭代下的样本均值;表示第k类在当前t值迭代下的协方差矩阵;

m步骤:更新高斯混合模型的参数使所述对数似然函数的条件期望值最大化:

其中是第j类的权重,是第j类的均值,为d维向量,是第j类的协方差矩阵,为d阶对称正定矩阵,d表示训练样本的维数,n表示所述训练样本中训练样本的个数。

在本发明eigrp路由网络的fdemc故障分析方法的另一实施例中,所述步骤s21采用随机初始化方法获取所述高斯混合模型gmm的模型启动参数,具体包括以下步骤:第一,在训练样本集中任意指定m个样本作为聚类的中心,此处m为类别总数,m为正整数;第二,分别计算训练样本集中其它样本与这m个样本的距离,采用距离最近原则将每个样本划分到m类中的其中一类中,并分配相同的类标号;第三,根据各类的所有样本值,计算每一类的权重、均值和协方差矩阵。

在本发明eigrp路由网络的fdemc故障分析方法的另一实施例中,当进行高斯混合模型gmm训练时,em算法的最大迭代次数设置为50次。

在本发明eigrp路由网络的fdemc故障分析方法的另一实施例中,根据训练样本集的实际情况,聚类cluster的数量设置范围为3到10个。

进一步,本发明还提出一种eigrp路由网络的fdemc故障分析系统,所述fdemc故障分析系统包括预处理模块、模型执行模块、聚类结果输出模块,以实现对所述eigrp路由网络已知故障和未知故障的无监督分析,其中:预处理模块,用于采集所述eigrp路由网络中的路由报文进行特征提取和数据预处理,形成训练样本集;模型执行模块,用于使用所述训练样本集训练所述高斯混合模型gmm以获取训练完成的聚类模型;该训练完成的聚类模型是具有最优参数的高斯混合模型gmm,且该最优参数通过使用em算法计算得到;聚类结果输出模块,用于获取所述eigrp路由网络的测试样本,将所述测试样本输入所述训练完成的聚类模型中,以获取所述测试样本的分类结果进而识别所述eigrp路由网络的运行状况;进一步,所述预处理模块提取的特征至少包括操作码、标记、确认序列号、自助系统号、k值字段、as域字段、自动汇总、ip地址不连续、源路由器、目标路由器以及表示域中路由器设置的特征。

在本发明eigrp路由网络的fdemc故障分析系统的另一实施例中,所述模型执行模块具体包括以下单元:初始计算单元,将所述训练样本集划分为m个样本子集,每个样本子集表示一个类别,在所述m个样本子集的基础上计算每个类别的均值、协方差和权重三个初始参数值以形成所述m个类别的初始参数向量集合其中分别表示所述m个类别的权重初始值,分别表示所述m个类别的均值初始值,分别表示所述m个类别的协方差初始值;收敛计算单元,重复地进行如下两步操作,直到所述高斯混合模型gmm的对数似然函数收敛:e步骤:在所述训练样本集和当前参数向量集合估计给定的情况下,计算所述训练样本集的对数似然函数的条件期望值:

所述的wij表示第i个样本属于第j类的概率,x表示一个d维的样本,θ表示高斯混合模型的参数向量集合,t=0,1,…,j,表示em算法的当前迭代次数,j表示em算法中的最大迭代次数;表示参数向量集合中第k类在当前t值迭代下的参数值;表示第k类在当前t值迭代下的权重;表示第k类在当前t值迭代下的样本均值;表示第k类在当前t值迭代下的协方差矩阵;

m步骤:更新高斯混合模型的参数使所述对数似然函数的条件期望值最大化:

其中是第j类的权重,是第j类的均值,为d维向量,是第j类的协方差矩阵,为d阶对称正定矩阵,d表示训练样本的维数,n表示所述训练样本中训练样本的个数。

在本发明eigrp路由网络的fdemc故障分析系统的另一实施例中,所述初始计算单元采用随机初始化方法获取所述高斯混合模型gmm的模型启动参数,具体包括以下步骤:第一,在训练数据集中任意指定m个样本作为聚类的中心,此处m为类别总数;第二,分别计算其它样本与这m个样本的距离,采用距离最近原则将每个样本划分到m类中的其中一类中,并分配相同的类标号;第三,根据各类的所有样本值,计算每一类的权重、均值和协方差矩阵。

在本发明eigrp路由网络的fdemc故障分析系统的另一实施例中,当进行高斯混合模型gmm训练时,em算法的最大迭代次数设置为50次。

在本发明eigrp路由网络的fdemc故障分析系统的另一实施例中,根据训练样本集的实际情况,聚类cluster的数量设置范围为3到10个。

本发明的有益效果是:本发明提供了一种eigrp路由网络故障的fdemc分析方法,该分析方法是一种基于em算法和高斯混合模型gmm的无监督聚类方法,不仅实现了对eigrp路由网络故障的实时分析判断,还可以对eigrp网络中的未知故障进行分析。进一步,本发明还创造性地提取了用于聚类分析的特征,提高了该方法在实际应用中的可靠性、鲁棒性和适应性。另外,本发明还提出了一种eigrp路由网络故障的fdemc分析系统。

附图说明

图1是用于应用本发明eigrp路由网络的fdemc故障分析方法的路由网络监测模型;

图2是本发明eigrp路由网络的fdemc故障分析方法的一实施例的流程图;

图3是根据本发明eigrp路由网络的fdemc故障分析方法的初始化方法流程图;

图4是根据本发明eigrp路由网络的fdemc故障分析方法在不同迭代次数下的分类精度示意图;

图5是根据本发明eigrp路由网络的fdemc故障分析方法在不同簇数量下的分类精度示意图;

图6是本发明eigrp路由网络的fdemc故障分析系统组成图。

具体实施方式

为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。

需要说明的是,除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。

高斯混合模型gmm(gaussianmixedmodel,gmm)指的是多个高斯分布函数的线性组合,理论上高斯混合模型gmm可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况,其中聚类是其常用的场景之一,聚类算法是指将一堆没有标签的数据自动划分成几类的方法。高斯混合模型gmm由具有不同模型参数的高斯分布混合组成,通过计算若干个高斯概率密度函数的加权和,对输入数据集的分布情况进行描述,可以平滑近似任意形状的密度分布。

当使用高斯混合模型gmm来做聚类时,假定我们已经有的数据是由高斯混合模型gmm生成出来的,此时只要根据数据推出高斯混合模型gmm的概率分布来就可以了,然后高斯混合模型gmm的k个component实际上就对应了k个群或类(cluster)了。根据数据来推算概率密度通常被称作密度估计(densityestimation),特别地,当我们在已知(或假定)了概率密度函数的形式,而要估计其中的参数的过程被称作“参数估计”。

现在假设我们有n个数据点,并假设它们服从某个分布(记作p(x)),现在要确定里面的一些参数的值,例如,在高斯混合模型gmm中,我们就需要确定πk、μk和σk这些参数。主要的想法是,找到这样一组参数,它所确定的概率分布生成这些给定的数据点的概率最大,而这个概率实际上就等于我们把这个乘积称作似然函数(likelihoodfunction)。通常单个点的概率都很小,许多很小的数字相乘起来在计算机里很容易造成浮点数下溢,因此我们通常会对其取对数,把乘积变成加和得到对数似然函数log‐likelihoodfunction。接下来我们只要将这个函数最大化(通常的做法是求导并令导数等于零,然后解方程),亦即找到这样一组参数值,它让似然函数取得最大值,我们就认为这是最合适的参数,这样就完成了参数估计的过程。

根据上面的内容,我们可以得到高斯混合模型gmm的对数似然函数log‐likelihoodfunction为:

由于在对数似然函数(1)里面有加和,我们没法直接用求导解方程的办法直接求得最大值。因此,引入了em(expectationmaximizationalgorithm)算法来求解高斯混合模型gmm的对数似然函数。

em算法即期望极大算法,是一种迭代算法。期望极大算法适用于含有隐变量概率模型,对模型中的参数进行极大后验概率估计。em算法每次迭代计算过程分为两步,称作e步和m步,e步用于求期望,m步用于求极大值,e步和m步不断交替迭代来增加总的对数似然直到收敛,同时通过多次迭代的方式解决最大值陷入局部最优的问题。e步:对于训练样本集中的每一个样本,计算该样本属于每一个簇的概率,并将计算结果作为该样本的样本权重:若一个样本属于某一个簇的可能性很大,就将该样本对应的概率值设置为接近1;当出现一个数据样本属于两个或多个簇的情况出现时,就需要建立一个对于不同簇的概率分布。m步:结合输入样本集中每个样本的样本权重,对每个簇中方差、均值等相关参数进行估计;每个样本以前一步中计算得到的概率作为权重,类似k‐means聚类分析算法,通过计算获得每个簇的均值和方差,并进一步计算聚类的极大似然,得到最终结果。也就是说,当似然函数为有界函数时,期望极大算法通过重复迭代计算使似然函数值增加,直到似然函数值收敛到一个稳定边界。由于em算法极简的计算过程和方便快捷的特性,在医疗诊断和样本聚类等众多领域得到广泛应用。

具体地,假设混合分布为p,p由k个独立高斯分布(也可以称为component)组成,通过混合分布的方式创建包含n个d维样本的数据样本集d,则由k个高斯密度函数的加权平均所表示的概率密度函数描述的分布p为:

其中

其中,公式(2)称作高斯混合模型,也可以称作高斯混合密度,即由多个高斯密度构成的有限组合。在该高斯混合模型中,x表示随机样本,θ表示参数向量集合,πj表示高斯混合模型中基模型高斯密度函数的权重,μj代表第j类样本的均值;σj表示第j类样本的协方差矩阵。

与聚类分析方法类似,高斯密度函数中具有不同的初始化参数,每个不同的高斯模型可以看作一个簇或类别。将数据样本x输入后,通过模型公式(2)和(3)计算结果,然后使用一个预设的阈值与计算结果进行比较,判断数据样本x是否属于该高斯模型。

由上述内容可知,基于em算法的高斯混合模型gmm可以被用于无监督聚类分析。本发明公开的一种eigrp路由网络的fdemc(faultdetectionbasedonexpectationmaximizationclustering)故障分析方法,就是一种基于em算法和高斯混合模型gmm的故障分析方法,其可以对收集的eigrp路由数据进行无监督分析,还可以对eigrp路由网络的未知故障进行诊断分析,提高了对eigrp路由网络故障分析的合理性和准确性。

图1显示了用于应用本发明的eigrp路由网络fdemc故障分析方法的路由网络监测模型。

本发明中的路由网络监测模型由多台路由器、监测节点pc、eigrp路由协议以及ospf、路由信息协议rip(routinginformationprotocol)等其他网络协议组成。本发明中的路由网络比较复杂,更符合真实环境中的状况。路由网络由多个as域组成,部署ospf、rip和边界网关协议bgp(bordergatewayprotocol)等路由协议。随着路由网络规模的增大,根据eigrp路由协议的特性,监测节点数量也随之增加。部署监测节点时,将其与路由网络中的核心路由器相连,从而可以最大限度的收集流经这个网络的路由报文。

eigrp路由协议中信息传递主要通过可靠传输协议(rtp)和邻居发现和恢复两个模块实现;每个路由器中的路由表只存有邻接路由器的端口ip,eigrp路由系统中的路由器在路由信息上都依赖于邻接路由器,而邻接路由器又从它们的邻接路由器那里获取路由信息。因此在部署监测节点时,一般将其与路由网络的中心路由器相连,以实现捕获报文量的最大化。在实际操作中,通过集线器将监测节点并入被监测路由系统,避免监测节点影响路由系统的正常运行。

在图1所示的路由网络监测模型中,eigrp路由监测网络由20台思科c3640路由器和2台监测主机组成,其中16台路由器分别组成as1域171、as2域172、as3域173和as4域174,每个as域中有4台路由器10;其中as1域171和as3域173部署eigrp路由协议,as4域174中部署ospf路由协议,在as2域172中部署rip协议;除了域内路由,还有路由器11、路由器12、路由器13、路由器14等域间路由器,在这些域间路由器中部署bgp域间路由协议;在整个网络中部署两台监测主机,监测节点15与路由器12相连,监测节点16与路由器11相连,分别收集通过核心路由器12、11传输的所有路由报文。

进一步,人工重置各个路由器中的相关参数,重现eirgp路由系统中的故障和异常,并在故障发生的同时,使用嗅探器收集被监测路由器中的路由数据报文,以便于进行后续的聚类分析。

图2为本发明eigrp路由网络的fdemc故障分析方法的一实施例的流程图。在图2中,所述的eigrp路由网络的fdemc故障分析方法包括以下步骤:

步骤s1,采集所述eigrp路由网络中的路由报文进行特征提取和数据预处理,形成训练样本集;

优选地,对于机器学习算法而言,由于样本数据不能穷尽所有情况下的样本数据,因此特征提取的适当与否在一定程度上对机器学习的学习效果影响很大,现有技术中已经有很多文章表明,针对同样的训练样本,当提取的特征不同时,带来的分类效果也会不同,因此,正确提取eigrp路由网络的特征就显得尤为重要。eigrp路由网络的特征提取和数据预处理指将捕获的eigrp路由报文处理为可以训练机器学习模型的样本集,包括特征的选取以及数据格式的整理。本发明中采集到的路由报文数量较多,并且还混杂有ospf路由报文等噪声数据,所以对采集的数据进行数据预处理至关重要,预处理一方面可以提高数据的质量,另一方面可以让数据更好的适于分析。本发明中采集的路由报文是从如图1所示的eigrp路由监测网络中采集的。

优选地,eigrp路由报文中包含的字段有版本、操作码、校验和、标记、序列号、确认序列号、自助系统号等各种描述路由信息的字段,故障路由报文中版本、校验和、序列号等这类字段与正常路由报文没有区别,所以这类字段不会被选为数据样本特征。

优选地,现已知的故障类型有六种,分别是邻接关系建立故障、路由发布故障、路由安装故障、路由抖动故障、路由汇总故障、路由重发布故障。邻接关系无法建立的原因有k值不同或是不在同一as域中,此时就要将路由报文中的k值字段和as域字段选为样本特征,用以识别邻接故障。其余的故障都是指路由器无法接收或发布合理的路由条目,原因有自动汇总、ip地址不连续等,所以自动汇总、ip地址是否连续被选为样本特征,用以辨别这些原因造成的路由故障。此外,报文长度字段有助于故障判别,因此该字段也被选为样本特征。

优选地,结合原始路由报文和eigrp故障现象提取相关特征,采集的路由报文中,sourceip、destinationip等字段值对于实际分析无效,实际的ip会不断改变,无法通过具体的ip地址判断eigrp路由故障原因,所以要将这类字段转换为有用的特征信息,例如将sourceip和destinationip两个连续值属性转换为sourceroute和adjacencyroute这类离散的分类值;另外,在eigrp路由网络中,不同as域中的路由器设置不同,这些设置并不会在路由报文中体现,但却会造成路由网络发生异常,这类设置需要人工提取为样本特征。特征提取完成后,将原始数据报文转换为可以进行机器学习分析的csv格式数据文件。表1显示了本发明中选择的所有样本特征及其含义。

表1

通过对eigrp路由网络中路由报文的分析,本发明提出了用于识别eigrp路由网络故障的特征,所述特征中至少包括操作码、标记、确认序列号、自助系统号、k值字段、as域字段、自动汇总、ip地址不连续、源路由器、目标路由器、不同域路由器设置。

另外,当路由网络发生故障或异常时,通过捕获的数据包可知,只有少数的数据包中的信息会发生改变,导致异常样本数量远远少于正常样本数量,使样本集中发生数据不平衡现象,对故障分析和模型精确度产生影响。数据平衡的方法有很多种,一般可以通过收集更多的数据来平衡样本集,但eigrp路由协议在通常稳定运行时,即使出现故障或异常时,在路由网络中传输最多的是依然是hello数据包,故障数据包数量并不会有太大变化。所以在本发明中采取过抽样的方法进行数据平衡,过抽样通过增加样本集中少数类样本的数量来实现样本均衡,最简单的方法就是复制少数类样本形成多条记录,这种方法简便、直接,但缺点是如果样本特征较少,可能会造成过拟合现象。一般情况下,样本不均衡也会导致特征分布不均衡,但小类别样本量具有一定的规模,那么其特征值的分布较为均匀,通过选择具有显著型的特征配合参与解决样本不均衡问题。本发明中采集的数据包中除了eigrp的数据包,还要ospf、rip和bgp等路由协议的数据包,这些数据包在训练样本集中等同于噪声数据。由于这些噪声的存在,可以在一定程度上防止过拟合。

步骤s2:使用所述训练样本集训练所述高斯混合模型gmm以获取训练完成的聚类模型;该训练完成的聚类模型是具有最优参数的高斯混合模型gmm,且该最优参数通过使用em算法计算得到。

优选地,所述步骤s2包括:

步骤s21,将所述训练样本集划分为m个样本子集,每个样本子集表示一个类别,在所述m个样本子集的基础上计算每个类别的均值、协方差和权重三个初始参数值以形成所述m个类别的初始参数向量集合其中分别表示所述m个类别的权重初始值,分别表示所述m个类别的均值初始值,分别表示所述m个类别的协方差初始值;

步骤s22,重复地进行如下两步操作,直到所述高斯混合模型gmm的对数似然函数收敛:

e步骤:在所述训练样本集和当前参数向量集合估计给定的情况下,计算所述训练样本集的对数似然函数的条件期望值:

所述的wij表示第i个样本属于第j类的概率;θ表示参数向量集合;x表示样本集中的一个样本;t=0,1,…,j,表示em算法的当前迭代次数,j表示em算法中的最大迭代次数;表示参数向量集合中第k类在当前t值迭代下的参数值;表示第k类在当前t值迭代下的权重;表示第k类在当前t值迭代下的样本均值;表示第k类在当前t值迭代下的协方差矩阵;

m步骤:更新高斯混合模型的参数使所述对数似然函数的条件期望值最大化:

其中是第j类的权重,是第j类的均值,为d维向量,是第j类的协方差矩阵,为d阶对称正定矩阵,d表示训练样本的维数,n表示所述训练样本中训练样本的个数。

步骤s3,获取所述eigrp路由网络的测试样本,将所述测试样本输入所述训练完成的聚类模型中,以获取所述测试样本的分类结果进而识别所述eigrp路由网络的运行状况。其中所述的测试样本,可以和训练样本相同,也可以和训练样本不同。通常为了确定已训练完成的聚类模型的测试效果,会选择和训练样本不同的测试样本进行测试。

本发明提出的eigrp路由网路的fdemc故障分析方法,是一种无监督的聚类学习方法,可以对eigrp路由网络的故障类型及原因进行实时分析,还可以对未知的故障和原因进行自动识别,一方面可以帮助网络相关人员实时监督网络中出现的异常和故障等,另一方面可以提高人们对网络中未知异常的认识,优化管理人员对网络的管理和维护。进一步,结合本发明提取的特征,可以提高所述fdemc故障分析方法在实际应用中的适应性、可靠性和鲁棒性。

优选地,在对训练样本集进行预分类时,可预先设置所述预分类的种类个数。当设置所述预分类的种类个数为1,此时所述的eigrp路由网络的fdemc故障分析方法的伪代码可表示如下:

图3显示了本发明eigrp路由网络的fdemc故障分析方法的初始化方法的具体实施方式。所述fdemc故障分析方法初始化运行时,为了获得每个样本类的初始参数值,即均值和协方差矩阵等,就要对样本集进行预分类操作。fdemc故障分析方法的性能在很大程度上会受到初始化参数的影响,恰当的初始化参数一方面可以加快模型的创建速度,另一方面可以使模型表现出优异的聚类性能。

fdemc故障分析方法在计算高斯混合模型gmm的初始化参数时,采用随机初始化方法,该方法具有计算简单、操作便利等特性。fdemc故障分析方法具体包括以下步骤:步骤s31,假设输入样本集中的类别总数为m,从样本集中随机选取m个样本作为m个簇的中心;步骤s32,计算样本集中所有剩余样本与m个簇中心的距离,比较每个剩余样本与m个簇中心的距离,将该剩余样本与距离最近的簇中心划分同一类中,并标记相同的类标;步骤s33,根据每个聚类中所包含的数据样本,对每个簇的权重、均值和协方差矩阵参数进行计算。

在本发明的另一实施例中,为了评价fdemc故障分析方法的聚类性能,基于相同的训练样本集、迭代次数和测试样本集,同时进行k‐means算法和dbscan算法的实验分析;k‐means是最常见的聚类分析算法,在对训练样本集中的样本进行实际聚类时,依据样本与样本之间的欧式距离大小进行分类;dbscan属于一种密度聚类算法,从某个选定的数据样本作为簇中心出发,不断计算簇中心与其它样本的密度,从而聚类范围向密度可达的区域扩张,最终获得一个包含核心样本点和边界样本点的最大化区域,在同一区域内的任意两个数据样本之间密度相连(即密度可达)。实验结果如表2所示,从表2中可以看出,k‐means和dbscan的分类错误率都大于50%,聚类效果不理想;相较于前两种常见聚类算法模型,fdemc聚类分析算法的分类性能优异,错误率远低于前两种聚类模型。从表2中还可以看出,三种模型最终创建的聚类数量基本相同。

表2模型实验结果比较

图4显示了不同迭代次数下的fdemc聚类分析结果。从图4中可以看出,fdemc故障分析的样本误分类率不随迭代次数的增加而线性递减,当迭代次数设置为50次和500次时,样本误分类率呈现较低值;迭代次数提高为200次到450次时,样本误分类率最高,聚类模型的分类性能此时表现最差;当迭代次数设置为大于500次时,样本误分类率也随之上升。因此,当进行高斯混合模型gmm训练时,为了获得最优聚类性能,运算迭代次数应设置为50次。

图5显示了不同的簇数量对fdemc故障分析方法的影响结果。在聚类分析时,簇(cluster)的数量既可以通过算法自动生成,也可根据实验需要进行人工设置。从图5中可以看出,当cluster数量不同时,模型误分类率也会产生变化。当cluster个数为5时,模型的误分类率最低,仅为24%左右;根据训练样本集的实际情况,cluster数量的合理范围为3到10个,当cluster个数是其他值时,误分类率都高于30%,说明在当前训练集与测试集中,聚类模型的聚类数量为5时,聚类模型性能最优。

图6显示了本发明的一种eigrp路由网络的fdemc故障分析系统的一实施例。在图6中,eigrp路由网络的fdemc故障分析系统61包括预处理模块62、模型执行模块63、聚类结果输出模块64。其中预处理模块62用于采集所述eigrp路由网络中的路由报文进行特征提取和数据预处理,形成训练样本集;

优选地,对于机器学习算法而言,由于样本数据不能穷尽所有情况下的样本数据,因此特征提取的适当与否在一定程度上对机器学习的学习效果影响很大,现有技术中已经有很多文章表明,针对同样的训练样本,当提取的特征不同时,带来的分类效果也会不同,因此,正确提取eigrp路由网络的特征就显得尤为重要。eigrp路由网络的特征提取和数据预处理指将捕获的eigrp路由报文处理为可以训练机器学习模型的样本集,包括特征的选取以及数据格式的整理。本发明中采集到的路由报文数量较多,并且还混杂有ospf路由报文等噪声数据,所以对采集的数据进行数据预处理至关重要,预处理一方面可以提高数据的质量,另一方面可以让数据更好的适于分析。本发明中采集的路由报文是从如图1所示的eigrp路由监测网络中采集的。

优选地,eigrp路由报文中包含的字段有版本、操作码、校验和、标记、序列号、确认序列号、自助系统号等各种描述路由信息的字段,故障路由报文中版本、校验和、序列号等这类字段与正常路由报文没有区别,所以这类字段不会被选为数据样本特征。

优选地,现已知的故障类型有六种,分别是邻接关系建立故障、路由发布故障、路由安装故障、路由抖动故障、路由汇总故障、路由重发布故障。邻接关系无法建立的原因有k值不同或是不在同一as域中,此时就要将路由报文中的k值字段和as域字段选为样本特征,用以识别邻接故障。其余的故障都是指路由器无法接收或发布合理的路由条目,原因有自动汇总、ip地址不连续等,所以自动汇总、ip地址是否连续被选为样本特征,用以辨别这些原因造成的路由故障。此外,报文长度字段有助于故障判别,因此该字段也被选为样本特征。

优选地,结合原始路由报文和eigrp故障现象提取相关特征,采集的路由报文中,sourceip、destinationip等字段值对于实际分析无效,实际的ip会不断改变,无法通过具体的ip地址判断eigrp路由故障原因,所以要将这类字段转换为有用的特征信息,例如将sourceip和destinationip两个连续值属性转换为sourceroute和adjacencyroute这类离散的分类值;另外,在eigrp路由网络中,不同as域中的路由器设置不同,这些设置并不会在路由报文中体现,但却会造成路由网络发生异常,这类设置需要人工提取为样本特征。特征提取完成后,将原始数据报文转换为可以进行机器学习分析的csv格式数据文件。本发明中选择的所有样本特征及其含义如前述表1所展示。

通过对eigrp路由网络中路由报文的分析,本发明提出了用于识别eigrp路由网络故障的特征,所述特征中至少包括操作码、标记、确认序列号、自助系统号、k值字段、as域字段、自动汇总、ip地址不连续、源路由器、目标路由器、不同域路由器设置。

另外,当路由网络发生故障或异常时,通过捕获的数据包可知,只有少数的数据包中的信息会发生改变,导致异常样本数量远远少于正常样本数量,使样本集中发生数据不平衡现象,对故障分析和模型精确度产生影响。数据平衡的方法有很多种,一般可以通过收集更多的数据来平衡样本集,但eigrp路由协议在通常稳定运行时,即使出现故障或异常时,在路由网络中传输最多的是依然是hello数据包,故障数据包数量并不会有太大变化。所以在本发明中采取过抽样的方法进行数据平衡,过抽样通过增加样本集中少数类样本的数量来实现样本均衡,最简单的方法就是复制少数类样本形成多条记录,这种方法简便、直接,但缺点是如果样本特征较少,可能会造成过拟合现象。一般情况下,样本不均衡也会导致特征分布不均衡,但小类别样本量具有一定的规模,那么其特征值的分布较为均匀,通过选择具有显著型的特征配合参与解决样本不均衡问题。本发明中采集的数据包中除了eigrp的数据包,还要ospf、rip和bgp等路由协议的数据包,这些数据包在训练样本集中等同于噪声数据。由于这些噪声的存在,可以在一定程度上防止过拟合。

模型执行模块63,用于使用所述训练样本集训练所述高斯混合模型gmm以获取训练完成的聚类模型;该训练完成的聚类模型是具有最优参数的高斯混合模型gmm,且该最优参数通过使用em算法计算得到。

优选地,所述模型执行模块63具体包括以下单元:

初始计算单元631,将所述训练样本集划分为m个样本子集,每个样本子集表示一个类别,在所述m个样本子集的基础上计算每个类别的均值、协方差和权重三个初始参数值以形成所述m个类别的初始参数向量集合其中分别表示所述m个类别的权重初始值,分别表示所述m个类别的均值初始值,分别表示所述m个类别的协方差初始值;

收敛计算单元632,重复地进行如下两步操作,直到所述高斯混合模型gmm的对数似然函数收敛:

e步骤:在所述训练样本集和当前参数向量集合估计给定的情况下,计算所述训练样本集的对数似然函数的条件期望值:

所述的wij表示第i个样本属于第j类的概率;θ表示参数向量集合;x表示样本集中的一个样本;t=0,1,…,j,表示em算法的当前迭代次数;j表示em算法中的最大迭代次数;表示参数向量集合中第k类在当前t值迭代下的参数值;表示第k类在当前t值迭代下的权重;表示第k类在当前t值迭代下的样本均值;表示第k类在当前t值迭代下的协方差矩阵;

m步骤:更新高斯混合模型的参数使所述对数似然函数的条件期望值最大化:

其中是第j类的权重,是第j类的均值,为d维向量,是第j类的协方差矩阵,为d阶对称正定矩阵,d表示训练样本的维数,n表示所述训练样本中训练样本的个数。

聚类结果输出模块64,用于获取所述eigrp路由网络的测试样本,将所述测试样本输入所述训练完成的聚类模型中,以获取所述测试样本的分类结果进而识别所述eigrp路由网络的运行状况。其中所述的测试样本,可以和训练样本相同,也可以和训练样本不同。通常为了确定已训练完成的聚类模型的测试效果,会选择和训练样本不同的测试样本进行测试。

本发明提出的eigrp路由网路的fdemc故障分析系统,是一种基于无监督聚类学习方法实现的系统,可以对eigrp路由网络的故障类型及原因进行实时分析,还可以对未知的故障和原因进行自动识别,一方面可以帮助网络相关人员实时监督网络中出现的异常和故障等,另一方面可以提高人们对网络中未知异常的认识,优化管理人员对网络的管理和维护。进一步,结合本发明提取的特征,可以提高所述fdemc故障分析方法在实际应用中的适应性、可靠性和鲁棒性。

优选地,图6中所述fdemc模型执行模块63在计算高斯混合模型gmm的初始化参数时,初始计算单元631采用随机初始化方法,该方法具有计算简单、操作便利等特性。具体步骤如下:第一步,假设输入样本集中的类别总数为m,从样本集中随机选取m个样本作为m个簇的中心;第二步,计算样本集中所有剩余样本与m个簇中心的距离,比较每个剩余样本与m个簇中心的距离,将该剩余样本与距离最近的簇中心划分同一类中,并标记相同的类标;第三步,根据每个聚类中所包含的数据样本,对每个簇的权重、均值和协方差矩阵等参数进行计算。

图4显示了不同迭代次数下的fdemc聚类分析结果。从图4中可以看出,fdemc故障分析的样本误分类率不随迭代次数的增加而线性递减,当迭代次数设置为50次和500次时,样本误分类率呈现较低值;迭代次数提高为200次到450次时,样本误分类率最高,模型的分类性能此时表现最差;当迭代次数设置为大于500次时,样本误分类率也随之上升。因此,当进行高斯混合模型gmm训练时,为了获得最优聚类性能,运算迭代次数应设置为50次。

图5显示了不同的簇数量对fdemc故障分析的影响结果。在聚类分析时,簇(cluster)的数量既可以通过算法自动生成,也可根据实验需要进行人工设置。从图5中可以看出,当cluster数量不同时,聚类模型误分类率也会产生变化。当cluster个数为5时,聚类模型的误分类率最低,仅为24%左右;根据训练样本集的实际情况,cluster数量的合理范围为3到10个,当cluster个数是其他值时,误分类率都高于30%,说明在当前训练集与测试集中,聚类模型的聚类数量为5时,模型性能最优。

由此可见,本发明提供了一种基于em算法和高斯混合模型gmm的fdemc路由故障分析方法和系统。fdemc方法属于无监督学习,训练和测试样本集中的样本无类别标记;由于fdemc具有的聚类特性,不仅可以对已知故障进行诊断,同时还可以对未知故障样本进行聚类,可以发现未知的路由网络故障。即本发明通过fdemc方法实现了对路由网络故障的实时分析,满足了实际应用中的要求。此外,通过合理提取eigrp路由网络中的特征,有效提高了fdemc聚类的识别效果,提高了所述fdemc故障分析方法和系统的可靠性、鲁棒性和适应性。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1