CN103118078A - P2p流量的识别方法和设备 - Google Patents

P2p流量的识别方法和设备 Download PDF

Info

Publication number
CN103118078A
CN103118078A CN2013100164469A CN201310016446A CN103118078A CN 103118078 A CN103118078 A CN 103118078A CN 2013100164469 A CN2013100164469 A CN 2013100164469A CN 201310016446 A CN201310016446 A CN 201310016446A CN 103118078 A CN103118078 A CN 103118078A
Authority
CN
China
Prior art keywords
packet
listening port
udp
length
udp listening
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
CN2013100164469A
Other languages
English (en)
Other versions
CN103118078B (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201310016446.9A priority Critical patent/CN103118078B/zh
Publication of CN103118078A publication Critical patent/CN103118078A/zh
Application granted granted Critical
Publication of CN103118078B publication Critical patent/CN103118078B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种P2P流量的识别方法和设备,通过应用本发明实施例的技术方案,在当前主机中存在P2P应用的UDP监听端口的情况下,根据所述UDP监听端口上的数据包的特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型,并对相应的P2P流量进行识别,从而,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。

Description

P2P流量的识别方法和设备
技术领域
本发明涉及通信技术领域,特别涉及一种P2P流量的识别方法和设备。
背景技术
随着计算机网络规模的扩展和业务种类的不断增长,P2P(Peer-to-Peer,点对点)网络作为一种全新的互联网技术得到了飞速发展。
基于P2P机制的应用在下载数据的同时会上传数据,对于目前上行带宽小于下行带宽的大部分网络会造成网络瓶颈。加强对P2P应用流量的监控,适当控制网络中P2P流量规模的需求也日益增长,因此P2P流量的有效识别就显得尤为重要。
目前国内外学者对于P2P流量和非P2P流量的识别已经研究的比较深入,主要包括以下几种情况:
(1)利用TCP(Transmission Control Protocol,传输控制协议)流的统计特征用贝叶斯方法进行分类;
(2)根据节点主机作为源主机或目的主机时TCP流和UDP(User DatagramProtocol,用户数据包协议)流表现的行为差异所提出的启发式的判别规则;
(3)将主机行为分为社会层、功能层和应用层,利用主机的行为模式识别P2P流量;
(4)提出TDG(Traffic Dispersion Graphs,流量传播图)的概念,将节点之间的通信转换为有向图,并量化有向图中的一些特征(如出度,入度),利用这些特征识别有向图中节点间的通信协议。
虽然上述方法都能够较好的区分网络中的P2P流量和非P2P流量,但是对于细粒度P2P流量的识别,也就是对具体的P2P应用或协议识别的研究还比较少。
现有的技术方案中提出了几个适用于P2P识别的统计特征,并用互信息和海灵格距离(Hellinger Distance)进行了量化和排序,但从实验结果可以看出分类的效果不是很理想。
在另一种技术方案中,定义了Sherlock框架,从几个层次描述了P2P应用的共性和特性,Sherlock框架提出的描述方式能够适用于不同的P2P应用,但是没有进一步说明如何将其应用于识别。
还有一种技术方案,利用运行P2P应用的主机要和多个节点通信的特点,根据主机与节点交换的数据报个数对节点进行划分,通过节点数量分布识别P2P应用,但是该方法仅考虑了视频类P2P应用,缺少对下载类应用的分析。
在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:
由于P2P应用模型的多样性,对于某一P2P应用的网络流量,如果综合分析观察它的节点通信状态、节点交互方式、传输层协议使用情况和TCP端口状态等节点主机的网络行为,确实能够人工地识别出网络流量是由哪一种P2P应用产生的,但是这些对P2P应用网络行为的描述方式并不适合于机器学习,不能充分地利用计算机的运算和处理能力进行自动化的P2P应用识别。
发明内容
本发明实施例提供一种P2P流量的识别方法和设备,解决现有的技术方案中的缺少自动化的P2P应用类型及相应流量的识别方式的问题。
为达到上述目的,本发明实施例一方面提供了一种P2P流量的识别方法,至少包括以下步骤:
根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口;
如果判断结果为存在,则收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量;
根据所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型;
根据所述P2P应用的类型,对相应的P2P流量进行识别。
优选的,所述根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口,具体包括:
收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口:
存在一个端口被同一个应用程序所占用的时间长度超过预设阈值,且所述应用程序使用所述端口与多个不同IP地址的节点进行通信;
如果判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,如果判断结果为不存在,则确定当前主机中不存在P2P应用的UDP监听端口。
优选的,所述收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量,具体包括:
确定一个取样时间区间,并确定多个连续的数据包大小区间,其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值;
分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量;
确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度;
根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。
优选的,所述收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量,具体包括:
确定30秒为一个取样时间区间;
在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息:
所述UDP监听端口在所述30秒内所传输的数据包的总数量为Ntotal
所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15
其中,Ntotal=N1+N2+……+N15
确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度为Lmin
确定所述UDP监听端口在所述30秒内的特征向量为:
(Lmax,Lmin,N1/Ntotal,N2/Ntotal,……,N15/Ntotal)。
优选的,所述根据所述P2P应用的类型,对相应的P2P流量进行识别,具体包括:
如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量;
如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。
另一方面,本发明实施例还提供了一种流量识别设备,包括:
判断模块,用于根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口;
转换模块,用于在所述判断模块的判断结果为存在时,收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量;
确定模块,用于根据所述转换模块所转换得到的所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型;
识别模块,用于根据所述确定模块所根据的所述P2P应用的类型,对相应的P2P流量进行识别。
优选的,所述判断模块,具体用于:
收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口:
存在一个端口被同一个应用程序所占用的时间长度超过预设阈值,且所述应用程序使用所述端口与多个不同IP地址的节点进行通信;
如果判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,如果判断结果为不存在,则确定当前主机中不存在P2P应用的UDP监听端口。
优选的,所述转换模块,具体用于:
在所述判断模块的判断结果为存在时,确定一个取样时间区间,并确定多个连续的数据包大小区间,其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值;
分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量;
确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度;
根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。
优选的,所述转换模块,具体用于:
在所述判断模块的判断结果为存在时,确定30秒为一个取样时间区间;
在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息:
所述UDP监听端口在所述30秒内所传输的数据包的总数量为Ntotal
所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15
其中,Ntotal=N1+N2+……+N15
确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度为Lmin
确定所述UDP监听端口在所述30秒内的特征向量为:
(Lmax,Lmin,N1/Ntotal,N2/Ntotal,……,N15/Ntotal)。
优选的,所述识别模块,具体用于:
如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量;
如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例的技术方案,在当前主机中存在P2P应用的UDP监听端口的情况下,根据所述UDP监听端口上的数据包的特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型,并对相应的P2P流量进行识别,从而,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。
附图说明
图1为本发明实施例所提出的一种P2P流量的识别方法的流程示意图;
图2为本发明实施例所提出的一种具体应用场景中的需要切换的传感节点的接入控制及分配方法的流程示意图的流程示意图;
图3为本发明实施例所提出的一种流量识别设备的结构示意图。
具体实施方式
如背景技术所述,现有的P2P应用类型的识别方式多是依赖人工对于P2P应用网络行为特征(包括节点通信状态、节点交互方式、传输层协议使用情况和TCP端口状态等节点主机的网络行为)的识别来实现的,这些对P2P应用网络行为的描述方式并不适合于机器学习,相应的,也就无法实现P2P应用类型及相应流量的自动化识别。
为了克服这样的缺陷,本发明实施例提出了一种P2P流量的识别方法,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。
如图1所示,为本发明实施例所提出的一种P2P流量的识别方法的流程示意图,该方法具体包括以下步骤:
步骤S101、根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口。
如果判断结果为存在,则执行步骤S102;
如果判断结果为不存在,则结束当前的P2P流量识别过程。
在具体的应用场景中,本步骤的实现具体可以通过以下方式完成:
收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口:
条件一、存在一个端口被同一个应用程序所占用的时间长度超过预设阈值。
条件二、所述应用程序使用所述端口与多个不同IP地址的节点进行通信。
上述两个条件是根据P2P应用的UDP监听端口的特征推到而来,需要同时满足这样的两个条件才能确定P2P应用的UDP监听端口的存在。
如果上述的判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,执行步骤S102。
如果上述的判断结果为不存在,则确定当前主机中不存在P2P应用的UDP监听端口,结束当前的P2P流量识别过程。
步骤S102、收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量。
在具体的应用场景中,本步骤的实现具体可以通过以下方式完成:
(1)确定一个取样时间区间,并确定多个连续的数据包大小区间。
其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值。
(2)分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量。
(3)确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度。
(4)根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。
步骤S103、根据所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型。
步骤S104、根据所述P2P应用的类型,对相应的P2P流量进行识别。
在具体的应用场景中,本步骤的实现具体可以通过以下方式完成:
如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量;
如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例的技术方案,在当前主机中存在P2P应用的UDP监听端口的情况下,根据所述UDP监听端口上的数据包的特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型,并对相应的P2P流量进行识别,从而,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。
下面,结合具体的应用场景,对本发明实施例所提出的技术方案进行说明。
具体的,本发明实施例所提出的一种P2P流量的识别方法的流程示意图如图2所示,具体包括以下步骤:
步骤S201、查找当前主机中所存在的所有UDP端口。
步骤S202、收集主机网卡的流量数据,完成对当前主机流量数据的采集。
步骤S203、根据当前主机流量数据,完成P2P应用的UDP监听端口的识别。
具体的,相应的识别方案要做的就是通过对节点主机流量数据的分析判断节点主机使用的UDP端口中是否存在某一P2P应用的UDP监听端口。
依据对节点行为的分析可知,P2P应用的UDP监听端口应该有如下特征:
(1)端口长时间的被一个应用程序所占用;
(2)应用程序使用该端口与多个不同IP地址的节点进行通信。
如果节点主机中存在符合上述规则的UDP端口,那么就可以认为节点主机正在运行某一P2P应用,并且该UDP端口就是这个P2P应用的UDP监听端口,然后,执行步骤S204。
反之,则结束当前的P2P流量识别过程。
步骤S204、获取该P2P应用的UDP监听端口的行为特征信息。
找到了P2P应用的UDP监听端口,接下来就是对该UDP端口产生的数据包进行统计分析,所统计的信息包括以下两个方面:
(1)数据包长度分布情况。
确定30秒为一个取样时间区间;
在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息:
所述UDP监听端口在所述30秒内所传输的数据包的总数量为Ntotal
所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15
其中,Ntotal=N1+N2+……+N15
(2)数据包长度极值。
确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度为Lmin
步骤S205、行为特征信息的向量化。
支持向量机处理的数据都是以多维向量的形式保存的,因此需要将UDP监听端口的行为特征用向量的方式表示。
根据步骤S204中的统计信息,上述的30秒的时间间隔内P2P应用的UDP监听端口的行为特征可以表示为一个17维的向量:
(Lmax,Lmin,N1/Ntotal,N2/Ntotal,……,N15/Ntotal)。
在具体的应用场景中,长时间收集的P2P流量数据就可以表示为一个监听端口的特征向量空间,然后利用支持向量机对空间内的特征向量进行训练和分类,进而识别出UDP监听端口所属的P2P应用。
步骤S206、将相应的特征向量经由支持向量机的分类器进行识别。
一旦识别出该UDP监听端口属于哪一种P2P应用,就能够得知节点主机在运行何种P2P应用了。具体的识别规则可以根据实际情况进行配置,由于具体的信息均可以通过向量形式进行配置,所以,方便了机器学习,为P2P应用类型的自动化识别奠定了基础。
如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则执行步骤S207;
如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则执行步骤S208。
在现有的技术方案中,常见的P2P应用类型主要包括:
PPLive、PPStream、Emule、UUSee、Thunder、BitComet以及QQLive等形式,具体P2P类型的变化并不会影响本发明的保护范围。
步骤S207、直接根据所述UDP监听端口的流量识别所述P2P的流量。
如果该P2P应用是PPLive这种只使用UDP协议传输数据的应用,那么获取了UDP监听端口就相当于识别出了P2P应用绝大部分的流量。
步骤S208、在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。
如果该P2P应用是eMule这种同时使用TCP协议传输数据的应用,那么根据P2P应用的TCP端口状态点阵图描述的规律也能够很容易地识别出P2P应用TCP协议的流量。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例的技术方案,在当前主机中存在P2P应用的UDP监听端口的情况下,根据所述UDP监听端口上的数据包的特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型,并对相应的P2P流量进行识别,从而,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。
为了实现本发明实施例的技术方案,本发明实施例还提供了一种流量识别设备,其结构示意图如图3所示,至少包括:
判断模块31,用于根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口;
转换模块32,用于在所述判断模块31的判断结果为存在时,收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量;
确定模块33,用于根据所述转换模块32所转换得到的所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型;
识别模块34,用于根据所述确定模块33所根据的所述P2P应用的类型,对相应的P2P流量进行识别。
优选的,所述判断模块31,具体用于:
收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口:
存在一个端口被同一个应用程序所占用的时间长度超过预设阈值,且所述应用程序使用所述端口与多个不同IP地址的节点进行通信;
如果判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,如果判断结果为不存在,则确定当前主机中不存在P2P应用的UDP监听端口。
优选的,所述转换模块32,具体用于:
在所述判断模块31的判断结果为存在时,确定一个取样时间区间,并确定多个连续的数据包大小区间,其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值;
分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量;
确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度;
根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。
优选的,所述转换模块32,具体用于:
在所述判断模块31的判断结果为存在时,确定30秒为一个取样时间区间;
在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息:
所述UDP监听端口在所述30秒内所传输的数据包的总数量为Ntotal
所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15
其中,Ntotal=N1+N2+……+N15
确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度为Lmin
确定所述UDP监听端口在所述30秒内的特征向量为:
(Lmax,Lmin,N1/Ntotal,N2/Ntotal,……,N15/Ntotal)。
优选的,所述识别模块34,具体用于:
如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量;
如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例的技术方案,在当前主机中存在P2P应用的UDP监听端口的情况下,根据所述UDP监听端口上的数据包的特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型,并对相应的P2P流量进行识别,从而,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络侧设备等)执行本发明实施例各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明实施例所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明实施例的几个具体实施场景,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明实施例的业务限制范围。

