P2P流检测方法和设备技术

技术编号:10821022 阅读:125 留言:0更新日期:2014-12-26 02:11
本申请提供了P2P流检测方法和设备,本发明专利技术中,先对接收的数据流进行DFI检测,通过DFI检测识别出数据流为P2P流,则不再通过DPI检测进一步识别,而通过DFI检测识别出非P2P流时,进一步执行DPI检测来识别,并在DPI检测识别出P2P流时,将该识别出的P2P流的流量、所携带的目的IP地址,目的端口号,协议号、匹配的应用名称作为DFI检测的部分特征依据,以便对后续的数据流进行DFI检测。这能够避免使用单一的DPI检测或者DFI检测识别P2P流所带来的缺陷。

【技术实现步骤摘要】

本申请涉及网络通信技术,特别涉及P2P流检测方法和设备
技术介绍
目前,网络中大部分数据流都是点到点(P2P:Point to Point)流,P2P流往往占据了用户或者企业的大部分带宽,严重影响用户或者企业的正常业务运行。例如,某公司内大量员工使用办公网络观看在线视频,下载各种电影,电视剧,这导致公司内办公网络的绝大部分带宽都被非工作相关的流量占用,会影响公司内的正常业务办理。目前的P2P流识别基本上都是单一的深度包检测(DPI:Deep Packet Inspection)或者深度流检测(DFI:Deep Flow Inspection),而这两种检测方法的优缺点非常明显,各自都有比较高的局限性。比如,直接进行DPI检测,会导致检测设备开销非常大,而且检测效率低下,并且在大量复杂的数据流进入检测设备时容易给CPU造成很大的负担,也容易加大网络延时。并且,DPI检测还存在重复检测的情况,例如监控区域的用户A与非监控区域的用户B在使用BT进行P2P通信,用户B为服务器端,该DPI检测就要求检测设备对用户A与用户B两个用户间的每一条数据流进行识别并执行相应的操作,而实际应用中,检测设备只要识别出用户A与用户B两个用户间的第一条数据流即可,用不着每条数据流都逐一重复检测识别,也即,DPI检测会导致检测设备执行的重复劳动非常严重,效率十分低。而DFI检测,其是基于数据流的特征如IP地址、端口、平均每个包的大小、会话前几个报文各自的大小或者方向等进行检测的,其虽然会节省检测设备的开销,但是准确率偏低,容易引起误报,同时也不能非常精确的识别出数据流具体属于什么应用,比如,迅雷下载的数据流通过检测设备时可能被识别出是在进行P2P下载,却无法识别出是在使用迅雷进行下载。
技术实现思路
本申请提供了P2P流检测方法和设备,以避免使用单一的DPI检测或者DFI检测识别P2P流所带来的缺陷。本申请提供的技术方案包括:一种P2P流检测方法,该方法应用于设置在网络出口的设备,包括以下步骤:识别待检测的数据流是属于HTTP流还是非HTTP流;如果是非HTTP流,则对所述数据流进行如下DFI检测:检测本地的DFI规则库中是否存在至少包含以下内容的DFI规则:所述数据流携带的目的IP地址、目的端口号、协议号,在DFI检测结果为是时,判定所述数据流为P2P流,对该数据流执行预先定义的流量控制操作;如果是HTTP流,或者在DFI检测结果为否时,开始统计单位时间内属于所述数据流的前N个报文的总流量M,N大于1,在统计出的总流量M小于第一设定流量阈值或者单位时间内属于所述数据流的报文数量小于N时,判定所述数据流为非P2P流,在统计出的总流量M大于第一设定流量阈值时对所述数据流进一步执行DPI检测,在DPI检测出所述数据流为非P2P流时,按照预先配置的非P2P流处理方式对所述数据流进行流量控制,在DPI检测出所述数据流为P2P流时,除了按照预先配置的P2P流处理方式对所述数据流进行流量控制之外,还识别所述数据流匹配的应用名称,将匹配的应用名称、统计出的总流量M、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库。一种P2P流检测设备,该设备为设置在网络出口的设备,包括:识别单元,用于识别待检测的数据流是属于HTTP流还是非HTTP流;DFI检测单元,用于在所述识别单元识别出所述数据流为非HTTP流时,对所述数据流进行如下DFI检测:检测本地的DFI规则库中是否存在至少包含以下内容的DFI规则:所述数据流携带的目的IP地址、目的端口号、协议号,在所述DFI检测单元的DFI检测结果为是时,判定所述数据流为P2P流,对该数据流执行预先定义的流量控制操作;统计单元,用于在所述识别单元识别出所述数据流为HTTP流,或者在DFI检测单元的DFI检测结果为否时,开始统计单位时间内属于所述数据流的前N个报文的总流量M,N大于1,在该统计出的总流量M小于第一设定流量阈值或者单位时间内属于所述数据流的报文数量小于N时,判定所述数据流为非P2P流,DPI检测单元,用于在所述统计单元统计出的总流量M大于第一设定流量阈值时对所述数据流执行DPI检测,在DPI检测出所述数据流为非P2P流时,按照预先配置的非P2P流处理方式对所述数据流进行流量控制,在DPI检测出所述数据流为P2P流时,除了按照预先配置的P2P流处理方式对所述数据流进行流量控制之外,还识别所述数据流匹配的应用名称,将匹配的应用名称、所述统计单元统计出的总流量M、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库。由以上技术方案可以看出,本专利技术中,先对接收的数据流进行DFI检测,通过DFI检测识别出数据流为P2P流,则不再通过DPI检测进一步识别,而通过DFI检测识别出非P2P流时,进一步执行DPI检测来识别,并在DPI检测识别出P2P流时,将该识别出的P2P流的流量、所携带的目的IP地址,目的端口号,协议号、匹配的应用名称作为DFI检测的部分特征依据,以便对后续的数据流进行DFI检测。这能够避免使用单一的DPI检测或者DFI检测识别P2P流所带来的缺陷。附图说明图1为本专利技术实施例提供的方法流程图。图2为本专利技术实施例提供的实例示意图;图3为本专利技术实施例提供的设备结构图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。在现有技术中,DPI检测是一种基于应用层的流量检测和控制技术,其主要是对数据流的具体内容进行逐字节的扫描,并与已知的应用规则库进行匹配识别出数据流属于何种网络应用,然后按照系统定义的管理策略对数据流进行管理操作。而DFI检测是一种基于流的检测技术,不同的网络应用体现在会话连接或数据流上的状态不同,DFI检测简单的说就是对数据流的特征进行检测,如IP,端口,平均每个包的大小,会话前几个报文各自的大小或者方向等。应用于本专利技术中,为了避免使用单一的DPI检测或者DFI检测识别P2P流所带来的缺陷,本专利技术将DFI检测和DPI检测两种方式结合在一起进行P2P流检测,而这种结合并非是简单的罗列组合,其是先对数据流进行DFI检测(DFI检测通常在网络的三四层进行),通过DFI检测识别出数据流为P2P流,则不再通过DPI检测进一步识别该数据流;通过DFI检测识别本文档来自技高网
...
P2P流检测方法和设备

