文献标识码: A
文章编号: 0258-7998(2014)02-0125-03
近年已有部分学者开始进行P2P流媒体识别技术的研究[1]。刘朝斌[2]等人提出了4个可区分P2P流媒体和P2P文件下载应用业务的流量特征,采用支持向量机对P2P流媒体进行识别。陈伟[3]通过提取6个端点流量特征并结合C4.5决策树方法实现P2P流媒体的识别。上述方法通常采用P2P直播流代替P2P流媒体,未考虑P2P点播流的影响,识别算法较为片面。胡超、杨洁[4]等人通过P2P流媒体软件的协议特征实现P2P流媒体的识别,但基于协议特征的识别方法不能识别未知的P2P流媒体软件。周丽娟[5]利用P2P直播的暂存性,万成威[6]分析了P2P直播失败会话比例较高的问题,实现了P2P直播流的识别,但所属方法需要对P2P节点的所有下行流量进行统计计算,耗时较长,且识别效果不理想。
P2P流媒体识别的关键在于P2P流媒体特征的选取[7]。从上述研究发现,基于协议特征的识别方法不能识别全部的P2P流媒体应用[8-9];基于流量特征的识别方法未能提取有效区分P2P直播与点播的流量特征;基于行为特征的识别方法虽然可以识别P2P直播流,但由于提取特征较少,识别效果不理想。本文以此为出发点研究P2P流媒体的直播流的行为特征,提出了可以有效识别P2P直播流的行为特征,并结合直播流的流量特征实现了P2P流媒体的快速准确识别。
1 P2P直播流识别方法
基于上述分析结果,本文提出了两种能够准确识别P2P直播流的行为特征,一种是基于服务器角色的节点连接度,另一种是BM信息比,将两者特征结合可以有效地识别P2P直播流。
1.1 基于节点连接度的P2P直播流识别(DLN)
在采用基于节点连接度的P2P直播流识别方法之前,需定义如下3个变量:
定义1 客户端角色节点连接度 C_link
将一个节点作为目的 IP 地址,记录在一段时间内流经该节点的数据包。当数据包长度大于800 B时,记录该数据包的源IP,最后计算相异的源IP个数,即为客户端角色的节点连接度。
定义 2 服务器角色节点连接度 S_link
将一个节点作为源 IP 地址,记录一段时间内该节点发出的数据包。当数据包长度大于800 B时,记录该数据包的目的IP,最后计算相异的目的IP个数,即为服务器角色的节点连接度。
定义 3 节点出/入连接比 PL
PL=S_link/C link
DLN识别算法如下:
(1) 初始化C_link、S_link、PL和时间计数t。
(2) 当有数据包流经节点时,判断计时t,如果t≥T,转步骤(7);如果t<T;则转步骤(3)。T为截取数据包时间的常量阈值。
(3) 记录当前数据包源和目的IP,将IP与节点库IPK中的IP进行匹配。若成功,则转步骤(2);否则转步骤(4),并将该IP加入到IPK中。
(4) 如果该数据包以该节点为目的节点,转步骤(5);如果该数据包以该节点为源节点,则转步骤(6)。
(5) 测量该数据包长度L1,若L1≥800,则C_link=C_link+1,转步骤(2)。
(6) 测量该数据包长度L2,若L2≥800,则S_link=S_link+1,转步骤(2)。
(7) 计算PL。PL=S_Link/C_link。
(8) 对PL进行判断,如果PL>β,则该节点为P2P流媒体直播流。
1.2 基于BM信息比的P2P直播流识别
定义4 S为客户端角色时的下行流量集合,S={S1,S2,…,Sn},其中Si(i=1,2,…,n)为其中的一条五元组流。
定义5 Ti为五元组流Si中IP包出现的时间数。
定义6 Di为五元组流Si中BM信息包出现的时间数。
定义7 Fi为五元组流Si的BM信息比,Fi=Di/Ti。
H-IRI方法识别步骤如下:
(1) 初始化S为空集,n=0,t=0。
(2) 对于时间t计数,如果t≥T,转步骤(5)。
(3) 对于每一个到达的数据包P,如果flow(P)∈S,将其加入相应子流,转步骤(2);否则转步骤(4)。
(4) 如果length(P)≥800,则将flow(P)加入S中,同时n=n+1。
(5) 对Si(i=1,2,…,n)进行统计,开始时设置Ti,Di为0,然后进行每秒统计,在当前1 s内,其中若有数据包,则Ti=Ti+1。若数据包中有BM信息数据包,则Di=Di+1,同时统计Si的数据包个数Ni。
(6)选取Ni最大的前6项五元组流集合SS={SS1, …,SS6},其中NNi为SSi的数据包个数,TTi为SSi的IP包出现时间数,DDi为SSi的BM包出现时间数。
(7) 计算SSi的BM信息比:FFi=DDi/TTi。
(8) 计算S的平均BM信息比:
(9) 判读F,如果F≥?浊,则该节点流为P2P直播流。
采用主流的P2P流量进行1 min流量采集,并进行BM信息比测量,结果如表1所示。
从上述数据可知,H-IRI采用权重较大的五元组流进行赋权重的BM信息比统计,增大了直播流的BM信息比,减小了其他P2P应用的BM信息比,使得直播流与其他应用的BM信息比差距增大,有利于P2P直播流的识别。
1.3 基于联合特征的P2P直播流识别方法
单个行为特征无法全面测量P2P直播流的多方面的特性,仅仅使用单个行为特征来识别P2P直播流,必然导致识别的片面性。如果能够综合多个P2P直播流特征来共同识别P2P流,将有效地提高P2P直播流的识别效率。
除上述两特征,对实现较好的P2P流媒体PPTV、PPStream及QQlive分别进行直播流和点播流的抓包测量,同时对P2P文件下载软件迅雷和BT抓包测量。对它们的数据包长进行统计,按字节长度分为0~300 B、300~800 B及≥800 B三类包,并统计每类包的分布比例。表2为1 min内3种P2P流媒体直播、点播及2种P2P下载软件的包长分布。
由表2可知P2P直播流短包数远大于长包数,而P2P点播流短包数稍小于长包数。同时P2P直播流的下载速率较为稳定,一般不低于50 kb/s,而且不高于300 kb/s。
本文采用基于特征加权的P2P识别方法,其中优先级较高的特征拥有较高的权值,优先级较低的特征拥有较低的权值。设定优先级的权值为?琢i,?琢1>…>?琢n>0。根据匹配特征对识别准确性的贡献分配优先级,进而确定权值大小。
从图中知,采用联合特征可以将P2P直播流的识别准确率从90%提高到约95%,由此可见该方法识别性能良好。
P2P流媒体是当前P2P技术的一个重要应用方面,本文实现了P2P直播流的识别。下一步将对P2P点播进行分析,实现P2P点播的识别。
参考文献
[1] 孙卫喜,席少龙.对等网联下NAT穿越问题的研究[J].电子技术应用,2013,39(5):40-42.
[2] VALENTI S, ROSSI D, MEO M,et al. Accurate, finegrained classification of P2P-TV applications by simply counting packets[C].First International Workshop on Traffic Monitoring and Analysis, Aachen, Germany, 2009.
[3] 陈伟. 基于端点特征的P2P流媒体识别方法[J]. 计算机应用研究,2012,29(7):60-62.
[4] 胡超. 实时识别P2P-TV视频流的方法研究[J]. 电子与信息学报,2011,33(9):19-24.
[5] 周丽娟. P2P流媒体识别方法的研究[D]. 武汉:华东科技大学,2008.
[6] 万成威. 基于P2P流媒体模型的流量特征分析及实时分类[D]. 郑州:解放军信息工程大学,2012.
[7] KARAGIANNIS T, PAPAGIANNAKI K, FALOUTSOS M. BLINC: multilevel traffic classification in the dark[C].ACM SIGCOMM Conference, Philadelphia, USA, 2005.
[8] 鲁刚,张宏利,叶麟. P2P流量识别[J].软件学报, 2011,22(6):81-86.
[9] 刑玲.基于节点连接度的 P2P 流量快速识别方法[J]. 计算机工程,2012,38(21):119-122.