当前位置: 首页 > 专利查询>南通大学专利>正文

SDN环境下基于BP神经网络的P2P流量检测方法技术

技术编号:17146110 阅读:44 留言:0更新日期:2018-01-27 17:22
本发明专利技术涉及SDN环境下基于BP神经网络的P2P流量检测方法,包括如下步骤:步骤1)在SDN环境下构建BP神经网络模型,所述BP神经网络模型的输入包括用于区分P2P流量的特征,BP神经网络模型的输出为P2P流量检测结果;步骤2)通过设定的归一化公式将上述的输入特征直接带入神经网络进行训练;步骤3)重复步骤2)随着训练代数的增加,后一次的输出结果和前一次的输出结果误差逼近至某一个值时,神经网络完成收敛,BP神经网络模型完成训练,并将完成训练的BP神经网络模型分析检测其余的数据。有益效果为:本申请的P2P流量检测方法则是基于众多数据,对其进行深入的挖掘分析,找出区分P2P流量与非P2P流量的信息,给网络管理员判断P2P行为提供依据。

P2P traffic detection method based on BP neural network in SDN environment

P2P traffic detection method based on BP neural network under the environment of the present invention relates to SDN, comprising the following steps: 1) to construct BP neural network model in the SDN environment, the BP neural network model input includes features for distinguishing P2P flow, the output of the BP neural network model for P2P traffic detection results; step 2) by setting the input normalization formula of the above-mentioned characteristics directly into the neural network training; step 3) repeat step 2) with the increase of training algebra, the output after a first one output error approaching to a certain value, the convergence of neural network, BP neural network model to complete the training. And will complete the BP neural network model trained by the detection and analysis of the remaining data. The beneficial effects are as follows: the P2P traffic detection method of this application is based on many data, digging and analyzing it deeply, finding out the information that distinguishes between P2P traffic and non P2P traffic, and provides the basis for network administrator to judge P2P behavior.

