基于数据挖掘的P2P流量检测技术研究
2015-11-08谢生锋
谢生锋
(河南机电高等专科学校计算机科学与技术系 新乡 453000)
基于数据挖掘的P2P流量检测技术研究
谢生锋
(河南机电高等专科学校计算机科学与技术系新乡453000)
本文介绍了目前主流的几种P2P流量检测技术,并分析了它们的优缺点,最后通过对数据挖掘技术和关联规则的介绍,提出了一种通用的P2P流量检测技术方法,该方法通过对网络数据流的处理,挖掘频繁项集,得出关联规则,根据得到的关联规则来判断P2P网络流。
P2P流量检测数据挖掘关联规则
1 引言
近年来,随着P2P技术的快速发展,出现了各种类型的P2P应用软件,如文件共享系统、即使通讯系统、流媒体系统和视频点播系统等类型,这些应用软件在极大的方便用户的同时,但也带来了对整个互联网流量的影响,占用大量的网络带宽,导致网络拥塞,因此深入分析研究P2P流量的检测技术,监控和管理P2P服务,对保证互联网的正常运行非常重要。
2 P2P流量检测技术现状及优缺点
2.1基于端口的P2P识别
在第一代P2P应用中,大多数应用使用的都是固定端口号。通过取出TCP数据包或者UDP数据包首部的源端口或者目的端口,和常用的固定端口相比较,如果匹配,表明有一个P2P应用程序在运行。
基于端口的识别方法具有简单,易于实施的特点,同时还可以提示未知端口的出现。但是随着P2P软件允许手工选择端口,伪随机端口,比如使用传统Web服务的HTTP端口(80),这样就给区分P2P流量和其它网络流量带来困难,在这样的情况下,使用基于端口的P2P识别方法就不能准确的识别出P2P流量。
2.2基于流量特征的P2P识别[1]
P2P应用作为一种充分利用客户资源的新型应用,它在传输层表现出来的流量特征相对于其它应用,如HTTP、FTP、DNS等,有许多不同的地方。在实际应用中,发现P2P流量具有持续性和不分时段性,根据这些流量特征的特点来检测P2P软件。其优点有:
(1)由于P2P应用具有普遍共同的流量特征,新的P2P软件也符合这一特征,可以来发现新的P2P软件。
(2)虽然有的P2P软件采用了加密技术,但是根据流量特征,可以被检测到。
其缺点有:
(1)由于传输层流量特征一般不能明确指示应用层协议类型,所以这种方法对P2P软件分类的能力较弱,精确性不高。
(2)很多流量特征并不是P2P流量唯一具有的,其它软件也具有P2P软件具有流量特征,因此需要结合其它检测技术来排除非P2P软件。
2.3基于深层数据包检测的P2P识别
深层数据包检测DPI(Deep Packet Inspection)技术,就是对数据包应用层信息中的报文的协议指纹、协议签名进行流量识别,对于流经的实时网络流,采用模式匹配算法,判断是否包含特征库中的特征串,如果包含,则证明该网络流是P2P数据,不过特征库是根据具体的P2P软件的协议以及相应的特征代码建立起来的[5]。
由于DPI技术采用逐包分析、模式匹配技术,因此,可以对流量中的具体应用类型和协议做到比较准确的识别,并且易于理解、升级方便、维护简单。不过该识别技术具有滞后性,也就是当有新的P2P软件出现时,必须先升级特征库,才能识别出新的P2P软件。同时对采用加密的数据包,该技术的识别能力非常有限。
2.4基于深层流检测的P2P识别[2]
DFI(Deep Flow Inspection,深层流监测)技术是由美国Caspian公司提出,在NetFlow的识别功能基础上增加了Class、Bit Rate/Packet Rate、Delay Variation、Byte Count和Flow Duration等Qos信息,以加强对流量的识别控制能力,其核心思路是在流识别的基础上作出基于流行为的管理和控制。该识别技术能够识别加密的P2P软件,因为网络流的状态行为特征不会因加密而根本改变,因此不需要升级,但是DFI作为一项由Caspian公司提出的技术,由于其技术专利的限制,DFI技术平台相对封闭。
3 数据挖掘技术应用研究
通过对上面主要的P2P识别技术的介绍,可以看出它们各有优缺点,都不能适应各种各样的P2P软件,为此本文通过运用数据挖掘技术,设计出一种通用的P2P检测技术方法。
3.1数据挖掘及其关联规则
数据挖掘是今年来数据库应用领域中的一种热门技术,它是指在数据库中,利用各种分析方法与技术,将过去所积累的大量繁杂的历史数据,进行分析、归纳与整合工作,以萃取出有用的信息,找出有意义且用户有兴趣的模式,提供进行决策的参考依据。通过数据挖掘技术能够找寻隐藏在数据中的信息,如变化趋势、特征及相关性,也就是从数据中挖掘信息和知识[3]。
关联规则是数据挖掘中的重要技术,其目的就是发现大量数据中项集之间有意义的关联或相关联系。它包括项集、支持度以及可信度等重要概念,其中项集是一组项,每个项都是一个属性值,支持度是用于度量一个项集出现的频率,可信度是用概率来衡量的,其数值等于项集A的支持度除项集{A,B}的支持度。关联规则挖掘的执行步骤包括如下:首先是给定最小支持度及最小可信度,其次根据关联规则算法—Apriori算法,挖掘频繁项集,最后根据频繁项集生成关联规则[4]。
3.2关联规则挖掘和检测P2P网络流的方法
根据关联规则挖掘的执行步骤,检测P2P网络流须执行以下以下几个部分:
(1)数据源的获取
通过截获网络数据包来作为数据源,在Windows平台下, WinPcap是用于网络封包抓取的一套工具,它可以作为高级程序语言访问网络底层的API接口,只需把编译好的库文件引用过来,在程序中调用库中的函数,其功能可以实现捕获原始数据包,根据定义的规则过滤要发送的数据包,网络流量统计等。在Linux平台下,有基于命令行的抓包工具-Tcpdump
(2)数据处理,建立项集
要建立项集,需要对截获的网络数据包进行处理,首先要过滤掉DNS、SNMP、FTP等数据包,对TCP/UDP数据包进行拆包操作,找出源IP地址、源端口号、目的IP地址、目的端口号、协议类型、连接的ID和截获时间等主要网络数据,需要注意的是TCP的连接建立包含3次握手过程,对于一些失败的连接应去掉,UDP不存在此问题,只需将每个UDP包视为一次连接即可,同时还要统计IP地址在单位时间内的接受和发送包的数目,最后将这些主要数据导入数据库,做为建立项集的主要的属性。
(3)挖掘频繁项集,生成关联规则,判断P2P网络流
通过Apriori算法,扫描数据库,来找出频繁项集,不过Apriori算法的效率比较低,因为Apriori算法是不断的迭代来找出频繁项集,现在已有改进的Apriori算法,能减少数据库的扫描次数,根据频繁项集,设定支持度和可信度,来生成关联规则,这时生成的关联规则并不是最终的规则,因为网络流是不断变化的,需要重复上述过程,将多次生成的关联规则合并,挖掘频繁项集,直到不产生新的关联规则。当检测到有网络流违反关联规则的最小概率事件发生时,该网络流的可疑度就增加,当违反多个关联规则的最小概率事件时,多个可疑度之和超过预设的阀值,则可以判断是P2P网络流。
4 结束语
本文通过介绍国内外现有的P2P流量检测技术,并比较他们的优缺点,最后通过运用数据挖掘中的关联规则技术,提出了一种通用的P2P流量检测方法,但是该方法还有一些不足,如由挖掘频繁项集生成的关联规则,没做深入具体的分析,还有没有对方法进行具体的测试,这些都待进一步研究。
[1]徐雅斌.一个基于云计算的P2P流量识别系统模型的研究[J].电信科学,2012(12):58-62.
[2]谭静.基于混合特征的P2P流量识别方法[J].计算机仿真,2014,31(3):316-318.
[3]袁雪美.P2P流量识别技术综述[J].计算机应用,2009,29(12):11-14.
[4]徐周李,姜志宏,莫松海,樊鹏翼.基于应用层签名的P2P流媒体流量识别[J].计算机应用研究,2009,26(6):2214-2216.
[5]李致远,王汝传.一种基于机器学习的P2P网络流量识别方法[J].计算机研究与发展,2011,48(12):2253-2259.
若新代价值优于旧代价,则替换,否则,保留旧有路线;利用两分法进行局部优化;根据已知最佳回路,少量更新信息素。经过以上改进之后,DTN主动路由方案的具体实现步骤如下:
①采集DTN网络基本信息,包括节点、节点的度、节点间的边,以及边的长度等参数;
②采用聚类算法,依据地理位置和传输时延将全部用户节点划分为若干个互不相交的小区,并在小区中选择一个汇聚节点;
③在小区内和全网范围内,分别设置无人机进行节点巡航,并计算最佳节点巡航路线;
④通过无人机巡航完成全网的信息传输。
5 结束语
文中针对平流层的特点,研究了DTN主动路由的设计方法,采用先聚类,后分层,再由无人机巡航的方式进行主动路由。主动路由技术与背景技术相比,具有如下优点:①无人机航迹规划算法中,采用了改进型的蚁群算法;②以机动性能良好的无人机作为摆渡节点,为用户节点转发数据;③将无人机分为2个层次:全网无人机和小区无人机,二者有着明确的功能划分;④根据DTN网络的特点,采用聚类算法进行节点的聚类以及区域的划分。在后续研究中,会考虑将DTN的主动路由技术的应用场景从平流层扩展到太空以及深空段,针对太空及深空环境的特点设计相应的DTN主动路由技术。
参考文献
[1]肖明军,黄刘生.容迟网络路由算法[J].计算机研究与发展, 2009,46(7):1065-1073.
[2]Fall K.A Delay-Tolerant Network Architecture for Challenged Internets[C].Proc.of the ACM SIGCOMM 2003. NewYork:ACM,2003:27-34.
[3]卫平青.延迟容忍网络中的路由算法研究[D].合肥:中国科学技术大学,2008.
[4]龙飞.卫星网络鲁棒QoS路由技术研究[M].北京:国防工业出版社,2010.
[5]Daly E,Haahr M.Social Network Analysis for Routing in Disconnected Delay-tolerant MANETs[C].Proc.of the ACM MOBIHOC.New York:ACM,2007:32-40.
[6]Pan H,Chaintreau A,Scott J,et al.Pocket Switched Networks and Human Mobility in Conference Environments[C].Proc.of the 2005 ACM SIGCOMM Workshop on Delay-Tolerant Networking.Philadelphia:ACM,2005:244-251.
[7]Anil K J.Data Clustering:50 Years beyond K-Means[J].Pattern Recognition Letters,2010,31(8):651-666.
[8]胡中华.基于智能优化算法的无人机航迹规划若干关键技术研究[D].南京:南京航空航天大学,2011.
Research on P2P Traffic Detection Technology Based on Data Mining
XIE Sheng-feng
(DepartmentofComputerScience&Technology,He’nanMechanicalandElectricalEngineeringCollege,XinxiangHe’nan453000,China)
This paper introduces several P2P traffic detection technologies,and analyzes their strengths and weaknesses.Based on data mining and association rules,a general P2P traffic detection method is put forward.This method is used to derive the association rules by processing of network data stream and mining of frequent itemsets,and determine the P2P network flow according to the association rules.
P2P;traffic detection;data mining;association rules
TP206.3
A
1008-1739(2015)13-71-3
定稿日期:2015-06-12