基于上述问题,本发明提供了一种
对等网络中对点对点业务识别技术。 通过此技术,能够准确并快速地识别点对点业务。
根据本发明的一个方面,本发明公开了一种通信网络中识别点对点业务 的方法,包括:
收集TCP(transmission control protocol,传输控制协议)连接信息;
对所述TCP连接信息进行TCP连接数特性分析;
根据分析结果判断所述TCP连接所对应的业务是否为点对点业务。
其中,所述收集TCP连接信息的步骤可以包括:以时间段为单位分组 统计TCP数据包,根据TCP数据包的包头信息获取TCP连接信息;所述 TCP连接信息包括TCP连接数、上传流量及总流量。
优选的,所述TCP连接数特性分析步骤包括:
根据所述TCP连接信息生成用于TCP连接数特性分析的因素,所述因 素包括TCP连接数变化率、上传流量占总流量的平均百分比及上传流量。
可以利用模糊运
算法则对所述因素进行TCP连接数特性分析。
优选的,所述利用模糊运算法则对所述因素进行TCP连接数特性分析 的步骤包括:
对所述因素分别进行相应的隶属度函数运算,得到因素评估值矩阵;
将所述因素评估值矩阵和各相应的因素权值相乘,得到分析结果。
其中,通过柯西分布确定所述隶属度函数。
优选的,根据分析结果来判断所述TCP连接所对应的业务是否为点对 点业务的步骤包括:
将分析结果与评估
阈值比较,如果所述分析结果大于该阈值,则是点对 点业务;否则,不是点对点业务。
其中,在所述利用模糊运算法则对所述因素进行TCP连接数特性分析 步骤之前,还包括:
判断TCP连接数变化率与变化率阈值的大小,如果所述TCP连接数变 化率大于该阈值,则保存并执行后面的步骤;否则,返回至收集TCP连接 信息步骤。
优选的,对所述TCP连接信息进行TCP连接数特性分析;根据分析结 果判断所述TCP连接所对应的业务是否为点对点业务,包括:
比较TCP连接数与连接数阈值的大小;
如果所述TCP连接数大于该阈值,则是点对点业务;否则,不是点对 点业务。
其中,所述根据分析结果判断所述TCP连接所对应的业务是否为点对 点业务步骤之后还包括:
若是P2P业务,将分析结果输出;
否则,返回至收集TCP连接信息步骤。
另一方面,本发明还公开了一种在通信网络中对点对点业务进行识别的 装置,包括数据收集单元、数据分析单元及评估单元;其中,
所述的数据收集单元可以为一个
数据接收器,用于接收并收集TCP连 接信息;
数据分析单元对从所述数据收集单元收集到的TCP连接信息进行TCP 连接数特性分析;
所述评估单元根据所述数据分析单元的分析结果判断所述TCP连接所 对应的业务是否为点对点业务。
优选的,所述数据分析单元包括:
数据处理模
块,数据分析模块。
所述的数据处理模块可以根据所述TCP连接信息生成用于TCP连接数 特性分析的因素。
所述的数据分析模块可以利用模糊运算法则对所述因素进行TCP连接 数特性分析。
优选地,所述数据分析模块包括:评估值矩阵生成模块、分析结果生成 模块;
评估值矩阵生成模块对所述因素分别进行相应的隶属度函数运算,得到 因素评估值矩阵;
分析结果生成模块将所述因素评估值矩阵和各相应的因素权值相乘,得 到分析结果。
其中,所述因素可以包括TCP连接数变化率。
所述装置还可包括判断模块,将由数据处理模块生成的TCP连接数变 化率与变化率阈值比较大小。如果所述TCP连接数变化率大于该阈值,则 将所述因素通过数据存储单元发送至数据分析模块;否则,指令数据收集单 元继续收集TCP连接信息。
其中,所述TCP连接信息可以包括TCP连接数。
所述数据分析单元将从数据收集单元收集到的TCP连接数与连接数阈 值比较大小;
所述评估单元根据所述数据分析单元的分析结果判断所述TCP连接所 对应的业务是否为点对点业务。
通过上述技术方案,本发明能够达到以下技术效果:
首先,本发明的利用对对等网络中的TCP连接数量的统计特征进行点 对点的流量识别的手段。由于P2P通信的每一组连接都是TCP连接,因此 通过对数据包的识别可以较容易地获取到TCP连接信息。
其次,开始P2P业务时,由于
节点和大量的节点建立连接,而每建立一 组连接往往都会发送大量的TCP连接请求数据包,因此会产生大量的TCP 连接数。所以通过对网络中TCP连接数特性分析能够准确的识别P2P业务。 尤其是,本发明采用了模糊运算法则,通过对TCP连接数等信息的综合评 估,使识别
精度进一步提高。
最后,由于节点间可以通过发送同步比特/确认比特包(SYN/ACK)而 建立TCP连接,而本发明的方法和装置通过对网络中的SYN/ACK包的数量 进行统计从而得出TCP连接数,这种统计是实时并快速的,不会造成网络 的延迟。
附图说明
图1为本发明P2P管理流程示意图;
图2为本发明可管理P2P业务的IP网络结构图;
图3为本发明P2P业务识别优选
实施例一的流程示意图;
图4为本发明P2P业务识别优选实施例一的装置结构图;
图5为本发明P2P业务识别优选实施例二的流程示意图;
图6为本发明P2P业务识别优选实施例二的装置结构图。
分布式P2P通信根据其工作原理可划分成四个阶段,分别为:发现和启 动阶段、共享阶段、查询和寻找阶段,以及下载阶段。在前三个阶段,节点 和目录服务器建立连接并加入P2P网络、发送上传文件列表、向目录服务器 查询并寻找存有感兴趣文件的其他节点。在下载阶段,所述节点根据目录服 务器提供的列表上的所感兴趣的其他节点信息,一一建立连接,以完成文件 的互传。
一般情况下,为了保证P2P网络的正常工作,P2P协议会设置一个最大 连接数。在下载阶段,如果节点的连接数没有达到预置的最大连接数,那么 该节点就可以继续与更多的节点建立连接。通常,由于网络的延迟或丢包等 现象,或者由于用户的使用习惯,一个节点在与多个节点建立连接时要发送 大量的连接请求信息。因而,当进行P2P业务时,节点间的TCP连接请求 信息数会明显上升。同时,由于节点与其他节点建立连接是在P2P业务开始 不久进行的,并且节点在建立起连接之后,不会再发送连接请求信息。因此, P2P业务的TCP连接数峰值出现在P2P业务开始不久。由于该峰值是由P2P 业务产生的,所以可通过该峰值来反映包括P2P文件共享及P2P流的特性。
本发明利用了TCP的连接特性来识别并管理P2P业务。请参见图1所 示的本发明P2P管理流程示意图;其具体的P2P管理过程为:
步骤101:收集用户终端的TCP连接信息;
步骤102:分析并判断所述用户终端的TCP连接是否为P2P业务的TCP 连接特性。若是,进入步骤103;否则,返回步骤101;
步骤103:认为用户终端为P2P用户,发送P2P分析结果;
步骤104:根据分析结果建立所述P2P用户终端策略,并控制服务
质量;
步骤105:发送相关策略;
步骤106:根据所述策略进行付费、认证等相关管理。
请参见图2,在IP网络中,可通过三个逻辑功能模块来完成上述P2P 管理流程,即P2P识别模块201、P2P策略与控
制模块202、P2P管理模块 203。其中,P2P识别模块201用来监控用户终端的TCP连接特性,判断所 述TCP连接所对应的业务是否为P2P业务,并将P2P业务的分析结果发送 至P2P策略与
控制模块202,P2P策略与控制模块202根据该分析结果建立 所述P2P用户终端策略,控制通信的服务质量,并将相应的P2P用户终端策 略发送至P2P管理模块203。P2P管理模块203根据从P2P策略与控制模块 202发来的P2P用户终端策略来完成付费、认证等相关的管理。
由上述描述可知,若对IP网络中的P2P业务的流量进行管理和控制, 需要先对P2P业务进行识别,然后再根据生成的P2P分析结果进行相应的管 理控制,以便保证网络的服务质量。
本发明提供的一种点对点业务识别的技术方案是:收集TCP连接信息; 对所述TCP连接信息进行TCP连接数特性分析;根据分析结果判断所述TCP 连接所对应的业务是否为点对点业务。
请参见图3所示的本发明P2P通信流量识别方法的优选实施例一的流程 示意图。具体地,可以通过以下步骤完成本发明的方法:
步骤301:收集TCP连接信息。
TCP连接信息包括用户终端在当前时段的TCP连接数,上传流量数和 总流量数。所述TCP连接信息有多种收集方式,例如可以在用户终端、网 关、路由器或者
移动通信网络中的GGSN(Gateway GPRS Support Node,即 网关GPRS支持节点)上,安装一个用于数据包分析的软件开发包SDK (Software Development Kit),如优选的winPcap
软件包。然后,利用该软件 包对数据包的包头信息进行分析,收集TCP连接信息。若本发明应用在IMS 网络中,由于建立TCP连接之前要建立IMS会话,而IMS网络中的在线服 务器(Presence Server)能够记录在线用户的信息,因此可以在IMS网络中 通过在线服务器所记录的在线用户信息来获取TCP连接信息。
基于P2P通信的工作原理,在P2P业务开始后,该业务发起用户会和大 量其他用户建立TCP连接,发送建立TCP连接所需的连接请求包,例如同 步比特/确认比特包(SYN/ACK)。本发明通过对所述连接请求包的数量进行 统计来获取TCP连接数,并根据所述连接请求包的包头数据信息获取到上 传数据流量数和总流量数。本发明的收集方式优选地以时间段为单位进行收 集,所述时间段可根据实测数据预先设置,例如将30秒设为一个间隔。
步骤302~步骤303:处理TCP连接信息并判断保存。
首先,根据收集到的TCP连接信息生成TCP连接数变化率和平均百分 比,其中,所述TCP连接数变化率为当前时段的连接数与前一时段的连接 数的比值,平均百分比为相临几个时段的平均上传流量与总流量的百分比。
本发明取平均上传流量是因为,本领域技术人员知道,所有P2P业务, 尤其是P2P流媒体业务,其特点是用户只有在建立TCP连接并获得一定数 据后,才能够进行上传,并且上传流量增大至稳定是在用户的TCP连接数 趋于稳定之后,因此上传流量的增大并趋于稳定通常要晚于TCP连接数峰 值,所以为了使测量的数据更有利于准确判断,将上传流量测量的时间段设 置在TCP连接数峰值后不久,并取相临几个时间段的连接数的平均值,因 此所述平均百分比不是在TCP连接峰值出现时的上传流量与总流量的百分 比,而是在TCP连接峰值之后很短的时间内的几个时段的上传流量的平均 值与总流量的百分比。
其次,判断TCP连接数变化率与变化率阈值的大小,所述阈值是预先 设置的,其阈值范围优选地为大于等于4,本发明将变化率阈值优选设置为 4。当生成的TCP连接数变化率大于该阈值时,则保存所述TCP连接数变化 率、平均百分比以及上传流量值,并执行步骤304;否则,将处理结果丢弃 后返回步骤301。
步骤304:对变化率、百分比及上传流量值进行分析。
为了更好地进行分析,利用模糊运算法则对TCP连接数变化率、平均 百分比及上传流量值这三个因素进行分析,为了便于说明,这里将TCP连 接数变化率表示为Cr、平均百分比为θ、上传流量值为tu。
首先,用相应的隶属度函数分别计算上述三个因素的数值。每一个函数 的结果包括两个值,分别表示是P2P业务的可能性及不是P2P业务的可能性。
为方便说明,定义U为上述三个因素组成的一个因素集,即U={u1,u2,u3}, 其中,u1为Cr,u2为θ,u3为tu。同时,定义V为每个因素的评估集,即 V={v1,v2},其中,v1表示是P2P业务的可能性,v2表示不是P2P业务的可能 性。
利用相应的隶属度函数通过对每个因素从U到V的模糊映射,得到每 个因素的评估集:
f:U→F(V)
即u1|→(ri1,ri2),
根据模糊识别的不同问题,可以有不同的隶属度函数设定方法。一般来 说,主要有三种方法,即F统计方法、三分法、及通过F分布来确定隶属度 函数。由于此问题中需要构建两相函数,建议采用通过F分布来确定隶属度 函数。常见的分布包括矩形分布或半矩形分布、半梯形分布或梯形分布、抛 物形分布、正态分布、柯西分布与岭形分布。建议选取柯西分布来确定隶属 度函数,这样可以获得较好的评判结果。
下文以Cr与θ为例,根据实验获得数据选取柯西分布构建隶属度函数。 因素tu的隶属度函数也可以通过类似的方法获得。
例如,将Cr的经验性隶属度函数定义为:
通过对因素Cr的隶属度函数的计算,得到结果r11,其值表示是P2P业 务的可能性。同时,将1-r11的结果作为不是P2P业务的可能性,即r12,则 根据r11、r12可得到因素Cr的评估集V1。
同样,可以如下定义因素θ的经验性的隶属度函数:
通过对因素θ的隶属度函数的计算,将其结果按照上述方法得到r21、r22 两个值分别表示是P2P业务的可能性和不是P2P业务的可能性,从而再根据 r21、r22得到因素θ的评估集V2。
对于因素tu,可同样按照上述方法,通过柯西分布构建的隶属度函数得 到因素tu的评估集V3,这里不再赘述。
再根据所述三个隶属度函数的结果生成一个评估值矩阵,即
对于P2P业务的冷
门文件,由于参与该文件互传的用户数量较少,导致 用户建立的TCP连接数较少,因此这类冷门文件的TCP连接数峰值不如P2P 业务中热门文件的TCP连接数峰值明显。而在一些极端情况下,某些非P2P 业务(例如web业务)也有可能在短时间内由于打开大量的网页而建立较多 的TCP连接,这时在连接数特性上会与冷门P2P业务的TCP连接特性较为 接近。这时单纯依赖TCP连接数变化率会难以准确区分。而根据P2P业务 特性,由于web业务所产生的上传流量远小于P2P业务,所以可通过因素 tu在流量上加以区分。由于因素tu只针对特殊情况,所以tu的权值低于其他 两个因素的权值。
由于所述三个因素的重要性不同,因此其权值不同,如可将三个因素的 权值分别设置为0.4、0.4和0.2。定义A为所述三个因素的权值集,即 A=(a1,a2,a3),其中,a1为Cr的权值,a2为θ的权值,a3为tu的权值。
最后,通过B=A·R计算三个因素的权值向量和评估值矩阵,得到一个综 合评估结果B。所述B有两个分量值,即B=(b1,b2),其中,b1表示是P2P业 务的可能性,b2表示不是P2P业务的可能性。
步骤305:评估分析结果,判断所述TCP连接所对应的业务是否是P2P 业务。
根据生成的综合评估结果B并做出最终识别。识别的精度可以根据用户 的需要,通过调整其评估阈值来决定:如果采用较低的精度,只需b1>b2, 即此时所述评估阈值可设为0.5。当b1>0.5,则认为有关业务是P2P业务;反 之,则认为不是P2P业务。如果要提高精度,可适当提高评估阈值。当b1大 于该评估阈值,则可认为有关业务是P2P业务;否则,不为P2P业务。
当分析结果表明有关业务是P2P业务时,执行步骤306;否则返回至步 骤301。
步骤306:将分析结果输出。
将是P2P业务的分析结果输出,然后P2P系统可根据所述分析结果建立 P2P策略并进行相应管理,进而控制服务质量。由于输出分析结果之后的管 理等工作不是本发明的保护内容,所以这里不再赘述。
基于上述技术方案,本发明还提供了一种用于实现点对点业务识别的装 置,包括:数据收集单元401、数据分析单元402、及评估单元409。其中, 数据收集单元401将收集到的TCP连接信息输出至数据分析单元402;所述 数据分析单元402对所述TCP连接信息进行TCP连接数特性分析;评估单 元409根据所述数据分析单元402的分析结果判断所述TCP连接所对应的 业务是否为点对点业务。
图4为本发明用于实现P2P业务识别的方法的实施例一的装置结构图。 所述装置包括:数据收集单元401、数据分析单元402、存储单元405、评估 单元409,以及调节单元410。
其中,所述数据分析单元402包括数据处理模块403、判断模块404、 数据分析模块407;所述数据分析模块407包括评估值矩阵生成模块406、 分析结果生成模块408。
数据收集单元401用于检查数据包头,将TCP连接请求数据包以时间 段为单位分组收集,并将收集到的TCP连接信息输出至数据分析单元402 进行处理分析,所述TCP连接信息包括用户终端的TCP连接数、上传流量 数和总流量数。所述数据处理模块403根据所收集到的TCP连接信息生成 用于TCP连接数特性分析的因素,所述因素包括TCP连接数变化率和上传 流量占总流量的平均百分比。其中,所述TCP连接数变化率为当前时段的 连接数与前一时段的连接数的比值,平均百分比为相邻几个时间段的平均上 传流量与总流量的百分比。所述判断模块404根据TCP连接数变化率与调 节单元410预先设置的变化率阈值的大小关系,来判断是否保存处理结果。 如果所述TCP连接数变化率大于变化率阈值,则将所述因素通过存储单元 405发送至数据分析模块407;否则,指令数据收集单元401继续收集TCP 连接信息。
数据分析模块407利用模糊运算法则将存储单元405中的因素进行TCP 连接数特性分析。所述的分析过程包括,评估值矩阵生成模块406对所述因 素分别进行相应的隶属度函数运算,得到因素评估值矩阵;分析结果生成模 块408将所述因素评估值矩阵和因素权值相乘,将生成的分析结果输出至评 估单元409。所述评估单元409根据调节单元410预置的评估阈值对该结果 进行最终分析,判断所述TCP连接所对应的业务是否为点对点业务。当是 P2P业务时,所述评估单元409将P2P业务的结果输出;否则,指令数据收 集单元401继续收集TCP连接信息。
调节单元410用于设置收集时间段,以及调整所述三个因素的隶属度函 数、权值、变化率阈值及评估阈值。
本发明对P2P业务识别的方法,除了采用上述模糊算法对TCP连接数 变化率等因素进行分析外,还可以单纯通过对TCP连接数的分析来识别。 这是由于进行P2P业务时,业务节点会和其他节点建立大量的TCP连接进 行文件互传,P2P业务的TCP连接数要比其他非P2P业务的连接数多。所 以如果在一段时间内的TCP连接数比前一时段的数量大,则认为此刻大量 的TCP连接数为P2P连接数,该时段运行的业务为P2P业务。
图5为本发明对P2P业务识别的实施例二的流程示意图。该流程的具体 步骤为:
步骤501:收集TCP连接数。
所述TCP连接信息包括用户终端在当前时段的TCP连接数、上传流量 数和总流量数。所述TCP连接信息有多种收集方式,例如可以在用户终端、 网关、路由器或者移动通信网络中的网关GPRS支持节点(Gateway GPRS Support Node,GGSN)上,安装一个用于数据包分析的软件开发包SDK (Software Development Kit),如一个优选的winPcap软件包。然后,利用该 软件包对数据包的包头信息进行分析,收集TCP连接信息。本发明通过对 TCP的连接请求包数量进行统计来获取TCP连接数。收集的优选方式为以 一个时间段为单位收集,所述时间段可根据实测数据预先设置,如30秒为 一间隔。
若在IMS网络中,由于建立TCP连接之前要建立IMS会议,而IMS网 络中的在线服务器(Presence Server)能够记录在线用户的信息。因此,在 IMS网络中可通过在线服务器上记录的在线用户信息获取TCP连接数。
步骤502~步骤503:分析TCP连接数特性并判断所述TCP连接所对应 的业务是否为P2P业务。
对收集的P2P连接数与预置的连接数阈值进行比较分析,并根据分析结 果判断所述TCP连接所对应的业务是否为P2P业务。如果在一段时间内的 TCP连接数大于所述连接数阈值,则认为该时段运行的业务是P2P业务;否 则,不是P2P业务。
其中,所述连接数阈值可根据用户对识别精度的要求,经验性地进行设 置。例如,可以采集多组P2P业务的连接数据,取其中TCP连接数峰值较 低,但仍高于大多数非P2P业务的连接数峰值的数作为连接数阈值。上述提 供的设置方法只是其中一个实施例,其设置思想是,只要介于非P2P业务 TCP连接数峰值和P2P业务的TCP连接数峰值之间的数值,都能够作为连 接数阈值。由于所述阈值属于经验性设置,其设置方法不是唯一的,因此所 述阈值及其设置方法只要是基于上述思想的,都属于本发明所保护的范围。
当是P2P业务时,执行步骤504;否则返回至步骤501。
步骤504:将分析结果输出。
将是P2P业务的分析结果输出,然后P2P系统可根据所述分析结果建立 P2P策略并进行相应管理,进而控制服务质量。将分析结果输出之后的管理 等工作不是本发明的保护内容,所以这里不再赘述。
基于上述技术方案,本发明还提供了一种用于实现P2P业务识别的方法 实施例二的装置,请参见图6。图6为本发明用于实现P2P业务识别的方法 实施例二的装置结构图。所述装置包括数据收集单元601、数据分析单元602、 评估单元603以及调节单元604。其中,数据收集单元601用于检查数据包 头,并根据TCP连接请求数据包以时间段为单位分组收集TCP连接数,并 将收集到的TCP连接信息输出至数据分析单元602。所述数据分析单元602 通过对TCP连接数与连接数阈值比较大小,来进行TCP连接数特性分析。 评估单元603根据所述数据分析单元602的分析结果判断所述TCP连接所 对应的业务是否为点对点业务。如果在一段时间内的TCP连接数大于所述 连接数阈值,则所述评估单元603认为该时段所运行的业务是P2P业务,同 时将所述P2P业务的结果输出;否则,所述评估单元603指令数据收集单元 601继续收集TCP连接信息。
所述调节单元604用于设置收集时间段及连接数阈值。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何 在本发明的精神和原则之内所作的
修改、等同替换和改进等,均应包含在本 发明保护范围之内。