【技术实现步骤摘要】
SDN环境下基于BP神经网络的P2P流量检测方法
本专利技术涉及SDN环境下P2P流量检测技术,尤其涉及一种SDN环境下基于BP神经网络的P2P流量检测方法。
技术介绍
SDN网络中研究成果很多,但是却很少有针对SDN下P2P流量检测方法的研究,因此本文选择SDN中的P2P流量检测方法进行研究。对于经过网络设备的P2P流量来说,其是由众多的小的数据包组成,对单独的数据包研究存在以下问题,一是将单个数据包归类为某一类数据包是无意义的,因为相似的数据包很多,某一种大小的数据包可以由任何软件产生。二是单个数据包难于反映整体情况,因为只有知道数据包的前面一个数据包和后面一个数据包才能连贯的分析数据包的情况。在对网络数据通过传统方法进行监测的时候,通常会存储下来大量的流量信息,它们以一定的格式存储在数据库中,供人们对历史数据进行检查。而许多机房的流量检测系统,通常会存有很多的历史数据,虽然这些检测系统会对历史数据做一些简单的分析,但是并没有对繁多的数据进行更深一步的挖掘,忽略了数据中隐藏的很多有价值的信息。传统方法采用离线P2P流量检测方法,该方法作用于存储设备中的流量信息,通过对存储设备中的流量信息进行统计分析、提取特征,并最终利用特征拟合成的模型。该方法可以应用于网络使用情况分析,例如当一个网络发生拥塞的时候,假设怀疑导致其拥塞的原因是过多的用户采用P2P软件下载文件,在进行网络拥塞原因分析时,可以首先提取离线P2P流量检测方法所需要的流量特征,利用离线的P2P流量检测方法进行分析,确定流量信息中哪些是P2P流量,哪些不是P2P流量。确定下来P2P流量之后,就可以分析出P2P流量的来源以及其所占比重,这些分析出来的结果可以供管理员对产生P2P流量的用户来采取相应的措施,包括提醒少用P2P流量软件,改变其计费方式等等。该方法的优势在于能够根据模型快速从大量混杂的流量当中找出P2P流量,从而得出分析报告,其典型的应用场景一般包括:(1)网络故障发生的时候,由于网络的流量数据已经保存到数据库当中,通过离线流量检测方法能够检测出发生故障的网段以及可能导致故障的主机等。(2)查看历史数据,需要对前一段时间内异常的情况进行统计,需要用离线的方法进行分析。虽然该检测方法能够应用于上述场景,但是该方法存在的缺点也是无法克服的,最明显的就是虽然能够从存储下来的流量中分出P2P流量,但是该方法检测出流量之后并不能根据检测的结果去实时的控制流量的传输,而只能够从数据的分析结果,对将来可能出现的行为做出一些预先的判断,因此其不能用于控制的场景,这大大的限制了其应用。在传统网络中,有很多致力于存储设备中流量信息的分析研究,文献《邓力为.基于遗传神经网络的P2P流量检测研究[D].电子科技大学,2013.》针对P2P流量中信息,首先利用半开连接初步筛选信息,其次将半开连接的一些特征作为神经网络的输入,最后利用拟合的模型去检测P2P流量和非P2P流量。文献《张蕊.大规模NetFlow数据上的P2P流量检测[D].复旦大学,2008.》则是单纯的根据一些特征信息,例如半开连接的数量、特征串等信息对P2P流量和非P2P流量信息进行筛选。文献《许博,陈鸣,胡超,孙瑞锦.基于NetFlow的P2P流分析系统[J].北京邮电大学学报,2010,(02):94-98》则是根据Netflow生成的一些统计信息进行判定。在传统网络中,这些网络流量数据的获得需要通过一台专用的设备收集分析。在SDN中有关流量方面的研究也有很多,例如利用流量的起点和终点信息建立起流量的信息矩阵,通过对矩阵当中的信息建模,对流量进行估算;利用流量的原目的地址信息检测网络病毒等等。但目前对于SDN中P2P流量检测方面的文献仍然比较少。
技术实现思路
本专利技术目的在于克服上述现有技术之不足,提供了一种SDN环境下基于BP神经网络的P2P流量检测方法,具体有以下技术方案实现:SDN环境下基于BP神经网络的P2P流量检测方法,包括如下步骤:步骤1)在SDN环境下构建BP神经网络模型,所述BP神经网络模型的输入包括用于区分P2P流量的特征,BP神经网络模型的输出为P2P流量检测结果;步骤2)通过设定的归一化公式将所述特征直接带入神经网络进行训练;步骤3)通过Sigmoid激活函数决定神经网络的每一个节点的最终输出值;步骤4)重复步骤2)步骤3)随着训练代数的增加,当当前的输出结果和前一次的输出结果误差逼近至一常数时,神经网络完成收敛,BP神经网络模型完成训练,并将完成训练的BP神经网络模型分析检测其余的数据。所述SDN环境下基于BP神经网络的P2P流量检测方法的进一步设计在于,所述步骤1)中用于区分P2P流量的特征包括五个维度,分别是平均包大小、平均流持续时间、流量大小、交互的IP数量以及端口数量。所述SDN环境下基于BP神经网络的P2P流量检测方法的进一步设计在于,主机端口号分布大于1024设定为P2P流量行为。所述SDN环境下基于BP神经网络的P2P流量检测方法的进一步设计在于,所述P2P流量检测结果为两个,分别为10和01编码输出,10表示神经网络的输出不是P2P流量,01表示神经网络的输出是P2P流量。所述SDN环境下基于BP神经网络的P2P流量检测方法的进一步设计在于,所述归一化公式如式(1):式中,Value当前需要处理的值,MinValue表示在当前属性列当中所有值的最小值,MaxValue表示在当前属性列当中所有值的最大值,δ表示变化梯度。所述SDN环境下基于BP神经网络的P2P流量检测方法的进一步设计在于,所述BP神经网络模型中各个神经元的激活函数用Sigmoid型函数表示,并用所述激活函数计算的结果来影响下一层节点的输入如式(2):其中e表示自然常数,x表示神经网络某一节点的输入值;BP神经网络Ho的实现算法如式(3):初始化各连接权值,使其被随机赋值为(-1,1)之间的数,隐层输出的值为,其中o表示隐层的第o个节点,对于输入训练集<PiOj><PiOj>,Pi输入的数值化特征,Oj表示最终希望得出的结果,i的取值范围是1,2,3…n,则n表示输入特征的种类数目,j表示输出结果的编码位数,输入层与隐层、隐层与输出层之间的连接权值用Wio表示,i表示前一层的第i个节点,o表示后一层的第几个节点,设定i的取值范围是1,2,3…n,则n表示输入特征的种树,j的取值范围为1,2,3…m,m表示输出结果的编码位数;输出层节点的输出值如式(4),其中o表示隐层的第o个节点,on表示隐层第o个节点以及输出层第n个节点的连接:式(4)中,x表示隐层节点的输出值;下降梯度为;权值的更新公式为:w(t)=w(t+1)+δεOn(6)δ表示变化梯度,ε表示学习率,t表示代数。本专利技术的有益效果本专利技术提出的SDN环境下基于BP神经网络的P2P流量检测方法对存储在存储设备中的流量信息分析、提取其有用特征,将特征带入神经网络进行训练,得出能够区分P2P流量的模型。且通过本专利技术方法拟合的BP神经网络模型能够在区分P2P流量与非P2P流量中起到一个很好的效果。附图说明图1为包平均大小示意图。图2为端口分布示意图。图3为流持续时间示意图。图4本文档来自技高网
...
SDN环境下基于BP神经网络的P2P流量检测方法

