APP下载

基于SDN的一体化信息网络业务流分类策略

2023-01-31傅颖勋马东超

计算机工程与设计 2023年1期
关键词:边界点信息网络决策树

赵 曦,马 礼,傅颖勋,李 阳,马东超

(北方工业大学 信息学院,北京 100144)

0 引 言

一体化信息网络是一种异构网络,其架构如图1所示,多网融合使其具有复杂多变的网络结构和繁多的业务种类,而网络的动态性和缺乏自适应性使得对流量的管理与调度非常困难[1]。实时收集流量信息并进行分类是一体化信息网络能够发挥作用的重要前提,因为流量管理与调度过程需用到网络中的流量信息来当作评估网络状况的依据,而不同业务对网络资源需求的不同使得流量的调度策略不能一概而论,只有考虑以上这些因素才能保证网络用户的服务质量。因此设计一种实时业务流分类策略,对于保障一体化信息网络的服务质量、提高资源利用率有着重要的意义。

图1 一体化信息网络架构

由于传统IP网络架构的底层设备较为封闭,难以实现路由策略部署[2],无法满足一体化信息网络的流量信息收集与分类需求,因此本文设计了一种在软件定义网络架构下的一体化信息网络业务流分类系统。软件定义网络的架构如图2所示,具有集中控制、转控分离等特点,该架构不仅适用于一体化信息网络的流量分类系统,而且便于对网络进行管理与维护。

图2 软件定义网络架构

1 相关工作

随着互联网的发展,网络流量分类作为提升网络质量的基础技术,一直是网络研究的重点之一。文献[3]利用软件定义网络架构可编程性的特点,在数据包发送的早期对其载荷部分的特征值进行分类从而避免加密对深度包检测技术的影响。文献[4]使用深度包检测技术进行业务流分类从而为QoS队列提供不同优先级。上述文献采用的均是深度包检测技术进行流量分类,该技术存在无法识别载荷部分被加密的数据包的局限性,即使文献[4]提出了在数据包发送早期对其载荷部分特征值进行分类的方法,但该方法不适用于网络结构复杂、网络环境动态多变的一体化信息网络,该类网络环境经常有子网的接入导致拓扑变化,因此对业务流的分类也需要动态进行,深度包检测技术一旦错过业务流发送的早期就无法进行分类。

随着人工智能技术的发展,机器学习的分类技术受到了广泛的关注,基于机器学习的业务流分类研究也应运而生。其中大部分研究基于剑桥大学Moore教授等[5]使用的网络流量实验数据集对分类算法进行优化。文献[6]使用K-Means和随机森林相结合的方法从业务流特征中对用户行为进行分类。对信息交互、网页浏览、视频流和背景流进行识别且准确率在97%左右。文献[7]提出了一种基于深度学习的网络流量细粒度分类方法,对10类流媒体业务的分类准确率达到了93%左右。文献[8]使用SVM 算法对28种业务流进行了分类,对单向流和双向流的分类准确率达到了85%左右。文献[9]提出了基于无监督学习的流量识别算法,该算法能够识别不同物联网设备产生的不同业务流,分类精度能够达到98%左右。文献[10]提出了一种基于多阶段机器学习分类算法的框架,该框架使用从网络流量特征中获得的统计属性,对每个物联网设备以及一类非物联网设备产生的业务流进行精确分类。由于Moore等所使用的数据集具有249维特征,虽然考虑较多维度的特征能提升分类精度,但是过多的特征维度会导致训练时的计算开销较大,从而降低模型的训练效率;另一方面特征维度过多会导致训练出的模型复杂度较大,导致分类效率降低。此外上述文献大多采用SVM作为待改进的分类算法,但SVM算法也存在一些局限性:原始的SVM只能进行二分类,当需要进行多分类时就需要训练多个二分类器,因此当数据量较大时,训练和分类的计算开销巨大从而导致训练时间和分类时间较长,难以满足一体化信息网络对业务流识别的实时性需求;原始的SVM抗噪声性能不佳,在流量数据存在大量噪声的一体化信息网络环境下难以准确分类。一些研究采用CART算法生成决策树来作为流量的分类模型,文献[11]提出了一种基于CART算法的异常流量监测技术,对4种攻击类型的流量进行分类,准确率达到了90%左右。虽然CART算法在分类速度和抗噪性方面均优于SVM算法,但是在训练用时方面,CART算法仍然需要耗费大量的时间去寻找决策树的最优分割点。此外CART算法采用“多数表决”的方法来选择叶节点的类别,这也会造成模型对样本量较小的类别分类准确率下降。

因此本文在SDN架构下设计了一种业务流收集与分类系统,并设计了基于Fayyad定理改进的CART算法,与基于弱分类器系数和分类误差率相似度改进的Adaboost算法相结合,设计分类模型,该模型在满足一体化信息网络业务流分类的实时性需求同时仍具有较高的分类准确率。

2 基于SDN的一体化信息网络业务流分类设计与实现

本文首先在SDN架构下的数据平面设计了流量感知节点,流量感知节点通过数据平面与控制平面的交互将数据平面的流表信息上报给控制平面,随后设计了基于Fayyad定理改进的CART算法,与基于弱分类器系数和分类误差率相似度改进的Adaboost算法相结合的分类模型,并将其部署到了控制平面中,控制平面再将从数据平面获取的流表信息加工成流量特征后输入到分类模型从而完成业务流的分类。

2.1 流量感知节点的设计

为保障一体化信息网络端到端的服务质量,使网络管理系统能够动态的感知网络流量的变化,从而及时作出决策以提高网络性能,本文设计了一种在SDN架构下的流量感知节点。流量感知节点由数据获取模块和数据加工模块共同组成,其架构如图3所示,数据获取模块将边缘交换机的原始流量信息汇报给控制平面中的数据加工模块,随后数据加工模块将原始流量信息加工成流量特征以便分类模型进行分类。

图3 流量感知节点架构

数据获取模块设计如下:首先控制平面获取数据平面中边缘交换机的状态信息以确定边缘交换机是否在线,随后对在线的边缘交换机发送数据请求以获取原始流量信息,为了动态的感知网络流量信息,需要持续的获取来自边缘交换机的原始流量信息,因此本文在控制平面开启了一个线程以周期性的向边缘交换机发送数据请求;边缘交换机在收到控制平面发送的数据请求后就会将原始流量信息以报文形式发送给控制平面。由于直接从交换机获取的原始流量信息有限,不满足分类模型所需的全部特征,所以需要通过数据加工模块对流量信息进行加工,以提取分类模型所需的全部特征。

本文训练的分类模型所使用的流量特征为数据包的源端口号和目的端口号、流持续时长、流的比特速率、流的数据包速率、数据包的平均大小、数据包的平均到达时间间隔、数据包的最大到达时间间隔、数据包的最小到达时间间隔、数据包的到达时间间隔标准差;数据加工模块获得以上流量特征的设计如下:流的源目的端口号、持续时间可由流表信息直接获取,由源目的端口号来确定周期前后获取的流表信息是否为同一条流;流的比特速率可由周期前后比特数的差除以周期时间获取,流的数据包速率计算同理;流的数据包平均大小可由周期内流过的比特数除以数据包数获取;包的平均到达时间间隔可由周期时间除以周期内流过的数据包数获取,数据包的最大到达时间间隔、最小到达时间间隔、到达时间间隔的标准差可通过筛选多个周期的平均到达时间间隔获取。

2.2 基于排序选择分割点的CART算法改进

CART算法是一种决策树算法,其原理是通过基尼系数或平方误差最小化准则来选择训练样本中的分割特征值,通过递归的在分割特征值处将训练集分成两个子集来构建决策树。由于CART算法在构建决策树时采用二分递归的方法,其构建的决策树为结构简单的二叉树,因此具有较强的抗干扰能力和泛化能力,适合在网络流量存在较多噪声的一体化信息网络环境下进行业务流的分类。CART算法可根据类别为离散属性或连续属性构建分类树或回归树。本文的需求是根据业务类型为流量分类,因此本文选择CART分类树作为待改进的算法。

