一种基于带内网络遥测技术的网络可靠性评估方法

文档序号:26296671发布日期:2021-08-17 13:43阅读:76来源:国知局
一种基于带内网络遥测技术的网络可靠性评估方法

本发明属于网络可靠性领域,特别涉及一种基于带内网络遥测技术的网络可靠性评估方法。



背景技术:

现有的网络性能可靠性检测方法,只考虑了单一的因素,比如丢包或拥塞等,并不能综合考虑多因素对网络性能可靠性的影响。且对于网络性能指标的数据的采集存在很大的弊端。已存在的数据采集方式主要可以归纳为以下两种方式。第一种是受控主机端进行抓包检测,利用wireshark或者采集器从受控主机采集网络节点信息,再利用相关算法去评估网络状态,调整网络路由。这种方式,利用抓包等采样方式准确率极低,对网络全局的把控极差。第二种方式利用控制器纳管设备,采用周期性拉取网络节点信息,这种方式会导致检测延迟以及网络的开销,同时无法准确的获取网络中实时状态变化,使得评估模型难以获得准确的评价指标数据。

随着网络的复杂性的加重,网络性能可靠性是近几年研究的热点,目前没有一个综合统一的性能可靠性评估模型,评估指标体系也尚不完善。



技术实现要素:

本发明的目的是克服现有技术中的不足,提供一种基于带内网络遥测技术的网络可靠性评估方法。

为实现上述技术目的,本发明采用了以下技术方案:一种基于带内网络遥测技术的网络可靠性评估方法,包括以下步骤:

步骤(1):设计了带内网络遥测数据报文格式,数据平面基于带内网络遥测技术采集传输路径上每个节点的遥测信息;

步骤(2):建立网络可靠性评价模型,即贝叶斯网络模型;所述贝叶斯网络模型输入步骤(1)得到的端口信息,计算得到网络性能可靠度;

步骤(3):建立基于lstm算法的网络可靠性状态预测模型,利用历史数据不断训练该基于lstm算法的网络可靠性状态预测模型,预测未来一段时间的网络性能可靠性状态。

进一步地,所述步骤(1)包括以下子步骤:

(1.1)设计了带内网络遥测数据报文格式,通过带内网络遥测技术采集每个节点的信息;

(1.2)在路径最后一个节点,将遥测数据包通过udp协议封装,发送到sdn控制器的智能分析器;

(1.3)智能分析器通过解封装int报文得到每个节点的端口信息,包括端口的延迟、丢包、拥塞度和利用。

进一步地,所述步骤(2)包括以下子步骤:

(2.1)建立贝叶斯网络模型;

(2.2)利用贝叶斯网络模型进行网络可靠性计算,得到网络可靠性状态:

进一步地,所述步骤(2.2)具体为:

设置p表示各个节点发生的概率,则p(x1)表示是事件x1当前网络状态下发生的概率。设θ表示随机变量网络性能可靠性,计算依据条件概率公式可得

其中p(θ|x)表示在x条件下,网络可靠性状态的概率。转换成贝叶斯估计的数据描述为:

π(θ|x)为参数θ的后验分布,后验分布为一个条件分布,θ为待估的分布参数。f(x|θ)为概率密度函数,π(θ)为参数θ的先验分布。m(x)为参数θ的边缘分布。贝叶斯估计表示,在已知θ服从π(θ)的先验分布前提下,根据采集的样本信息去校验先验分布,得到后验分布π(θ|x)。

采用极大似然估计的思想,利用最大后验估计求解θ。

求得分布概率最大情况下θ的合理值,即网络可靠性状态。θ值越大代表网络可靠性越高。

进一步地,所述步骤(3)包括以下子步骤:

(3.1)采集基于lstm算法的网络可靠性状态预测模型的训练数据

(3.2)建立基于lstm算法的网络可靠性状态预测模型:

(3.3)基于步骤(3.2)建立的基于lstm算法的网络可靠性状态预测模型,利用训练集输入量wtrain_x与输出量wtrain_y对lstm网络可靠性状态预测模型进行训练。

(3.4)评估lstm网络可靠性状态预测模型

进一步地,所述步骤(3.1)包括以下子步骤:

