一种在未知流量中识别p2p流媒体流量的方法

文档序号:7702418阅读:110来源:国知局
专利名称:一种在未知流量中识别p2p流媒体流量的方法
技术领域
本发明涉及一种流量识别技术,确切地说,涉及一种基于行为特性在未知流量中 识别点对点P2P(Peer to Peer)流媒体流量的方法,属于网络互连通信的技术领域。
背景技术
近年来,随着P2P技术的不断发展,大量的P2P应用流量占用了网络出口的巨大带 宽,直接影响到人们的学习、工作和生活,同时也在其他方面(例如版权和安全等)给社会 带来一定的负面影响。P2P流媒体应用只是P2P诸多应用领域中的一种,因P2P流媒体系统 需要的资源少,能够大大降低中心服务器的压力,并且避免了单点故障,这些特性都使其得 到了非常频繁和广泛的应用,占据了相当比例的网络流量,并且加速了盗版的传播。在这种 情况下,如何合理而高效地识别和控制P2P流量,已经成为一个迫切需要关注和解决的问 题。流量识别技术在行为审计、上网行为管理、流量控制等诸多方面有着广泛应用。在 互联网中,位于不同网络节点之间的应用彼此传递消息的单元是数据流和数据分组,然而, 这些传输单元中并没有显式的特征与其应用相对应,因此,必须通过流量识别技术,将传输 的数据流和数据分组与上层的应用进行匹配操作,才能执行后续的行为审计、管理与流量 控制等操作,可以说,流量识别技术是实现上述应用的基础。最初的P2P流量是很容易识别的,因为其使用固定的传输控制协议 TCP (Transmission Control Protocol)或用户报文协议UDP (User Datagram Protocol)端 口,但是,随着技术的发展,许多P2P应用开始使用随机选择的端口,甚至其端口是动态改 变的;或者伪装成常规应用,因此简单的端口识别技术已经无法使用了。目前比较常用的识别P2P流媒体流量的方法可以分作下述三类(一)深度包检测技术,通过分析数据流中每个分组的应用层负载,寻找其特征 值,再与已知的P2P应用特征进行匹配,来区分是哪一种应用。深度包检测技术是目前运用最广泛的流量识别方法,因为其方法简单,易于实现, 并且准确率高,一般情况下很少产生误判。并且由于不同应用的特征值不同,使用深度包 检测技术可以精确地匹配到某一类具体应用。但是,该技术也有如下缺点识别效率低,由 于要进入应用层进行协议分析与特征匹配,所以其计算和存储的开销较大,可扩展性差。而 且,P2P流媒体应用的更新十分迅速,如果软件协议版本发生变化,其特征值很可能随之发 生变化,需要重新更新特征库;另外,无法识别加密应用。随着运营商对P2P流量的重视, P2P流媒体应用所产生的流量逐渐开始向加密的趋势发展,特征码不再明文传输。综合以上 讨论可以看出,深度包检测技术虽有优点,也有明显不足,并且随着加密技术的发展,深度 包检测技术将会受到很大的局限。( 二)数据流特征检测技术,不同于深度包检测技术,数据流特征检测技术不关心 分组应用层的负载部分,只关注每条数据流的部分特性,例如分组长度、流中的分组到达 间隔、流的持续时间等。这种技术以数据流作为研究对象,从而避免了分析和查看应用层负载,更加注重于分析应用行为的本质特性。根据已有的研究成果,基于数据流特征检测技术主要是结合机器学习和模式识别 等技术。2007年兴起的对流特征进行聚类分析的方法,实际上就是一种基于数据流特征的 测量,它利用各种方法对P2P系统与生俱来的动态特性(如流间隔时间、流持续时间以及单 条流中包的间隔时间)进行测量,通过和预先设定的样本进行对比和匹配,得到P2P节点和 流的识别结果。利用动态特性的识别技术基本上能够适用任何类型的P2P系统,但是,这是 一种“广义”的识别,并没有深入关注P2P流媒体应用自身具有的一些特性,并且,这类技术 通常属于“事后”的统计,其实时性效果欠佳。(三)基于连接模式检测技术,该技术的本质区别于前两种技术之处在于其观察 和描述都是基于节点级别的,其主要研究对象为节点与节点之间的连接的行为模式,而并 不局限于某一条数据流的特性和应用层负载的特征。基于连接模式检测技术中最为著名的,是在文献《Transport LayerIdentification of P2P Traffic))中首次提到的两个识别思想TCP/UDP配对特性利用P2P系统越来越趋向同时使用TCP和UDP协议进行传输, 而绝大多数的传统应用都是固定使用一种传输层协议的特点,几乎所有著名的P2P文件下 载系统都采用UDP来发送控制信息,完成节点或内容的搜索,再采用TCP协议来传输数据。地址/端口对特性P2P系统中每个节点都要不断向外发起和接受连接,并且每个 节点都是每次随机选择一个不同的源端口,且由于动态监听端口技术的使用,每个目的端 口也很少重复出现,这就使得从某个节点角度来看,连接该节点的地址和端口个数基本相 同,且数量都比较大。因此,可以通过测量节点的连接数和源/目的端口以及源/目的地址 之间的数量关系来判断是否为P2P应用。以上两种技术都具有性能高、易于实现的优点,也对P2P流量的自身特性进行了 比较恰当的阐述,但是,它仍然无法区分传统服务器(如mail)的不同流量,而且识别阈值 的选取也很难有确定的理论支持;并且通过协议分析可以看到,P2P流媒体系统并不适用 这种方法,因为目前绝大多数的P2P流媒体应用是使用UDP完成节点信息的交互与数据的 传输;另外,同时使用TCP和UDP的应用越来越多,造成这种方法的误识别率较高,很容易错 误识别一些常用应用。因此,尽快研究和开发一种适用于当前的P2P流媒体流量识别的实时、高效的方 法是很有实践价值和实用意义的,也成为业内科技人员关注的焦点课题。