由CART算法构建决策树的原理可知,CART算法在处理连续型特征属性时需要计算每个可能的分割点所对应的基尼系数,找出其中基尼系数最小的特征值作为最优分割点,例如一个连续型特征属性具有N个特征值时就要计算N-1次基尼系数。当训练集的样本数据量大、连续型特征属性较多时,原始的CART算法所要考虑的可能分割点数也会随之增加,对每一个可能的分割点都计算相应的基尼系数将会带来巨大的时间开销,导致最终构建分类树的效率降低,而一体化信息网络所产生的流量具有数据量大、连续特征属性多的特点,因此本文将基于文献[12]提出的Fayyad边界点定理对CART算法进行改进以降低其训练过程中的时间开销。

基于Fayyad边界点定理,本文在CART算法构建决策树时对每一维特征A的每一个可能作为分割点的特征值计算基尼系数前,首先对样本按照特征A的特征值进行升序排序,计算排序后相邻两样本类别不同时两样本所对应特征A的特征值的平均值并以该平均值点作为边界点,在计算完所有特征的边界点后,只计算边界点的基尼系数并找出基尼系数最小的边界点作为最优分割点。由于基于Fayyad边界点定理改进后的CART算法不再逐一对每维特征的每一个可能作为分割点的特征值进行基尼系数计算,而是只计算边界点的基尼系数,因此能够大大缩短计算基尼系数所造成的的时间开销,提高决策树的生成效率,而Fayyad边界点定理验证了决策树的最佳分割点都在边界点处,所以这种改进方法不会降低构建的决策树的分类精度,改进后的算法流程如图4所示。

图4 改进CART算法流程

2.3 基于弱分类器系数和分类误差率相似度的Adaboost算法改进

由于CART算法在构建决策树时采用以叶节点中占比最多的样本类别作为叶节点类别的方法,这种多数表决的方法所构建的决策树模型对样本量较小的类别分类精度很不稳定,而一体化信息网络环境复杂多变,导致业务流类别分布不平衡,单纯使用CART算法进行区分业务流易造成对样本量较小的业务流错误分类。Adaboost算法是一种集成学习的分类方法,其原理是通过迭代训练多个弱分类器并将它们组合成强分类器以提高分类精度,具体来说就是在每轮迭代中提高那些被上一轮迭代训练的弱分类器错误分类样本的权重,而降低那些被正确分类的样本权重,使没有被正确分类的样本在新一轮迭代训练中受到更大的关注,最终各个弱分类器以投票的方式决定分类结果,其中误差率小的弱分类器在投票中有较大的话语权,反之误差率大的弱分类器在投票中只有较小的话语权。因此本文将CART算法与改进的Adaboost算法结合,使CART算法能够重复学习样本量较小的类别并构建多个弱分类模型,通过多个弱分类模型的集成学习提高对样本量较小的类别的分类精度。

2.3.1 基于弱分类器系数改进Adaboost算法

原始的Adaboost算法中弱分类器系数的代表弱分类器在最终投票决定分类结果中的话语权,其定义如式(1)所示

(1)

其中,em表示弱分类器的分类误差率,由上式可知原始的Adaboost算法在定义弱分类器系数时仅考虑了弱分类的误差率em这一因素,但是当训练集中存在大量噪声样本时,随着迭代的进行和样本权重的归一化原则,已正确分类的样本权重将会变得越来越小,噪声和难分样本的权重会越来越大,在两类样本权重急剧变化的情况下新训练出的弱分类器误差率可能仍然没有变化,造成性能较差的弱分类器与性能较好的弱分类器在投票时话语权相同,这样就会导致最终组合出来的强分类器模型对未知样本的分类能力不佳。因此本文将从迭代中的弱分类系数着手对Adaboost算法改进。

本文提出了正确分类样本权重分布系数rm,rm表示第m次迭代时正确分类样本权重的累加和,其定义如式(2)所示

(2)