(3.1.1)采集历史一段时间内网络可靠性评估指标数据x1,x2,……xn,得到用于时间序列预测的数据集:h=[ht,ht+1......ht+n],其中,ht=[ft,xt],ft代表t时间点的网络可靠性状态,xt代表t时间点采集指标数据x1,x2,……xn

(3.1.2)基于遥测技术采集时间状态序列数据集s

一段时间内的网络可靠性评估模型参数x1,x2,……xn,同时计算出当时的网络可靠性状态ft,因此得到时间状态序列数据集s:

s=[st,st+1......st+n]

其中st=[ft,xt],ft代表t时间点的网络可靠性状态,xt代表t时间点采集指标数据x1,x2,……xn

(3.1.3)将用于时间状态序列数据集s转化成监督学习数据集w=[wt,wt+1.....w.t+n],其中wt=[ft,xt,ft+1,xt+1.....f.t+i-1,xt+i-1,ft+i];i代表一段时间的数据量

(3.1.4)分割监督学习数据集w前四分之三为训练数据wtrain,后四分之一测试数据wtest

(3.1.5)分离训练数据,得到训练数据的输入量wtrain_x和输出量wtrain_y,同理,可以得到测试数据的输入量wtest_x和输出量wtest_y

进一步地,所述步骤(3.2)包括以下子步骤:

(3.2.1)基于lstm算法的网络可靠性预测模型设计为三层:输入层,隐藏层,输出层;所述输入层实现激活信号;所述隐藏层实现特征提取;所述输出层根据隐藏层提取的不同权重加上自身的偏置输出结果。并设置每一层的参数,即神经元的个数。

(3.2.2)选择交叉熵作为损失函数:评估网络可靠性状态预测模型的效果,通过最小化损失函数,使网络可靠性状态预测模型达到收敛状态,对应的模型参数即为最优参数,减少模型预测值的误差;

(3.2.3)选择adam算法作为梯度下降优化器;用梯度下降优化器对步骤(3.2.2)中损失函数求极值。

进一步地,所述步骤(3.4)包括以下子步骤:

(3.4.1)利用步骤(3.3)得到的lstm可靠性状态预测模型,对测试集wtest_x进行预测得到预测的输出量wtest-predict_y;

(3.4.2)通过计算交叉熵损失函数,得到测试集输出量实际值与预测输出量实际值的差异,作为lstm网络可靠性状态的评估指标;

(3.4.3)调整lstm网络可靠性状态预测模型中的神经元数量参数,并重复步骤(3.3)、步骤(3.4),得到不同的lstm网络可靠性状态预测模型的评估指标;

(3.4.4)选择最好的评估指标,即损失函数最小的模型作为最终用于预测网络可靠性评估指标的模型。

本发明的有益效果是:本发明设计了带内网络遥测数据包的报文格式,基于带内网络遥测技术进行数据平面节点信息的采集,数据包路径中最后一个节点通过主动推送的方式上送到控制器的智能分析器,从而控制器可以实时的掌握数据平面的网络状态,减小了网络状态上报的延迟,减小数据采集的误差,提高了采集信息的实时性,提高网络可靠性检测的准确性;本发明通过网络遥测得到节点的端口信息,结合提出的基于贝叶斯网络的可靠性评估模型,利用最大后验估计得到当前网络的可靠性,该评估模型提高了网络可靠性评估的准确性;本发明提出了基于lstm神经网络算法的网络可靠性预测模型,通过该方法可以更加准确的预估未来一段时间内的网络状态。本发明提出的基于带内网络遥测的网络可靠性评估和预测方法,对网络的管理、运维和网络流量规划等带来极大的便利。

附图说明

图1是基于带内网络遥测的网络可靠性评估方法的整体流程图;

图2是带内网络遥测数据采集遥测信息的原理图;

图3是可靠性贝叶斯网络的示意图;

图4是网络可靠性预测模型的整体流程图。

具体实施方式

如图1所示,本发明基于带内网络遥测技术的网络可靠性评估方法,具体为以下步骤:1、设计了带内网络遥测数据报文格式,数据平面基于带内网络遥测技术采集传输路径上每个节点的遥测信息;

(1.1)设计了带内网络遥测数据报文格式,通过带内网络遥测技术采集每个节点的信息;

本发明中所有网络交换机都是支持带内网络遥测技术的交换机。通过带内网络遥测技术监测报文转发路径上每个交换机节点的遥测信息。所述遥测信息包括每台设备的交换机编号、数据包入端口号、数据包出端口号、链路利用率、收发数据包数、丢弃数据包数、数据包入端口时间戳、数据包出端口时间戳、拥塞状态、队列长度等。

本发明中,设计了int报文的具体数据格式。int报文包括intheader和metadata两部分。其中intheader报文格式设计如下表1所示:

表1intheader报文格式表

int报文固有头部格式如上表所示。其中收集的数据选项字段有16位,对应8个数据选项,每2位表示一个数据选项。8个数据选项分别为:设备id,入端口号,出端口号,转发延迟,端口延迟,端口丢包,拥塞标志,出端口利用率。每2位表示一个数据选项。每两位当取00时,表示不采集该数据,当取01时,表示收集该数据。

int检测信息metadata的格式如下表2所示:

表2metadata的格式表

带内网络遥测数据采集遥测信息的原理图如图2所示。

(1.1.1)首节点:普通数据报文到达带内网络遥测系统的首节点时,带内网络遥测模块通过在交换机上设置的采样方式匹配并镜像出该报文,根据遥测任务的需要在四层头部后插入int头部,将int头部所指定的遥测信息封装成元数据(metadata)插入到int头部之后

(1.1.2)中间节点:报文转发到中间节点时,设备匹配int头部后插入metadata

(1.1.3)尾节点:报文转发到路径的最后一跳交换机时,交换设备匹配int头部插入最后一个metadata,并提取全部遥测信息并转发到智能分析器

(1.2)在路径的最后一个节点,将遥测信息进行udp协议封装,发送到sdn控制器的智能分析器

在报文路径的最后一跳交换机上,对遥测数据进行udp头及ip头封装,发送给智能分析器。

(1.3)智能分析器通过解封装int报文得到每个节点的端口信息,包括端口的延迟、丢包、拥塞度和利用。

最终在智能分析器上通过解封装int报文,对监测的遥测数据进行分析,得到每个节点的端口信息,即每个交换机端口的延迟、丢包、拥塞度和利用率,作为可靠性评价模型的原始样本数据;

2、建立数据可靠性评价模型,即贝叶斯网络模型,所述贝叶斯网络模型输入步骤(1)得到的端口信息,计算得到网络性能可靠度;

(2.1)建立贝叶斯网络模型

如图3所示为建立网络评估模型贝叶斯网络,为一个有向无循环模型。y表示整个网络。图中yi表示第i个交换机,yij表示第i个交换机j号端口,xlij表示第i个交换机j号端口丢包事件(当丢包数大于0时表示发生丢包事件),xdij表示第i个交换机j号端口数据包延迟事件(当出端口时间减去入端口时间的差值超过用户定义的阈值时表示发生延迟事件),xcij表示第i个交换机j号端口数据包拥塞事件(当队列长度超过用户定义的阈值时表示发生拥塞事件),xuij表示第i个交换机j号端口链路利用率过低事件(当链路利用率低于用户定义的阈值时表示发生利用率过低事件)。

(2.2)利用贝叶斯网络模型进行网络可靠性计算,得到网络可靠性状态

贝叶斯网络模型是一个信度网络计算模型,是基于概率论和图论相结合评估模型,本发明提供的网络可靠性模型依据贝叶斯网络模型进行设计。简化图3,优化模型把xlij、xdij、xcij、xuij(i∈{1,k},k为网络节点个数)表示为总体x,x包含(x1、x2、……xn)(n表示总共的参数指标个数)。设置表示各个节点发生的概率,则p(x1)表示是事件x1当前网络状态下发生的概率。设θ表示随机变量网络性能可靠性,计算依据条件概率公式可得

其中p(θ|x)表示在x条件下,网络状态的可靠性。转换成贝叶斯估计的数据描述为:

π(θ|x)为参数θ的后验分布,后验分布为一个条件分布,θ为待估的分布参数。f(x|θ)为概率密度函数,π(θ)为参数θ的先验分布。m(x)为边缘分布。贝叶斯估计表示,在已知θ服从π(θ)的先验分布前提下,根据采集的样本信息去校验先验分布,得到后验分布π(θ|x)。

