一种基于突发检测的网络拓扑变化检测方法

文档序号:32391275发布日期:2022-11-30 08:21阅读:53来源:国知局
一种基于突发检测的网络拓扑变化检测方法

1.本发明属于网络拓扑领域,具体涉及一种基于突发检测的网络拓扑变化检测方法。


背景技术:

2.随着互联网技术的飞速发展,网络规模迅猛扩增,其重要性也显著提高,当下互联网正不可或缺的影响着人类生活的各个方面。网络的拓扑结构反映出网中个实体的结构关系,对网络的性能,系统的可靠性与通信费用都有重大影响,所以对网络拓扑的研究是非常重要的且有意义的。但在实际网络中,网络十分复杂且保持动态变化。网络拓扑变化检测就是根据反馈得到的信息分析网络的异常情况,对网络进行监控,感知网络拓扑的变化,定位变化的来源。维持网络稳定运行需要高效、准确感知定位网络拓扑变化并定位变化源节点,是网络监控管理的重要组成部分。
3.网络拓扑变化检测问题存在已久,但是现有解决方法仍存在一些问题。解决该问题需要不断向网络中发送探测数据,实时收集流量、时延、丢包等网络性能数据。现有的网络拓扑变化检测方法主要分为两种。一是基于规则的网络拓扑变化检测方法,针对不同的网络行为制定不同的解析规则;二是基于模型预测的网络拓扑变化检测方法,分析新探测的数据表现的网络特征与历史数据网络特征是否相似或者通过历史数据对网络行为进行建模,将新探测的数据输入模型进行预测,来判断当前网络拓扑状态。通过分析网络行为感知到网络拓扑发生变化,需要对变化源节点进行定位。类似于网络拓扑变化识别,变化源节点定位也可以根据解析规则进行推断或建立模型进行预测。
4.基于规则的网络拓扑变化检测方法通过网络设备的设备信息对当前网络拓扑结果进行规则解析,利用解析的规则对新探测的数据进行动态网络拓扑分析。基于规则的网络拓扑变化检测方法需要网络设备详细的设备信息,但是在实际网络中,很多设备的详细信息无法获取,并且随着网络规模的扩大,这项工作的工作量是十分巨大的。除此之外,基于规则的网络拓扑变化检测方法的性能受限于已经出现场景中解析规则的质量,很难应对新场景。此类方法的实用性越来越低。
5.基于模型预测的网络拓扑变化检测方法通过对以往数据进行分析对网络行为进行建模,把新探测的数据输入模型进行网络行为预测。在基于模型预测的网络拓扑变化检测方法中应用最广的方法是基于流量分析的网络拓扑变化检测方法。对于基于模型预测的网络拓扑变化检测方法往往需要给定模型中算法所需的参数,如距离定义、聚类大小等,设置的参数直接影响网络拓扑的结果。
6.已经发生过的场景解析出规则的质量对基于规则的网络拓扑变化检测方法的效果影响很大,其方法对不同场景应变能力较差。基于模型预测的网络拓扑变化检测方法则通过自动增量学习的方式,消耗一定的资源和时间,应对新出现的场景,来不断完善模型。除此之外,复杂且庞大的网络环境,充斥大量噪声,为网络拓扑变化检测产生了很大的干扰。


技术实现要素:

7.为解决上述技术问题,本发明提出了一种基于突发检测的网络拓扑变化检测方法。
8.本发明的技术方案为:一种基于突发检测的网络拓扑变化检测方法,具体步骤如下:
9.s1、网络拓扑变化识别,
10.分析源与目的节点的端到端时延变化找到节点故障所影响的目的节点集合定位故障节点集合
11.从源节点s到任意的目的节点d,按照固定速率发送探测包,通过解析探测包响应可以获得在该路径pd上各个节点的时延信息。假设收集到n个数据报文,按照报文到达时间,将端到端时延序列表示如下:
[0012][0013]
其中,t0,t1,