其中,m为迭代次数,Gm(xi)为弱分类器对第i个样本的分类结果,yi为该样本的真实类别,Dm(i)为每个正确分类的样本权重。由于Adaboost算法在迭代中会提高被错分了的样本权重,降低正确分类的样本权重,而归一化原则使所有样本的权重和为1,当rm较大时说明被正确分类的样本数量较多,仅有少量噪声样本未被正确分类;当rm较小时说明被错误分类的样本数量较多或噪声样本已经被赋予了较大的权重,因此rm能在一定程度上反映弱分类器的性能好坏,应当将其考虑到弱分类器的系数中,以提高性能较好的弱分类器在Adaboost算法最终训练出的强分类器中的话语权,进而提高强分类器的泛化能力。改进后的弱分类器系数定义如式(3)所示

(3)

2.3.2 基于分类误差相似度改进Adaboost算法

Adaboost算法的迭代训练过程会产生多个弱分类器,但并不是每个弱分类器都会在最终产生的强分类器中起到作用,由于迭代过程具有一定的随机性,因此迭代中可能会产生两个性能相同的冗余弱分类器,这种冗余弱分类器不仅不会提升最终的强分类器的准确率,反而会造成多余的计算开销,使分类效率降低。当存在过多的冗余弱分类器的Adaboost模型用于一体化信息网络的业务流分类时,意味着业务流分类无法实时完成,用户的服务质量需求也就难以保障。因此本文将从删除迭代中产生的冗余弱分类器着手对Adaboost算法改进。

本文提出了误差率相似度sij, 具体地定义如下:

(4)

其中,sij表示两个弱分类器之间对错误样本分类的相似程度。sij越高表示两个弱分类器对相同样本错误分类的概率越高,当sij=1时即表示两个弱分类器完全相同,因此在最后组合的强分类器中发挥的作用也相同,属于冗余的弱分类器,对其中一个删除可减少分类所花费的时间而不会对分类精度造成影响。综上,只要在迭代中计算分类误差率时将分类结果存入矩阵,迭代完成后先通过分类误差相似度删除冗余的弱分类器再组合剩下的弱分类器形成强分类器,就可以减小分类过程中的计算开销,缩短分类所需的时间从而提升分类效率。

3 实验结果与分析

3.1 实验环境及数据集

为验证本文提出的基于SDN的一体化信息网络业务流分类技术的有效性,本文采用文献[13]提供的数据集和UNB提供的两个公开数据集,3个数据集都包含了网页浏览、电子邮件、文字聊天、音频传输、视频传输、文件传输、语音聊天、P2P共8类常用的网络业务流数据,能够涵盖一体化信息网络所涉及的大部分业务,其中TimeBasedFeatures数据集包含8000个样本, Darknet数据集包含140 000个样本,VPN数据集包含90 000个样本。为了便于本文设计的SDN控制器提取业务流特征信息,本文选取数据包源端口号和目的端口号、流持续时长、流的比特速率、流的数据包速率、数据包的平均大小、数据包的平均达到时间间隔、数据包的最大到达时间间隔、数据包的最小到达时间间隔、数据包的到达时间间隔标准差共10维特征进行实验。

本文的实验平台为实验室的Dell台式电脑,CPU型号为Intel Core i7-3770,主频为3.40 GHZ,内存为8 GB,搭载的操作系统为Windows7,使用Mininet对SDN架构进行仿真。

3.2 结果分析

本文选用准确率、训练时间、分类时间3个指标来衡量本文所提出的基于Fayyad边界点定理改进的CART算法与基于弱分类器系数和分类误差相似度改进的Adaboost算法相结合的分类算法性能。通过数据预处理在每个数据集中随机抽取80%作为训练集,剩下20%作为测试集,在对比本文提出的基于Fayyad边界点定理改进的CART算法(以下简称改进CART算法)、改进CART算法与基于弱分类器系数和分类误差相似度改进的Adaboost算法相结合的算法、SVM算法、CART算法、CART算法与Adaboost算法相结合的算法的基础上采用10次实验结果的平均值作为最终实验结果进行分析。实验结果如图5~图7所示。