Claims (10)

1.一种点对点P2P流量的识别方法,其特征在于,包括以下步骤:
根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口;
如果判断结果为存在,则收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量;
根据所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型;
根据所述P2P应用的类型,对相应的P2P流量进行识别。
2.如权利要求1所述的方法,其特征在于,所述根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口,具体包括:
收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口:
存在一个端口被同一个应用程序所占用的时间长度超过预设阈值,且所述应用程序使用所述端口与多个不同IP地址的节点进行通信;
如果判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,如果判断结果为不存在,则确定当前主机中不存在P2P应用的UDP监听端口。
3.如权利要求1所述的方法,其特征在于,所述收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量,具体包括:
确定一个取样时间区间,并确定多个连续的数据包大小区间,其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值;
分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量;
确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度;
根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。
4.如权利要求3所述的方法,其特征在于,所述收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量,具体包括:
确定30秒为一个取样时间区间;
在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息:
所述UDP监听端口在所述30秒内所传输的数据包的总数量为Ntotal
所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15
其中,Ntotal=N1+N2+……+N15
确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度为Lmin
确定所述UDP监听端口在所述30秒内的特征向量为:
(Lmax,Lmin,N1/Ntotal,N2/Ntotal,……,N15/Ntotal)。
5.如权利要求1所述的方法,其特征在于,所述根据所述P2P应用的类型,对相应的P2P流量进行识别,具体包括:
如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量;
如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。
6.一种流量识别设备,其特征在于,包括:
判断模块,用于根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口;
转换模块,用于在所述判断模块的判断结果为存在时,收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量;
确定模块,用于根据所述转换模块所转换得到的所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型;
识别模块,用于根据所述确定模块所根据的所述P2P应用的类型,对相应的P2P流量进行识别。
7.如权利要求6所述的设备,其特征在于,所述判断模块,具体用于:
收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口:
存在一个端口被同一个应用程序所占用的时间长度超过预设阈值,且所述应用程序使用所述端口与多个不同IP地址的节点进行通信;
如果判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,如果判断结果为不存在,则确定当前主机中不存在P2P应用的UDP监听端口。
8.如权利要求6所述的设备,其特征在于,所述转换模块,具体用于:
在所述判断模块的判断结果为存在时,确定一个取样时间区间,并确定多个连续的数据包大小区间,其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值;
分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量;
确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度;
根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。
9.如权利要求8所述的设备,其特征在于,所述转换模块,具体用于:
在所述判断模块的判断结果为存在时,确定30秒为一个取样时间区间;
在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息:
所述UDP监听端口在所述30秒内所传输的数据包的总数量为Ntotal
所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15
其中,Ntotal=N1+N2+……+N15
确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度为Lmin
确定所述UDP监听端口在所述30秒内的特征向量为:
(Lmax,Lmin,N1/Ntotal,N2/Ntotal,……,N15/Ntotal)。
10.如权利要求6所述的设备,其特征在于,所述识别模块,具体用于:
如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量;
如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。
CN201310016446.9A 2013-01-16 2013-01-16 P2p流量的识别方法和设备 Active CN103118078B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310016446.9A CN103118078B (zh) 2013-01-16 2013-01-16 P2p流量的识别方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310016446.9A CN103118078B (zh) 2013-01-16 2013-01-16 P2p流量的识别方法和设备

