何文雯,张涛涛,吴若无
(中国人民解放军63892 部队 复杂电磁环境效应国家重点实验室,河南 洛阳 471000)
信息时代,网络已经渗透到人们日常生活的方方面面,因此保障网络高效、稳定地运行是亟待解决的问题。为了保证网络运行状态的高效性和鲁棒性,构建一个可管、可控、可信的网络,对当前网络运行态势进行感知是必要的。网络运行态势感知就是对能够引起网络运行状态变化的因素进行获取和理解,对当前网络状态进行评估,从而能为网络管理和运维中的资源调整提供信息支撑。因此,如何准确地对网络态势进行评价是网络运行态势研究的重点。
网络态势感知(Cyberspace Situation Awareness,CSA)的概念最早出现在军事领域,是Bass 在1999年提出的[1],他指出基于数据融合的网络态势感知是网络管理的发展方向[1]。国内对网络态势的研究刚刚起步,目前,网络态势感知的研究大多集中于网络安全态势,对综合网络态势和网络运行态势的研究较少。在网络安全研究方面,人工智能方法被广泛应用。陆冬[2]提出了基于Elman 神经网络的态势预测模型。章菊广[3]采用特征关联分析法对网络态势感知中的恶意行为进行检测,该检测方法在网络安全态势感知系统中表现良好。胡楚航[4]提出了基于长短记忆神经网络(Long Short-Term Memory Neural Network,LSTM)的单模型预测方法。蔡润[5]采用层次分析法(Analytic Hierarchy Process,AHP)构建态势指标模型和模糊神经网络结合起来对校园网络进行网络安全态势感知。赵冬梅等人[6]将Transformer 用于网络安全态势预测。姚海涛[7]提出了基于改进反向传播(Back Propagation,BP)神经网络的软件定义网络(Soft Define Network,SDN)的网络态势评估算法。
在网络传输态势研究方面,国外还未有相关重要研究,国内龚正虎等人在文献[8]中详细讨论了网络态势感知的研究框架和评估方法,卓莹等人在文献[9]中提出了基于拓扑-流量挖掘的网络态势感知技术,在文献[10]中提出了基于网络态势评估的粗集分析模型,在文献[11]中提出了网络传输态势模型(Network Transmission Situation Awarenes,NTSA),该模型采用聚类的方法分析空间流量,并基于网络中拓扑的重要性对网络运行态势进行分析。王海学等人[12]基于神经网络构建星间链路态势感知模型,实现了对星间链路网络的未来状态进行感知预测,为网络运行态势的研究提供了重要思路。网络运行态势这一概念由柏骏在文献[13]中提出,并提出了利用网络链路的可达性计算网络链路权重评估网络运行态势的方法。
网络运行态势主要关注用户对网络的体验,反映网络运行时的用户满意度。影响网络运行态势评估结果的态势因子复杂多源,包括业务质量、网络传输速率、网络安全性等。这些态势因子具有模糊性和不稳定性,为了保证评估结果的一致性和稳定性,要求网络态势感知模型具备模糊评估能力和多源信息融合能力[14-15]。模糊逻辑能够很好地处理不确定性和模糊性数据,将人的思维具象化,但是在模糊推理过程中往往需要借助专家经验确定模糊规则,这会导致推理结果过于依赖专家经验,也无法满足处理海量数据的需求。因此考虑将人工智能中的神经网络和模糊逻辑结合,既能对神经网络的黑盒性进行解释,又能利用神经网络处理大数据的优势对网络运行态势进行感知。
针对以上需求,本文结合网络运行态势感知的特点,构建网络运行质量指标体系,提出了CSA 模糊神经网络进行网络运行态势感知,采用真实的网络运行流量数据对模型进行优化和验证。实验证明,本文提出的CSA 模糊神经网络的网络运行态势感知精度较传统的模糊神经网络提高了约0.91%,态势感知效率提高了约30%。
模糊逻辑能够基于不精确或部分知识推理出结果,模糊逻辑推理系统如图1 所示。
图1 模糊逻辑推理系统
模糊逻辑推理系统各模块工作流程如下文所述。
(1)模糊化。将输入的精确量进行模糊化,设输入数据为x=(x1,x2,…,xn)T,每一个输入分量都可以模糊化为m类。则模糊化后的模糊子集为V(xi)={,,…,},k=1,2,3,…,m,其 中,表 示第i个输入分量的第k个语言变量,的值可以通过隶属度函数μik来表示,常用的隶属度函数为高斯函数。
(2)模糊规则库。模糊规则库用来提供模糊规则,模糊规则可以用IF-THEN 语句表示:
其中,y为输出向量,yr为y的第r个分量。
(3)模糊推理。模糊推理方法可以用式(1)进行线性表示。
式中:yjt为第j个输出分量yj在第t条模糊规则下的输出,为常数,表示输入分量x1对t条模糊规则的适应度。
(4)去模糊化:对模糊结果进行去模糊化。去模糊化通常使用加权平均判决法。设模糊规则共有t条,则第j个输出向量yj的去模糊化公式为:
式中:Tq为输入向量x对第q条模糊规则的适应度。
模糊神经网络就是将神经网络引入模糊推理系统,使模糊神经网络同时具有可解释性和自我学习性。常见的模糊神经网络有Mandani 模糊神经网络和T-S 型模糊神经网络,如图2 和图3 所示。
图2 Mandani 模糊神经网络的结构
图3 T-S 型模糊神经网络的结构
Mandani 模糊神经网络共5 层,隶属层对应模糊推理系统的模糊化层,规则层对应模糊规则库,归一化层对应去模糊化。T-S 型模糊神经网络分为前件网络和后件网络,前件网络对应模糊规则中的IF 条件,完成模糊化和模糊推理过程,后件网络对应THEN 部分,完成去模糊化过程。
传统的模糊神经网络模型需要根据专家经验制定模糊规则,从而确定隐层节点的个数,模糊规则制定的客观性和正确性直接关系到态势感知结果的准确性。规则的个数也直接关系到模糊神经网络的复杂度,过多的规则数会造成模糊神经网络在学习过程中产生大量的学习参数,学习效率大大降低。因此,如何从多维、海量、复杂的网络运行数据中确定合适的模糊规则使网络能够根据输入数据自适应地调节节点个数是网络运行态势感知中需要解决的问题。
网络运行态势感知即对网络运行数据进行学习和处理,对当前的网络状态进行评价,将网络运行数据映射为网络运行态势等级。因此,网络运行态势感知模型应当满足一定的分类准确度。针对以上两个方面的问题,提出CSA-模糊神经网络,其结构如图4 所示。
图4 CSA 模糊神经网络结构
为了解决模糊规则制定不当导致网络复杂度增加的问题,本文将径向基函数(Radial Basis Function,RBF)神经网络结构引入到模糊逻辑中,构建RBF 模糊神经网络。RBF 网络中的隐层节点采用径向基函数,与模糊逻辑中模糊规则的隶属度函数一致,因此将RBF 网络和模糊逻辑相结合,从而利用RBF 神经网络可以通过智能算法调节隐层节点个数的优势。为了满足态势感知模型对分类准确度的要求,添加了反模化层并在该层采用softmax()函数作为激活函数来完成归一化层到输出层的映射。
如图4 所示,CSA 模糊神经网络共6 层。前4层对应T-S 模糊逻辑中的IF 部分,后两层对应T-S模糊逻辑中的THEN 部分。该模型中每一层的功能如下文所述。
(1)输入层:将经过预处理的网络数据输入模型中。设输入数据为n维数据x=(x1,x2,x3,…,xn)。
(2)规则映射层:完成模糊逻辑中的模糊划分,并根据模糊划分结果初始化节点个数和隶属度函数。假设每一个输入向量模糊划分结果为m,则该层节点个数为mn。模型的隶属度函数采用高斯函数,每一个节点的隶属度函数为:
式中:xi表示输入数据x的第i个输入向量,cij表示xi对应的第j个模糊类的中心,σj表示第j个模糊类的类内方差。
(3)规则适应度层:其中的每个节点代表一条模糊规则,节点的输出代表输入数据对该条规则的适应度。每一个节点的函数为适应度函数,适应度函数由模糊推理中的模糊“与”方法计算所得,模糊“与”就是对该条规则中的所有输入做算术积操作。每一个节点的适应度函数仍为高斯函数。
(4)归一化层:对规则适应度进行归一化处理,处理后所有节点的适应度之和为1。
(5)反模糊化层:通过softmax()函数将模糊规则映射为态势级别。节点通过softmax()函数输出每条模糊规则下该事件发生的概率,所有事件发生概率之和为1,概率最大事件则为当前态势级别。softmax()函数的表达式如下:
式中:k为该层神经元节点的个数,xt为第t个节点的输入。
(6)输出层:输出态势级别。
采用该CSA-模糊神经网络模型进行网络运行态势感知的步骤如下文所述。
(1)对原始数据进行模糊划分,根据模糊划分结果对模型进行初始化。模糊划分采用K-mediods聚类的方法进行聚类,根据聚类结果确定规则映射层节点的个数和每个节点的隶属度函数。
(2)按照模糊推理方法中的模糊“与”操作初始化规则适应度层中每个节点的适应度函数中的参数。
(3)初始化隐含层之间的链接权重,采用智能算法对模型中的参数进行训练。
CSA-模糊神经网络的模型优化流程如图5所示。
图5 CSA-模糊神经网络模型优化流程
为了验证本文所提出的CSA-模糊神经网络在真实网络中的表现能力,本文选用MAWEILAB 实验室采集的真实网络流量数据进行仿真验证。该实验室基于图方法对网络运行状态进行监测,创建了网络数据流量库。该数据库的数据主要来自7 个采样点,本文选择其中一个采样点的数据进行分析,该采样点的数据集是对一条跨太平洋线路的每日流量跟踪数据,选择2006 年—2015 年10 月期间的数据进行网络运行态势感知。网络运行态势感知流程如图6 所示。
图6 网络运行态势感知仿真流程
网络运行态势从用户角度出发,更关注网络运行质量。因此综合网络运行时的流量特征和国际电信联盟标准分局(International Telecommunication Union Telecommunication Standardization Sector,ITU-T)与国际互联网工程任务组(The Internet Engineering Task Force,IETF)对网络性能指标的定义,制定本文的网络运行态势指标体系,如表1所示。
表1 网络运行态势指标体系
按照制定的指标体系中的指标从MAWEILAB数据库中搜集流量数据,搜集到的数据标签值总共有4 个取值,代表网络优、良、中、差的运行状态,分别为0,1,2,3,取值越高表示网络状态越好。其中0 表示网络状态差,3 表示网络状态优。
对获取到的网络数据进行整理和量纲一体化处理。采用最大最小标准化方法进行归一化,其公式为:
整理后的数据分布在[0,1]之间,量纲统一。表2 为整理后的部分网络流量数据。
表2 部分网络流量数据
按照图6 中的CSA-模糊神经网络优化流程进行模型训练。
(1)模糊划分:采用K-mediods 聚类方法进行聚类,根据CH指标和肘部法则确定模糊划分的个数。
CH 指标计算公式如下:
式中:tr(Bk)表示类间距离,tr(Wk)表示类内距离,k为聚类个数,n为数据集样本数。CH(k)的值越大表示分类效果越好。
(2)肘部法则:通过计算聚类误差平方和判断聚类效果的好坏。以聚类数k为横轴,聚类误差为纵轴绘制折线图。找到一个k值,使增加k值所带来的类内误差下降幅度最大时,该k值就是对应的最佳聚类数。聚类结果如图7 所示,图中横坐标为聚类个数,纵坐标表示该法则下的取值。
图7 网络运行数据聚类指标
由上图确定最佳聚类数是4,即有4 个模糊类。聚类中心和类内误差如表3 和表4 所示。表3 中cij表示第i个中心点的第j维分量。
表3 网络数据聚类中心点
表4 网络数据聚类误差
根据式(3)由聚类结果初始化CSA 模糊神经网络各层节点个数和规则映射层的隶属度函数,模型初始化参数如表5 所示。
表5 CSA 模糊神经网络初始化参数
按照表中初始化参数设置模型,将预处理后的网络运行数据按照2 ∶8 的比例分为测试数据和训练数据,分别对CSA 模糊神经网络模型和T-S 模糊神经网络模型进行训练和测试,比较两个模型的网络运行态势感知能力。实验结果如表6 所示。
表6 神经网络预测精度比较
如表6 所示,CSA 模糊神经网络较传统T-S 型模糊神经网络的态势感知精度高0.91%,两者的网络运行态势感知的准确率差别不大。
将CSA 模糊神经网络模型的训练过程和传统T-S型模糊神经网络进行对比,结果如图8和9所示。图8 和图9 分别为CSA 模糊神经网络与T-S 型模糊神经网络的训练和测试精度随迭代次数的变化情况。如图所示,CSA 模型的测试精度在迭代次数为150 次时完成收敛,T-S 模型在迭代次数为500 次时达到稳定。CSA 模型的收敛速率较T-S 模型提高了约30%,因此本文所提出的网络态势感知模型的收敛速度更快。
图8 6 层模糊神经网络训练效果
图9 5 层模糊神经网络训练结果
本文结合网络运行态势感知的特点和需求,构建了网络运行质量指标评价体系。对T-S 模糊神经网络进行改进,提出了基于CSA 模糊神经网络的网络运行态势感知模型。采用真实网络运行数据对CSA 模糊神经网络进行训练和测试,提高了网络运行态势感知的效率和精度。