一种p2p流量识别系统和方法

文档序号:7652160阅读:172来源:国知局
专利名称:一种p2p流量识别系统和方法
技术领域
本发明涉及网络流量识别和管理,尤指一种P2P流量识别系统和方法。
背景技术
由于对带宽的抢占、对网络安全带来的新问题以及版权纠纷等问题,对P2P应用流量进 行识别和管理具有很重要的意义。
当前可见到的P2P流量识别方法有
(1) 传输层识别,只检査数据文的IP头和"f专输层头、利用P2P连接特性和传输层流 量特征识别,这种方法的好处是处理速度快,可利用在网络设备中广为采用的 流表处理,因此较易应用于现有的网络设备上,问题是误检率高,且无法识别 P2P流量的具体应用类别。端口识别只利用传输层端口号来识别数据流类型,因 此也可以归入传输层识别,这种方法的问题是大多数P2P应用采用了动态端口, 有些还采用80等通用端口,以便穿越防火墙设备,因此误检和漏检都高。
(2) 应用层识别,利用各种P2P应用的应用层特征字串对数据报文进行匹配,这种 方法的好处是可识别P2P流量的具体应用类别,问题是处理速度慢,在掌握应 用层特征字串之前无法进行识别。

发明内容
有鉴于此,本发明的主要目的在于提供一种P2P流量识别系统和方法,与传统传输层识 别方法相比降低了误检,与传统应用层识别方法相比,提高了检测速率,并可在掌握应用 层特征字串之前对P2P流量提出预警。
为了达到上述目的,本发明的系统和方法包括如图1中所示的各个模块传输层识别模 块、应用层识别模块和应用层特征分析模块。所述传输层识别模块与所述应用层识别模块在 接口 A、 B上具有交互。
传输层识别模块利用P2P应用的传输层流量特征和应用层识别模块的识别结果,只检査 IP头和传输层TCP/UDP头来进行识别,并利用应用层识别模块的识别结果降低传输层识别的 误检,传输层识别可标识以下数据流量
(a) 由应用层识别模块识别的易与P2P误检的流量
(b) 由传输层流量特征确定不符合P2P流量特征的流量。
(c) 已由应用层识别模块识别为P2P应用的流量。
接口A上的数据流为其它流量,将送入应用层识别模块,进一步确认是否为被误检的, 如果不是则确认P2P应用类别。传输层识别模块由于只检査数据包的IP头和传输层头,可采 用目前已非常成熟的流表、HASH等数据流处理机制,因此可以达到较高的处理速率,经过传 输层过滤后可降低应用层识别模块处理数据量,提高检测速率。传输层识别模块还可以在掌 握应用层特征字串之前对未知类型的P2P流量提出预警。应用层特征字串库记录P2P应用特征字串,也记录易与P2P应用误检的其它应用的特征 字串,利用所述的应用层特征库可定位P2P应用类别,并可确认数据包是否为传输层识别模 块误检的非P2P应用。
应用层识别模块利用应用层特征字串库对经过传输层过滤的数据流进行特征匹配,对可 成功匹配的应用,包括确定数据流为某种P2P应用或确定数据流不是P2P应用,可根据匹配 结果修改P2P用户记录表,并通过接口 B通知传输层识别模块,此数据流为P2P应用或肯定 不是P2P应用,传输层识别模块利用应用层识别模块的结果可直接对数据流进行过滤,并可 降低误检。对利用应用层特征字串库无法成功匹配的,给出报警提示,此为未知流量,并记 录数据流报文,通过接口C送入应用层特征分析模块。
应用层特征分析模块记录应用层识别模块根据当前的应用层特征字库无法识别的数据 流,可进一步通过人工和自动的离线分析,进行特征字串提取,并确认是否为P2P应用,经 试验确认后将应用层特征字串记入应用层特征字库。
可见,本发明所提供的P2P流量识别系统和方法,具有以下的优点和特点
(1) 可定位数据流的P2P应用类别。
(2) 可对未知类型或加密的P2P应用提出预警,并可通过离线的特征提取分析算法分 析其特征字串。
(3) 通过应用层识别模块,解决了以往传输层识别误检率高的问题。
(4) 通过传输层识别模块提高了应用层检测的速率。
(5) 结构灵活,可以根据实际组网环境和P2P流理管理策略需求,选择其中的一个或 多个模块,以多种形式对P2P流量进行管理,如限定和过滤指定类型的P2P流量带宽、管理 用户的P2P应用使用情况、测量和预测网络流量分布情况等


