APP下载

基于神经网络的P2P流量识别方法

2011-03-26李明贾波

关键词:网络流量数据流神经网络

李明,贾波

(浙江工商大学信息与电子工程学院,浙江杭州310018)

0 引言

随着互联网的迅速普及和P2P技术的快速发展,使互联网产生了大量安全问题:恶意软件、垃圾邮件、蠕虫、DoS攻击等,由此造成的危害也在不断升级[1]。传统的数据流监控产品一般都是基于ISO模型第三层、第四层进行监控,由于IP地址欺骗的存在和IP地址本身的可变性,IP地址无法做到与实际身份的精确匹配,使得基于IP地址的访问控制性能大打折扣,也使针对安全事件的分析追踪变得十分困难。再者,传统技术对于网络病毒、攻击的识别方法比较单一,一般只能采用对固定端口的监视,这都有可能导致对网络流量的分析失效。因此,迫切需要高效的P2P流量管理技术来减少这些危害,研究P2P流量的识别与监控对网络管理以及流量监控等有着非常重要的实际意义[2]。该文在对基于统计特征的P2P流量识别这一热门技术进行全面的归纳和分析的基础上,提出基于统计特征和小波神经网络相结合的识别方法。

1 网络流量识别

1.1 国内外研究现状

目前,国内对数据流挖掘的研究比较少。现今流行的P2P应用采用动态分配的TCP/UDP端口号,导致无法再用传统的报头信息分析方法来识别,这使得只使用传统方法来进行流量监测分析有一定的局限性。深度包检测(Deep Packet Inspection,DPI)的识别方法在技术上较为成熟,它不受端口变化的影响,能够快速识别出具体的P2P协议,准确率高,但是这种方法只能识别少量已知特征码的P2P协议,对加密的P2P流量束手无策。此外,很多P2P应用的协议未公开,并随着版本升级特征码有所变化,也给DPI方法带来困难。在国外,数据流挖掘方面两个比较有影响的研究小组:美国斯坦福(Stanford)大学的R.Motwani教授领导的研究小组以及美国伊利诺伊(UIUC)大学由C.Aggarwal和J.Han教授领导的研究小组[3]。前者的研究侧重于数据流管理、数据流的连续查询和数据流的聚类方面,提出了不同于传统数据库管理系统(DBMS)的数据流管理系统(DSMS)概念,他们的研究得到了美国国家自然科学基金的资助。后者的研究侧重于数据流分析方面,对于数据流的在线分析,从聚类、分类、频繁项集挖掘以及可视化等角度做了大量研究工作,他们的研究得到了美国军方和国家自然科基金的资助。

1.2 流量识别系统设计

小波神经网络具有实时学习、快速识别能力,稳定性和可塑性好等诸多优点,因此多用于解决各种分类问题[4]。但是,神经网络的高复杂度成为研究深入开展的瓶颈。

基于统计特征的识别方法通过对流的统计分析,接着进行特征归类,然后进行匹配识别。所需的识别时空复杂度较小,能够很好地应用于高速网络中的在线识别[5]。因此一经提出,基于统计特征的识别方法就成为研究热点。但是,流量特征的提取归类成为此方法开展的难点。

本文利用小波神经网的优越特性,首次采用小波神经网络结合统计特征的方法识别P2P流量,既解决了神经网络存在的较高复杂度和稳定性的关系问题,也克服流量特征的主动学习问题,实现P2P流量的准确识别。通过大量研究考证,设计出了流量识别系统结构框架。如图1所示。

图1 流量识别系统结构图

(1)提取样本库:首先获取常见流量类型特征的样本作为学习样本库,并应用这些样本对小波神经网络进行训练,形成训练样本库。经过训练以后,神经网络就以权值的形式存储这些流量类型的特征模型。在模型训练参数中我们加入P2P流量的统计特性,形成能够主动学习并且识别P2P流量的数据模型。

(2)特征匹配识别:当流量采集完成后,通过分析会话连接流的包长、进程数、传输字节量、包与包之间的间隔等信息与流量模型进行特征匹配,实现对P2P流量的分类和识别。

(3)神经网络分类识别:利用小波神经网络分类模块的二次识别分类,明确流量类型并将已经识别的流量类型文件报表发送至日志模块。

(4)生成日志文件:将流量分析统计的性能报表发送至汇总模块,生成日志文件报表,形成流量监控数据库并且实时更新,供网络管理员审阅,实时判断网络状况并做出实时处理。

1.3 小波神经网络分类模型