,t
n-1
分别表示n个数据报文的端到端时延。
[0014]
用指数函数来模拟探测包端到端时延t的概率密度函数f(t):
[0015]
f(t)=αe-αt
(α》0)
[0016]
其中,α表示传输速率,该探测包的时延期望为1/α。
[0017]
对端到端时延的突发建模可以从两个状态的自动机推广到无穷状态的自动机。定义状态表θ={θ0,θ1},如果源节点s到目的节点d路径上有节点发生故障,导致探测包传输速率较低,则d处于状态θ0;源节点s到目的节点d的路径状态比较平稳,数据包传输速率较高的状态下则d处于θ1状态。状态表θ中的一个状态都对应一个时延,则目的节点的d状态序列与时延序列对应,表示如下:
[0018][0019]
其中,q0,q1,
…qn-1
分别表示与时延相对应的目的节点状态。
[0020]
网络性能发生了变化是由于节点状态发生了变化,在已知的s到d的端到端时延序列为前提下求解合适的假设该两状态自动机以概率p在状态之间转移,目标函数可以表示为:
[0021][0022]
根据贝叶斯估计,可以得到:
[0023][0024]
其中,为归一化常数,ti为第i-1个数据报文的端到端时延,qi为ti相对应的目的节点状态,假设在状态序列中,相邻元素之间状态转移的总次数为m次,那么的先验概率表示为:
[0025][0026]
假设网络中s向d发送的各个探测包的端到端时延是相互独立的,则条件概率
可以表示为:
[0027][0028]
其中,f(ti|qi)表示在qi状态下表现为ti时延的概率,f
qi
(ti)为f(ti|qi)的简写。
[0029]
则在状态下表现为时延的先验概率可以表示为以下形式:
[0030][0031]
对上式两边同时取对数,可得:
[0032][0033]
上式前两项均为常数,令则目标函数可表示为:
[0034][0035]
等价转化为最小化一个损失函数,如下:
[0036][0037]
观察上式,状态序列的转移总次数决定第一项mln((1-p)/p)的大小,为了最小化mln((1-p)/p),寻找转移次数最少的解。第二项通过对检测到的时延数据的拟合,约束问题的解尽可能符合实际网络测量的结果。
[0038]
将自动机的状态从两个扩充到无穷多个,即状态表θ={θ0,θ1,



+,并且保证θ中元素可以表示状态序列描述一组从低到高的速率需要平均速率作为基准,假设本发明中平均速率与平均时延互为倒数,则平均时延可以表示为:
[0039][0040]
其中,中对应下标为i的端到端探测包的传输速率可表示为:
[0041][0042]
其中,σ为传输速率调整参数,用于调整突发结果分辨率,调控中元素的倍数关系。
[0043]
假设无穷状态自动机中,类比上述两状态自动机中的最小化损失函数,需要一定
代价才能实现状态之间转移。对于θ中的θi和θj(i》j),状态θi向θj转移的代价c(θi,θj)=ε(i-j)lnn,其中,ε》0表示状态转移代价大小控制参数,用于提取出突发层次丰富程度。网络拓扑路由重新规划或者正常检测误差可能会导致这样的状态转移,无需代价,即c(θj,θi)=0。
[0044]
则无穷状态自动机的优化目标为:
[0045][0046]
其中,c(qi,q
i+1
)表示对应状态转移代价。
[0047]
在现实网络中网络传输速率不会变得极端大,状态过大所表示的现实意义趋近0。记最优状态表的大小计算式为:
[0048][0049]
确定状态表的大小后,使用动态规划的方法求解无穷状态自动机优化目标的最优解。
[0050]
根据探测到每一个目标节点的端到端时延分析依次求解该节点响应的状态序列,并根据状态序列进行突发情况检测,获得故障节点会影响的目的节点集合判定目的节点是否连通,检测一段时间内探测包的丢包率,如果丢包过多,判断该节点不连通,将其加入
[0051]
s2、根据步骤s1获得节点故障后受影响的目的节点集合,检测突发情况,完成变化源节点定位,
[0052]
根据时延信息检测突发情况,若路径上的任一节点的时延序列有明显突发,端到端的时延序列中也表现出明显突发,则该路径上所有节点的时延序列突发状态的综合表现为端到端的时延序列突发状态。
[0053]
若s到d的端到端时延检测出了明显的突发,则在路径pd上很有可能存在由于某种因素故障下线的节点,在原始逻辑拓扑g1中搜索从s到的最短路径集合,记作将变化源节点的搜索空间缩减到路径集合在此基础上,建立节点与路径之间突发的关系,通过路径的突发状态反推节点的突发状态,完成变化源节点定位的目标。
[0054]
其中,节点的突发状态使用布尔性能模型来描述,对于网络中任意节点v的时延序列使用所述网络拓扑变化识别方法进行建模,设节点v在t1时刻为状态,在t2时刻转移到状态。其时延序列突发状态通过一个二进制的随机变量bv来描述,如下:
[0055][0056]
通过使用类似含义的二进制随机变量yd表示端到端时延突发状态,即s到d的路径pd的时延序列的突发状态综合表现。则可以用节点时延突发状态表示路径时延突发状态:
[0057]
[0058]
其中,“∨”表示二元逻辑“或”运算。
[0059]
对于路径pd的端到端时延序列突发状态,等价为该路径上所有节点的时延序列突发状态的累积,可表示为:
[0060][0061]
对于所有检测的目的节点都可以通过上式建立路径与节点间的突发状态的联系。
[0062]
对网络拓扑中的除探测源节点外的所有节点从0依次递增地编号,对最短路径集合中路径从依次进行编号,构建路由矩阵r。r的每一行代表一条路径的信息,在该路径中经过某个节点,该位置值为1,否则为0。需要监测的全局突发状态可以建立如下等式:
[0063]
y=rb
[0064]
其中,y表示网络中路径的状态,是一个列向量,r表示网络中各路径经过节点矩阵,可以反应最短路,b表示网络中节点状态,y中每一个元素对应一条路径的突发状态,为维列向量,b中每个元素对应除源节点s外节点的突发状态,为|v|-1维的列向量,v表示网络中节点集。根据最短路准则,目的节点的数量等于监测的路径的数量,并且一般情况下不会对网络中所有节点都发送探测包,有假设极少比例的节点导致网络拓扑的变化,变化源节点定位问题就可以通过一个整数线性问题进行求解,即:
[0065][0066]
通过将定位问题转化为整数线性规划问题,求解向量b,可以得到网络中,除了探测源节点s外的所有节点的时延序列突发状态。若某个节点对应对于b的第i个元素bi,在监测中首先出现故障,数据报文经过该节点无法成功到达目的节点的,理论上该节点时延会无穷大,则该节点的时延序列会出现明显的突发。通过排序网络拓扑中除了s外的所有节点的突发强度,可以有效定位变化源节点或源节点集合。
[0067]
本发明的有益效果:本发明的方法首先对于网络层析成像得到的端到端时延信息作为输入,然后对每个目的节点时延序列进行突发检测,把具有突发的目的节点加入到突发节点集合,最后通过突发节点集合定位变化源节点,完成网络拓扑变化检测的任务。本发明的方法在实际网络条件下,能够比当前已有的方法更精准高效的感知和定位网络拓扑变化,执行代价相较于其他方法很低,对于实际网络环境下拓扑监控的研究具有积极的现实意义,能够更加准确地了解网络拓扑结构,有利于加强网络控制和优化网络拓扑结构。
附图说明
[0068]
图1为本发明的一种基于突发检测的网络拓扑变化检测方法的流程图。
[0069]
图2为本发明实施例中状态转移示意图。
[0070]
图3为本发明实施例中突发检测算法提取出的嵌套结构演示图。
具体实施方式
[0071]
下面结合附图对本发明做进一步的说明。
[0072]
如图1所示,本发明的一种基于突发检测的网络拓扑变化检测方法流程图,具体步骤如下:
[0073]
s1、网络拓扑变化识别,
[0074]
源节点到目的节点端到端的时延发生变化,是由于某些节点自身故障或者被攻击导致下线,网络中部分节点的数据传输路径发生变化。网络拓扑变化识别就是通过端到端时延变化来推断受到节点故障影响的目的节点集合由于互联网规模庞大,网络逻辑拓扑重构的代价很高,当网络中只有少部分节点故障时,可能只会导致经过该节点的数据包需要重新路由交由别的节点转发。所以推断网络拓扑是否发送变化可以通过搜寻是否存有路由路径发生变化,甚至这样还能在节点发生故障后,缩减目标故障节点的搜索空间,帮助定位故障节点。
[0075]
针对上述问题,本实施例从拓扑路径变化对网络性能的影响考虑,在重新路由的过程中网络中部分区域可能导致丢包率增大,发生网络拥塞,而其余未丢包的探测包可能由于重新路由导致端到端的时延特征也会发生一定变化。
[0076]
分析源与目的节点的端到端时延变化就可能找到节点故障所影响的目的节点集合定位故障节点集合网络拓扑变化识别详细流程如图1所示。
[0077]
从源节点s到任意的目的节点d,按照固定速率发送探测包,通过解析探测包响应可以获得在该路径pd上各个节点的时延信息。假设收集到n个数据报文,按照报文到达时间,将端到端时延序列表示如下:
[0078][0079]
其中,t0,t1,

,t
n-1
分别表示n个数据报文的端到端时延。
[0080]
用指数函数来模拟探测包端到端时延t的概率密度函数f(t):
[0081]
f(t)=αe-αt
(α》0)
[0082]
其中,α表示传输速率,该探测包的时延期望为1/α。
[0083]
对端到端时延的突发建模可以从两个状态的自动机推广到无穷状态的自动机。定义状态表θ={θ0,θ1},如果源节点s到目的节点d路径上有节点发生故障,导致探测包传输速率较低,则d处于状态θ0;源节点s到目的节点d的路径状态比较平稳,数据包传输速率较高的状态下则d处于θ1状态。状态表θ中的一个状态都对应一个时延,则目的节点的d状态序列与时延序列对应,表示如下:
[0084][0085]
其中,q0,q1,
…qn-1
分别表示与时延相对应的目的节点状态。
[0086]
网络性能发生了变化是由于节点状态发生了变化,本实施例中,在已知的s到d的端到端时延序列为前提下求解合适的假设该两状态自动机以概率p在状态之间转移,目标函数可以表示为:
[0087][0088]
根据贝叶斯估计,可以得到:
[0089][0090]
其中,为归一化常数,ti为第i-1个数据报文的端到端时延,qi为ti相对应的目的节点状态,假设在状态序列中,相邻元素之间状态转移的总次数为m次,那么的先验概率可以表示为:
[0091][0092]
假设网络中s向d发送的各个探测包的端到端时延是相互独立的,则条件概率可以表示为:
[0093][0094]
其中,f(ti|qi)表示在qi状态下表现为ti时延的概率,为f(ti|qi)的简写。
[0095]
则在状态下表现为时延的先验概率可以表示为以下形式:
[0096][0097]
对上式两边同时取对数,可得:
[0098][0099]
上式前两项均为常数,令于是目标函数可表示为:
[0100][0101]
等价转化为最小化一个损失函数,如下:
[0102][0103]
观察上式,状态序列的转移总次数决定第一项mln((1-p)/p)的大小,为了最小化mln((1-p)/p),本实施例中寻找转移次数最少的解,这是因为节点故障并不会频繁发生,网络拓扑性能在大多数状态下是平稳的。第二项通过对检测到的时延数据的拟合,约束问题的解尽可能符合实际网络测量的结果。
[0104]
在大多数情况下,两个状态变化误差相对较大,无法描述网络性能的变化。下面将自动机的状态从两个扩充到无穷多个,即状态表θ={θ0,θ1,



},并且保证θ中元素可以表示状态序列在实际网络拓扑中,每个状态对应的端到端传输速率是很难确定的,描
述一组从低到高的速率需要平均速率作为基准。假设本发明中平均速率与平均时延互为倒数,则平均时延可以表示为:
[0105][0106]
其中,中对应下标为i的端到端探测包的传输速率可表示为:
[0107][0108]
其中,σ为传输速率调整参数,用于调整突发结果分辨率,调控中元素的倍数关系。
[0109]
假设无穷状态自动机中,类比上述两状态自动机中的最小化损失函数,需要一定代价才能实现状态之间转移。对于θ中的θi和θj(i》j),则状态θi向θj转移的代价c(θi,θj)=ε(i-j)lnn,其中ε》0为状态转移代价大小控制参数,用于提取出突发层次丰富程度。
[0110]
由上述所知,较低的传输速率一般表现为较大的端到端时延,对应状态表中下标较小的状态,状态θi向θj转移也就说明此时网络可能受到一定负面影响导致性能下降。反过来,网络节点发生故障,探测包重新路由并收敛之后,网络性能恢复,报文传输速率可能会有一定回升,节点从传输速率低的状态向传输速率高的状态转移。在本实施例中,网络拓扑路由重新规划或者正常检测误差可能会导致这样的状态转移,无需代价,即c(θj,θi)=0。综上,状态间转移代价如图2所示。
[0111]
则无穷状态自动机的优化目标为:
[0112][0113]
其中,c(qi,q
i+1
)表示对应状态转移代价。
[0114]
在现实网络中网络传输速率不会变得极端大,所以状态过大所表示的现实意义趋近0。记最优状态表的大小计算式为:
[0115][0116]
确定状态表的大小后,可以使用动态规划的方法求解无穷状态自动机优化目标的最优解。针对突发状态的建模蕴含丰富的层次信息,结果如图3所示。其中,从t1时刻开始,处于状态0,直到t2时刻转移到状态1,节点开始向高状态转移;同理,t3时刻从状态3转移到状态4,到达最高状态;从t4时刻开始,节点从高状态向低状态转移。
[0117]
根据探测到每一个目标节点的端到端时延分析依次求解该节点响应的状态序列,并根据状态序列进行突发情况检测,获得故障节点会影响的目的节点集合其中,可能会因为网络中间节点故障而导致部分目的节点无法与源节点连通,此时,该节点无法通过探测包手机时延序列,无法使用突发检查算法检测突发情况。本实施例中判定目的节点是否连通的判断标准是检测一段时间内探测包的丢包率。如果丢包过多,判断该节点不连通,
将其加入
[0118]
s2、根据步骤s1获得节点故障后受影响的目的节点集合,检测突发情况,完成变化源节点定位,
[0119]
根据步骤s1突发检测的网络拓扑变化识别方法的结果,可以获得节点故障后受影响的目的节点集合在s到d的路径节点序列中,不再单独考虑探测包的发送时延、传播时延、处理时延和排队时延,端到端时延是所有节点时延的总和,只要任一节点的时延发生变化,都会对端到端时延产生一定影响。
[0120]
根据时延信息检测突发情况,若路径上的任一节点的时延序列有明显突发,那么端到端的时延序列中也表现出明显突发,则该路径上所有节点的时延序列突发状态的综合表现为端到端的时延序列突发状态。
[0121]
若s到d的端到端时延检测出了明显的突发,则在路径pd上很有可能存在由于某种因素故障下线的节点,这些节点是影响s与d之间的数据报文的传输和导致网络拓扑发生变化的根本原因。在原始逻辑拓扑g1中搜索从s到的最短路径集合,记作将变化源节点的搜索空间缩减到路径集合在此基础上,本实施例建立节点与路径之间突发的关系,通过路径的突发状态反推节点的突发状态,完成变化源节点定位的目标。
[0122]
其中,节点的突发状态使用布尔性能模型来描述,对于网络中任意节点v的时延序列使用上述网络拓扑变化识别方法进行建模,设节点v在t1时刻为状态,在t2时刻转移到状态。其时延序列突发状态通过一个二进制的随机变量bv来描述,如下:
[0123][0124]
通过使用类似含义的二进制随机变量yd表示端到端时延突发状态,即s到d的路径pd的时延序列的突发状态综合表现。则可以用节点时延突发状态表示路径时延突发状态:
[0125][0126]
其中,“∨”表示二元逻辑“或”运算。
[0127]
布尔性能模型能够检测出路径中是否有突发,但是所有的路径突发会被都看作是强度为“1”的突发,被同等对待,可能会对节点的突发状态推断产生比较大的影响。
[0128]
在实际情况中,中可能会有一小部分并没有经过变化源节点的路径,该节点的端到端时延仍会检测出一些微弱的突发,这是由于变化的源节点会在邻近的小范围内传播网络性能的影响,包括一些并没有经过该变化源的路径,以及原本经过异常节点的报文需要采用新的路由以成功交付。
[0129]
本实施例中,进一步提出基于突发强度的变化源节点的定位方法,解决上述布尔性能模型中出现的问题,不同的突发的状态表现为不同的突发强度。显然,突发强度来表示突发状态能够更准确的描述路径或节点时延序列突发情况。对于目的节点d,其时延序列在网络拓扑变化前后的状态分别为q1和q2,那么其对应的突发状态就使用q
1-q2来表示。
[0130]
对于路径pd的端到端时延序列突发状态,等价为该路径上所有节点的时延序列突发状态的累积,可表示为:
[0131][0132]
对于所有检测的目的节点都可以通过上式建立路径与节点间的突发状态的联系。
[0133]
对网络拓扑中的除探测源节点外的所有节点从0依次递增地编号,对最短路集合中路径从依次进行编号,构建路由矩阵r。r的每一行代表一条路径的信息,在该路径中经过某个节点,该位置值为1,否则为0。需要监测的全局突发状态可以建立如下等式:
[0134]
y=rb
[0135]
其中,y表示网络中路径的状态,是一个列向量,r表示网络中各路径经过节点矩阵,可以反应最短路,b表示网络中节点状态,y中每一个元素对应一条路径的突发状态,为维列向量。为|v|-1维的列向量,v表示网络中节点集。根据最短路准则,目的节点的数量等于监测的路径的数量,并且一般情况下不会对网络中所有节点都发送探测包,有y=rb线性方程组往往会有多组解存在欠定性问题。在本实施例中,大部分时间内网络拓扑结构是处于相对稳定的状态,网络中节点故障是小概率事件,且单个节点的故障一般只影响局部网络性能,基本不会发生大规模节点故障,则本实施例中,假设极少比例的节点导致网络拓扑的变化,变化源节点定位问题就可以通过一个整数线性问题进行求解,即:
[0136][0137]
通过将定位问题转化为整数线性规划问题,求解向量b,可以得到网络中,除了探测源节点s外的所有节点的时延序列突发状态。若某个节点对应对于b的第i个元素bi,在监测中首先出现故障,数据报文经过该节点是无法成功到达目的节点的,理论上该节点时延会无穷大,则该节点的时延序列会出现明显的突发。通过排序网络拓扑中除了s外的所有节点的突发强度,可以有效定位变化源节点或源节点集合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1