采用极大似然估计的思想,利用最大后验估计求解θ。

由于m(x)与θ无关,因此可以简化计算。求得分布概率最大情况下θ的合理值,即网络可靠性状态。θ值越大代表网络可靠性越高。

3.建立基于lstm算法的网络可靠性状态预测模型,利用历史数据不断训练基于lstm算法的网络可靠性状态预测模型,预测未来一段时间的网络性能可靠性状态。

如图4所示,所述网络可靠性预测模型的整体流程,具体步骤如下:

(3.1)采集基于lstm算法的网络可靠性状态预测模型的训练数据

(3.1.1)采集历史一段时间内网络可靠性评估指标数据x1,x2,……xn,得到用于时间序列预测的数据集:h=[ht,ht+1......ht+n],其中,ht=[ft,xt],ft代表t时间点的网络可靠性状态,xt代表t时间点采集指标数据x1,x2,……xn

(3.1.2)基于遥测技术采集时间状态序列数据集s

一段时间内的网络可靠性评估模型参数x1,x2,……xn,同时计算出当时的网络可靠性状态ft,因此得到时间状态序列数据集s:

s=[st,st+1......st+n]

其中st=[ft,xt],ft代表t时间点的网络可靠性状态,xt代表t时间点采集指标数据x1,x2,……xn

(3.1.3)将用于时间状态序列数据集s转化成监督学习数据集w=[wt,wt+1.....w.t+n],其中wt=[ft,xt,ft+1,xt+1.....f.t+i-1,xt+i-1,ft+i];i代表一段时间的数据量

(3.1.4)分割监督学习数据集w前四分之三为训练数据wtrain,后四分之一测试数据wtest

(3.1.5)分离训练数据,得到训练数据的输入量wtrain_x和输出量wtrain_y,同理,可以得到测试数据的输入量wtest_x和输出量wtest_y

(3.2)建立基于lstm算法的网络可靠性状态预测模型:

(3.2.1)基于lstm算法的网络可靠性预测模型设计为三层:输入层,隐藏层,输出层。其中第一层为输入层,负责激活信号。第二层为隐藏层,在隐藏层中主要实现特征提取。第三层为输出层,根据隐藏层提取的不同权重加上自身的偏置输出结果。并设置每一层的参数,即神经元的个数。

(3.2.2)选择交叉熵作为损失函数

网络可靠性状态预测模型的效果可以通过损失函数来评定。损失函数可以衡量实际输出与预计输出之间的差异。为了评估网络可靠性状态预测模型拟合的好坏,本发明选择交叉熵作为损失函数。通过最小化损失函数,使网络可靠性状态预测模型达到收敛状态,对应的模型参数即为最优参数,减少模型预测值的误差。

(3.2.3)选择adam算法作为梯度下降优化器;

对步骤(3.2.2)中损失函数求极值时需要用到梯度下降优化器,本发明选择使用adam算法作为梯度下降优化器,adam是一种自适应学习率算法,能够在训练中自动的对学习率进行调整。对于出现频率较低参数采用较大的学习率,对于出现频率较高的参数采用较小的学习率更新。

(3.3)基于步骤(3.2)建立的基于lstm算法的网络可靠性状态预测模型,利用训练集输入量wtrain_x与输出量wtrain_y对lstm网络可靠性状态预测模型进行训练。

(3.4)评估lstm网络可靠性状态预测模型

(3.4.1)利用步骤(3.3)得到的lstm可靠性状态预测模型,对测试集wtest_x进行预测得到预测的输出量wtest-predict_y。

(3.4.2)通过计算交叉熵损失函数,得到测试集输出量实际值与预测输出量实际值的差异,作为lstm网络可靠性状态的评估指标。

(3.4.3)调整lstm网络可靠性状态预测模型中的神经元数量参数,并重复步骤(3.3)、步骤(3.4),得到不同的lstm网络可靠性状态预测模型的评估指标。

(3.4.4)选择最好的评估指标,即损失函数最小的模型作为最终用于预测网络可靠性评估指标的模型。

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