CN104243237A - P2p流检测方法和设备 - Google Patents

P2p流检测方法和设备 Download PDF

Info

Publication number
CN104243237A
CN104243237A CN201410474251.3A CN201410474251A CN104243237A CN 104243237 A CN104243237 A CN 104243237A CN 201410474251 A CN201410474251 A CN 201410474251A CN 104243237 A CN104243237 A CN 104243237A
Authority
CN
China
Prior art keywords
dfi
flow
data flow
described data
rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410474251.3A
Other languages
English (en)
Other versions
CN104243237B (zh
Inventor
张惊申
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201410474251.3A priority Critical patent/CN104243237B/zh
Publication of CN104243237A publication Critical patent/CN104243237A/zh
Application granted granted Critical
Publication of CN104243237B publication Critical patent/CN104243237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

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

Description

P2P流检测方法和设备
技术领域
本申请涉及网络通信技术,特别涉及P2P流检测方法和设备。
背景技术
目前,网络中大部分数据流都是点到点(P2P:Point to Point)流,P2P流往往占据了用户或者企业的大部分带宽,严重影响用户或者企业的正常业务运行。例如,某公司内大量员工使用办公网络观看在线视频,下载各种电影,电视剧,这导致公司内办公网络的绝大部分带宽都被非工作相关的流量占用,会影响公司内的正常业务办理。
目前的P2P流识别基本上都是单一的深度包检测(DPI:Deep PacketInspection)或者深度流检测(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流时,则统计单位时间内属于所述数据流的前N个报文的总流量M,将该统计出的总流量M定义为该数据流的流量M,之后对该数据流进一步执行DPI检测,并在通过DPI检测识别出该数据流为P2P流时,将该数据流的流量M、该数据流所携带的目的IP地址、目的端口号、协议号、匹配的应用名称(在这里我们将其称为五元组)作为后续DFI检测的部分特征依据,以便对后续的数据流进行DFI检测。
下面结合图1对本发明提供的方法进行描述:
参见图1,图1为本发明实施例提供的方法流程图。该方法应用于设置在网络出口的设备,而通常,设置在网络出口的设备一般为带宽管理设备比如应用控制网关设备,因此,本发明提供的方法可应用于带宽管理设备。当然,本发明提供的方法也可应用于独立于带宽管理设备的其他设备,本发明并不具体限定。
如图1所示,该流程可包括以下步骤:
步骤101,识别待检测的数据流是属于HTTP流还是非HTTP流,如果是非HTTP流,执行步骤102,如果是HTTP流,执行步骤104。
本发明中,图1所示流程可应用于以下场景:服务器位于非监控区域,客户端位于监控区域,应用于该场景,则本步骤101中待检测的数据流即为服务器发送的数据流,这种场景常见,本发明重点描述。作为本发明的另一应用实例,图1所示流程也可应用于以下场景:服务器位于监控区域,客户端位于非监控区域,应用于该场景,则本步骤101中即为客户端发送的数据流,这种场景一般很少见,本发明不重点描述,涉及时可按照第一种场景相应配置即可。
另外,本步骤101中,识别所述数据流是属于HTTP流还是非HTTP流可完全按照HTTP协议执行,当所述数据流满足HTTP协议,就认为是HTTP流,反之,当所述数据流不满足HTTP协议,则就认为是非HTTP流。
步骤102,对所述数据流进行如下DFI检测:检测本地的DFI规则库中是否存在至少包含以下内容的DFI规则:所述数据流携带的目的IP地址、目的端口号、协议号,如果存在,执行步骤103,如果不存在,执行步骤104。
本发明中,DFI检测时依赖的DFI规则库不同于现有传统DFI检测时依赖的DFI规则库,在现有传统的DFI检测中,DFI规则库中的DFI规则都是基于传统的五元组,即源IP地址,源端口,目的IP地址,目的端口和传输层协议号,而本发明中,DFI规则库中的DFI规则是基于一个全新的五元组,其依赖于DPI检测,具体包括:数据流的流量M、数据流的目的IP地址、目的端口号、协议号、应用名称,具体见下述步骤108。
步骤103,判定该数据流为P2P流,对该数据流执行预先定义的流量控制操作。结束当前流程。
DFI检测过程在网络的三四层进行,因此,应用于本发明中,当对数据流进行P2P流识别时,先在网络的三四层进行,当通过DFI检测识别出所述数据流为P2P流时,则就不再进一步检测,即只在网络三四层就完成了数据流的P2P流识别,无需再到应用层进行DPI检测来识别P2P流。
这里,预先定义的流量控制操作可根据实际情况设置,比如阻断数据流、对数据流进行限速等,本发明并不具体限定。
优选地,本发明中,步骤103还可进一步将该步骤102检测出的DFI规则中的应用名称作为所述数据流匹配的应用,并通过日志方式输出,以告知用户当前数据流匹配了哪些网络应用服务。
步骤104,开始统计单位时间内属于该数据流的前N个报文的总流量M,N大于1。
因为单纯地DFI检测准确率偏低,容易引起误报,则当通过DFI检测识别出所述数据流为非P2P流时,则为避免误报,还需进一步在应用层对该数据流进行DPI检测,具体见下文。
本发明中,结合实际情况,N一般取值为30,当然,N也可取值为其他值,本发明并不具体限定。
为便于描述,这里将该统计出的总流量M简称为所述数据流的流量M。本发明中,针对一条数据流只统计一次流量,不会重复统计流量。
步骤105,在该统计出的所述数据流的流量M小于第一设定流量阈值或者单位时间内属于该数据流的报文数量小于N时,判定所述数据流为非P2P流。结束当前流程。
步骤106,在该统计出的所述数据流的流量M大于第一设定流量阈值时对所述数据流进一步执行DPI检测。之后执行步骤107和步骤108。
本发明中,DPI检测类似于现有传统的DPI检测,这里不再赘述。
步骤107,在DPI检测出所述数据流为非P2P流时,按照预先配置的非P2P流处理方式对所述数据流进行流量控制。结束当前流程。
步骤108,在DPI检测出所述数据流为P2P流时,除了按照预先配置的P2P流处理方式对所述数据流进行流量控制之外,还识别所述数据流匹配的应用名称,将匹配的应用名称、统计出的所述数据流的流量M、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库。
如上所述,本发明中的DPI检测类似于现有传统的DPI检测,现有传统的DPI检测是基于数据流的具体内容进行逐字节的扫描,并与已知的应用规则库进行匹配识别出该数据流属于何种网络应用,基于此,执行到本步骤108时,可基于类似传统的DPI检测很容易识别出所述数据流匹配的应用名称。
优选地,本发明中,在上述步骤104执行之前,可进一步执行以下步骤:为所述数据流分配一个编号,这里,不同数据流分配的编号不同。
基于此,在步骤106执行之前,可进一步执行以下步骤:将该统计出的总流量M作为所述数据流的流量M与所述数据流被分配的编号一起对应记录至预先建立的流量大小记录表;
下述表1示出了流量大小记录表:
表1
数据流的流量 数据流被分配的编号
基于流量大小记录,则在步骤108中将匹配的应用名称、统计出的所述数据流的流量M、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库可包括:
定时或者实时从所述流量大小记录表中找到所述数据流的流量M;
如果该找到的所述数据流的流量M大于第二设定流量阈值,则将该找到的所述数据流的流量M、所述数据流匹配的应用名称、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库。
这里,第二设定流量阈值大于上述的第一设定流量阈值。
可以看出,在本发明中,DFI检测依赖的DFI规则库并非是预先配置好的,其是基于DPI检测动态生成的,这与现有传统DFI检测所依赖的DFI规则库完全不同。
至此,完成图1所示流程。
以检测非监控区域的数据流为例,则图2举例示出了如何检测非监控区域的数据流,具体如图2所示。在图2中,当设备接收到来自非监控区域的数据流时,其识别该数据流;
如图2所示,如果识别出该数据流是非HTTP流,则对该非HTTP流执行DFI检测,当通过DFI检测出该非HTTP流为P2P流,则对该P2P流执行流量控制。这里,DFI检测依赖于云端下发的DFI规则库,该DFI规则库中存放的DFI规则由IP地址、端口号、协议号组成,具体如步骤102所述的DFI规则。
如图2所示,如果识别出该数据流是HTTP流,或者在通过DFI检测出该非HTTP流不为P2P流,则对该数据流进行流量统计,以统计单位时间内属于该数据流的前N个报文的总流量M,将该数据流以及该数据流的流量M记录至流量大小记录表;并且,在流量M大于第一设定流量阈值时,对数据流执行DPI检测,在DPI检测出数据流为非P2P流时,对数据流进行流量控制,在DPI检测出数据流为P2P流时,对数据流进行流量控制并提取所述数据流匹配的应用名称,将匹配的应用名称、流量大小记录表记录的所述数据流的流量M、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库。
至此,完成图2的描述。
在本发明中,设备(也即上面描述的能够执行如图1所示流程的设备)本地的DFI规则库除了给本设备提供DFI检测依据外,还可以定期将本地的DFI规则库上传到云端。
通常,上传的DFI规则库中的DFI规则一般涉及非监控区域的IP地址、端口和应用名称,对保护区域来说不是敏感信息,可以直接上传。当然,如果用户担心设备端和云端交互通道被攻击,还可以选择通过代理进行上传下载,本发明并不具体限定。
当云端接收到上传的DFI规则库后,其会定时采用大数据的原理对接收的DFI规则库进行处理,以生成可共享的DFI规则库,并下发给能够执行如图1所示流程的设备。
而当能够执行如图1所示流程的设备接收到云端下发的可共享的DFI规则库时,会将该接收的DFI规则库添加至本地的DFI规则库。
本发明中,云端下发的可共享的DFI规则库通过以下步骤确定:
云端针对收到的DFI规则库中的每一DFI规则,如果该DFI规则中的流量大于或等于第三设定流量阈值,则将该DFI规则作为待选DFI规则;
为每一待选DFI规则设定对应的P2P信用值;
将P2P信用值大于设定值的非重复DFI规则组织在一起形成所述可共享的DFI规则库。
本发明中,为每一待选DFI规则设定对应的P2P信用值;
针对每一待选DFI规则,识别该待选DFI规则中的IP地址、端口号;
按照以下原则为该待选DFI规则设定对应的P2P信用值:包含该识别出的IP地址、端口号的DFI规则的数量越多,该待选DFI规则对应的P2P信用值就越高的原则。
比如,一个待选DFI规则中,IP地址为1.1.1.1,端口号为20,通过检查所有DFI规则库,发现有200条DFI规则包含该IP地址1.1.1.1,端口号20,则可为该待选DFI规则设置P2P信用值为200,同时,其他包含该IP地址1.1.1.1,端口号20的待选DFI规则的P2P信用值也相应设置为200;而针对另一待选DFI规则,IP地址为2.2.2.2,端口号为10,通过检查所有DFI规则库,发现有50条DFI规则包含该IP地址2.2.2.2,端口号10,则可为该待选DFI规则设置P2P信用值为50,同时,其他包含该IP地址2.2.2.2,端口号10的待选DFI规则的P2P信用值也设置为50,通过这种方式,就可为每一待选DFI规则设置好了P2P信用值。当然,需要说明的是,这里只是举例描述如何为待选DFI规则设置P2P信用值,并非限定本发明。
通过上述方法,能够实现不同设备间远程共享DFI规则库。
需要说明的是,作为上述定期上传本地DFI规则库到云端,云端生成并下发可共享DFI规则库的一种替代方案,本发明中,还可在设备(能够执行如图1所示流程的设备)上配置以下客户需求:与其他设备共享DFI规则库,如此,本发明中,设备还需要接收来自其他设备发送的DFI规则库,利用本地已配置的第三设定流量阈值和DFI规则库、以及接收的DFI规则库生成可共享的DFI规则库,并下发给其他设备;
其中,所述可共享的DFI规则库通过以下步骤确定:
针对本地DFI规则库、以及收到的每一DFI规则库中的每一DFI规则,如果该DFI规则中的流量大于或等于本地已配置的第三设定流量阈值,则将该DFI规则作为待选DFI规则;
为每一待选DFI规则设定对应的P2P信用值,这里,为每一待选DFI规则设定对应的P2P信用值如上所述,不再赘述。
将P2P信用值大于设定值的非重复DFI规则组织在一起形成所述可共享的DFI规则库。
以上对本发明提供的方法进行了描述。
下面对本发明提供的设备进行描述:
参见图3,图3为本发明实施例提供的设备结构图。该设备为设置在网络出口的设备,如图3所示,该设备可包括:
识别单元,用于识别待检测的数据流是属于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规则库中存在至少包含以下内容的DFI规则:所述数据流携带的IP地址、端口号、协议号时,进一步将该存在的DFI规则中的应用名称作为所述数据流匹配的应用,并通过日志方式输出。
优选地,所述统计单元在开始统计单位时间内属于所述数据流的前N个报文的总流量之前,进一步包括:为所述数据流分配一个编号,不同数据流分配的编号不同;
并且,所述统计单元在所述DPI检测单元对所述数据流执行DPI检测之前,进一步将该统计出的总流量M作为所述数据流的流量M与所述数据流被分配的编号一起对应记录至预先建立的流量大小记录表;
基于流量大小记录表,所述DPI检测单元将匹配的应用名称、所述统计单元统计出的总流量M、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库包括:
定时或者实时从所述流量大小记录表中找到所述数据流的流量M;
如果该找到的所述数据流的流量M大于第二设定流量阈值,则将该找到的所述数据流的流量M、所述数据流匹配的应用名称、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库。
优选地,该设备进一步包括:
上传单元,用于定期将本地DFI规则库上传至云端;
接收单元进一步接收所述云端下发的可共享的DFI规则库,并将该接收的DFI规则库添加到本地的DFI规则库;
其中,所述云端下发的可共享的DFI规则库通过以下步骤确定:
云端针对收到的每一DFI规则,如果该DFI规则中的流量大于或等于第三设定流量阈值,则将该DFI规则作为待选DFI规则;
为每一待选DFI规则设定对应的P2P信用值;
将P2P信用值大于设定值的非重复DFI规则组织在一起形成所述可共享的DFI规则库。
优选地,所述接收单元在客户需求与其他设备共享DFI规则库时,进一步接收来自其他设备发送的DFI规则库;该设备进一步包括:
生成单元,用于利用本地的DFI规则库和本地已配置的第三设定流量阈值、以及接收的DFI规则库生成可共享的DFI规则库,并下发给其他设备;
其中,所述可共享的DFI规则库通过以下步骤确定:
针对本地DFI规则库、以及收到的DFI规则库中的每一DFI规则,如果该DFI规则中的流量大于或等于本地已配置的第三设定流量阈值,则将该DFI规则作为待选DFI规则;
为每一待选DFI规则设定对应的P2P信用值;
将P2P信用值大于设定值的非重复DFI规则组织在一起形成所述可共享的DFI规则库。
至此,完成本发明提供的设备描述。
由以上技术方案可以看出,本发明中,先对接收的数据流进行DFI检测,通过DFI检测识别出数据流为P2P流,则不再通过DPI检测进一步识别,而通过DFI检测识别出非P2P流时,进一步执行DPI检测来识别,并在DPI检测识别出P2P流时,将该识别出的P2P流的流量、所携带的目的IP地址,目的端口号,协议号、匹配的应用名称作为DFI检测的部分特征依据,以便对后续的数据流进行DFI检测。这能够避免使用单一的DPI检测或者DFI检测识别P2P流所带来的缺陷。
还有,本发明中,通过DPI识别结果自动提取DFI规则库,提取DFI规则时参考了单条流的大小,有效控制了DFI规则库的规模。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (11)

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检测之前,该方法进一步包括:将该统计出的总流量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信用值就越高的原则。
7.一种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规则库。
8.根据权利要求7所述的设备,其特征在于,所述DFI检测单元在检测出DFI规则库中存在至少包含以下内容的DFI规则:所述数据流携带的IP地址、端口号、协议号时,进一步将该存在的DFI规则中的应用名称作为所述数据流匹配的应用,并通过日志方式输出。
9.根据权利要求7所述的设备,其特征在于,所述统计单元在开始统计单位时间内属于所述数据流的前N个报文的总流量之前,进一步包括:为所述数据流分配一个编号,不同数据流分配的编号不同;
所述统计单元在所述DPI检测单元对所述数据流执行DPI检测之前,进一步将该统计出的总流量M作为所述数据流的流量M与所述数据流被分配的编号一起对应记录至预先建立的流量大小记录表;
所述DPI检测单元将匹配的应用名称、所述统计单元统计出的总流量M、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库包括:
定时或者实时从所述流量大小记录表中找到所述数据流的流量M;
如果该找到的所述数据流的流量M大于第二设定流量阈值,则将该找到的所述数据流的流量M、所述数据流匹配的应用名称、所述数据流携带的目的IP地址、目的端口号、协议号作为一条DFI规则更新至所述DFI规则库。
10.根据权利要求7所述的设备,其特征在于,该设备进一步包括:
上传单元,用于定期将本地DFI规则库上传至云端;
接收单元进一步接收所述云端下发的可共享的DFI规则库,并将该接收的DFI规则库添加到本地的DFI规则库;
其中,所述云端下发的可共享的DFI规则库通过以下步骤确定:
云端针对收到的每一DFI规则,如果该DFI规则中的流量大于或等于第三设定流量阈值,则将该DFI规则作为待选DFI规则;
为每一待选DFI规则设定对应的P2P信用值;
将P2P信用值大于设定值的非重复DFI规则组织在一起形成所述可共享的DFI规则库。
11.根据权利要求7所述的设备,其特征在于,所述接收单元在客户需求与其他设备共享DFI规则库时,进一步接收来自其他设备发送的DFI规则库;
该设备进一步包括:
生成单元,用于利用本地的DFI规则库和本地已配置的第三设定流量阈值、以及接收的DFI规则库生成可共享的DFI规则库,并下发给其他设备;
其中,所述可共享的DFI规则库通过以下步骤确定:
针对本地DFI规则库、以及收到的DFI规则库中的每一DFI规则,如果该DFI规则中的流量大于或等于本地已配置的第三设定流量阈值,则将该DFI规则作为待选DFI规则;
为每一待选DFI规则设定对应的P2P信用值;
将P2P信用值大于设定值的非重复DFI规则组织在一起形成所述可共享的DFI规则库。
CN201410474251.3A 2014-09-17 2014-09-17 P2p流检测方法和设备 Active CN104243237B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410474251.3A CN104243237B (zh) 2014-09-17 2014-09-17 P2p流检测方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410474251.3A CN104243237B (zh) 2014-09-17 2014-09-17 P2p流检测方法和设备

Publications (2)

Publication Number Publication Date
CN104243237A true CN104243237A (zh) 2014-12-24
CN104243237B CN104243237B (zh) 2017-05-17

Family

ID=52230634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410474251.3A Active CN104243237B (zh) 2014-09-17 2014-09-17 P2p流检测方法和设备

Country Status (1)

Country Link
CN (1) CN104243237B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105591836A (zh) * 2015-09-09 2016-05-18 杭州华三通信技术有限公司 数据流检测方法和装置
CN106294706A (zh) * 2016-08-08 2017-01-04 苏州云杉世纪网络科技有限公司 基于dfi的云平台用户业务统计分析系统及方法
CN106452954A (zh) * 2016-09-30 2017-02-22 苏州迈科网络安全技术股份有限公司 Http数据特征分析方法及系统
CN107302472A (zh) * 2017-06-14 2017-10-27 苏州海加网络科技股份有限公司 基于流形态特征的应用行为识别方法及系统
CN107332824A (zh) * 2017-06-07 2017-11-07 北京奇安信科技有限公司 一种云应用的识别方法和装置
CN109428774A (zh) * 2017-08-22 2019-03-05 网宿科技股份有限公司 一种dpi设备的数据处理方法及相关的dpi设备
CN110166447A (zh) * 2019-05-16 2019-08-23 吉铁磊 一种基于pon网关的应用识别系统及其识别方法
CN110708215A (zh) * 2019-10-10 2020-01-17 深圳市网心科技有限公司 深度包检测规则库生成方法、装置、网络设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986609A (zh) * 2009-07-29 2011-03-16 中兴通讯股份有限公司 一种实现网络流量清洗的方法及系统
CN102984269A (zh) * 2012-12-10 2013-03-20 北京网御星云信息技术有限公司 一种点对点流量识别方法和装置
CN103457803A (zh) * 2013-09-10 2013-12-18 杭州华三通信技术有限公司 一种点对点流量识别装置和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986609A (zh) * 2009-07-29 2011-03-16 中兴通讯股份有限公司 一种实现网络流量清洗的方法及系统
CN102984269A (zh) * 2012-12-10 2013-03-20 北京网御星云信息技术有限公司 一种点对点流量识别方法和装置
CN103457803A (zh) * 2013-09-10 2013-12-18 杭州华三通信技术有限公司 一种点对点流量识别装置和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
叶文晨: "一种联合DPI和DFI的网络流量检测方法", 《计算机工程》 *
杜娟: "基于DPI和DFI技术的网络流量检测方案研究", 《科技信息》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105591836A (zh) * 2015-09-09 2016-05-18 杭州华三通信技术有限公司 数据流检测方法和装置
CN105591836B (zh) * 2015-09-09 2019-03-15 新华三技术有限公司 数据流检测方法和装置
CN106294706A (zh) * 2016-08-08 2017-01-04 苏州云杉世纪网络科技有限公司 基于dfi的云平台用户业务统计分析系统及方法
CN106452954A (zh) * 2016-09-30 2017-02-22 苏州迈科网络安全技术股份有限公司 Http数据特征分析方法及系统
CN106452954B (zh) * 2016-09-30 2019-08-27 苏州迈科网络安全技术股份有限公司 Http数据特征分析方法及系统
CN107332824A (zh) * 2017-06-07 2017-11-07 北京奇安信科技有限公司 一种云应用的识别方法和装置
CN107332824B (zh) * 2017-06-07 2020-07-28 奇安信科技集团股份有限公司 一种云应用的识别方法和装置
CN107302472A (zh) * 2017-06-14 2017-10-27 苏州海加网络科技股份有限公司 基于流形态特征的应用行为识别方法及系统
CN109428774A (zh) * 2017-08-22 2019-03-05 网宿科技股份有限公司 一种dpi设备的数据处理方法及相关的dpi设备
CN110166447A (zh) * 2019-05-16 2019-08-23 吉铁磊 一种基于pon网关的应用识别系统及其识别方法
CN110708215A (zh) * 2019-10-10 2020-01-17 深圳市网心科技有限公司 深度包检测规则库生成方法、装置、网络设备及存储介质

Also Published As

Publication number Publication date
CN104243237B (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
CN104243237A (zh) P2p流检测方法和设备
CN108282497B (zh) 针对SDN控制平面的DDoS攻击检测方法
CN103312565B (zh) 一种基于自主学习的对等网络流量识别方法
CN104348716B (zh) 一种报文处理方法及设备
CN104320304A (zh) 一种易扩展的多方式融合的核心网用户流量应用识别方法
CN104994016B (zh) 用于分组分类的方法和装置
CN101626323A (zh) 一种网络数据流量监测方法和装置
CN102739457A (zh) 一种基于dpi和svm技术的网络流量识别系统及方法
CN108900374A (zh) 一种应用于dpi设备的数据处理方法和装置
CN106330584A (zh) 一种业务流的识别方法及识别装置
CN106657126A (zh) 检测及防御DDoS攻击的装置及方法
CN108462615A (zh) 一种网络用户分组方法和装置
CN106789728A (zh) 一种基于NetFPGA的VoIP流量实时识别方法
CN107547430A (zh) 一种报文发送方法及装置
CN101635720A (zh) 一种未知流量过滤方法和一种带宽管理设备
CN101753456B (zh) 一种对等网络流量检测方法及其系统
CN107864189A (zh) 一种基于dpi的应用层流量负载均衡方法
CN104135445A (zh) 一种基于流的链路汇聚负载均衡的方法及装置
CN105262682B (zh) 一种用于电力数据通信的软件定义网络系统及其流量疏导方法
CN106921534A (zh) 数据流量监管方法及装置
CN105553792A (zh) 一种家庭网关识别接入设备类型的系统及方法
CN101447934A (zh) 一种业务流识别方法和系统以及业务流计费方法和系统
CN106257867A (zh) 一种加密流量的业务识别方法和装置
CN101854366A (zh) 一种对等网络流量识别的方法及装置
KR101284584B1 (ko) 시그널링 트래픽 관리 시스템 및 그 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant