高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于深度特征学习的网络流量异常检测方法

董书琴 张斌

徐善驾. 任意多层介质波导本征值问题的网络分析[J]. 电子与信息学报, 1988, 10(1): 17-24.
引用本文: 董书琴, 张斌. 基于深度特征学习的网络流量异常检测方法[J]. 电子与信息学报, 2020, 42(3): 695-703. doi: 10.11999/JEIT190266
Xu Shanjia. NETWORK ANALYSIS OF EIGENVALUE PROBLEMS FOR MULTILAYER DIELECTRIC WAVEGUIDE CONSISTING OF ARBITRARY NUMBER OF LAYERS[J]. Journal of Electronics & Information Technology, 1988, 10(1): 17-24.
Citation: Shuqin DONG, Bin ZHANG. Network Traffic Anomaly Detection Method Based on Deep Features Learning[J]. Journal of Electronics & Information Technology, 2020, 42(3): 695-703. doi: 10.11999/JEIT190266

基于深度特征学习的网络流量异常检测方法

doi: 10.11999/JEIT190266
基金项目: 河南省基础与前沿技术研究计划基金(142300413201),信息工程大学新兴科研方向培育基金(2016604703),信息工程大学科研项目(2019f3303)
详细信息
    作者简介:

    董书琴:男,1990年生,博士生,研究方向为网络安全态势感知

    张斌:男,1969年生,教授,博士生导师,研究方向为网络空间安全

    通讯作者:

    董书琴 dongshuqin377@126.com

  • 中图分类号: TP393.08

Network Traffic Anomaly Detection Method Based on Deep Features Learning