Publications (2)

Publication Number Publication Date
CN103118078A true CN103118078A (zh) 2013-05-22
CN103118078B CN103118078B (zh) 2019-01-22

Family

ID=48416348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310016446.9A Active CN103118078B (zh) 2013-01-16 2013-01-16 P2p流量的识别方法和设备

Country Status (1)

Country Link
CN (1) CN103118078B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135216A (zh) * 2017-05-03 2017-09-05 深圳市视维科技股份有限公司 一种加强弱网环境流媒体传输方法
CN109327404A (zh) * 2018-09-30 2019-02-12 武汉思普崚技术有限公司 基于朴素贝叶斯分类算法的p2p预测方法及系统、服务器及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090187653A1 (en) * 2008-01-23 2009-07-23 The Chinese University Of Hong Kong Systems and processes of identifying p2p applications based on behavioral signatures
CN101668035A (zh) * 2009-09-28 2010-03-10 中国人民解放军理工大学指挥自动化学院 一种实时识别多种p2p-tv应用视频流的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090187653A1 (en) * 2008-01-23 2009-07-23 The Chinese University Of Hong Kong Systems and processes of identifying p2p applications based on behavioral signatures
CN101668035A (zh) * 2009-09-28 2010-03-10 中国人民解放军理工大学指挥自动化学院 一种实时识别多种p2p-tv应用视频流的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
董仕,王岗: "基于UDP流量的P2P流媒体流量识别算法研究", 《通信学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135216A (zh) * 2017-05-03 2017-09-05 深圳市视维科技股份有限公司 一种加强弱网环境流媒体传输方法
CN107135216B (zh) * 2017-05-03 2020-12-04 深圳市小溪流科技有限公司 一种加强弱网环境流媒体传输方法
CN109327404A (zh) * 2018-09-30 2019-02-12 武汉思普崚技术有限公司 基于朴素贝叶斯分类算法的p2p预测方法及系统、服务器及介质
CN109327404B (zh) * 2018-09-30 2022-06-07 武汉思普崚技术有限公司 基于朴素贝叶斯分类算法的p2p预测方法及系统、服务器及介质