图l P2P流量识别系统和方法框图
图2 P2P流量识别系统和方法实现实例流程图
具体实施方法
图2为本发明一种实施实例的流程图。数据流先送入传输层识别模块,流处理可利用现 已成熟和广泛使用的流表来实现,对之前已识别的数据流,包括P2P和非P2P的流量,可直 接进行相关的管理操作,如过滤、带宽限制等,对还未识别的流量则进行传输层特征识别, 不符合P2P传输层特性的可以认为是非P2P流量,对符合传输层特性的流量则需送入应用层 识别模块。
应用层识别模块利用应用层特征字串库,运行特征字匹配算法,如果可成功匹配,则将 结果通知传输层。特征字串匹配可利用现有的多种软硬件字符匹配和査找算法。已经发现, 应用层特征字串可能需要连续的几个P2P数据报文,因此连续记录几个数据报文,再进行应 用层特征字匹配算法是一个合理的选择。
如果通过特征字串匹配算法不能成功匹配,则说明当前的应用层特征字串库中未记录此数据流的应用类型,此流量可能为未知类型的应用,则记录后续此数据流报文,用于离线的 特征字提取。
以上所述的工作流程只是本发明一种实现方式,本发明的特点之一是可灵活根据网络环 境和P2P流量管理策略,构建P2P流量管理系统。
权利要求
1、一种P2P流量识别系统和方法,其特征在于该方法包括以下的模块传输层识别模块、应用层识别模块和应用层特征分析模块。所述传输层识别模块利用P2P应用的传输层流量特征和应用层识别模块的识别结果进行流量标识,所述应用层识别模块利用应用层特征字串识别是否为P2P应用并定位应用类型。所述应用层特征分析模块可提取应用层特征。
2、 根据权利要求1所述的传输层识别模块,其特征在于利用应用层识别模块的识别结果降低传输层识别的误检,可标识以下数据流量(a) 由应用层识别模块识别的易与P2P误检的流量(b) 由传输层流量特征确定不符合P P流量特征的流量。(c) 己由应用层识别模块识别为P2P应用的流量。 其它流量将送入应用层识别模块。
3、 根据权利要求1所述的应用层识别模块,其特征在于利用应用层特征字串库识别数据流的应用类型,包括易与P2P传输层流量特征误检的应用和P2P应用。
4、 根据权利要求3所述的应用层特征字串库,其特征在于记录P2P应用特征字串, 并记录易与P2P应用误检的其它应用的特征字串,利用所述的应用层特征字串库可定位P2P 应用类别,并可确认数据包是否为非P2P应用。
5、 根据权利要求1所述的应用层特征分析模块,其特征在于记录应用层识别模块根 据应用层特征字串库无法识别的数据流,包括P2P数据流与易于P2P误检的数据流,可进一 步通过人工和自动的离线分析,进行特征字串提取,并确认是否为P2P应用,经试验确认后 将应用层特征字串记入应用层特征字串库。
全文摘要
本发明公开了一种P2P流量识别的实现方法,与传统传输层识别方法相比降低了误检,与传统应用层识别方法相比,提高了检测速率,并可在掌握应用层特征字串之前对P2P流量提出预警。该方法包括以下模块传输层识别模块利用应用层识别模块的识别结果降低传输层识别的误检、标识P2P流量,并利用传输层特征进行识别。经传输层识别模块过滤后的流量输入应用层识别模块,利用应用层特征字串库匹配定位流量是否为P2P应用以及具体P2P应用类别。应用层未能成功识别的数据将被记录,送入应用层特征分析模块,以提取应用层特征字串,提取的应用层特征字串被送入应用层识别模块的应用层特征字串库。
文档编号H04L12/56GK101296224SQ20071009864
公开日2008年10月29日 申请日期2007年4月24日 优先权日2007年4月24日
发明者青 廖, 张春红, 朱新宁, 武穆清, 裘晓峰, 粮 赵, 浩 靳, 马明辉 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1