【技术保护点】
一种SDN环境下基于BP神经网络的P2P流量检测方法,其特征在于包括如下步骤:步骤1)在SDN环境下构建BP神经网络模型,所述BP神经网络模型的输入包括用于区分P2P流量的特征,BP神经网络模型的输出为P2P流量检测结果;步骤2)通过设定的归一化公式将所述特征直接带入神经网络进行训练;步骤3)通过Sigmoid激活函数决定神经网络的每一个节点的最终输出值;步骤4)重复步骤2)步骤3)随着训练代数的增加,当当前的输出结果和前一次的输出结果误差逼近至一常数时,神经网络完成收敛,BP神经网络模型完成训练,并将完成训练的BP神经网络模型分析检测其余的数据。

【技术特征摘要】
1.一种SDN环境下基于BP神经网络的P2P流量检测方法,其特征在于包括如下步骤:步骤1)在SDN环境下构建BP神经网络模型,所述BP神经网络模型的输入包括用于区分P2P流量的特征,BP神经网络模型的输出为P2P流量检测结果;步骤2)通过设定的归一化公式将所述特征直接带入神经网络进行训练;步骤3)通过Sigmoid激活函数决定神经网络的每一个节点的最终输出值;步骤4)重复步骤2)步骤3)随着训练代数的增加,当当前的输出结果和前一次的输出结果误差逼近至一常数时,神经网络完成收敛,BP神经网络模型完成训练,并将完成训练的BP神经网络模型分析检测其余的数据。2.根据权利要求1所述的SDN环境下基于BP神经网络的P2P流量检测方法,其特征在于所述步骤1)中用于区分P2P流量的特征包括五个维度,分别是平均包大小、平均流持续时间、流量大小、交互的IP数量以及端口数量。3.根据权利要求2所述的SDN环境下基于BP神经网络的P2P流量检测方法,其特征在于主机端口号分布大于1024设定为P2P流量行为。4.根据权利要求1所述的SDN环境下基于BP神经网络的P2P流量检测方法,其特征在于所述P2P流量检测结果为两个,分别为10和01编码输出,10表示神经网络的输出不是P2P流量,01表示神经网络的输出是P2P流量。5.根据权利要求1所述的SDN环境下基于BP神经网络的P2P流量检测方法,其特征在于所述归一化公式如式(1):式中,Value当前需要处理的值,MinValue表示在当前属性列当中所有值的最小值,M...

【专利技术属性】
技术研发人员:施佺刘德靖曹阳孙玲许致火邵叶秦朱森来沈琴琴
申请(专利权)人:南通大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1