Funds: The Foundation and Frontier Technology Research Project of Henan Province (142300413201), The New Research Direction Cultivation Fund of Information Engineering University (2016604703), The Research Project of Information Engineering University (2019f3303)
  • 摘要:

    针对网络流量异常检测过程中提取的流量特征准确性低、鲁棒性差导致流量攻击检测率低、误报率高等问题,该文结合堆叠降噪自编码器(SDA)和softmax,提出一种基于深度特征学习的网络流量异常检测方法。首先基于粒子群优化算法设计SDA结构两阶段寻优算法:根据流量检测准确率依次对隐藏层层数及每层节点数进行寻优,确定搜索空间中的最优SDA结构,从而提高SDA提取特征的准确性。然后采用小批量梯度下降算法对优化的SDA进行训练,通过最小化含噪数据重构向量与原始输入向量间的差异,提取具有较强鲁棒性的流量特征。最后基于提取的流量特征对softmax进行训练构建异常检测分类器,从而实现对流量攻击的高性能检测。实验结果表明:该文所提方法可根据实验数据及其分类任务动态调整SDA结构,提取的流量特征具有更高的准确性和鲁棒性,流量攻击检测率高、误报率低。

  • 传统的互联网因其封闭僵化的体系结构已经变得越来越复杂,使得网络的运营和维护变得异常困难。软件定义网络(Software-Defined Networking, SDN)[1]作为一种新型网络体系,通过解耦控制平面和数据平面,提供集中的网络管理以及开放的可编程接口,使得网络的自动化管理和控制能力获得了很大提升。随着网络规模的扩大和流量的激增,SDN单控制器已无法满足庞大的流量请求,且带来的控制开销过高,使之成为网络的瓶颈。因此,在大规模网络中,SDN常采用分布式控制平面[2]对网络进行分域管理,多个控制器在地理位置上是分散的,但在逻辑上采用集中控制,共享全局网络视图,相互协作实现网络的高效控制。SDN控制与转发分离的思想和高速匹配转发的数据平面使SDN较传统互联网有巨大优势,但也使SDN控制平面面临严重的资源短缺问题。如拥有100个交换机的网络其流到达速率峰值约可达10 M/s[3],而当前主流的控制器ONOS(Open Network Operating System),其吞吐量也尚未达到1 M/s的目标需求[4]

    由于网络流量具有空间分布不均和时间上动态变化[5]的特性,控制器与交换机的静态关联容易导致控制器负载不均衡,使网络的资源利用率较低。Wang等人[6]提出两段论算法,在双向匹配算法上引入联合博弈模型实现交换机与控制器的动态优化部署,但该算法本质上仍属于重映射方法,计算量较大。胡涛等人[7]针对控制器选择僵化和迁移冲突问题,设计了一种基于分布式策略的控制器负载均衡机制,它通过构建分布式迁移决策域来完成交换机迁移和控制器角色转换,但它会产生更多的控制器间通信开销。为了提高SDN网络的可扩展性,Cui等人[8]提出了一种基于响应时间的多个SDN控制器负载均衡策略,考虑控制器实时响应时间和控制器负载的变化特征,来解决多个过载控制器在SDN控制平面中的负载均衡问题。文献[9]提出一种考虑SDN控制节点故障的控制器部署和交换机迁移方法,以此来减少控制链路平均时延,改善网络的可扩展性。但该算法中以交换机的数目作为控制器负载的衡量指标,这在实际网络中是不合理的。Zhou等人[10]为了防止网络中控制器故障,将交换机迁移问题建模为EMD(Earth Mover’s Distance)模型,并设计了一种高效的启发式算法来快速求解大规模网络中交换机迁移问题。文献[11]进行控制器动态关联时考虑数据流的源目的地址,设计了一种流特征感知的控制器关联决策机制,降低了控制器资源消耗,但可能会造成部分控制器负载失衡。

    以上文献考虑控制器的负载都是以数据平面的流请求数量作为衡量标准。然而,当前的研究方法通常忽略了数据流的路径特征。在SDN分布式控制平面中,由于网络被分域管理,数据流在转发的过程中会经过不同的控制域,这就会造成原本由1个控制器独立完成的流请求处理工作,需要多个控制器共同参与,其所需的控制资源也会相应增加,在这里称之为“控制扩张问题”。本文针对网络分域管理带来的控制扩张问题,提出了一种基于流量工程的控制资源优化机制。具体而言,本文的主要贡献在于:(1)根据数据流的路径特征对不同流请求带来的控制资源消耗进行深入分析,指出通过改变控制器和交换机的关联关系可以降低控制资源消耗;(2)权衡控制资源消耗和控制流量开销,设计了一种控制器动态关联机制;(3)为实现控制器动态关联,设计了一种基于集合覆盖算法的快速求解算法,同时引入博弈策略,进一步改善了控制器和交换机关联关系。

    图1所示,在SDN分布式控制平面中,网络被分域管理,每个控制器管理所属的子域,负责处理本地域内的网络事件,做出相应的决策。根据控制器与交换机的关联关系和数据流的路径特征,可以将数据流分为域内流(如f1)和跨域流(如f2)。SDN分布式控制平面对域内流和跨域流的处理流程不同,其所消耗的控制资源也不同。对于域内流,其流传输过程只涉及1个控制器,和单控制器对流请求的处理流程相同,如下所示:

    图 1  SDN分布式控制平面对流请求处理流程

    (1) 当数据流到达交换机时,交换机根据存储在流表中的转发规则匹配处理,若没有匹配规则,交换机便会将流处理请求上传到本地控制器;

    (2) 本地控制器根据数据流源目的地址生成流转发规则,然后利用OpenFlow协议将转发规则安装到路径涉及的交换机上。

    对于跨域流,需要多个控制器相互协作,分布式控制平面的处理流程如下:

    (1) 当本地控制器收到跨域流的请求,本地控制器根据路由策略,获得数据包应流向的下一个控制域;本地控制器计算并生成流向下一个控制域的流转发规则,并安装到相应的交换机上;

    (2) 数据流传输到下一个控制域,会向所在的控制器再次上传流处理请求,若目的地址位于本域,则控制器会像处理域内流一样,计算、生成并安装转发规则;否则继续重复(1),直到数据流到达目的地址。

    根据以上分析,跨域流在到达下一个控制域时,会向控制器再次上传流处理请求,造成了不必要的计算开销。SDN控制器资源消耗与数据流经过的控制域的个数有关,据此可以通过减少数据流经过的控制域的个数来减少控制平面资源消耗。如图2,将交换机s2, s4从控制器c1迁移到控制器c2,跨域流f2便变成了域内流,其涉及的控制器个数便减少了1,其控制资源消耗也会相应减少。因此,降低SDN控制资源消耗的思路便是:通过寻找一种控制器-交换机关联方案,使相应数据流经过的控制域的个数尽可能地少,使整个网络消耗控制资源较多的跨域通信的场景减少,从而降低整个网络的控制资源消耗。

    图 2  通过交换机迁移可以降低控制资源消耗

    给定一个SDN网络,整个网络拓扑可用无向图G=(V,E)表示,其中,V表示网络中节点集合,E表示网络中链路的集合。SDN网络中由M个控制器和N个交换机组成,控制器集合为C={c1,c2,···,cM},控制器所在的管理域为G={G1,G2,···,GM},交换机集合为S={s1,s2,···,sN},假设每个控制器的处理容量相同为α,为了保证控制器能够应对突发流量而不至于过载,设定冗余因子η。控制器ck与交换机si之间的距离为dikfij为交换机si到交换机sj的流请求速率。控制器与交换机的关联关系表示为矩阵X=[xmn]M×N,其中xmn=1表示交换机sn关联至控制器cm,反之xmn=0,在任意时刻,每个交换机仅可关联至一个控制器。定义Y=[yijn]1×N表示数据流路径经过的交换机分布,其中,yijn=1表示数据流fij经过交换机sn,反之sn=0。定义Z=[zijm]1×M表示数据流fij是否经过控制域Gm,其中zijm=1表示数据流经过控制域Gm,反之zijm=0。对于数据流fij,已知其经过的交换机分布Y=[yijn]1×N和相应的控制器与交换机关联关系X=[xmn]M×N,便可得出其经过的控制域的分布Z=[zijm]1×M,如式(1)。控制器的负载主要来源于其子域下所有交换机上传的流处理请求,因此控制器cm的负载θm如式(2)。

    zijm={1,Nn=1yijnxmn>00,Nn=1yijnxmn=0
    (1)
    θm=Ni=1Nj=1Zijmfij,m
    (2)

    定义1 数据流fij的控制路径长度γij。定义数据流fij的控制路径长度为数据流经过的控制域的个数,如式(3)。对于域内流,γij=1

    γij=Mm=1zijm
    (3)

    定义2 流处理请求消耗的控制资源L。根据以上分析,控制资源消耗与数据流的控制路径长度正相关。对于数据流fij,其流请求处理消耗的控制资源定义为流请求数量fij和其控制路径长度γij的乘积。因此,为处理全部流请求,控制平面总的控制资源消耗L如式(4)。

    L=Ni=1Nj=1fijγij
    (4)

    定义3 控制流量开销ϕ。控制流量包括交换机向控制器上传的流处理请求和控制器生成规则安装到相应交换机的流量。由于控制器和交换机之间采用带内通信的模式,控制流量自然要占用数据平面稀缺的带宽资源。dik为交换机si和控制器ck通信的距离,这里以跳数来计算。因此,整个网络的控制流量开销为ϕ。如式(5)。

    ϕ=Mk=1Ni=1fijdikxik
    (5)

    本文的优化目标为在确保控制器和交换机之间的控制流量开销处在合理范围的同时,最大限度地减少控制资源消耗。因此,基于流量工程的SDN控制资源优化(Traffic Engineering based Resource Optimization, TERO)问题的目标函数如式(6),权值η(0,1)

    minNi=1Nj=1fijγij+ηMk=1Ni=1fijdikxik
    (6)
    s.t. θmαβ,m
    (7)
    xik{0,1},i,k
    (8)
    Mk=1xik=1,k
    (9)
    dikδ,i,k
    (10)

    其中,约束式(7)表示所有控制器不得超载,约束式(8)表示xik取值范围为(0, 1),约束式(9)表示每一个交换机只能与1个控制器关联,约束式(10)限制交换机和控制器之间的最大距离小于δ

    为了实现TERO问题的快速求解,本节把该控制资源优化机制设计为2个阶段。其中,阶段1为最小集合覆盖算法(Minimum Set Coverage, MSC),将控制器和交换机关联问题转化为集合覆盖模型,利用较少的控制器来尽可能地覆盖数据流路径上的交换机;阶段2为联合博弈策略(Coalitional Game, CG),控制器之间通过协作交互,对控制器关联问题进行调整。

    阶段1把控制器和交换机之间的关联问题转化为集合覆盖模型,并提出最小集合覆盖算法来解决控制器和交换机的关联问题。在OpenFlow1.3中,每个交换机通过设主控制器、同等控制器、从控制器3个角色和多个控制器建立联系。如图3所示控制器和交换机备选关系拓扑,对于一条数据流fij,其经过的路径集合path={s1,s2,s5,s7,s9}图4为经过最小集合覆盖算法后,所得控制器和交换机的关联关系c1={s1,s2,s3,s4,s5}, c2={s6}, c3={s7,s8,s9,s10}。可以看出,通过最小集合覆盖算法,原本可能需要3个控制器完成的流处理请求,现在只需要两个控制器完成。

    图 3  控制器-交换机备选关系拓扑
    图 4  控制器-交换机关联后拓扑

    对于集合覆盖问题,随着问题规模的扩大,其解空间呈指数增长,用一般的启发式策略难以求解,在求解NP难问题时,用完备策略不仅能降低问题求解的难度,又能保留问题的最优化解,所以它是求解NP难问题的重要策略。因此,本文建立完备策略来设计最小集合覆盖算法。下面描述最小集合覆盖问题以及对应的完备策略:

    最小集合覆盖问题:S是一个集合,S1, S2,···, Sm分别是S的一个子集,且Si=S,求集合S的最小集合覆盖。

    最小集合覆盖问题的完备策略:

    完备策略1 如果S1, S2, ···, Sm中的一个集合Si=S,则选择Si作为最优覆盖中的唯一的集合。

    完备策略2 如果存在某个元素xS, x只属于S1, S2, ···, Sm中的一个集合Si,则选择Si作为最优化中的一个集合。

    完备策略3 如果存在SiSj,则排出Si

    完备策略4 设Sn(x)表示xSi集合的序号组成的集合,如果Sn(x)Sn(y),则删除S中的y

    本文设计一种基于4个完备策略的最小集合覆盖算法来解决控制器-交换机关联问题。最小集合覆盖算法执行的过程如表1所示。首先初始化控制器-交换机映射关系SC={·},已关联的交换机set_switches={·};第(2)步,Flow_sort(·)函数是统计所有端到端流量,计算出每个路径上经过的数据流的总量,并按降序排列;第(4)~(10)步是针对每条路径,循环搜索各个集合,看是否满足完备策略,如果不满足4个完备策略,就采用贪婪算法,将交换机优先关联到覆盖交换机最多的控制器上;最后直到所有路径上的所有交换机都已关联,算法终止。

    表 1  最小集合覆盖算法执行过程
     算法1 最小集合覆盖算法(Minimum Set Coverage)
     输入: SDN网络拓扑邻接矩阵G=[aij];网络中流处理请求矩阵F=[fij];控制器所能关联的备选集合:Ci={S1,S2,···,Si};控制器的
    容量及冗余因子:αm, β
     输出:控制器-交换机之间的映射关系:X=[xij]
     (1) 初始化:控制器-交换机关联关系SC={·};已关联的交换机set_switches={·};
     (2) 统计网络中端到端流量分布Flow_pair=Flow_sort(F);
     (3) while I in Flow_pair:遍历网络中流量
     (4)  Path_switch= Dijkstra(G, i);计算端到端流量的路径
     (5)  while Path_switch: 循环4个完备策略
     (6)   if Path_switch Ci:若满足完备策略1, SC[Ci]={Path_switch };流经过的所有交换机关联到Ci
     (7)   if SiPath_switch AND SiCj满足完备策略2, SiCj; Si关联到Cj
     (8)   if 存在CiCj:满足完备策略3,则SiCj;交换机Si优先关联到Cj
     (9)   if Sn(Si)Sn(Sj):满足完备策略4SiCj;交换机Si优先处理
     (10)   else 如果上述4个完备策略都不能满足:实行贪婪算法switch = max(Path_switch & Ci);寻找关联交换机较多的控制器SC[Ci]=
    {switch};将相应交换机关联到控制器Ci
       end if; end while;
     (11) end while;
     (12) SC={Cj={Sj,Sj+1,···,Sn};输出控制器-交换机映射关系
    下载: 导出CSV 
    | 显示表格

    阶段1的最小集合覆盖算法本质上是一种贪婪算法,它在解决大规模网络问题提供了一种快速求解的算法。然而,仅采用最小集合覆盖算法会产生不平衡的控制器关联关系。如图5所示为阶段1得出的控制器-交换机关联关系,对于数据流f1f2,跨域已经不可避免,最小集合覆盖算法得出的控制器-交换机关系会导致控制器负载不均衡,其中控制器c1管理的交换机要比控制器c2管理的交换机要多,而且交换机s7s8到控制器c1的距离要大于控制器c2,这会导致控制流量开销太大。

    图 5  阶段1输出的控制器-交换机关系

    为了更合理地平衡控制器和交换机之间的关联关系,阶段2引入联合博弈策略对控制器关联问题进行调整,在博弈过程中,每个控制器会计算域内每条数据流所产生的控制资源消耗和控制流量开销,为了最大限度地减少自身资源消耗,控制器会将域内的交换机迁移到其他控制器上,完成交换机迁移的条件有2个:

    (1) 所有控制器cm都满足θmαβ,即所有控制器均不过载;

    (2) 对于数据流fij, fijγij+δfijdikxikfijγij+δfijdikxik,即交换机迁移后,相应的数据流总的资源消耗降低了。

    联合博弈策略执行过程如表2所示。第(1)~(3)步每个控制器分别计算域内每条数据流产生的资源消耗;第(5), (6)步每个控制器会优先选择资源消耗较多的交换机进行迁移;第(7), (8)步比较迁移前后资源消耗情况,若迁移后,资源消耗有所减少,则其他控制器会接受迁移。该过程会不断迭代,直到所有控制器都不会发出迁移请求。

    表 2  联合博弈策略执行过程
     算法2 联合博弈策略Coalitional Game
     输入:算法1输出的控制器-交换机之间的关联关系X=[xij]
     输出: 控制器-交换机之间的关联关系X=[xij]
     (1) 初始化X=[xij], αm, β
     (2) repeat
     (3)  for each si in F:寻找可能存在的交换机迁移
     (4)   Initial migration pair si:cmCn;找到满足两个条
    件的交换机迁移对
       end for
     (5)  for each cm:对于每一个控制器
     (6)   Lij=fijdklxikxjl+δcik;计算每条数据流的资源消耗
     (7)   if si:cmCn and θnα×β;保证控制器不过载,
    寻找可能的交换机迁移
     (8)    Lij=fijdklxikxjl+δcik;假设迁移,计算新的资源
    消耗
     (9)    if LijLij: 若交换机迁移前后,资源消耗减少了,
    则接受迁移
     (10)     sicj;实施交换机迁移Lij=Lij;更新的资源
    消耗
     (11)   end if; end for;
     (12) 直到系统没有任何交换机要求迁移,则算法收敛
    下载: 导出CSV 
    | 显示表格

    本文所提TERO机制的算法复杂度主要来源于两个阶段,阶段1其计算复杂度主要来源:(1) 对集合的不断扫描,并判断是否符合完备策略,其计算复杂性为:O(NM)+O(NM)+O(N2M)+O(NM2); (2) 贪婪算法的复杂度,其计算复杂性为O(NM)。阶段2的计算复杂性主要来源于控制器寻找必要的交换机迁移,搜索空间为O(NM)。因此,该资源优化算法的计算复杂性为O(NM)+O(NM)+O(N2M)+O(NM2)+O(NM)+O(NM)。随着网络规模的增加,该算法的求解空间几乎呈线性增长,避免了传统方法求解时组合爆炸的问题,保证了算法在有效时间内找到近似最优解。

    本节对TERO机制的性能进行仿真验证,关于实验环境和参数设置说明如下:

    仿真选取RYU[12]作为实验控制器,同时在Mininet[13]上进行拓扑测试。为了提高实验效率,将RYU控制器和Mininet以虚拟机的形式部署在2个不同的物理主机上,虚拟机为Ubuntu Server16.04,搭载Intel Core i7-3770 3.40 GHz处理器,8 GB内存。其中一个物理主机承载7个虚拟机,每个虚拟机均运行RYU控制器,另一个虚拟机运行Mininet。

    仿真采用的拓扑取自Internet Topology Zoo[14]上的Interoute,其中包含110个节点,149条链路,Interoute网络具有地理覆盖范围广,高度分布的特征,其网络中的数据流传输路径较长,具有明显的跨域特征。在Interoute网络中SDN控制器数目设为7,其中每个控制器的处理容量相同设为1800 k flows/s[8]。这里假设采用跳数作为控制器和交换机之间距离的衡量标准来进行控制器的部署,控制器与交换机之间的最大距离设为6跳。实验中每个交换机连接3个主机。当实验启动时,为了模拟动态的网络流量,数据流在主机上的生成和消失服从泊松分布,交换机流请求率设为100~500 k flows/s,其中数据流路径采用dijkstra算法求得。实验结果借助MATLAB工具进行分析。

    为了验证TERO机制在SDN网络中的性能,在这里与控制器-交换机静态关联机制(Static Switch-Controller strategy, SSC)[15]、控制器-交换机就近关联机制(Nearest Migration Decision, NMD)[16]进行对比。(1) SSC:控制器部署按照交换机的距离进行聚类分析,并划分管理域,一旦控制器部署完成便不会改变控制器-交换机关联关系。(2) NMD:控制器动态关联机制,当控制器负载超过设定的阈值时,便启动交换机迁移,优先迁移到距离最近的控制器上。

    5.2.1   实验1

    本实验得出的3种机制的控制资源消耗和控制流量开销如图6图7所示。从图6中可以看出,TERO控制资源消耗最低,NMD次之,SSC控制资源消耗最多。从图7可以看出,TERO和NMD控制流量开销均保持较低水平,而SSC带来了巨大的控制流量开销。这是因为SSC采用静态关联机制,不能根据流量的变化动态改变控制资源消耗;NMD采用就近控制器关联机制,在一定程度上能使经过数据流较多的交换机关联到同一个控制器上,起到了局部优化的效果,降低了控制资源消耗,同时能最大限度的缩短控制器和交换机之间的距离;而TERO机制对全网数据流路径进行统计,通过最小集合覆盖算法,数据流经过的控制域最小,控制资源消耗也就最少,同时也避免了数据流由于跨域带来的不必要的控制流量开销。根据实验结果求平均值得,相比SSC和NMD,采用TERO机制来求得的控制器与交换机之间的关联关系平均能减少33%和28%控制资源消耗,平均能减少45%和8%的控制流量开销。

    图 6  控制资源消耗对比
    图 7  控制流量开销对比
    5.2.2   实验2

    为了探究本文所提TERO机制阶段1和阶段2的关系,本实验把阶段1的最小集合覆盖算法(MSC)得出的实验结果和TERO机制进行对比。从图8图9中可以看出,MSC算法得到的控制资源消耗和TERO基本相等,而MSC算法计算出的控制器-交换机关联关系产生了大量的控制流量开销,这是由于阶段1的MSC算法本质上是一种贪婪算法,尽可能地将更多的流分配给较少的控制器处理,而忽略了交换机与控制器之间的距离;TERO机制引入联合博弈策略,在保持控制资源消耗基本不变的前提下,调整控制器-交换机之间的关联关系,进而降低了控制流量开销。

    图 8  MSC算法和TERO控制资源消耗
    图 9  MSC算法和TERO控制流量开销
    5.2.3   实验3

    为了说明本文所提TERO机制的普遍性,实验3从The Internet Topology Zoo给出的公共网络拓扑中选取4个规模差异较大的网络拓扑进行仿真实验,网络拓扑信息及相应参数设置如表3

    表 3  实验拓扑数据
    网络拓扑节点数链路数控制器数距离阈值
    ARNES344743
    ChinaNet426654
    Interllifiber739365
    Interoute11014976
    下载: 导出CSV 
    | 显示表格

    图10给出了3种机制在不同SDN网络中控制资源消耗情况。相比SSC和NMD,采用TERO机制分别平均可以减少约30%和10%的控制资源消耗。图11描述了在不同的SDN网络拓扑下控制器负载均衡率,以各控制器经过归一化处理后的负载标准差作为控制器负载均衡率的指标。与SSC和NMD相比,TERO机制得到的控制器负载均衡率均较低,因为SSC是以交换机的数目为衡量标准进行静态关联的,在数据流分布均匀的网络中,有较好的负载均衡的效果;NMD在控制器不过载的情况下,能根据节点的距离进行就近关联,具有一定的负载均衡能力;而TERO机制倾向于将更多的数据流路径上的交换机关联到较少的控制器上,以降低数据流跨域带来的控制资源消耗,但是这会造成严重的控制平面负载失衡。

    图 10  不同网络拓扑控制资源消耗
    图 11  不同网络拓扑控制器负载均衡率

    本文针对软件定义网络分布式控制平面中由于网络分域管理所引发的控制扩张问题,提出了基于流量工程的SDN控制资源优化机制。首先分析了SDN控制器对数据流请求的处理过程,指出改变控制器和交换机的关联关系可以降低控制资源消耗;然后权衡控制资源消耗和控制流量开销,将该问题建模为组合优化问题。最后,设计了最小集合覆盖算法,将同一路径的交换机关联到较少的控制器;在此基础上,引入联合博弈策略,来寻求较优的控制器-交换机关联方案。与控制器-交换机就近关联机制相比,本文所提基于流量工程的SDN控制资源优化机制可以减少约28%的控制资源消耗和8%控制流量开销。

  • 图  1  基于两阶段寻优SDA的流量异常检测模型

    图  2  基于PSO的SDA结构两阶段寻优算法流程

    图  3  二分类场景下SDA结构寻优过程

    图  4  多分类场景下SDA结构寻优过程

    表  1  隐藏层层数寻优算法

     输入:流量异常检测数据集,NP,tmax, w, c1, c2, lmax, lmin, vl,max, vl,min, nmax, nmin, vn,max, vn,min
     输出:具有lgbest个隐藏层且每层节点数为ngbest的SDA
     for i=1toNP do
      采用式(5)—式(8)对粒子群进行初始化,并分别将li,pbestni,pbest初始化为li(0)ni(0)
      基于实验数据,采用式(9)计算粒子i的适应度值;
     将最小适应度值对应的ln设置为lgbestngbest初始化值;
     for t=1totmax do
      for i=1toNP do
       采用式(1)—式(4)更新粒子ili(t)速度和数值,以及ni(t)的速度和数值;
       if vli(t), li(t),vni(t) or ni(t)超过其搜索范围
        对vli(t), li(t),vni(t) or ni(t)再次进行随机初始化;
       生成具有li(t)个隐藏层且每层节点数为ni(t)的SDA;
       基于实验数据,采用式(9)计算粒子i的适应度值;
       if(fit(li(t),ni(t))<fit(li,pbest,ni,pbest))//若粒子i的适应度值小于局部最优值对应的适应度值,则对局部最优值进行更新
        分别将li(t)ni(t)赋值给li,pbestni,pbest
       if(fit(li(t),ni(t))<fit(lgbest,ngbest))//若粒子i的适应度值小于全局最优值对应的适应度值,则对全局最优值进行更新
        分别将li(t)ni(t)赋值给lgbestngbest
     迭代结束后,生成具有lgbest个隐藏层且每层节点数为ngbest的SDA;
     return 具有lgbest个隐藏层且每层节点数为ngbest的SDA。
    下载: 导出CSV

    表  2  隐藏层每层节点数寻优算法

     输入:流量异常检测数据集,NP, tmax, w, c1, c2, vmax, vmin, lgbest, ngbest
     输出:最优SDA结构
     for i=1 to NP do
      for h=1 to lgbest do
       初始化粒子位置n(h)i(0)=ngbest,采用式(12)初始化粒子速度,并将局部最优向量ni,pbest中的n(h)i,pbest初始化为ngbest
     设置全局最优向量ngbest=min{n1,pbest,n2,pbest,···,nNP,pbest}=[ngbestngbest···ngbest]T
     for t=1totmax do
      for i=1toNP do
       for h=1tolgbest do
        采用式(10)和式(11)更新粒子i位置向量ni(t)中元素n(h)i(t)的速度和数值;
        if v(h)i(t) or n(h)i(t)超过其搜索范围
         对v(h)i(t) or n(h)i(t)再次进行随机初始化;
       根据更新后的ni(t),将SDA每个隐藏层的节点数分别更新为n(1)i(t),n(2)i(t),···,n(lgbest)i(t)
       基于实验数据,采用式(13)计算粒子i的适应度值;
       if(fit(ni(t))<fit(ni,pbest))//若粒子i的适应度值小于局部最优向量对应的适应度值,则对局部最优向量进行更新
        ni,pbestni(t)
      ngbestmin{n1,pbest,n2,pbest,···,nNP,pbest};//采用局部最优向量中的最小值更新全局最优向量
     迭代结束后,根据最终ngbest分别将SDA的隐藏层每层节点数更新为n(1)gbest,n(2)gbest,···,n(lpbest)gbest
     return 最优SDA结构。
    下载: 导出CSV

    表  3  二分类场景不同模型检测性能

    模型类型基于SAE的异常
    检测模型
    基于传统SDA的
    异常检测模型
    基于一阶段寻优SDA的
    异常检测模型
    基于两阶段寻优SDA的
    异常检测模型
    模型结构[28, 3, 2, 2, 2, 1, 3, 3, 3, 2][28, 28, 28, 28, 2][28, 2, 2, 2, 2, 2, 2, 2, 2, 2][28, 3, 2, 2, 2, 1, 3, 3, 3, 2]
    Acc (%)86.2986.5286.5892.68
    DR (%)92.8596.1094.7596.80
    Rec (%)90.0492.6889.2694.48
    FPR (%)4.963.383.512.72
    Ttr(m)8.248.527.458.50
    Tte(s)0.180.180.180.18
    下载: 导出CSV

    表  4  多分类场景不同模型检测性能

    模型类型基于SAE的异常
    检测模型
    基于传统SDA的
    异常检测模型
    基于一阶段寻优SDA的
    异常检测模型
    基于两阶段寻优SDA的
    异常检测模型
    模型结构[28, 24, 5][28, 28, 28, 28, 5][28, 25, 5][28, 24, 5]
    Acc (%)84.1284.3184.9685.37
    NormalDR (%)84.5885.3785.8786.34
    Rec (%)96.7496.8897.0197.28
    FPR (%)17.9818.8918.0617.25
    DoSDR (%)94.0894.7494.9295.59
    Rec (%)83.6584.5182.6385.88
    FPR (%)2.052.042.021.72
    ProbeDR (%)79.4275.5879.7183.27
    Rec (%)65.1467.2963.7868.28
    FPR (%)1.782.211.701.34
    R2LDR (%)90.9692.0683.7890.50
    Rec (%)58.2360.9958.3460.23
    FPR (%)0.270.210.570.30
    U2RDR (%)88.0528.6072.5876.19
    Rec (%)2.502.004.503.00
    FPR (%)0.010.030.010.01
    Ttr(m)3.946.326.545.36
    Tte(s)0.200.400.410.26
    下载: 导出CSV

    表  5  多分类场景不同模型检测含噪流量的准确率

    模型类型Acc (%)
    0.10.20.3
    基于SAE的异常检测模型81.5779.3176.69
    基于传统SDA的异常检测模型83.6383.5483.48
    基于一阶段寻优SDA的异常检测模型84.7184.5284.23
    基于两阶段寻优SDA的异常检测模型85.0885.0185.02
    下载: 导出CSV
  • KWON D, KIM H, KIM J, et al. A survey of deep learning-based network anomaly detection[J]. Cluster Computing, 2019, 22(Suppl 1): 949–961.
    高妮, 高岭, 贺毅岳, 等. 基于自编码网络特征降维的轻量级入侵检测模型[J]. 电子学报, 2017, 45(3): 730–739. doi: 10.3969/j.issn.0372-2112.2017.03.033

    GAO Ni, GAO Ling, HE Yiyue, et al. A lightweight intrusion detection model based on autoencoder network with feature reduction[J]. Acta Electronica Sinica, 2017, 45(3): 730–739. doi: 10.3969/j.issn.0372-2112.2017.03.033
    ALRAWASHDEH K and PURDY C. Toward an online anomaly intrusion detection system based on deep learning[C]. The 15th IEEE International Conference on Machine Learning and Applications, Anaheim, USA, 2016: 195–200. doi: 10.1109/ICMLA.2016.0040.
    JAVAID A, NIYAZ Q, SUN Weiqing, et al. A deep learning approach for network intrusion detection system[C]. The 9th EAI International Conference on Bio-inspired Information and Communications Technologies, New York, USA, 2015: 21–26. doi: 10.4108/eai.3-12-2015.2262516.
    YOUSEFI-AZAR M, VARADHARAJAN V, HAMEY M, et al. Autoencoder-based feature learning for cyber security applications[C]. The 2017 International Joint Conference on Neural Networks, Anchorage, USA, 2017: 3854–3861. doi: 10.1109/IJCNN.2017.7966342.
    WANG Wei, ZHU Ming, ZENG Xuewen, et al. Malware traffic classification using convolutional neural network for representation learning[C]. 2017 International Conference on Information Networking, Da Nang, Vietnam, 2017: 712–717. doi: 10.1109/ICOIN.2017.7899588.
    王勇, 周慧怡, 俸皓, 等. 基于深度卷积神经网络的网络流量分类方法[J]. 通信学报, 2018, 39(1): 14–23. doi: 10.11959/j.issn.1000-436x.2018018

    WANG Yong, ZHOU Huiyi, FENG Hao, et al. Network traffic classification method basing on CNN[J]. Journal on Communications, 2018, 39(1): 14–23. doi: 10.11959/j.issn.1000-436x.2018018
    YU Yang, LONG Jun, and CAI Zhiping. Session-based network intrusion detection using a deep learning architecture[C]. The 14th International Conference on Modeling Decisions for Artificial Intelligence, Kitakyushu, Japan, 2017: 144–155. doi: 10.1007/978-3-319-67422-3_13.
    VINCENT P, LAROCHELLE H, LAJOIE I, et al. Stacked Denoising Autoencoders: Learning useful representations in a deep network with a local denoising criterion[J]. The Journal of Machine Learning Research, 2010, 11: 3371–3408.
    Canadian Institute for Cybersecurity. NSL-KDD dataset[EB/OL]. https://www.unb.ca/cic/datasets/nsl.html, 2018.
    QOLOMANY B, MAABREH M, AL-FUQAHA, et al. Parameters optimization of deep learning models using particle swarm optimization[C]. The 13th International Wireless Communications and Mobile Computing Conference, Valencia, Spain, 2017: 1285–1290. doi: 10.1109/IWCMC.2017.7986470.
    WANG Yao, CAI Wandong, and WEI Pengcheng. A deep learning approach for detecting malicious JavaScript code[J]. Security and Communication Networks, 2016, 9(11): 1520–1534. doi: 10.1002/sec.1441
    陈建廷, 向阳. 深度神经网络训练中梯度不稳定现象研究综述[J]. 软件学报, 2018, 29(7): 2071–2091. doi: 10.13328/j.cnki.jos.005561

    CHEN Jianting and XIANG Yang. Survey of unstable gradients in deep neural network training[J]. Journal of Software, 2018, 29(7): 2071–2091. doi: 10.13328/j.cnki.jos.005561
    谷丛丛, 王艳, 严大虎, 等. 基于自编码组合特征提取的分类方法研究[J]. 系统仿真学报, 2018, 30(11): 4132–4140. doi: 10.16182/j.issn1004731x.joss.201811011

    GU Congcong, WANG Yan, YAN Dahu, et al. Research on classification based on autoencoder combination features extraction method[J]. Journal of System Simulation, 2018, 30(11): 4132–4140. doi: 10.16182/j.issn1004731x.joss.201811011
    FIORE U, PALMIERI F, CASTIGLIONE A, et al. Network anomaly detection with the restricted Boltzmann machine[J]. Neurocomputing, 2013, 122: 13–23. doi: 10.1016/j.neucom.2012.11.050
    KINGMA D and BA J. Adam: A method for stochastic optimization[C/OL]. https://arxiv.org/abs/1412.6980, 2017.
  • 期刊类型引用(7)

    1. 张涛,张龙,张国群,贾桂芬,孙俊格. 软件定义系统技术研究综述. 空天防御. 2024(02): 1-7+35 . 百度学术
    2. 周淑怡,赵成安,王灏茗,陈文龙. OpenTDR:一种网络流量控制方案. 科学技术与工程. 2024(35): 15152-15162 . 百度学术
    3. 刘奕,李建华,陈玉. 基于对偶分解的数据中心网络流量工程方法. 计算机仿真. 2022(06): 346-350 . 百度学术
    4. 向敏,饶华阳,张进进,陈梦鑫. 基于图卷积神经网络的软件定义电力通信网络路由控制策略. 电子与信息学报. 2021(02): 388-395 . 本站查看
    5. 史久根,杨旭,刘雅丽,孙立. 软件定义网络中快速和一致的流更新策略. 电子与信息学报. 2021(09): 2617-2623 . 本站查看
    6. 刘敏,张霄,王浩,刘丽榕. 基于蚁群链路权值的电力通信网络负载均衡算法. 信息技术. 2020(08): 126-131 . 百度学术
    7. 刘奕,李建华,陈玉,齐子森. 一种数据中心网络节点的共享保护算法. 信息网络安全. 2020(10): 27-33 . 百度学术

    其他类型引用(5)

  • 加载中
图(4) / 表(5)
计量
  • 文章访问数:  5460
  • HTML全文浏览量:  2237
  • PDF下载量:  310
  • 被引次数: 12
出版历程
  • 收稿日期:  2019-04-18
  • 修回日期:  2019-10-09
  • 网络出版日期:  2019-10-16
  • 刊出日期:  2020-03-19

目录

/

返回文章
返回