小波神经网络分类模型采用3层结构的网络结构,即输入层、隐含层和输出层。在输入层中有P个输入,即一次输入含有p个元素的输入序列,这p个元素是p个网络流量值,p表示预测流量与它之前的相关步数。隐含层包含N个神经元。输出层有N个神经元,输出为第k+1个网络流量的预测值[6]。w表示从m-1层的神经元i到第m层的神经元j之间的权值,a表示第m层神经元j的第k次输入,Ψm表示第m层的转移函数,b表示第m层的相应输出,即:

针对本文中采用的三层网络结构,隐含层的转移函数采用morlet小波,即:

式中,用θ表示所有参数的集合,网络的输入为p个网络流量为元素的一个流量序列,即⎿xk,xk-1,…,xk-p+1」,输出为第k+1个网络流量的预测值k+1。把预测值的均方误差函数作为目标函数:

为了使上述误差最小,得出网络模型的最优参数,本文采用共轭梯度下降法计算误差函数的最小值,令:

2 实证研究

2.1 原始数据统计

对学校生活区主要网络端口进行监控,一周内的网络流量统计如图2-5所示。

图2 生活区总流量统计

图3 本科生宿舍楼流量统计

图4 研究生宿舍楼流量统计

图5 生活区一周流量统计

由图2-5可知,生活区网络的访问流量有以下3个特点:

(1)峰谷期。由于学生的作息时间相对固定,每个正常工作日的早上10:00左右出现网络流量逐渐增长。一天中10:00~23:00为流量最大的时间段,由于学校规定本科生寝室23:00熄灯,因此23:00以后的网络流量逐渐回落;

(2)峰谷比例差异大在网络访问高峰期可以达到网络设备所允许的最大吞吐量,而在低谷期流量趋于零;

(3)网络流量潮汐现象很有规律,基本保持每日相同的流量变化规律。

利用wireshark对收集到的数据包进行初步的分析统计。Wireshark可以对捕获的报文进行解码分析和报文统计,统计当前捕获数据的一般信息,包括捕获时间、数据包数量、字节数、带宽等。部分报文分析信息如图6所示。

图6 报文分析

2.2 样本数据的提取

选取目前使用比较广泛的P2P应用进行流量数量采集,为识别系统中网络训练模块提供数据样本库。实验数据如表1所示。

表1 P2P应用的特征

通过对实验数据分析,在收集到的P2P应用的流量中,选取UDP、端口均方差和进程数这3个方面的特征。把实验结果作为样本训练库导入神经网络训练模型,形成能够通过特征匹配识别流量的数据模型。

2.3 实验结果分析

利用本文设计的识别系统对收集到的数据进行分类识别,依据系统运行结果,可以分析识别出生活区网络中出现的流量类型。查看日志模块性能报表,可以得到应用层混合流量中的流量类型。如表2所示。表格数据表明,采取小波神经网络、统计特征相结合的方法,实现了P2P流量的准确识别,并且有着较高的准确度。

表2 流量识别结果分析

3 结束语

本文采用小波神经网络、统计特征相结合的方法,实现了P2P流量的准确识别。实现网络资源的进一步控制和管理,提升网络服务的可用性和可靠性,进而提高网络用户的满意度。

在研究过程中发现如何使这种方法的结合变得灵活,同时具有可扩展性,以及面对更加复杂的网络状况高效性的保持,都值得研究。此外,利用主动学习方法的进一步具体化识别规则,提高神经网络数据训练的速度和主动学习的能力。将是以后进一步研究的方向。

[1]Yu Jian,Guo Ping.Application of optimized elm an neural network to network traffic prediction[J].Computer Engineering and De-sign,2008,29(17):4 531-4 534.

[2]Huang Shu-cheng,Qu Ya-hui.Survey on data stream classification technologies[J].Application Research Of Computers,2009,26(10):3 604-3 609.

[3]Klinkenberg R.Example selection vs example weighting[J].Intelligent Data Analysis,2004,8(3):281-300.

[4]Lei Ting,Yu Zheng-wei1.A wavelet neural network model of network traffic forecast[J].Journal Of Computer Applications,2006,26(3):526-528.

[5]柳斌.P2P流的测量与识别方法研究[D].武汉:华中科技大学,2009.

[6]韩志杰,王汝传.一种新的P2P网络流量预测模型[J].计算机科学,2008,35(9):39-41.

猜你喜欢

网络流量数据流神经网络
基于多元高斯分布的网络流量异常识别方法
基于神经网络的P2P流量识别方法
汽车维修数据流基础(上)
汽车维修数据流基础(下)
神经网络抑制无线通信干扰探究
AVB网络流量整形帧模型端到端延迟计算
基于神经网络的拉矫机控制模型建立
基于数据流聚类的多目标跟踪算法
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定