展开

sci论文发表P2P流量识别(2)

发布时间:2015-03-03   |  所属分类:计算机网络:论文发表  |  浏览:  |  加入收藏

  2.2 应用层特征识别法

  与第一代使用固定端口进行数据传输的P2P应用不同,当前许多P2P应用都能够通过使用随机端口来掩盖其存在,有些甚至可以使用HTTP, SMTP等一些协议使用的熟知端口,这增加了识别P2P流量的难度:简单的通过分析分组首部的端口信息已经无法识别出这类应用的存在。

  但是,每种应用的分组中都携带有特定的报文信息,例如,HTTP协议报文中会出现GET, PUT, POST等报文字样。与之相类似,在各种P2P应用协议中也具有类似的信息。因此,人们提出了通过检查分组内部携带的负载信息进行分组识别的方法。文献[2]提出了一种利用应用层特征的方式对P2P流量进行识别。在[2]中,作者首先对5种常见的P2P协议(KaZaA, Gnutella, eDonkey, DirectConnect以及BitTorrent)的特征进行了分析,提取出其特征信息,然后根据特征信息对收集到的分组进行模式匹配操作,从而判断出该分组是否属于某一类P2P应用分组。例如,Gnutella的连接建立报文具有下述格式

  GNUTELLA CONNECT/\n\n

  而应答报文格式如下

  GNUTELLA OK\n\n

  根据这些以及其他类似特征,即可判定相应报文是否为P2P应用报文,并由此确定某个流是否为P2P流。

  [2]中的实际测量结果表明,在大多数情况下,该方法能够以低于5%的错误概率对分组进行识别。

  与第一种方法相比,上述方法能够识别出使用可变端口的P2P流量(这正是当前P2P应用发展的一个趋势),提高了其结果的准确性,例如在同样情况下,用户数据特征识别 法识别出的P2P流量是仅仅采用端口进行识别的方法得到结果的3倍[2]。但是分析不难发现,这一方法存在下述一些问题:

  只能针对已知数据格式的P2P应用进行识别,这使得每出现一种新的P2P应用,就需要修改上述实现,因而造成其扩展性不好;

  对用户数据的检查不符合Internet的基本原则,并且由于诸如法律、个人隐私等原因,检查用户数据在许多情况下几乎是不可能的;

  由于需要对分组内部数据进行全面的检查分析,使得其实现效率不是很高;

  随着技术的发展,一些P2P应用开始以密文方式进行数据传输,面对这种情况用户数据识别方式则完全是无能为力。

  上述种种原因导致用户数据识别方法的通用性十分有限,而且,随着P2P技术的发展,这种识别方法也会与通过固定端口进行识别的方法相类似,逐渐不适应实际的需要,因此有必要找到其他方法对P2P流进行较为精确的识别。

  分析端口识别法和应用层特征识别法可以发现,尽管两者的实现机理完全不同,但是其基本思想均是基于P2P应用的一些外在特征,并且这些外在特征是可以隐藏的,一旦出现上述情况,这些识别方法就不再适用。而且,上述两种方法只能识别已知P2P协议的流量,一旦出现一种新的P2P应用,必须修改上述识别方法才能对其进行识别,这限制了它们的应用范围。因此,为了能从根本上解决这些问题,必须分析P2P应用与其他一些诸如Web等应用的根本区别,然后利用这些本质特征对其进行识别。下述两种方法就分别从P2P应用的流量特征以及P2P网络的连接模式特征着手对其进行了分析。

  2.3 流量模式识别法

  这是在Caspian路由器中实现的一种功能,该路由器记录经过它的每条流的信息,因此可以实现基于流的流量识别和控制功能,以一种新的方式对P2P流量进行识别和控制。并且,如前所述,这一解决方案是基于P2P流的内在特征的,避免了前面两种识别方法中的一些问题。

  上表1描述了几种不同的应用对应的流量特征[4],由此可以看出,P2P应用的特点是持续时间长、平均速率较高以及总的传输字节数高。这与文件传输如FTP等应用有些类似,但是该类应用可以很方便的通过端口号识别出来,而且由于这些应用与用户的交互性不如Web、视频等应用高,因此出现一定的误判导致对它们的流量限制不会造成大的问题。

  另外,根据流所包含的字节数,可以很容易将普通Web流量同P2P文件共享流量区分开。下图描述了两者对应的字节流量区别[4]。

  可见,通过分析不同应用的流量模式,可以实现识别P2P流量的目的。而且这一方法不需要对分组内部用户数据进行检查,因此不受数据是否加密的限制,扩大了其适用范围。但是,由于需要记录每条流的信息,这种方法对内存空间以及处理速度都提出了比较大的要求。

  2.4 连接模式识别法

  [1]中提出了一种在传输层识别P2P流量的方法,它仅仅统计用户分组的首部信息,而不涉及具体数据。因此一方面克服了前述方法对加密数据无法识别的问题,同时又不涉及用户的具体数据,符合Internet体系结构中的端到端原则。其基本思想是:基于观察源和目的IP地址的连接模式。一些模式是P2P所独有的,因此可以由此直接将P2P流量识别出来;另外一些模式由P2P和其它少数应用所共有,这时可以根据对应IP地址的流历史以及其它特征来减少误判概率。

  在这种思想的具体实现中,Thomas Karagiannis等给出了两种启发式方法:(1) 识别出那些同时使用TCP和UDP进行数据传输的源-目的IP地址对。研究表明,大约2/3的P2P协议同时使用TCP和UDP协议,而其他应用中同时使用两种协议的仅仅包括NetBIOS、游戏、视频等少数应用[1]。因此,如果一个源-目的IP地址对同时使用TCP和UDP作为传输协议,那么可以认为在这一地址对之间的流除一些已知的应用外(对于这些应用可以根据它们的特征将其排除),很有可能就是P2P流,可以将它们加入到候选P2P流的队列中;(2) 基于监测{IP, 端口}对的连接模式。这一方法的基本依据为:当一个新的主机A加入P2P系统后,它将通过super peer广播其IP地址以及接受连接的端口号port。其他主机收到后利用这一信息与主机A建立连接。这样,对端口port而言,与其建立连接的IP地址数目就等于与其建立连接的不同端口数目(因为不同主机选择同一端口与主机A建立连接的可能性是很低的,完全可以忽略不计)。而其他一些应用如Web,一个主机通常使用多个端口并行接收对象,这样建立连接的IP地址数目将远小于端口数目。但是另外一些应用,如mail、DNS等,也具有类似的属性,因此使用这种方法在实际识别过程中需要将它们区分出来。

转载请注明来自:http://www.uuqikan.com/jisuanjiwangluolw/13707.html


上一篇:一篇论文多少钱城市互联网信息差距的形成
下一篇:论文网校园网络管理问题