发明内容
有鉴于此,本发明的目的是提供一种基于行为特性在未知流量中识别P2P流媒体 流量的方法,本发明能够较好地克服现有技术的各种缺陷,具有快速处理能力和存储空间 较小,能够基于行为对特定数据流实现实时识别,能够用于许多需要进行流量识别的场合。为了达到上述目的,本发明提供了 一种在未知流量中识别点对点P2P流媒体流量 的方法,其特征在于统计大量的包含多类应用的P2P流媒体数据流,提取其中分组的负载 长度作为参量,推导得出其符合区间离散分布特性的多类应用样本;对于未知流量,将传输 层中的用户报文协议UDP^ser DatagramProtocol)流量以数据流为单位输入,提取该数据 流中的各个分组而分别获知其负载长度,根据应用样本得出该分组属于每类应用的先验概率值,再结合贝叶斯公式计算其属于每类应用的后验概率值,并从中得出其后验概率的最 大值;接着,定义数据流的信度值,用于表示该数据流属于某一类应用的可信度,再结合后 验概率的最大值和通过迭代选取的平均值,作为该数据流的当前信度值;再将该数据流的 当前信度值和预设的判定阈值相比较,就判定得出该数据流所归属的应用类别。所述方法包括下述操作步骤(1)生成样本统计包含多类应用的大量UDP数据流,根据其中分组的负载长度分 布特性进行拟合,得到符合区间离散分布特性的各类应用样本;(2)似然计算对于输入的未知流量,先获知每个数据流的各个分组的负载长度, 并根据应用样本得出该分组属于每类应用的先验概率值;再按照贝叶斯公式分别计算其属 于某类应用的后验概率值;再根据在多个后验概率值中选取的最大后验概率值以及迭代后 的平均值,作为该数据流的当前信度值;(3)判断决策将数据流的当前信度值与预设的判定阈值进行比较,判定该数据 流所归属的应用类别。所述步骤⑴包括下列操作内容(11)因以太网络的最大传输单元MTU (Maximum Transmission Unit)为1500字 节,则其对应的UDP分组负载长度的取值范围为W 1472]字节,将分组负载长度取值范 围按照设定的区间长度AL划分为多个等长的区间ek,其中,自然数k表示区间序号;同时 设置数组Ck,以便使用其中的元素记录数据流归属每个区间的分组数量,因此,该数组Ck中 元素的个数等于所述多个区间的总数;(12)对于某类应用流量的每个数据流中的每个分组执行下述操作先读取该分组包头中的负载长度字段获知该分组负载长度值λ,再按照公式
权利要求
1.一种在未知流量中识别点对点P2P流媒体流量的方法,其特征在于统计大量的包 含多类应用的P2P流媒体数据流,提取其中分组的负载长度作为参量,推导得出其符合区 间离散分布特性的多类应用样本;对于未知流量,将传输层的用户报文协议UDP流量以数 据流为单位输入,提取该数据流中的各个分组而分别获知其负载长度,根据应用样本得出 该分组属于每类应用的先验概率值,再结合贝叶斯公式计算其属于每类应用的后验概率 值,并从中得出其后验概率的最大值;接着,定义数据流的信度值,用于表示该数据流属于 某一类应用的可信度,再结合后验概率的最大值和通过迭代选取的平均值,作为该数据流 的当前信度值;再将该数据流的当前信度值和预设的判定阈值相比较,就判定得出该数据 流所归属的应用类别。
2.根据权利要求1所述的方法,其特征在于所述方法包括下述操作步骤(1)生成样本统计包含多类应用的大量UDP数据流,根据其中分组的负载长度分布特 性进行拟合,得到符合区间离散分布特性的各类应用样本;(2)似然计算对于输入的未知流量,先获知每个数据流的各个分组的负载长度,并根 据应用样本得出该分组属于每类应用的先验概率值;再按照贝叶斯公式分别计算其属于某 类应用的后验概率值;再根据在多个后验概率值中选取的最大后验概率值以及迭代后的平 均值,作为该数据流的当前信度值;(3)判断决策将数据流的当前信度值与预设的判定阈值进行比较,判定该数据流所 归属的应用类别。
3.根据权利要求2所述的方法,其特征在于所述步骤(1)包括下列操作内容(11)因以太网络的最大传输单元MTU为1500字节,则其对应的UDP分组负载长度的 取值范围为W 1472]字节,将分组负载长度取值范围按照设定的区间长度AL划分为多 个等长的区间9k,其中,自然数k表示区间序号;同时设置数组Ck,以便使用其中的元素记 录数据流归属每个区间的分组数量,因此,该数组Ck中元素的个数等于所述多个区间的总 数;(12)对于某类应用流量的每个数据流中的每个分组执行下述操作先读取该分组包头中的负载长度字段获知该分组负载长度值λ,再按照公式 7 「/I]k= — i十震ti 紛細M白妪丨旬將,财黃満胃顿舶±^( ;ALI I当该分组根据其负载长度归属某个区间时,就将数组Ck中与该区间对应的元素数值递增加 1 ;(13)当每个数据流中的所有分组都处理后,就获得该数据流的所有分组的负载长度分 别归属各个区间的信息,即得到各个区间内分组个数的分布概率密度,用作该数据流的区 间离散分布样本;(14)对同一类应用的多条数据流重复执行步骤(1 和(13),生成该类应用的多个区 间离散分布样本Sp式中,自然数j为数据流的序号;当同类应用的采样数据流数量足够大 时,将所有采样的样本1的平均值S,作为该类应用的分组负载长度分布特性样本,该样本 的数据格式为 < 区间序号,分布概率> ;(15)对不同类应用的多条数据流分别重复执行步骤(1 (14),得到对应的不同类应用的多个分组负载长度分布特性样本。
4.根据权利要求2所述的方法,其特征在于所述步骤(2)包括下列操作内容(21)因以数据流中的分组作为处理单元,故先获知每个分组的负载长度,并据此确定 其所归属区间以及其在多类应用对应区间的分布概率,即该分组归属已知的第i类应用的 先验概率值PUlDi),其中,Di为第i类应用,其自然数下标i为应用类别序号,χ表示分组 归属于第i类应用对应的某个区间的事件;(22)根据贝叶斯公式·
5.根据权利要求3所述的方法,其特征在于所述步骤(3)包括下列操作内容(31)按照步骤O)的流程,对已知不同应用类别的多个数据流分别计算信度值后,再 迭代计算其平均值,得到不同应用类别中的每类应用的判定阈值;(32)对于输入的未知流量,将获知的数据流的当前信度值B和判定阈值进行比较如 果信度值B大于或等于设定阈值,则判定该数据流属于P2P流媒体应用的流量;否则,返回 执行步骤O),继续处理该数据流中的后续分组;(33)根据数组S中的最大值元素的下标序号,确定当前数据流归属的具体应用类别。
全文摘要
一种在未知流量中识别P2P流媒体流量的方法,是先统计大量的包含多类应用的P2P流媒体数据流,提取其中分组的负载长度作为参量,推导出其符合区间离散分布特性的多类应用样本;再对未知流量中传输层的UDP流量以数据流为单位输入,提取其中每个分组而获知其负载长度,根据应用样本得出该分组属于每类应用的先验概率值,结合贝叶斯公式计算其属于每类应用的后验概率值,并选取其中最大值;定义表示数据流属于某类应用的可信度的信度值,再结合后验概率的最大值和通过迭代选取的平均值,作为该数据流的当前信度值;最后将该数据流的当前信度值和预设的判定阈值相比较,就判定得出该数据流归属的应用类别。本发明处理速度快、存储空间小,应用范围广。
文档编号H04L12/26GK102098346SQ20111004343
公开日2011年6月15日 申请日期2011年2月23日 优先权日2011年2月23日
发明者王洪波, 程时端, 郑璐 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1