1.概述1.1PPTV与P2P流媒体简介1、PPTV是一款主流P2P流媒体应用软件,它使用了当下最流行的P2P技术,也称为对等网络(peer-to-peer)技术,简单的说,就是一种用户不经过中间设备直接交换数据或服务的技术。它将目前互联网的“内容位于中心”模式改为“内容位于边缘”模式,将权力交还给用户。在这种架构中,每个节点的地位都相同,具备客户端和服务器的双重特性,可以同时作为服务使用者和服务提供者。2、P2P流媒体业务几乎全部采用UDP协议传输数据,P2P流媒体的TCP数据流大部分是登录、认证、内嵌网页、广告和信令握手协议,本身的流量很小。1.2流特性的研究工具在这里采用wireshark抓了PPTV流媒体将近一个小时的包。然后采用TACS对抓到的报文进行解包分析。执行TACS所提示的系统信息如下图所示。图1.2执行TACS所提示的系统信息从上图可知,一共有9739个流,报文数为948468,报文持续时间为4029753ms。2.PPTV流特性研究2.1传输协议比例分析协议流数上行报文下行报文双向报文上行字节下行字节双向字节总量973940651653163193814777739327528320650606059977TCP32436833854753736122740310774392304UDP941540283352777793061077378100524134499601667673TCP3.32%0.91%0.72%0.8%0.46%0.79%0.72%UDP96.68%99.09%99.28%99.2%99.54%99.21%99.28%表2.1传输协议比例分析表1.从流数(绿色底纹)、报文数(绿色底纹)、流量(绿色底纹)三方面看,UDP协议均远大于TCP协议(报文数及流量都在99%以上,即使流数也几乎达到97%),说明PPTV(P2P流媒体)选择UDP协议作为主传输协议。2.TCP流的流数占总流数的比例(3.32%)明显高于TCP报文数占总报文数的比例(0.8%),说明TCP协议的平均流长(流平均报文数)小于UDP协议。3.TCP流的流数占总流数的比例(3.32%)明显高于TCP流量占总流量的比例(0.72%),说明TCP协议的平均流量小于UDP协议。4.TCP协议和UDP协议上下行报文数相差不多(上图黄色底纹),但下行流量却远高于上行流量(上图蓝色底纹),说明下行报文平均长度远大于上行报文。5.TCP协议和UDP协议上下行方向的流量有不同,TCP协议上下行流量之比小于UDP协议,说明TCP下行流量较多,主要是一些节目单获取和网页广告;而UDP有较多上行流量,符合P2P传输在接收对端数据时本地也向对端发送数据。2.2流长分布分析2.2.1流长整体分布分析图2.2.1流长分布图统计量packetnumN有效9739缺失0均值96.33标准差368.175百分位数101.00202.00252.00302.00402.00502.00607.007032.007551.008076.0090212.00表2.2.1流长统计表1、由图2.2.1流长分布图可以看出,我们的流数一共有9739条,流长分布基本集中在[1,100]之间,而在流长为2时达到峰值,在流长为1时达到次峰值,说明PPTV的流大部分是短流。2、这点我们从表2.2.1流长统计表中能够看得更清楚点,50%流的流长都是小于等于2(分别是1和2),而80%流的流长小于等于76。3、在视频播放过程中,peer与客户端进行UDP传输,传输的长流占的比例远小于短流所占的比例。2.2.2上下行流长分布对比分析图2.2.2.1上行流长分布图图2.2.2.2下行流长分布图统计量pktnumUppktnumDownN有效97399739缺失00均值41.7454.59标准差162.958214.347百分位数101.00.00201.00.00251.00.00302.00.00402.00.00502.001.00604.003.007022.0013.007525.0025.008037.0041.009088.00122.00表2.2.2上下行流长统计表1、图2.2.2.1和图2.2.2.2分别是上行流长分布图和下行流长分布图。我们可以看出它们和图2.2.1在形状上是类似的。这说明无论是上行流长还是下行流长,它们大部分也都是短流。2、从上下行流长统计表中我们还是可以看出点差别。上行流长的均值41.74小于下行流长的均值54.59,方差也是上行小于下行。说明上行的流长总体来说比下行的流长还要短些,而且上行的流长分布更集中点。2.2.3上下行流长回归分析(曲线估计)图2.2.3上下行流长回归分析图模型汇总和参数估计值因变量:pktnumUp方程模型汇总参数估计值R方Fdf1df2Sig.常数b1b2b3线性.81542791.06419737.0004.284.686对数a......000.000倒数b......000.000二次.81922017.79429736.0001.812.761-3.331E-5三次.81914689.79539735.0002.253.742-1.354E-5-3.540E-9复合c......000.000幂a,c......000.000Sb,c......000.000增长c......000.000指数c......000.000Logisticc......000.000自变量为pktnumDown。a.自变量(pktnumDown)包含非正数值。最小值为0。无法计算对数模型和幂模型。b.自变量(pktnumDown)包含零值。无法计算倒数模型和S模型。c.因变量(pktnumUp)包含非正数值。最小值为0。无法应用对数变换。无法为此变量计算复合模型、幂模型、S模型、增长模型、指数模型和对数模型。表2.2.3曲线估计模型汇总和参数估计值表1、我以pktnumUp(上行流长)作为因变量,以pktnumDown(下行流长)作为自变量来做回归分析(曲线估计)。从上表后面的信息可以看出我们做的回归分析只适用于线性模型、二次模型、三次模型。2、我们将目光集中在R方这个参数上。它是pktnumUp和pktnumDown的相关系数,表征这两个变量之间的相关程度。我们看到在线性模型中R方=0.815,十分接近1,我们可以说pktnumUp和pktnumDown满足线性关系,具体的参数为一次项系数为0.686,常数项为4.284(红色底纹)。3、我们看看二次模型和三次模型。它们的相关系数都是0.819,略大于线性模型的相关系数。所以相对于线性来说pktnumUp和pktnumDown更满足二次和三次关系。相关的参数为由黄色底纹和绿色底纹显示出来了。从图2.2.3上下行流长回归分析图中我们可以直观的看到各个模型和两个变量之间关系的契合程度。2.2.4流长与流量分布分析流报文数流量比例流数比例40.27%58.35%80.31%60.51%160.47%65.14%320.81%70.05%643.25%78.24%1289.03%85.48%25619.98%91.51%51237.58%96.16%102451.71%98.14%Total100%100%表2.2.4流长和流量分布比例表1、P2P流媒体大部分(将近80%)的流报文数量都小于64个,说明短流的比例很高。2、P2P流媒体的短流虽然数量很多,但承载的流量非常小:从流量的角度分析,只考虑针对64个报文以上的流进行分析损失的流量只有3%,而需要分析的流数只有原先的22%,这说明可以对较少的流进行分析而获得几乎全部的信息,大大减少了对存储和处理负荷的开销。2.3流持续时间分布分析2.3.1流持续时间分布分析图2.3.1流持续时间分布图统计量durationN有效9739缺失0均值9155.69134标准差5.857949E4峰度2808.736峰度的标准误.050全距4000278.045极小值.000极大值4000278.045和8.917E7百分位数10.0000020.0320025.0730030.0750040.117005028.21200603463.02100704913.06900756002.76300808364.854009019014.78100表2.3.1流持续时间统计表1、从图2.3.1流持续时间分布图中我们可以大致看出流持续时间一般在区间[5000ms,100000ms]。这就是PPTV流媒体流持续时间主要特征。可以用来和其他业务作为区分和识别。2、我们注意到在时间点0.01ms上有相当多的流(达到峰值)。持续时间很短的报文主要是peer给客户端提供视频数据后,客户端向peer传递的反馈信息。3、我们在看看表2.3.1流持续时间统计表,均值为9155.69134,标准差为5.857949E4。说明流持续时间比较散,我们忽略在时间点0.01ms上的流(占了将近50%的流)。可以看到从3463.02100到19014.78100占了40%的流,占据了传输数据流的绝大部分。2.3.2流报文间隔分布分析图2.3.2流平均报文间隔分布图统计量avrageDurTimeN有效9739缺失0均值1397.61标准差6712.304峰度38.336峰度的标准误.050全距64000极小值0极大值64000和13611354百分位数10.0020.0325.0730.0840.115014.696042.157065.547577.088090.7090252.18表2.3.2流平均报文间隔统计表1、由图2.3.2流平均报文间隔分布图我们可以看到,流平均报文间隔主要分布在区间[10ms,150ms],可见PPTV流媒体报文间隔一般比较短。这是它的特征之一。2、与流持续时间相比来说它小2个数量级以上。这意味着PPTV流媒体在时间上效率很高,基本上时间都花在数据传输上,额外的时间开销比较小。3、我们注意到在时间点0.01ms上有相当多的流(达到峰值)。报文时间间隔很短的报文主要是peer给客户端提供视频数据后,客户端向peer传递的反馈信息。4、我们在看看表2.3.2流平均报文间隔统计表,均值为1397.61,标准差为6712.304。我们忽略在时间点0.01ms上的流(占了将近50%的流)。可以看到从14.69到252.18占了40%的流,占据了传输数据流的绝大部分。2.4流净荷长度分布分析2.4.1流最大净荷长度分布分析图2.4.1流最大净荷长度分布图统计量流最大静荷长度N有效9739缺失0均值466.21标准差454.296百分位数1094.002094.002594.003094.0040114.0050137.0060311.00701075.00751075.00801075.00901075.00表2.4.1流最大净荷长度统计表在视频传输过程中,所有抽样流中含有将近3000条流传输的最大UDP报文净荷长度为1075byte。2.4.2上下行流最大净荷长度分布分析图2.4.2.1流最大下行净荷长度分布图上图中可见,存在许多流其最大下行净荷长度为1075byte,证明在收看视频过程中客户端接收peer发送的大量的视频数据。图2.4.2.2流最大上行净荷长度分布图由上图,可见存在一些流最大上行净荷长度为1075byte,这说明在peer向客户端发送大量的视频数据的同时,客户端也作为peer向其它主机发送大量的视频数据。2.4.3前3频繁的流净荷长度及其报文个数比例分布分析图2.4.3.1最频繁报文净荷长度分布图每条流中均会含有最频繁出现的报文净荷长度,并且这个报文长度在其他流中仍可能以最频繁的报文净荷长度的角色出现,上图统计了每个最频繁出现的报文净荷长度在所有抽样流中出现的次数。图2.4.3.2第二频繁报文净荷长度分布图每条流中均会含有第二频繁出现的报文净荷长度,并且这个报文长度在其他流中仍可能以第二频繁的报文净荷长度的角色出现,上图统计了每个