【技术保护点】
一种P2P流检测方法,其特征在于,该方法应用于设置在网络出口的设备,包括以下步骤:识别待检测的数据流是属于HTTP流还是非HTTP流;如果是非HTTP流,则对所述数据流进行如下DFI检测:检测本地的DFI规则库中是否存在至少包含以下内容的DFI规则:所述数据流携带的目的IP地址、目的端口号、协议号,在DFI检测结果为是时,判定所述数据流为P2P流,对该数据流执行预先定义的流量控制操作;如果是HTTP流,或者在DFI检测结果为否时,开始统计单位时间内属于所述数据流的前N个报文的总流量M,N大于1,在统计出的总流量M小于第一设定流量阈值或者单位时间内属于所述数据流的报文数量小于N时,判定所述数据流为非P2P流;在统计出的总流量M大于第一设定流量阈值时对所述数据流进一步执行DPI检测,在DPI检测出所述数据流为非P2P流时,按照预先配置的非P2P流处理方式对所述数据流进行流量控制,在DPI检测出所述数据流为P2P流时,除了按照预先配置的P2P流处理方式对所述数据流进行流量控制之外,还识别所述数据流匹配的应用名称,将匹配的应用名称、统计出的总流量M、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库。...

【技术特征摘要】
1.一种P2P流检测方法,其特征在于,该方法应用于设置在网络出口的设
备,包括以下步骤:
识别待检测的数据流是属于HTTP流还是非HTTP流;
如果是非HTTP流,则对所述数据流进行如下DFI检测:检测本地的DFI
规则库中是否存在至少包含以下内容的DFI规则:所述数据流携带的目的IP地
址、目的端口号、协议号,在DFI检测结果为是时,判定所述数据流为P2P流,
对该数据流执行预先定义的流量控制操作;
如果是HTTP流,或者在DFI检测结果为否时,开始统计单位时间内属于
所述数据流的前N个报文的总流量M,N大于1,在统计出的总流量M小于第
一设定流量阈值或者单位时间内属于所述数据流的报文数量小于N时,判定所
述数据流为非P2P流;在统计出的总流量M大于第一设定流量阈值时对所述数
据流进一步执行DPI检测,在DPI检测出所述数据流为非P2P流时,按照预先
配置的非P2P流处理方式对所述数据流进行流量控制,在DPI检测出所述数据
流为P2P流时,除了按照预先配置的P2P流处理方式对所述数据流进行流量控
制之外,还识别所述数据流匹配的应用名称,将匹配的应用名称、统计出的总
流量M、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规
则更新至所述DFI规则库。
2.根据权利要求1所述的方法,其特征在于,在检测出DFI规则库中存在
至少包含以下内容的DFI规则:所述数据流携带的IP地址、端口号、协议号时,
该方法进一步包括:
将该存在的DFI规则中的应用名称作为所述数据流匹配的应用,并通过日
志方式输出。
3.根据权利要求1所述的方法,其特征在于,在开始统计单位时间内属于
所述数据流的前N个报文的总流量M之前,进一步包括:为所述数据流分配一
个编号,不同数据流分配的编号不同;
在对所述数据流执行DPI检测之前,该方法进一步包括:将该统计出的总

