基于复合特征的P2P业务识别及检测方法

(整期优先)网络出版时间:2011-09-19
/ 3

基于复合特征的P2P业务识别及检测方法

周智谦

周智谦

(武汉工业职业技术学院,湖北武汉430064)

中图分类号:TP393.06文献标识码:A文章编号:1003-2738(2011)09-0000-02

摘要:自从1999年Napster出现以后,P2P技术发展异常迅猛,P2P应用流量在2007年底已经占据互联网60%的流量。有效识别和控制P2P流量成为新的课题。本文着重分析了P2P流量统计特征,首先介绍了三种P2P流量检测技术包括常用端口检测法、深度流检测法(DFI)、应用层特征检测法的原理及其优缺点,根据不同应用的流量模式和实验结果,提出了一种基于流统计特征的P2P识别方法。这种方法不需要对数据报文载荷信息进行检查,因此不受数据是否加密的限制,扩大了P2P识别的范围。

关键词:P2P;识别;检测

引言

近年来,P2P应用类型也已从文件共享扩展到语音、视频等应用领域。中国互联网实际流量模式分析报告表明,P2P流量已约占整个互联网流量的80%。为此,网络设备生产商和网络服务提供商相继推出了针对P2P流量识别与监管的产品或技术。P2P流量检测设备包括网络缓存设备、应用层流量管理设备、流统计状态路由器和智能防火墙等。主要厂商及产品包括Cisco公司的NetFlow技术、Allot的故障恢复流量管理方案、CacheLogic公司的CacheLogicP2P管理方案等。和流统计特征方案比较,在性能、开销等方面存在很多不足。因此,开展高效、准确的P2P流量实时识别与过滤的相关技术研究,有利于合理利用互联网基础设施、P2P技术和合理部署P2P应用,有利于屏蔽非法内容在P2P网络中的传播。

一、P2P流量检测技术

(一)常用端口检测法。

各种P2P软件都自默认的端口号,利用这些端口信息,可以进行P2P流量检测。如早期的eDonkey采用4661和4662端口,BT采用6881-6890端口。监控系统通过检测网络流量所使用的端口是否属于典型P2P的端口即可判断是否属于P2P数据包。

端口检测法有优点如下:方法简单、有效、正确率高,由于算法简单,利用信息少,是所有方法中的空间和时间复杂度最小。

端口检测法的缺点如下:误报和漏报率偏高,无法检测低端口传输的P2P数据,不能准确地检测大于1024端口传输的P2P数据;若端口随机变换无法检测出;端口控制粒度太粗,容易出错。

(二)深度流检测法(DFI)。

不同的应用类型体现在会话连接或数据流上的状态各有不同,因此,基于流的行为特点,通过与已建立的各种数据流的数据模型的对比,可以判别出数据流所对应的应用业务类型。深度流检测法将各种应用的连接数、单IP地址的连接模式、上下行流量比例关系、数据包发送频率等数据流的行为特征指标与DFI模型进行匹配,进而从中区分出P2P应用类型。深度流检测法的优点:能够发现未知的P2P应用,具有对新P2P应用的感知能力;加密协议对检测算法的影响较小;不必查看应用层协议内容;检测效率较高。深度流检测法的缺点:检测准确度与DPI相比稍低;存在将非P2P应用误判为P2P的情况。

(三)应用层特征检测法。

与用固定端口传输数据的P2P方法不同,当前许多P2P应用都能够通过使用随机端口来逃避检测,有些甚至可以使用HTTP、SMTP等一些协议使用的熟知端口。但是,每种应用的分组中都携带有特定的报文信息,例如,HTTP协议报文中会出现GET、PUT、等报文。对5种常见的P2P协议(KaZaA,Gnutella、eDonkey、DirectConnect以及BitTorrent)特征的分析,提取出其特征信息,然后根据特征信息对收集到的分组进行模式匹配操作,从而判断出该分组是否属于某一类P2P应用分组。

二、基于流统计特征的P2P流量识别方法

(一)流的概念。

流是具有同一组特性的数据包集合。流的定义是进行数据采集的前提条件。相邻两个数据包之间的间隔时间不超过64s。基于流统计特征的P2P识别意在找到P2P流的内在特征,避免了前面几种识别方法中的一些问题。为了分析P2P流的统计特征,在网关处抓取主机产生对应的业务流量。利用基于Winpcap库的一个捕包工具在局域网进行离线分析。根据流的定义,把这些包信息转化为流信息。通过对这些流数据信息进行统计分析,提出和验证了三个适用于P2P流量识别的流统计特征。

(二)流持续时间。

定义流持续时间为流的结束时间减去开始时间。通过人工分离出FTP,BitComet两种应用的流量,统计它们的流持续时间、最大流持续时间以及各时长占总数目的比例。

表1流持续时间比较

应用

平均流持续时间/ms

最大流持续时间/s