图5比较了5种算法的分类精度,其中SVM算法分类精度最低且随着数据集样本数量增多下降的最明显,可以看出SVM算法在处理含有较多噪声样本的真实网络流量数据时性能较差;CART算法对各个数据集的分类精度均高于SVM算法,随着数据集样本数量增多分类精度也有所下降,但下降的幅度要远远小于SVM算法,由此可见CART算法对于噪声样本的容忍能力要强于SVM; 改进CART算法在3个数据集的分类精度没有明显变化;CART算法与Adaboost算法结合后,在3个数据集的分类精度都有所上升,可见集成学习的方法提升了CART算法对于样本量较小的数据的处理性能;将改进CART算法与基于弱分类器系数和分类误差相似度改进的Adaboost算法结合后,算法的分类精度相较未改进的两种算法结合又有所上升,可见通过赋予性能更好的弱分类器在最终强分类器中更大的话语权能够提升Adaboost算法的分类精度。

图5 5种算法的分类准确率

图6比较了5种算法的训练时间,SVM算法训练用时较长,因为其在训练过程中是因为需要训练多个二分类器导致计算开销较大;原始CART算法的训练用时虽然相较SVM算法有所缩短,但训练的时间仍然较长,这是因为该算法寻找最佳分割点需要对训练集中每一个可能的分割点计算基尼系数;改进CART算法的训练用时下降了超过50%,这是由于改进后的CART算法只在边界点中寻找最佳分割点,因此计算开销大大减少,从而缩短了训练用时;将CART算法与Adaboost算法结合后的算法训练用时上升幅度较大,已经超过了SVM算法的训练用时,由于集成学习的方法需要迭代训练多个弱分类器,因此计算开销相比SVM算法也大大增加;将改进CART算法与基于弱分类器系数和分类误差相似度改进的Adaboost算法结合后,算法的训练用时相比未改进的两种算法结合有所下降,这是因为集成学习中每个CART弱分类器都只在边界点处寻找最佳分割点。

图6 5种算法的训练时间

图7比较了5种算法的分类用时,SVM算法的分类用时最长,由于分类需要经过多个二分类器,其分类用时要明显高于其它几种算法;CART算法的分类用时较短,因为CART所构造的决策树在分类时只需自根节点向下比较待分类样本的特征值与每个节点的最佳分割点特征值的大小,直到进入叶节点并将叶节点的标签作为最终的分类结果;改进CART算法的分类用时没有明显的变化;将CART算法与Adaboost算法结合后的分类用时有着明显的上升,由于集成学习的方法在分类时需要多个弱分类器投票决定分类结果,因此分类用时相较CART算法有所增加;将改进CART算法与基于弱分类器系数和分类误差相似度改进的Adaboost算法结合后,算法的分类用时相比未改进的两种算法结合有所下降,可见通过分类误差相似度剔除冗余弱分类器后能降低Adaboost算法的分类用时。

图7 5种算法的分类用时

4 结束语

为解决一体化信息网络环境下流量管理与调度的问题,使网络资源能够合理分配,本文提出了基于SDN的一体化信息网络业务流分类策略。针对一体化信息网络环境动态多变的特点,在SDN架构下设计了流量感知节点实现实时收集网络中的流量信息,并针对一体化信息网络流量数据量大、连续特征属性多、业务类别分布不平衡、存在大量噪声的特点设计了一种基于Fayyad边界点定理改进CART算法,与基于弱分类器系数和分类误差相似度改进的Adaboost算法相结合的分类模型,实验结果表明了该模型具有良好的分类性能。

猜你喜欢

边界点信息网络决策树
一种针对不均衡数据集的SVM决策树算法
帮助信息网络犯罪活动罪的教义学展开
决策树和随机森林方法在管理决策中的应用
区分平面中点集的内点、边界点、聚点、孤立点
河南省交通运输厅信息网络监测预警系统
基于降维数据边界点曲率的变电站设备识别
多阈值提取平面点云边界点的方法
网络共享背景下信息网络传播权的保护
基于决策树的出租车乘客出行目的识别
帮助信息网络犯罪活动罪若干问题探究