\t流量M作为所述数据流的流量M与所述数据流被分配的编号一起对应记录至预
先建立的流量大小记录表;
所述将匹配的应用名称、统计出的总流量M、所述数据流携带的目的IP地
址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库包括:
定时或者实时从所述流量大小记录表中找到所述数据流的流量M;
如果该找到的所述数据流的流量M大于第二设定流量阈值,则将该找到的
所述数据流的流量M、所述数据流匹配的应用名称、所述数据流携带的目的IP
地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库。
4.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
定期将本地DFI规则库上传至云端;
接收所述云端下发的可共享的DFI规则库,并将该接收的DFI规则库添加
到本地的DFI规则库;
其中,所述云端下发的可共享的DFI规则库通过以下步骤确定:
云端针对收到的每一DFI规则,如果该DFI规则中的流量大于或等于第三
设定流量阈值,则将该DFI规则作为待选DFI规则;
为每一待选DFI规则设定对应的P2P信用值;
将P2P信用值大于设定值的非重复DFI规则组织在一起形成所述可共享的
DFI规则库。
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
在客户需求与其他设备共享DFI规则库时,接收来自其他设备发送的DFI
规则库;
利用本地的DFI规则库和本地已配置的第三设定流量阈值、以及接收的DFI
规则库生成可共享的DFI规则库,并下发给其他设备;
其中,所述可共享的DFI规则库通过以下步骤确定:
针对本地DFI规则库、以及收到的DFI规则库中的每一DFI规则,如果该
DFI规则中的流量大于或等于本地已配置的第三设定流量阈值,则将该DFI规
则作为待选DFI规则;
为每一待选DFI规则设定对应的P2P信用值;
将P2P信用值大于设定值的非重复DFI规则组织在一起形成所述可共享的
DFI规则库。
6.根据权利要求4或5所述的方法,其特征在于,所述为每一待选DFI规
则设定对应的P2P信用值;
针对每一待选DFI规则,识别该待选DFI规则中的IP地址、端口号;
按照以下原则为该待选DFI规则设定对应的P2P信用值:包含该识别出的
IP地址、端口号的DFI规则的数量越多,该待选DFI规则对应的P2P信用值就<...

【专利技术属性】
技术研发人员:张惊申
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

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

1