1.低网络开销的SDN流量异常精准快捷监测方法,其特征在于,针对流量异常监测问题在分类算法和监测触发机制上分别进行优化;在流量分类算法上,改进K近邻算法并通过分析SDN网络流量的不同特征对类型判别的影响差异,优化Relief算法求解衡量特征贡献程度的权值向量,将特征权值向量引入K近邻算法距离计算,通过距离投票权值累加实现流量类型划分;在监测触发机制上,通过解析异常状况控制器内部消息特点,以Packet_In消息数量作为判断监测触发的依据,采用基于距离的数据流异常监测算法来监控Packet_In消息数量异常实现对监测机制的触发,对比周期监测方式,触发机制的引入使得本申请方法拥有更短的响应时间和更低的硬件网络开销;
1)建立一套针对SDN环境下流量异常的监测方案,分为四个模块:监测触发模块通过判断Packet_In消息数量是否异常来决定是否启动流表信息收集,包括触发规则、异常判断和触发过程三个方面;流表信息收集模块采用控制器查询消息向交换机收集流表状态信息;流量特征提取模块计算流表状态信息,计算流数据包中位数MPf、对流比PPf、端口增速GDP、流字节中位数MBf、源IP生成速度GDS的值来组成五维流量特征向量;流量监测分类模块采用基于特征和距离加权的改进KNN算法对流量进行类型判断,最终识别出网络流量是否出现异常;
2)构建改进KNN的SDN环境下流量异常监测平台,改进原始KNN算法,提出加入特征权重和距离投票权重的改进KNN算法,优化Relief算法计算每个特征的权重,在进行分类计算时,采用距离关联因子来表示投票权重,采用改进的KNN算法来执行分类过程,建立SDN流量异常精准快捷监测平台。
2.根据权利要求1所述低网络开销的SDN流量异常精准快捷监测方法,其特征在于,改进KNN的SDN环境下流量异常监测:首先优化Relief算法计算每个特征的权重,在进行分类计算时,采用距离关联因子来表示投票权重,最终采用改进的KNN算法来执行分类过程,分类具体方法如下:(1)设已正确分类的样本集合为trained_set={y
(2)对检测样本中的特征向量按照式1进行归一化处理,防止小数据被大数据湮没,其中r
(3)采用Relief算法对归一化后的特征采用式2进行权值计算,得到特征权值向量{λ
(4)计算待测样本x
(5)计算k个近邻样本中两个类别所占有的投票权重ω
3.根据权利要求1所述低网络开销的SDN流量异常精准快捷监测方法,其特征在于,异常流量监测技术路线:对于控制器遭受流量攻击时进行监测,实例化为运行在SDN控制器上的应用,通过控制器的集中管理,收集网络关联数据进行流量异常监测;
共分为四个模块,分别是:监测触发模块,流表信息收集模块,流量特征提取模块和流量监测分类模块,监测触发模块触发流量监测,通过计算一段时间内Packet_In消息的数量是否异常来判断系统是否需要进行流量异常监测,只有在Packet_In消息数量异常后才开始进行流表信息收集和监测;流表信息收集模块向网络中所有交换机发出查询请求消息,交换机在接收到该请求后响应查询应答消息;流量特征提取模块根据交换机返回的流表状态信息计算出关联的流量特征值,并根据正常流量和异常流量组建训练样本集;流量监测分类模块根据训练样本集,采用本申请基于特征和距离加权的改进KNN分类算法对网络流量进行分类,监测流量是否存在异常,当存在流量异常时,系统发出警报,控制器采取进一步的措施来防范攻击的扩散。
4.根据权利要求1所述低网络开销的SDN流量异常精准快捷监测方法,其特征在于,触发规则:当交换机在接收到一个报文后会去查询流表匹配流表项,如果不存在匹配的流表项,该数据包将被封装成Packet_In消息的形式由交换机经安全信道发送给SDN控制器,Packet_In消息结构如下,控制器在收到消息后是决定将该数据包丢弃还是返回响应消息为该数据包建立新的流表项,如果控制器一直没有处理这类报文,交换机将频繁的将报文移交给控制器进行处理;
当SDN网络流量因为遭受网络攻击而出现异常时,网络中大量伪造IP的攻击数据包无法匹配流表项,控制器不断接收到交换机发来的Packet_In消息,此时控制器中该消息的数量将出现明显的异常,但此类异常并不足以说明网络遭受流量攻击,当SDN网络中拥有多个交换机时,其中单个交换机无法维护网络中所有的流表项,使得有些正常数据包无法在该交换机内被匹配,因此也会出现该交换机产生大量Packet_In消息的情况,这种情况就需要进行后续的监测步骤来进一步确定网络是否出现异常。
5.根据权利要求1所述低网络开销的SDN流量异常精准快捷监测方法,其特征在于,异常判断:以Packet_In消息数量异常作为判断触发监测系统的依据,利用滑动窗口模型,通过判断某时刻窗口内的待监测对象和其它对象的距离来判断该对象是否异常,计算固定时间内的Packet_In消息数量作为待监测对象,即可产生一条消息数量数据流,利用该算法进行异常监测,即可判断网络中Packet_In消息是否出现异常;
设S为有n个对象的集合,S={obj
Packet_In消息数量异常的判断:采用ISB队列来表示当前的滑动窗口,ISB是数据流中对象节点的集合,即ISB={nPacket_In消息数量异常的判断的具体流程为:
第一步:设距离临界值为R,邻近节点数量临界值为k,当前计算的Packet_In消息数量为m,移除当前窗口ISB中队首的节点;
第二步:创建一个新的节点n
n
第三步:遍历ISB中的每一个节点n,,如果|n,obj-m/<R,则nu..count_after加1,并且将n,.id加入集合n.....nn_before中。然后将n..加入ISB;
第四步:对于ISB中的每一个节点n
将某个时刻的滑动窗口内每个节点是否处于异常都标记出来,而对于新加入的队尾节点来说,如果该节点为异常值,则表明当前计算的Packet_In消息数量也是异常值,则监测系统被触发启动进行后续的监测过程。
6.根据权利要求1所述低网络开销的SDN流量异常精准快捷监测方法,其特征在于,触发过程:触发模块在一定的时间内计算Packet_In消息数量作为异常判断算法的输入进行计算,判断其值是否异常,首先设置一个计时器和计数器,当控制器中有新的Packet_In消息时,计数器进行累加并查看计时器是否结束,如果计时未结束,则将该消息转交给控制器进行处理,否则计数器停止计数,然后将计数器值作为输入,调用异常判断算法进行异常值判断,如果该值异常,则开始进行后面的监测模块,否则将该消息转交给控制器处理,然后将计数器归零并且启动新一轮的计时。
7.根据权利要求1所述低网络开销的SDN流量异常精准快捷监测方法,其特征在于,流表信息收集模块:针对交换机的流表项进行关联信息计算,控制器发送ofp_stats_request消息来请求交换机流表状态,交换机收到该消息后,搜集流表信息通过ofp_stats_reply消息来响应控制器的请求,ofp_stats_request和ofp_stats_reply消息结构相同;
将收集间隔时间设置为5秒,在获取流表状态信息后对其进行数据提取,提高监测模块监测的效率,在流表项匹配字段中设置一个12元组进行数据包和流表项的匹配;
在十二元组中,需要基本的网络五元组信息,同时还需要流表项中的计数器来计算关联数据报文数和字节数,提取和重构相关数据,发送到特征提取模块进行计算特征。
8.根据权利要求1所述低网络开销的SDN流量异常精准快捷监测方法,其特征在于,流量特征提取模块:采用的特征参数包括特征角度并加入源IP生成速度GDS作为补充,五个特征从不同的角度全面反映网络中流量变化的特性,具体如下:(1)流数据包中位数MPf:
取每条流表项在5秒内转发的数据包数量的中位数作为特征向量的第一个维度,当网络遭受流量攻击时,攻击者会伪造数据流中的源IP地址,相比正常状态,每道流中所含数据包会明显减少,流数据包中位数计算公式为:式4中M(t)表示t时刻的流数据包中位数,x
MPf=M(t+5)-M(t) 式5
中位数客观反映网络中数据流的情况;
(2)对流比PPf:在SDN中交互性的流表项成对出现,假设网络中存在两条数据流X和Y,当X和Y满足以下三点:
1)X的目标IP地址和Y的源P地址相同;
2)X的源IP地址和Y的目标IP地址相同;
3)X和Y采用相同的通信协议;
此时将X和Y称为一对对流,而当发送流量攻击时,攻击者会向网络中发送大量伪造源IP的单向流,网络中对流的比例会明显减少,PPf定义属于对流的流表项所占全部流表项的比例,将PPf作为特征向量的第二个维度,具体计算式如下:其中pairFlowNum表示5秒内网络中产生的对流对数,flowNum为流表中流表项的总数;
(3)端口增速GDP
将端口增速作为特征参数的第三个维度,其计算式如下:
式中numPort
(4)流字节中位数MBf
将流字节中位数作为特征向量的第四个维度,将每条流表项按照5秒内传输的字节数排序,取其中位数,公式如下:MBf=M(t+5)-M(t) 式9
式中y
9.根据权利要求1所述低网络开销的SDN流量异常精准快捷监测方法,其特征在于,流量监测分类模块:在SDN中根据已采集到的流量特征,采用关联的分类算法对流量进行分类,判断该时刻的流量是正常流量还是异常流量,采用的是加入特征和距离权重的改进KNN算法来完成流量分类;
流量监测的具体流程是:首先控制器中的流量信息采集模块分别在正常流量环境下和异常流量环境下每隔5秒采集交换机流表信息,流量特征提取模块计算计算关联特征参数组成特征向量,然后将这些特征向量分别组成正常流量训练样本集和异常流量训练样本集,流量监测分类模块优化Relief算法计算出每个特征的权重组成权重向量,完成监测系统的初始化,当网络需要进行流量异常监测时,控制器实时采集网络流量并计算特征向量,将其作为检测样本采用本申请改进分类算法进行分类,当监测出来网络中该时刻流量异常时,控制器发出警报,采取进一步的措施避免危险的扩散。