Also Published As

Publication number Publication date
CN103118078B (zh) 2019-01-22

Similar Documents

Publication Publication Date Title
Sun et al. A QoS-guaranteed intelligent routing mechanism in software-defined networks
WO2020112658A1 (en) Systems and methods of data flow classification
US8279753B2 (en) Efficient determination of fast routes when voluminous data is to be sent from a single node to many destination nodes via other intermediate nodes
WO2021169308A1 (zh) 一种数据流类型识别模型更新方法及相关设备
CN108881028B (zh) 基于深度学习实现应用感知的sdn网络资源调度方法
CN110324260B (zh) 一种基于流量识别的网络功能虚拟化智能调度方法
Tajiki et al. CECT: computationally efficient congestion-avoidance and traffic engineering in software-defined cloud data centers
Quan et al. Cybertwin-driven DRL-based adaptive transmission scheduling for software defined vehicular networks
Ruelas et al. A load balancing method based on artificial neural networks for knowledge-defined data center networking
Yu et al. Reliable cybertwin-driven concurrent multipath transfer with deep reinforcement learning
Nouruzi et al. Online service provisioning in NFV-enabled networks using deep reinforcement learning
Yan et al. Flowlet-level multipath routing based on graph neural network in OpenFlow-based SDN
Poltronieri et al. Phileas: A simulation-based approach for the evaluation of value-based fog services
Zheng et al. Application-aware QoS routing in SDNs using machine learning techniques
Zhang et al. DSOQR: Deep Reinforcement Learning for Online QoS Routing in SDN‐Based Networks
Li et al. NNSplit-SØREN: Supporting the model implementation of large neural networks in a programmable data plane
Li et al. Optimal service selection and placement based on popularity and server load in multi-access edge computing
CN103118078A (zh) P2p流量的识别方法和设备
CN101958843A (zh) 基于流量分析和节点信任度的智能路由选择方法
Kim et al. Graph neural network-based virtual network function management
Al-Hamiri et al. Performance evaluation of WLAN in enterprise WAN with real-time applications based on OPNET modeler
Rani et al. Hybrid evolutionary computing algorithms and statistical methods based optimal fragmentation in smart cloud networks
Gomez et al. Efficient network telemetry based on traffic awareness
Kiran et al. Deeproute: Herding elephant and mice flows with reinforcement learning
Takyi et al. A semi-supervised QoS-aware classification for wide area networks with limited resources

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20181224

Address after: No. 10, Xitucheng Road, Haidian District, Beijing 100000

Applicant after: Beijing University of Posts and Telecommunications

Address before: 100876 School of Computer Science, Beijing University of Posts and Telecommunications, No. 10 Xitucheng Road, Haidian District, Beijing

Applicant before: Zhou Yajian

Applicant before: Guo Chun

Applicant before: Xue Kai

Applicant before: Ping Yuan

GR01 Patent grant
GR01 Patent grant