一种p2p数据流的识别方法、装置和系统的制作方法

文档序号:7923577阅读:316来源:国知局

专利名称::一种p2p数据流的识别方法、装置和系统的制作方法
技术领域
:本发明涉及网络
技术领域
,尤其涉及一种P2P数据流的识别方法和装置。
背景技术
:对等网络(P2P,PeertoPeer)中的每个参与者既是资源提供者(即服务器端),又是资源获取者(即客户端)。P2P不仅仅是用于文件共享,还应用于建立基于P2P形式的通信网络、P2P计算或其他资源的共享等很多方面。为了向运营商提高服务质量(QoS)提供技术支持,同时也可以为对等网络上的内容监管(如恶意代码识别、病毒防御)提供保障,对P2P网络的数据流的快速识别是非常必要的。但是P2P网络具有自身的特点,如流量特征值和行为特征的不确定性,载荷的加密性等。现有纟支术中实现P2P数据流量^r测的一种方法为流量统计才企测方法,该方法基于P2P的非常规流量特征值,对数据量进行统计分析,从统计上来判断该数据流流量是否为P2P数据流量,目前这种方法中选取分析的流量特征值一般为持续时间长,流量非突发性,上行和下行的流量对称等简单的流量统计用的特征,但是这些特征都不是P2P数据流量唯一的,其他应用也可能表现出这种流量特性。因此这种方法对于P2P数据流量的判断经常出现误判的情况。发明人在实现本发明的过程中,发现现有技术至少有以下缺陷现有技术中的流量统计4会测方法由于统计方法简单,因此该方法只能对数据流的筒单流量特征进行简单的统计,而这种简单的统计导致误判现象的发生,准确率不高。
发明内容5本发明实施例提供一种P2P数据流的识别方法和识别装置,以能够准确识别待识别数据流是否为P2P数据流。本发明实施例提供了如下技术方案一种对等网络P2P数据流的识别方法,包括从捕获的待识别数据流的数据包中获取流量特征值;将所述流量特征值作为识别单元的输入特征向量;将所述输入特征向量输入到预先完成训练的识别单元中,由所述识别单元识别待识别数据流是否为P2Ptt据流。一种网络装置,包括流量特征值获取单元,用于从捕获的待识别数据流中获取数据包的流量特征值;识别单元,用于根据所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。一种网络系统,包括至少两个通信设备和网络装置,所述通信设备之间进行通信,所述网络装置用于捕获所述通信设备之间通信的数据流,从获取捕获的待识别数据流中获取数据包的流量特征值,根据由所述流量特征值组成的输入特征向量识别所述数据流是否为P2P数据流。本发明实施例利用识别单元根据待识别数据流的流量特征值组成的输入特征向量对待识别数据流进行识别,由于利用流量特征值进行识别可以克服仅仅利用深层数据包检测方法产生的不能识别未知P2P数据流的缺点,所以本实施例提供的方法、装置和系统对P2P数据流的识别具有很好的可扩展性,而且将利用识别单元进行识别,又可以完成现有技术中无法完成的复杂统计和识别过程,所以识别结果更准确。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种P2P数据流的识别方法的流程图2是本发明实施例一提供的一种P2P数据流的识别方法的流程图3是本发明实施例二提供的获取待识别数据流的数据包长度抖动频次的方法流程图4是本发明实施例二中发生抖动的数据包位置的示意图;图5是本发明实施例四提供的一种P2P数据流的识别方法的流程图;图6是本发明实施例五提供的一种网络装置的示意图;图7是本发明实施例六提供的一种网络装置的示意图;图8是本发明实施例七提供的一种网络装置的示意图;图9是本发明实施例八提供的一种网络系统的示意图。具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例可以应用于固定网络、移动网络、或固定移动融合网络等。本发明实施例提供一种P2P数据流的识别方法,如图1所示,该方法可以包括如下步骤7Sl:从捕获的待识别数据流中的数据包中获取流量特征值;S2:将所述流量特征值作为识别单元的输入特征向量;S3:将所述输入特征向量输入到预先完成训练的识别单元中,由所述识别单元识别待识别数据流是否为P2P数据流。上述识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(BackPropagation,后向传#番)3申经网纟各。元可以包含在所述服务器中;本发明实施例的方法可以应用于固定网络、移动网络、或固定移动融合网络等。BP(BackPropagation,后向传播)神经网络通常采用三层网络结构,分别为输入层,隐含层,输出层。其中,通常将各个输入层节点输入值的组成在一起形成的向量称为该BP神经网络的输入特征向量。在本发明实施例中,BP神经网络各个输入层节点的输入值可以是选择的待识别数据流的各个流量特征值,所以本实施例中BP神经网络的输入特征向量就是由选择的待识别数据流的各个流量特征值组成。流量特征值可以包括开始时间、结束时间、服务类型、每个数据流的数据包长度平均值、每个数据流的数据包字节数和每个数据流的数据包数目等。通过本发明实施例,可以更准确地识别P2Plt据流。下面结合附图对本发明实施例作详细说明。实施例一本发明实施例一提供一种P2P数据流的识别方法,参见图2,该方法可以包括如下步骤8步骤S201:从网络中捕获待识别数据流的数据包;步骤S202:从捕获的数据包中获取流量特征值;其中,所述获取的流量特征值包括获取原始的流量特征值,也包括对原始流量特征值进行转换或结合得到的流量特征值。原始流量特征值可以包括开始时间、结束时间、服务类型、每个数据流的数据包长度平均值、每个数据流的数据包字节数和每个数据流的数据包数目等。步骤S203:将所述流量特征值作为识别单元的输入特征向量;输入到识别单元中的各个量组合在一起可以称为识别单元的输入特征向量,在本实施例中,输入到识别单元中的输入特征向量为上述获取的待识别数据流的流量特征值。例如,对于识别单元采用神经网络,其输入层的各个结点分别用于输入上述输入特征向量中的各个流量特征值。步骤S204:预先完成训练的识别单元根据输入特征向量识别待识别数据流是否为P2Plt据流。本发明实施例方法可以根据实际需要对各个步骤顺序进行调整。上述识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(BackPropagation,后向传4番)神经网络。识别单元在用于识别实际的网络环境中的待识别数据流时,应该首先根据实际识别的需要进行训练,由于本发明实施例中识别单元是用来识别P2P数据流的,因此需要首先利用已知的P2P数据流和非P2P的其他服务数据流获得多组训练样本,并用训练样本对识别单元进行训练。训练完成的识别单元才可以用于实际的P2P凄t据流的识别。通常,P2P数据流与其他服务的数据流之间有很多流量特征值上的差异,P2P数据流在持续时间,平均传输速率和每个流总共的字节数上都不同于其它服务的数据流,这些行为可以用开始时间、结束时间、服务类型、每个数据流的数据包长度平均值、每个流的包字节数和每个流的包数目等值来表示。例如,区分P2P数据流和FTP数据流的一种方法是根据是否有用户交互,表示数据流中的用户交互的流量特征值可以为每个数据流的数据包长度均方差,因为P2P数据流的数据包有长度变化并且变化的跨度比较大,所以每个P2P数据流的数据包长度的均方差值就很大。而P2P数据流与Email数据流的主要区别是流的持续时间,P2P数据流的持续时间长于Email数据流。本发明实施例以数据包长度抖动频次作为流量特征值。其中,数据包长度抖动频次是指相邻两个数据包的长度变化超过了某个门限值(以下称为数据包长度抖动门限值)的次数。数据包长度抖动频次反映了数据包的长度变化程度的频率,实验证明,P2P数据流的的数据包长度抖动频次高于其它服务类型。将该数据包长度抖动频次作为组成识别单元的输入特征向量的一部分,可以提高识别单元对P2P数据流的识别准确率。需要说明的是,输入特征向量中的流量特征值还可以包括其他类型的流量特征值,例如待识别数据流中的数据包长度均方差、数据包的长度平均值、数据包的数目或待识别数据流的总共字节数。本发明实施例的方法的执行主体可以为服务器或其他设备,所述识别单元可以包含在所述服务器中;本发明实施例的方法可以应用于固定网络、移动网络、或固定移动融合网络等。通过本发明实施例,可以更准确地识别P2P数据流。实施例二本发明实施例二具体阐述实施例一中待识别数据流的数据包长度抖动频次的一种获取方法,即如何从待识别数据流中获取数据包长度抖动频次这个流量特征值。本发明实施例二中采用K均值聚类方法获取数据包长度抖动频次。详细如下10K均值聚类方法是指将一组目标数据根据它们的属性或特征分成K个聚类组,4吏得凄t据与它所在的聚类组的中心点的距离的平方和最小。具体对于本实施例,以K=2的情况为例说明,请参看图3,对于数据包长度抖动频次的获取方法可以包括步骤S301:截取数据流中的数据包的长度,组成数据包长度的序列;步骤S302:从上述序列中选取K=2个数据包长度值作为中心点;步骤S303:按顺序计算剩下的各个数据包长度值与上述〖=2个中心点的数据包长度值之间距离,根据最近距离原则将余下的数据包长度逐个归入一个中心点,形成聚类组;步骤S304:计算各聚类组中所有数据包长度量化后的特征向量的和,从而计算出各组的平均值,并作为新的中心点。步骤S305:判断相邻两次迭代中分组是否完全一致,如果否,则返回继续执行步骤S303,也可以称为反复迭代过程;如果是,则停止迭代,执行步骤S306;步骤S306:将步骤S304中最终迭代的结果中的K=2个中心点之间的距离作为数据包长度抖动门限值;步骤S307:将数据流中的相邻两个数据包进行比较,计算相邻两个数据包长度的差值的绝对值超过了上述数据包长度抖动门限值的次数,将所述次数作为数据包长度抖动频次。其中对次数的计算方法可以为如果相邻两个数据包长度的差值的绝对值超过了上述数据包长度抖动门限值,则数据包长度抖动频次的计数值加1,最后通过计数值的最终结果得到次数。本发明实施例方法可以根据实际需要对各个步骤顺序进行调整。下面举例说明上述获得数据包长度抖动频次的方法。例如,截取一个数据流中的数据包长度序列为150215021222122215025328121002150215022527526721092136294215021502122239216215021502122215021222(总共26个)首先选取两个数据包长度作为中心点,例如可以选择第一组的中心点Cl=1502,而第二组的中心点C2=162。然后将每个数据包长度值与两个中心点的数值进行比较,计算与中心点之间的距离(即差值),使各个数据包的长度归入差值小的那个聚类组。例如第一个数据长度为1502,与第一组中心点1502的差值为1502-1502=0,与第二组中心点162的差值为1502-162=1340,显然数据1502与第一组的中心点更接近(即差值更小),所以将其归入第一聚类组。按照此规律,两个聚类组划分如下聚类组1:150215021502122212221002150215021092136294215021502122215021502122215021222(共19个)聚类组2:532812752252672392162(共7个)上述过程可以称为第一次迭代。下面进行第二次迭代计算上述两个聚类组中所有的数据包长度量化后的特征向量的和(具体的得出量化过程的特征向量可以从本领域技术人员公知的线性代数知识中的获得,即对矩阵的量化,然后得到特征向量的过程),从而计算出各聚类特征向量的平均值作为新的聚类组中心点。可以计算得到,第二次迭代所用的新的聚类组中心点为第一组的中心点Cl=1422.63,而第二组的中心点C2=510.57。根据这两个新的聚类组中心点进行与第一次迭代中类似的聚类组划分过程,可以得到第二次迭代得到的聚类组划分为聚类组1:150215021502122212221002150215021092136215021502122215021502122215021222(共18个)聚类组2:532812752252672392162942(共8个)接着进行第三次迭代对第二次迭代后的聚类组进行量化,得到的新的中心点为第一组的中心点Cl=1381.44,第二组的中心点C2=564.5。根据这两个中心点进行第三次聚类组的划分聚类组1:150215021502122212221002150215021092136215021502122215021502122215021222(共18个)聚类组2:532812752252672392162942(共8个)由于此次叠代与上次叠代得到的分组没有变化,因此得出最终的聚类组中心点:第一组的中心点Cl=1381.44,第二组的中心点C2=564.5。所以数据包长度抖动门限值就等于816.94。最后计算上述26个数据包中前后相邻两个数据包的长度的差值的绝对值,对超过数据包长度抖动门限值816.94的(也可称为发生抖动),进行计数,最后得到数据包长度抖动频次为4,如图4所示,该图中示出了上述26个数据包中发生抖动的数据包位置。上面详细描述了利用K=2的K均值聚类方法获得数据包长度抖动频次的过程,需要说明的是,对于K等于其他值得情况,其过程类似,例如,K=3时只需要得到3个聚类组,并将三个聚类组的中心点之间的距离取平均,即得到数据包长度抖动门限值,并用于K=2类似的方法计算前后相邻两个数据包的长度的差值的绝对值超过数据包长度抖动门限值的次数,最终得到数据包长度抖动频次。采用K均值方法得到数据包长度抖动频次的优先在于聚类速度快,而13且算法易于实现。本领域技术人员应该能够理解,对于数据包长度抖动频次的获取还可以采用其他计算方法来实现。本发明实施例的方法的执行主体可以为服务器或其他设备,所述识别单元可以包含在所述服务器中;本发明实施例的方法可以应用于固定网络、移动网络、或固定移动融合网络等。通过本发明实施例,可以更准确地识别P2Plt据流。实施例三本发明实施例三详细介绍实施例一中对识别单元进行训练的方法的训练方法。本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(BackPropagation,后向传播)神经网络。不妨以BP神经网络为例,并结合实验数据说明对识别单元的训练过程。首先从已知的P2P数据流和非P2P数据流中获得多组用于训练BP神经网络的训练样本,每组训练样本作为BP神经网络的输入特征向量,特别地,本实施例中每组训练样本中包含数据流的数据包长度抖动频次、数据包长度均方差、数据包的长度平均值、数据包的数目和数据流总共字节数。本实施例以获取250组训练样本为例,表1示出了上述250组训练样本中的16组训练样本的详细信息。表1<table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table>其中对BP神经网络的训练可以采用Matlab软件中的神经网络工具箱。然后选择训练函数和隐含层结点和输出结点的传递函数,本实施例中优选训练函数为trainlm函数,即Levenberg-MarquardtBP训练函数,隐含层结点和输出结点的传递函数都采用Log-Sigmoid传递函数。训练函数和传递函数的概念和作用为本领域技术人员公知的技术,如果利用Matlab软件中的神经网络工具箱,上述训练函数和传递函数的设定可以在已经提供的选项中进行选择就可以完成。BP神经网络的输出结点有两个,定义输出(1,0)表示识别为P2P数据流,输出(0,1)表示识别为非P2P流。例如,对于表l中的训练样本,1-8组训练才羊本应输出(1,0),9-16组训练才羊本应输出(0,1)。设置训练次数、学习效率和隐含层结点,因为本实施例中的训练样本共250组,所以训练次数应该设定为250,学习效率可以根据实际情况选择,本实施例中优选取为0.7。在本实施例中分别对隐含层结点数为4、5、6、7、8、9的6种BP神经网络进行训练,通过实验比较,最后发现当隐含层结点数为4时,P2P数据流判断正确率较高,为96.3%。这样优选采用隐含层结点为4的训练完成BP神经网络作为以后识别P2P数据流的BP神经网络。本领域技术人员,应该能够明白,对于其他类型的识别单元的训练过程与上述对BP神经网络的训练类似,例如对于支持向量机,也是首先构造训练样本数据,然后设置支持向量机的相关训练参数进行训练。本发明实施例的方法的执行主体可以为服务器或其他设备,所述识别单元可以包含在所述服务器中;本发明实施例的方法可以应用于固定网络、移动网络、或固定移动融合网络等。本实施例中对识别单元的训练方法的有意效果在于通过合理配置训练时的参数,使得训练过程的效率很高,完成训练的识别单元对于P2P数据流的识别准确率较高。实施例四虽然深层数据包检测方法无法对加密的数据流进行识别,但是对于深层数据包检测方法能够识别的数据流,基于有效载荷的识别相对基于流量特征的识别仍然是最准确的。因此本实施例中提出一种P2P数据流的识别方法,该方法中对待识别数据流首先进行深层数据包检测,如果识别为P2P数据流,则确定该数据流为P2P数据流;如果识别为非P2P数据流,则再利用识别单元对待识别数据流进行识别,请参看图5,本实施例提供的P2P数据流的识别方法可以包括如下步骤步骤S501:从网络中捕获待识别数据流的数据包;16步骤S502:利用深层数据包检测的方法识别待识别数据流是否为P2P数据流;其中,深层数据包检测具体可以为将捕获的数据包有效载荷中的协议特征字与预先存储的已知P2P数据流的协议特征字库进行匹配,如果匹配成功,则识别为P2P数据流,相反,则识别为非P2P数据流。利用深层数据包检测方法将带识别数据流识别为非P2P数据流的,有两种可能一种是该数据流确实不是P2P数据流,另一种是该数据流实际上是P2P数据流,但由于协议特征字库中没有存储该数据流的协议特征字,所以利用深层数据包^r测只能输出非P2P数据流的识别结果。因此还需要把深层数据包检测方法检测为非P2P数据流的流量特征值获取出来,并用识别单元再检测一遍。P2P数据流的协议特征字库中存储了已知P2P数据流的数据包有效载荷中的协议特征字。表2中列举协议特征字库中存有的常用P2P数据流对应的协议特征字。表2<table>tableseeoriginaldocumentpage17</column></row><table>将捕获数据包的协议特征字与协议特征字库进行匹配的方法可以为使用Krap-Rabin算法进行字符串匹配。如果利用深层数据包检测方法将待识别数据流识别为P2P数据流,则执行步骤S506:认定该待识别数据流为P2P数据流;如果将待识别数据流识别为非P2P数据流,则继续执行步骤S503。步骤S503:从捕获的数据包中获取流量特征值;步骤S504:将所述流量特征值作为识别单元的输入特征向量;组成识别单元的输入特征向量中的流量特征值优选包括数据包长度抖动频次,该数据包长度抖动频次可以通过实施例二中提供的方法获得。另外,上述输入特征向量中还可以包括数据包长度均方差、数据包的长度平均值、数据包的数目和数据流总共字节数。步骤S505:预先训练完成的识别单元根据输入特征向量识别待识别数据流是否为P2P数据流,如果是,则执行步骤S506:认定该待识别数据流为P2P数据流;如果否,则执行步骤S507:认定该待识别数据流为非P2P数据流。其中,对于识别单元的训练过程可以釆用实施例三中提供的方法进行。本发明实施例方法可以根据实际需要对各个步骤顺序进行调整。本发明实施例的方法的执行主体可以为服务器或其他设备,所述识别单元可以包含在所述服务器中;本发明实施例的方法可以应用于固定网络、移动网络、或固定移动融合网络等。本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(BackPropagation,后向传播)神经网络。基于本实施例,首先利用深层数据包检测方法对待识别数据流进行识别,对确定为非P2P数据流的,再利用识别单元对待识别数据流进行基于流量特征的检测。利用深层数据包检测方法识别出待识别数据流为P2P数据流的结论是比较准确的,因此如果能够首先利用深层数据包检测方法识别为P2P数据流的可以下结论,提高检测效率,但是对于深层数据包检测方法识别为非P2P数据流的判断中可能存在误判,所以需要再利用基于流量特征的识别单元进行识别,这样总的看来提高了对P2P数据流识别的准确性。本实施例中提供的方法与实施例一提供的方法相比,通过深层数据包检测,进一步提高了P2P数据流的4企测准确率和^r测效率。18实施例五本实施例相应提供一种网络装置,如图6所示,网络装置600可以包括流量特征值获取单元601,用于从捕获的待识别数据流中获取数据包的流量特征值;识别单元602,用于根据由所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。本发明实施例的各个单元可以集成于一体,也可以分离部署。上述单元可以合并为一个单元,也可以进一步拆分成多个子单元。本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(BackPropagation,后向传4番)神经网纟各。本发明实施例的网络装置可以为服务器或其他设备。本实施例提供的网络装置将待识别数据流的流量特征值组成的输入特征向量对待识别数据流进行识别,由于利用流量特征值进行识别可以克服仅仅利用深层数据包检测方法产生的不能识别未知P2P数据流的缺点,所以本实施例提供装置对P2P数据流的识别具有很好的可扩展性,而且将利用识别单元进行识别,又可以完成现有才支术中无法完成的复杂统计和识别过程,所以识别结果更准确。实施例六如图7所示,本发明实施例六也提供一种网络装置700,该装置与实施例六的区别在于增加了匹配单元703,具体地,该网络装置700可以包括匹配单元703,用于将捕获的数据包有效载荷中的协议特征字与预先建立的已知P2P数据流协议特征字库进行匹配,如果匹配成功,则识别所述待识别数据流为P2P数据流,如果匹配不成功,则触发流量特征值获取单元701进行工作;流量特征值获取单元701,用于从捕获的待识别数据流中获取数据包的流量特征值;识别单元702,用于根据由所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。相应的,所述网络装置700还可以包括协议特征字库存储单元,用于存储预先建立的已知P2P数据流协议特征字库。本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(BackPropagation,后向传^番)神经网纟各。本发明实施例的网络装置可以为服务器或其他设备。本发明实施例的各个单元可以集成于一体,也可以分离部署。上述单元可以合并为一个单元,也可以进一步拆分成多个子单元。本实施例提供的识别装置相对于实施例六增加了匹配单元703,从而,本实施例提供的识别装置相对于实施例六还具有如下有益效果首先匹配单元利用协议特征字匹配的方法对数据流进4亍识别,识别为非P2P数据流的,再利用识别单元对待识别数据流进行基于流量特征的检测。如果匹配单元能够首先识别出P2P数据流,则可以下结论,提高检测效率,但是对于深层数据包检测方法识别为非P2P数据流的判断中可能存在误判,所以需要再利用基于流量特征的识别单元进行识别,这样总的看来提高了对P2P数据流识别的准确性。实施例七本发明实施例七提供一种网络装置800,如图8所示,该网络装置800可以包括流量特征值获取单元801,用于从获取捕获的待识别数据流中获取数据包的流量特征值;识别单元802,用于才艮据由所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。所述流量特征值获取单元801包括数据包长度抖动门限值确定单元803,用于确定待识别数据流的数据包长度抖动门限值;数据包长度抖动频次确定单元804,用于确定待识别数据流中相邻两个数据包的长度变化超过所述数据包长度抖动门限值的次数,得到数据包长度抖动频次。另外,该网络装置800还可以包括匹配单元805,用于将捕获的数据包有效载荷中的协议特征字与预先建立的已知P2P数据流协议特征字库进行匹配,如果匹配成功,则识别所述待识别数据流为P2P凄史据流,如果匹配不成功,则触发流量特征值获取单元801进行工作。本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(BackPropagation,后向传4番)神经网络。本发明实施例的网络装置可以为服务器或其他设备。本实施例提供的装置中提供了确定数据包长度抖动门限值的装置,从而能够该流量特征值加入到识别单元的输入特征向量中,这样可以提高识别单元对P2P数据流的识别准确率。实施例/v结合图9,本实施例提供一种网络系统900,该网络系统900中包括至少两个通信^殳备902和903、网络装置901;其中,通信设备902和903,用于相互进行通信;通信设备可以是网络中的计算机、或手机等;网络装置901,用于捕获通信设备902和903通信的数据流,从获取捕获的待识别数据流中获取数据包的流量特征值,根据由所述流量特征值组成的21流量特征值获取单元9011,用于从获取捕获的待识别数据流中获取数据输入特征向量识别所述数据流是否为P2P数据流其中,该网络装置901中包括流包的流量特;f正值;识别单元9012,用于根据由所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。另外,网络装置901中还可以包括匹配单元9013,用于将捕获的数据包有效载荷中的协议特征字与预先建立的已知P2P数据流协议特征字库进行匹配,如果匹配成功,则确定所述待识别数据流为P2P数据流,如果匹配不成功,则触发流量特征值获取单元9011进行工作。所述流量特征值获耳又单元9011可以包括数据包长度抖动门限值确定单元9014,用于确定待识别数据流的数据包长度4斗动门限^f直;数据包长度抖动频次确定单元9015,用于确定待识别数据流中相邻两个4牛动频次。本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(BackPropagation,后向传播)神经网络。本发明实施例的网络装置可以为服务器或其他设备。本发明实施例系统的各个单元可以集成于一个装置,也可以分布于多个装置。上述单元可以合并为一个单元,也可以进一步拆分成多个子单元。本发明实施例的网络系统可以应用于固定网络、移动网络、或固定移动融合网络等。本实施例提供的网络系统可以提高对P2P数据流的检测准确率。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。综上所述,本发明实施例利用识别单元根据待识别数据流的流量特征值组成的输入特征向量对待识别数据流进行识别,由于利用流量特征值进行识别可以克服仅仅利用深层数据包检测方法产生的不能识别未知P2P数据流的缺点,所以本实施例提供的方法、装置和系统对P2P数据流的识别具有很好的可扩展性,而且将利用识别单元进行识别,又可以完成现有技术中无法完成的复杂统计和识别过程,所以识别结果更准确。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。权利要求1、一种对等网络P2P数据流的识别方法,其特征在于,包括从捕获的待识别数据流的数据包中获取流量特征值;将所述流量特征值作为识别单元的输入特征向量;将所述输入特征向量输入到预先完成训练的识别单元中,由所述识别单元识别待识别数据流是否为P2P数据流。2、根据权利要求1所述的方法,其特征在于,在所述从捕获的待识别数据流中数据包的获取流量特征值之前还包括将数据包有效载荷中的协议特征字与预先建立的P2P数据流的协议特征字库进行匹配,如果匹配成功,则确定所述待识别数据流为P2P数据流,如果匹配不成功,则从捕获的待识别数据流的数据包中获取流量特征值。3、根据权利要求1所述的方法,其特征在于,所述流量特征值包括数据包长度抖动频次,所述从捕获的待识别数据流的数据包中获取流量特征值包括确定待识别数据流的数据包长度抖动门限值;确定待识别数据流中相邻两个数据包的长度变化超过所述数据包长度抖动门限值的次数,将所述次数作为数据包长度抖动频次,将所述数据包长度抖动频次作为流量特征值。4、根据权利要求3所述的方法,其特征在于,所述确定待识别数据流的数据包长度抖动门限值包括利用K均值聚类方法确定待识别数据流的数据包长度抖动门限值。5、根据权利要求1所述的方法,其特征在于,所述流量特征值包括待识别数据流的数据包长度的均方差值、或待识别数据流的数据包的数目、或待识别数据流的字节数。6、根据权利要求1所述的方法,其特征在于,所述方法还包括从已知的P2P数据流和非P2P数据流的获得训练样本,利用所述训练样本,根据预置的参数对所述识别单元进行训练,所述参数包括以下的至少一个训练次数、学习效率、训练函数、传递函数或隐含层。7、一种网络装置,其特征在于,包括流量特征值获取单元,用于从捕获的待识别数据流中获取数据包的流量特征值;识别单元,用于根据所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。8、根据权利要求7所述的装置,其特征在于,所述装置还包括匹配单元,用于将数据包有效载荷中的协议特征字与预先建立的已知P2P数据流协议特征字库进行匹配;如果匹配成功,则匹配单元将所述待识别数据流确定为P2P数据流,如果匹配不成功,则匹配单元将触发流量特征值获取单元进行工作。9、根据权利要求7所述的装置,其特征在于,所述流量特征值获取单元包括数据包长度抖动门限值确定单元,用于确定待识别数据流的数据包长度抖动门限值;数据包长度抖动频次的确定单元,用于确定待识别数据流中相邻两个数据包的长度变化超过所述数据包长度抖动门限值的次数,将所述次数作为数据包长度抖动频次;将所述数据包长度抖动频次作为流量特征值。10、一种网络系统,其特征在于,包括至少两个通信设备和网络装置,其中所述至少两个通信设备之间进行通信,所述网络装置用于捕获所述通信设备之间通信的数据流,从获取捕获的待识别数据流中获取数据包的流量特征值,根据由所述流量特征值组成的输入特征向量识别所述数据流是否为P2P数据流。—11、根据权利要求IO所述的网络系统,其特征在于,所述网络装置包括流量特征值获取单元,用于从捕获的待识别数据流中获取数据包的流量特征值;识别单元,用于根据所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。12、根据权利要求11所述的网络系统,其特征在于,所述网络装置还包括匹配单元,用于将数据包有效载荷中的协议特征字与预先建立的已知P2P数据流协议特征字库进行匹配;如果匹配成功,则匹配单元将所述待识别数据流确定为P2P数据流,如果匹配不成功,则匹配单元将触发流量特征值获取单元进行工作。13、根据权利要求11所述的网络系统,其特征在于,所述流量特征值获取单元包括数据包长度抖动门限值确定单元,用于确定待识别数据流的数据包长度抖动门限值;数据包长度抖动频次确定单元,用于确定待识别数据流中相邻两个数据包的长度变化超过所述数据包长度抖动门限值的次数,得到数据包长度抖动频次;将所述数据包长度抖动频次作为流量特征值。全文摘要本发明实施例公开了一种对等网络P2P数据流的识别方法、网络装置和网络系统,该方法包括从捕获的待识别数据流的数据包中获取流量特征值;将所述流量特征值作为识别单元的输入特征向量;将所述输入特征向量输入到预先完成训练的识别单元中,由所述识别单元识别待识别数据流是否为P2P数据流。该网络装置包括流量特征值获取单元,用于从捕获的待识别数据流中获取数据包的流量特征值;识别单元,用于根据所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。通过本发明实施例,可以更准确地识别P2P数据流。文档编号H04L29/06GK101505314SQ20081018913公开日2009年8月12日申请日期2008年12月29日优先权日2008年12月29日发明者余小芳,孙知信,婧宫,骁曾,飞王申请人:成都市华为赛门铁克科技有限公司;南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1