大于100s的流/%

37412

1092.70

9.4

BitComet

129067

4407.52

35.3

从表1中可以发现BitComet流的平均流持续时间比FTP应用要长。而且BitComet中持续时间大于100s的流占总数目的比例也比FTP要多得多。统计结果说明FTP应用的流以持续时间短的流为主,而BitComet则以持续时间长的流为主。

(三)流的总长度。

同样的,分离各种应用后统计它的流总大小属性。表2流总长度比较

应用

平均流的总长度/MB

最大流的总长度/MB

0.07230

5.42

16.55

79.74

从表2中可以发现BitComet流的平均流的总长度要比FTP应用大。

(四)包大小变化频率。

定义包大小变化频率为当前包大小和之前的包大小之差超过一定阀值的次数。在一个流的生存期内,P2P协议数据包大小的变化幅度和一般正常业务流量有明显的区别。图1和图2显示的分别是一种正常业务FTP和一种P2P业务Bitcomet的部分数据包大小变化情况,这些统计图都是基于实验数据得到的。

图1FTP的数据包大小变化情况

图2BitComet的数据包大小变化情况

通过比较P2P流和其他业务的包大小变化的不同,发现P2P流的包大小变化的特殊性:它的包大小变化频率比一般的网络业务流量要高。

(五)流统计特征条件。

在分析不同应用流量模式的基础上,结合实验分析结果,设定同时具有以下三个流统计特征条件的流属于P2P流:流持续时间、流的总长度、流的包大小变化频率。

三、基于复合特征的P2P业务流量识别系统设计与实现

扩展Netfilter模块实现P2P识别系统。本系统的实现基于Linux下的Netfilter防火墙框架的扩展功能。Netfilter包括两个基本组件:定义在内核空间中的通用框架Netfilter和数据包选择系统iptables。Netfilter/iptables框架的一个很大的优点就是其灵活性,具有相当大的可扩展性。Netfilter本身并没有对数据包进行处理的代码,它只是提供一种机制,对于如何对数据包进行处理,都是通过扩展netfilter/iptables来实现的。Netfilter/iptables可以通过两种方式进行功能扩展:一种是编写内核模块,调用nf_register_hook()直接在相关的钩子上注册,从而获得新特性;另一种是扩展iptables,实现新功能。扩展iptables具有很好的灵活性。应用层特征匹配就是在iptables上实现了一个扩展的显式match项。扩展iptables的match选项需要编写内核和用户空间两方的代码。可供扩展的Netfilter构件主要包括Table、Match、Target和ConnectionTrackProtocolHelper四类,分别对应四套扩展函数。所有扩展都包括核内、核外两个部分,核内部分置于<kernel-root>/net/ipv4/netfilter/下,模块名为ipt_'name'.o;核外部分置于<iptables-root>/extensions/下,动态链接库名为libipt_'name'.so。扩展match需要两个步骤。第一步,在内核中,新的match功能是一个独立的内核模块,使用ipt_register_match()将该模块进行注册。match模块的核心是ipt_match结构,它作为ipt_register_match()的参数注册到match链表中,从而增加新的规则匹配选项。第二步,在内核中加入相关的内核模块选项后,必须在用户空间进行说明,为该模块提供相关的命令行选项。为了使各个扩展模块使用一个版本的iptables,而不必编写相关扩展的特定版本,采用共享库可以解决该问题。共享库在装载时被自动调用,共享库中重要数据结构是iptables_match,它作为参数传递给register_match(),注册相关的命令行匹配选项,让iptables识别新的match。本文就是通过这种扩展match的方法来实现P2P在线识别功能的。本文将扩展模块的名称设为“newp2p”。

四、结语

本文针对P2P业务流量的识别特征和识别方法展开了深入研究。本文在现有P2P流量识别技术的基础上,重点研究了P2P流统计特征,并根据实验数据提出了一种基于流统计特征的P2P识别方法。提出和实现了一个基于复合特征的P2P流量识别系统,并利用Linux的Netfilter防火墙框架的扩展功能实现了在线识别。

参考文献:

[1]曹铮,傅文卿,黄蕊.互联网流量成分及运营策略分析[J].中国新通信,2006(3):76-78.

[2]SENS,WangJ.Analyzingpeer-to-peertrafficacrosslargenetworks[J].IEEE/ACMTransactiononNetworking,2004,12(2):219-232.

[3]牛燕华,任新华,毕经平.Internet网络测量方式综述《计算机应用与软件》2006年第23卷第7期。

[4]KaragiannisT,BroidoA,FaloutsosM,etal.TransportlayeridentificationofP2Ptraffic[C].Procofthe4thACMSIGCOMMConfonInternetMeasurement.WashingtonDC,2004:121-134.

作者简介:

周智谦(1982-),男,汉族,湖北武汉人,武汉工业职业技术学院助教,主要研究方向:计算机网络。