P2P流量识别方法研究(txt+pdf+epub+mobi电子书下载)


发布时间:2020-11-30 06:21:00

点击下载

作者:孙知信

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

P2P流量识别方法研究

P2P流量识别方法研究试读:

前言

P2P网络服务的概念最早于1969年由Steve Crocker提出,每个参与P2P网络服务的主机都称为一个Peer,由Peer-to-Peer连接构成的网络就称为P2P网络。P2P网络不仅能提供快速高效的文件共享、低成本高可用的计算资源和存储资源共享,而且具有强大的网络连通性,以及更直接、更灵活的信息传送能力。然而,P2P网络在提供高效快速资源共享的同时,也带来了众多的问题:P2P对传输速度的需求高,且P2P应用的数据交换具有一对多、突发性和分布式特性,P2P用户的超大容量下载消耗了大量带宽;其用户抢占了60%~80%的网络带宽,容易引起企业及ISP瓶颈链路的阻塞;P2P用户不分时段地进行高速下载,增大网络设备的负荷,容易造成高峰时段的链路拥塞等。随着P2P应用的快速发展,P2P指数级增长的数据传输使得网络带宽资源更加紧张。因此,为了确保其他正常网络用户的服务,同时为了更好地发挥P2P技术的优势,对P2P流量进行分类、识别就成为目前业内研究的一个热点。

本书作者从2004年开始研究P2P流量识别的相关技术,先后得到国家自然科学基金、科技部中小企业创新基金、国家重点实验室基金、江苏省自然基金、江苏省高校自然基金项目及企业委托项目的资助,取得了以下成果。(1)立足于P2P协议最基本的特点,研究并总结出P2P流量的多个统计特性,提出了基于滑动窗口机制的P2P流量识别模型(SW-P2PIM),并建立了P2P流量识别与控制仿真系统,详细内容在第2章中阐述。(2)根据P2P独有的通信网络拓扑结构特征,提出了基于通信网络拓扑结构的P2P流量识别模型(P2P-CNTIM),该模型使用多主机特征以及通信对端类型特征对P2P流量进行识别,并将这两个特征有机地结合起来以提高识别的准确率和识别效率,第3章给出了详细分析。(3)将BP网络应用于P2P流识别,提出了一种基于改进BP算法的P2P流识别模型(IBPNN-P2PIM)。针对传统BP算法的缺陷,在总结了他人研究成果的基础上,对传统BP算法进行了改进,并将其应用于模型中流分类器模块的设计,与采用传统BP算法的流分类器相比,IBPNN-P2PIM对P2P流的识别具有一定的有效性和优越性,第4章展示了其应用效果。(4)通过大量的实验对比分析P2P应用和非P2P应用,总结出P2P的连接特征、深层数据包特征和流量统计特征这些特征,并在此基础上提出了基于多重特征分类的P2P流量识别模型(MCC-P2PIM),第5章中对该系统实现进行了剖析。(5)基于近几年对支持向量机(Support Vector Machines,SVM)技术的深入研究,致力于将SVM技术运用到P2P流量识别中,分别提出了基于改进SVM的P2P流量检测模型、基于P2P与DPI(Deep Packet Inspection,深度包检测)的P2P流量识别方法以及基于MSVM(Multidimensional Support Vector Machine,多维SVM)的P2P流量识别模型,第6章描述了这3个模型及其系统的成果。(6)首次将模糊数学的理论运用到P2P数据流的识别中,提出了一种基于流特征描述的模糊识别方法(FCD)。该识别方法能够较好地识别网络流量中的某些网络应用流,对于其他的网络应用流量识别同样适用,具有较好的准确性和可扩展性,第7章对此进行了深入分析和阐述。

本书是项目组集体成果的结晶,他们是宫婧副教授、刘三民博士、焦琳硕士、姜举良硕士、陈松乐博士、卜凯博士、许刘兵硕士、余小芳硕士、颜小倩硕士、高同硕士、张玉峰硕士等,在此书交稿之际,谨向他们对本书做出的贡献表示衷心的感谢。另外,感谢宫婧副教授、刘三民博士、汪胡青博士、何丽萍博士在本书撰写过程中给予的帮助。

感谢我的爱人张娟和儿子孙翌博,他们是我写书的动力所在。

最后要感谢清华大学出版社的领导和编辑,没有他们的辛勤劳动,就没有本书的出版。孙知信2014.5于南京邮电大学第1章 绪论

近年来,对等计算(Peer-to-Peer,P2P)技术迅速发展,日益受到计算机界的关注和青睐,迅速成为业界关注的热门话题之一。P2P技术在文件共享、实时流媒体、视频点播和分布式计算系统等领域都有重要应用。P2P技术的使用使得用户可获得的资源更广泛,内容更丰富,形式更多样,但P2P技术的广泛使用带来许多负面影响,如吞噬网络资源、知识侵权、网络安全等,这些问题也导致P2P流量识别研究迫在眉睫。同时P2P流量的准确高效识别是网络运营商或网络管理员开展网络活动的前提。1.1 P2P形成背景及概念1.1.1 P2P产生背景

随着通信技术的发展,Internet已经融入到社会各个领域,成为人们获取信息的重要途径。同时,人们对Internet的要求也越来越高,已经不满足于浏览网页、聊天等基本功能,更希望获得丰富多彩的多媒体信息,如视频、音频等。相比于浏览网页、聊天等传统应用,网络多媒体应用具有持续时间长、数据量大、占用网络带宽高等特点。网络基础设施性能的增强和多媒体技术的发展,也使得在Internet上开展更为复杂的多媒体服务成为可能。

在传统的客户/服务器(C/S)模式中,服务器为所有客户提供服务,数据的上传、下载都要经过服务器的处理。客户请求服务,服务器提供服务,客户端都是主动与服务器建立连接,请求具体的资源或请求提供具体的服务,而服务器则被动地等待客户端发起连接,并且客户端之间不能互相通信。例如,Web服务、邮件服务、FTP服[1]务等都是C/S模式的服务。C/S模式网络结构如图1-1所示。图1-1 C/S模式网络结构图

C/S模式中服务器的负载随着客户节点增多而线性增加,容易成为单点瓶颈。并且一旦服务器失效,则整个网络就会瘫痪,易形成单点失效问题。当网络规模达到一定程度时,C/S模式会影响系统的性能,降低系统的可扩展性,所以有必要寻求新的网络模式分散服务器功能,提高网络灵活性。同时计算机软硬件技术的发展,使得客户节点拥有越来越强的计算和存储能力,人们开始意识到可以将部分服务功能分散到客户机上。在C/S模式下,客户节点的计算和存储能力没有得到充分的使用,也很难将网络边缘节点的空闲资源使用起来。因此,P2P模式在这样的背景下应运而生。图1-2 P2P模式网络结构图

和C/S模式相比,P2P模式能够充分利用边缘节点的资源,降低服务器的负载压力。在P2P模式中,所有参与节点是对等的,既是传统意义上的客户节点,也被赋予服务器的功能。节点发送请求的同时,也可以为其他节点提供服务,参与节点之间可以直接相互交换数据。P2P模式网络结构如图1-2所示。P2P模式和C/S模式相比,具[2]有以下优势。(1)系统的可扩展性好、可靠性强,解决C/S模式下的单点瓶颈问题和单点失效问题。(2)有效地利用网络边缘节点闲置资源,包括计算、缓存和带宽等。(3)降低服务器端的负载,将部分负载从服务器转移到客户端和基础网络上来。1.1.2 P2P概念

P2P是英文Peer-to-Peer的缩写,即对等网络或点对点网络。P2P网络中每个主机称为节点(Peer),其中所有节点具有同等权利和义务,其相关概念最早是1969年由Steve Crocker提出。最近几年,P2P网络日益受到计算机界的关注和青睐,迅速称为业界关注的热门话题之一。但到目前为止,无论是学术界还是工业界对P2P都没有一个统[2]一的定义,文献列举了几种常见的P2P定义。

定义1.1 Peer-to-Peer is a type of Internet network allowing a group of computer users with the same networking program to connect with each other for the purposes of directly accessing files from one another's hard drives.

定义1.2 Peer-to-Peer networking (P2P)is an application that runs on a personal computer and shares files with other users across the Internet. P2P networks work by connecting individual computers together to share files instead of having to go through a central server.

定义1.3 P2P是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其他对等节点(Peer)直接访问而无须经过中间实体。在此网络中的参与者既是资源(服务和内容)提供者(Server),又是资源(服务和内容)获取者(Client)。

Intel将P2P技术定义为“通过系统间的直接交换达成计算机资源与信息的共享”,这些资源与服务包括信息交换、处理器时钟、缓存和磁盘空间等。

IBM则把它看成是由若干互联协作的计算机构成的系统并具备如[1]下特性。(1)系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器中受益。(2)系统中成员同时扮演服务器与客户端的角色;系统应用的用户能够意识到彼此的存在而构成一个虚拟或实际的群体。

虽然P2P网络定义有多种,但其本质是相同的。即在P2P网络中每个主机节点的地位是对等的,每个节点既充当服务器,为其他节点提供服务,同时享用其他节点提供的服务。[3]

根据以上定义,可以总结出P2P网络有如下特点。(1)非集中式:网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之间进行,避免了可能的瓶颈。(2)可扩展性:在P2P网络中,随着用户的加入,不仅服务的需求增加,系统整体的资源和服务能力也在同步地扩充,始终能较容易地满足用户的需要。理论上,整个体系是分布的,不存在瓶颈。(3)健壮性:P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个节点之间进行的,部分节点或网络遭到破坏对其他部分的影响很小。P2P网络一般在部分节点失效时能够自动调整整体拓扑,保持其他节点的连通性。P2P网络通常都是以自组织的方式建立连接的,允许节点自由地加入和离开。P2P网络还能够依据网络带宽、节点数、负载等变化不断地做自适应的调整。(4)高性能/价格比:性能是P2P被广泛关注的一个重要原因。采用P2P架构可以有效地利用互联网中散布的大量普通节点,将计算任务或存储资料分布到所有节点上。利用其中闲置的计算机能力或存储空间,达到高性能计算和海量存储的目的。通过利用网络中的大量空闲资源,可以用更低的成本提供更高的计算和存储能力。(5)隐私保护:在P2P网络中,由于信息的传输分散在各个节点之间进行而无须经过某个集中环节,用户的隐私信息被窃听和泄露的可能性大大减小。(6)负载均衡:P2P网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求。同时因为资源分布在多个节点,更好地实现了整个网络的负载均衡。1.2 网络拓扑结构1.2.1 网络拓扑结构概念

计算机网络拓扑结构是指从网络电缆的物理连接抽象出来的网络连接形式,是网上计算机或设备与传输媒介形成的节点与线的物理构成模式,它用几何形状代表网络电缆构成,用来表示网络服务器、工作站以及其他网络设备的连接关系。网络的节点有两类:一类是转换和交换信息的转接节点,包括节点交换机、集线器和终端控制器等;另一类是访问节点,包括计算机主机和终端等。线则代表各种传输媒介,包括有形的和无形的。网络拓扑图是理解和研究网络结构和分布的语言,它反映了网络连接关系的本质,不仅可以反映网络节点在结构中的位置,而且还排除了一些没有反映网络本质特征的细节,如网络连接所使用的缆线类型和网络主机使用的操作系统等。在对网络结构进行设计时,必须依靠网络拓扑图反映网络主机在网络中所处的位置和连接关系,从而指导硬件设备实施和网络布线工程。从某种意义上说,网络拓扑图就是网络建设的蓝图。当网络投入使用后,网络拓扑图仍有着非常重要的意义。当网络结构需要进行改变时,需要参考网络拓扑图,并在结构改变后对网络拓扑图进行相应的修改。另外在网络维护方面,参考网络拓扑图,并结合网络操作系统的网络监控工[4]具,可以很快地发现导致网络故障的原因。1.2.2 传统网络拓扑结构

传统计算机网络的拓扑结构主要有总线型、星形、环形、网状和[5]混合型。

1.总线型拓扑

总线型拓扑结构用高速公用主干电缆作为传输介质,所有的节点都通过相应的硬件连接器接到传输介质上。总线两端连有终结器,其中一端接地。网络中任意节点发送的信号都沿着传输介质传播,且能被其他站点接收。节点接到信息时,先要分析该信息的目标地址与本地地址是否相同,相同则接收该信息,否则拒绝接收。总线型拓扑结构如图1-3所示。图1-3 总线型拓扑结构

总线型拓扑结构的优点:一是所需电缆数量较少;二是结构简单,无源工作有较高可靠性且易于扩充。

总线型拓扑结构的缺点:一是总线传输距离有限,通信范围受到限制;二是主干总线对网络起决定性作用,总线故障将影响整个网络;三是总线拓扑不是集中控制的,所以故障检测需要在网上的各个节点进行,故障诊断和隔离比较困难;四是分布式协议不能保证信息的及时传送,不具有实时功能,节点必须有介质访问控制功能,从而增加了站点的硬件和软件开销。

总线型拓扑结构适用于计算机数目相对较少的局域网络,通常这种局域网络的传输速率为100Mbps,网络连接选用同轴电缆。

2.星形拓扑

星形拓扑结构中存在一个中心节点,其他节点直接与中心节点(Hub)相连构成的网络拓扑。星形拓扑网络属于集中控制型网络,整个网络由中心节点执行集中控制管理,各节点间的通信都要通过中心节点。星形拓扑结构图如图1-4所示。图1-4 星形拓扑结构图

星形拓扑结构的优点:一是控制简单,易于网络监控和管理;二是故障诊断和隔离容易;三是中心节点可以方便地对各个节点提供服务和网络配置。其不足之处主要在于中心节点负担过重,易形成“瓶颈”问题。

总的来说,星形拓扑结构相对简单、便于管理、建网容易,是目前局域网普遍采用的一种网络拓扑结构。

3.环形拓扑

环形拓扑结构中各节点通过环路接口连在一条首尾相连的闭合环形通信线路中,环路中各节点地位相同,环路上任何节点均可请求发送信息,请求一旦被批准,便可以向环路发送信息,如图1-5所示。环形网中的数据按照设计主要有单向传输和双向传输(双向环)。由于环线公用,一个节点发出的信息必须穿越环中所有的环路接口,信息流的目的地址与环上某节点地址相符时,信息被该节点的环路接口所接收,并继续流向下一环路接口,直到流向源节点为止。由于多个设备共享一个环,因此需要对此进行控制,以便决定每个节点在什么时候可以把分组放在环上。图1-5 环形拓扑结构图

环形拓扑结构的优点:一是信息在网中沿固定方向流动,两个节点间仅有唯一的通路,简化了路径选择的控制;二是当某个节点发生故障时,可以自动旁路(由“中继器”完成),可靠性较高;三是所需电缆长度比星形拓扑结构要短得多,同时不需像星形拓扑结构那样配制接线盒。

该拓扑结构不足主要体现在:一是扩充环的配置比较困难;二是由于信息是串行穿过多个节点环路接口,当节点过多时,影响传输效率,使网络响应时间变长;三是环上每个节点接到数据后,要负责将它发送至环上,这意味着要同时考虑访问控制协议。节点发送数据前,必须事先知道传输介质对它是可用的。

环形网结构比较适合于实时信息处理系统和工厂自动化系统。

4.网状拓扑

网状拓扑结构指各节点通过传输线互联连接起来,并且每一个节点至少与其他两个节点相连,如图1-6所示。

网状拓扑结构的特点有:一是网状拓扑结构提供了通过网络的冗图1-6 网状拓扑结构图余路径,可靠性高;二是结构复杂,不易管理和维护;三是所需线路太多,造价很昂贵。

网状拓扑结构主要用在广域网内,局域网中较少使用。

5.混合型拓扑

将两种或几种网络拓扑结构混合起来构成的一种网络拓扑结构称为混合型拓扑结构。混合型拓扑结构可以是不规则型的网络,也可以是点-点相连结构的网络。例如,可以将星形结构和总线型结构的网络结合在一起,这样的拓扑结构更能满足较大网络的拓展,解决星形网络在传输距离上的局限,同时解决了总线型网络在连接用户数量的限制。这种网络拓扑结构同时兼顾星形网络与总线型网络的优点。1.2.3 P2P网络拓扑结构

P2P网络拓扑结构主要有中心化P2P、全分布非结构化P2P、全[1]分布结构化P2P、半分布式P2P。

1.中心化P2P

中心化拓扑结构最大优势是维护简单、资源查找效率高。资源查找依赖中心化的目录系统,其相关查找算法灵活高效并能够实现复杂查询。由于资源查找过分依赖于中心服务器,因此容易造成单点故障,出现访问“热点”现象。中心化P2P网络架构如图1-7所示,图中的服务器负责记录共享信息以及对查询的响应。这种形式虽具有中心化的特点,但它不同于传统意义上的C/S模式。传统意义上的C/S模式采用的是一种垄断的手段,所有资料都存放在服务器上,客户机只能被动地从服务器上读取信息,并且客户机之间不具有交互能力。而在中心化P2P网络中,服务器只保留索引信息,由对等节点负责保存各自提供服务的全部资料,此外服务器与对等实体以及对等实体之间都具有交互能力。在中心化P2P网络架构中,一台高性能的服务器保存着网络中所有主机的地址信息及其提供的共享资源目录信息。当需要查询某个文件时,对等节点会向服务器发出文件查询请求。服务器进行相应的检索和查询后,会返回符合查询要求的对等节点地址信息列表。查询发起对等节点接收应答后,根据网络流量和延迟等信息进[6]行选择,选择合适的对等节点建立连接,并开始文件传输。图1-7 中心化P2P网络架构

以Napster为代表的第一代P2P采用中心化的拓扑结构。它通过一个中央服务器保存所有Napster用户上传的音乐文件索引和存放位置信息。当某个用户需要某个音乐文件时,首先连接到Napster服务器,在服务器上进行检索,并由服务器返回存有该文件的用户信息,再由请求者直接连接到文件的所有者传输文件。Napster首先实现了文件查询与文件传输的分离,有效地节省中央服务器的带宽消耗,减少了系统的文件传输延时。这种方式最大的隐患在中央服务器上,如果该服务器失效,整个系统都会瘫痪。

中心化对等网络的优点:采用快速搜索算法,排队时间短,发现算法能够灵活高效地实现复杂的查询。

中心化对等网络的缺点如下。(1)中央服务器的瘫痪容易导致整个网络的崩溃,可靠性和安全性较低。(2)随着网络规模的扩大,对中央目录服务器进行维护和更新的费用将急剧增加,所需成本过高。(3)中央服务器的存在引起共享资源在版权问题上的纠纷,并因此被攻击为非纯粹意义上的P2P网络模型。

对小型网络而言,中心化P2P模型在管理和控制方面占一定优势。[7]但鉴于其存在的种种缺陷,该模型并不适合大型网络应用。

2.全分布非结构化P2P[8]

该拓扑结构采用随机图的组织方式,节点度数服从幂律分布,能够快速发现目的节点,对网络的动态变化有较好的容错能力,同时可以支持复杂查询,如模糊查询、带有规则表达式的多关键词查询等。典型代表是Gnutella软件,它是一个P2P文件共享系统,与Napster最大的区别在于Gnutella没有索引服务器,是纯粹的P2P系统,它采用了基于完全随机图的泛洪(Flooding)发现和随机转发(Random Walker)机制。在Gnutella分布式对等网络模型中,所有的对等节点既是查询的发出者,又是搜索处理的执行者。为控制查询消息的传输,通过TTL(Time To Live)减值实现。

全分布非结构化的P2P网络的优点:有较好的容错能力,能快速发现目的节点,可以支持复杂查询,由于不再使用中心服务器,各个节点之间是对等的,网络不会因为某一个节点的故障而整个瘫痪。

全分布非结构化的P2P网络的缺点如下。(1)随着联网节点的不断增多,网络规模不断扩大,由于每次搜索都是以广播方式进行,产生的网络流量剧增,从而导致搜索速度下降,排队响应时间长,网络中部分低带宽节点因网络资源过载而失效。(2)全分布非结构化网络的查询访问只能在网络的很小一部分进行,因此网络的可扩展性不好。(3)由于没有确定拓扑结构的支持,非结构化网络无法保证资源发现的效率。即使需要查找的目的节点存在,查找也有可能失败。(4)全分布非结构化P2P一般采用泛洪、随机漫步或有选择转发算法,因此直径不可控,可扩展性较差。

3.全分布结构化P2P

由于非结构化系统中随机搜索可扩展性不强,如今大量的研究集中在如何构造一个高度结构化的网络拓扑系统。目前研究的重点是如何有效地查找信息,最新成果都是基于分布式散列表(Distributed Hash Tables,DHT)的发现和路由算法方面。全分布结构化P2P采用DHT技术,由大量节点共同维护散列表,散列表分割成不连续的块,每个节点分配一个属于自己的块并管理该块。DHT按照一定的方式为网络节点分配一个全局唯一的节点标识符(Node ID),资源对象通过散列运算产生一个唯一的资源标识符(Object ID),且将该资源存储在与之相等或者相近节点上。需要查找该资源时,采用同样的方法可定位到存储该资源的节点。典型的此类P2P应用有Tapestry、CAN、Pastry和Chord。

全分布结构化P2P网络的优点如下。(1)DHT结构可以自适应的动态加入、退出,具有良好的鲁棒性、可扩展性,节点的自组织能力强和节点ID分配均匀。(2)只要目的节点在网络中,DHT总会发现,故而能够保证发现目的节点的精确性。

全分布结构化P2P网络的缺点如下。(1)基于DHT的全分布式结构化网络最大的问题是DHT的维护机制较为复杂,尤其是节点频繁加入、退出造成的网络波动(Churn)会极大增加DHT的维护代价。(2)DHT仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询。

4.半分布式P2P

半分布式P2P系统采用混合式架构,吸取了中心化结构和全分布非结构化拓扑的优点。其拓扑结构如图1-8所示。选择性能较好(处理、存储、带宽等方面)的节点作为超级节点(Super Node),超级节点与邻近的若干普通节点之间形成一个自治簇,为同一簇内的节点提供目录服务。每簇内采用中心化式P2P模式连接,而整个网络中各个不同簇之间由超级节点之间采用纯分布式P2P模式相连,发现算法只在超级节点之间进行转发。半分布式结构也是一个层次结构,超级节点之间构成一个高速转发层,超级节点和所负责的普通节点构成若干层次。此种P2P的典型案例有Kazaa。图1-8 混合式P2P网络拓扑结构

Kazaa是现在全世界流行的几款P2P软件之一。据统计,全球Kazaa的下载量超过2.5亿次。使用Kazaa软件进行文件传输消耗了互联网40%的带宽。之所以如此的成功,是因为它结合了Napster和Gnutella共同的优点。结构上它使用了Gnutella的全分布式的结构,保证系统可扩展性能,因为它无须中央索引服务器存储文件信息,而是选择性能较好的节点作为超级节点,它存储着离它最近的叶子节点的文件信息,这些超级节点,再连通起来形成一个重叠网络。由于超级节点具有优良的索引功能,使网络中搜索效率大大提高。[9]

半分布式P2P网络具有如下优点。(1)半分布式P2P网络融合中心化P2P和全分布P2P的优点,用分布的超级节点代替中心目录服务器,采用分层次的快速搜索方法改进搜索性能,缩短排队响应时间,搜索过程中产生的流量低于全分布化P2P网络。(2)超级节点的故障不会影响到其他簇,因此不会引起全部瘫痪。(3)较易管理、可扩展性好,具有高性能。

半分布式P2P网络的缺点:对超级节点的依赖性大,易受攻击,容错性也受到影响。

表1-1列举了4种拓扑结构的综合性能。[10]表1-1 4种拓扑结构性能对比1.2.4 结构化与非结构化模型的区别

所谓结构化与非结构化模型的根本区别,在于每个节点所维护的邻居完全能够按照某种全局方式组织起来以便于快速查找。结构化P2P模式是一种采用纯分布式的消息传递机制和根据关键字进行查找的定位服务,目前的主流方法是采用分布式哈希表(DHT)技术,这也是目前扩展性最好的P2P路由方式之一。由于DHT各节点并不需要维护整个网络的信息,只在节点中存储其邻近的后继节点信息,因此较少的路由信息可以高效地发现目标节点,而且也摒除了泛洪算法。这种模型有效地减少节点信息的发送数量,从而增强P2P网络的扩展性。同时,出于冗余度以及延时的考虑,大部分DHT总是在节点的虚拟标识与关键字最接近的节点上复制备份冗余信息,这样也避免了单一节点失效的问题。

目前,基于DHT的代表性的研究项目主要包括加州大学伯克利分校的CAN项目和Tapestry项目,麻省理工学院的Chord项目、IRIS项目,以及微软研究院的Pastry项目等。这些系统一般都假定节点具有相同的能力,这对于规模较小的系统较为有效,但这种假设并不适合大规模的因特网部署。同时基于DHT的拓扑维护和修复算法也比Gnutella模型和Kazaa模型等无结构的系统要复杂得多,甚至在Chord项目中产生了“绕路”的问题。事实上,目前大量实际应用的多数还是基于无结构的拓扑和泛洪广播机制,采用DHT方式的P2P系统现在尚缺乏在因特网中大规模真实部署的实例,成功案例还比较少见[11]。1.3 P2P业务1.3.1 P2P业务特征

相对于传统的互联网业务,P2P业务表现出以下几个主要特征[12]。(1)高速传输性:P2P业务占据了60%~80%的网络带宽,对其他非P2P应用的服务质量形成了威胁,容易引起企业及ISP瓶颈链路的拥塞。(2)超大容量:P2P客户端以Gb/s的速度下载共享文件,消耗大量带宽,对于企业来说,大量的企业带宽都被与工作无关的P2P应用消耗掉,直接影响企业关键系统的运行。对于互联网运营商来说,当前互联网的业务模型和基础设施普遍不适合发展P2P业务,P2P流量的迅猛提高对运营商的网络造成巨大压力,不得不投入更多的资金进行网络设备扩容,严重增加了其运营成本。(3)永远在线:P2P用户一般一直在线,不分时段的进行高速下载,增大了网络设备的负荷,容易造成高峰时段的网络拥塞,对其他网络应用的性能产生影响。(4)安全机制缺乏:对分布在各个节点中的内容不做安全性检查,节点互相共享彼此的资源,为网络病毒、恶意代码的传播等打开了一个窗口。(5)上下行流量对称:与传统Internet业务不同,P2P应用上下行流量基本对称,这对传统的非对称、尽量支持下行的网络设备在性能方面带来影响,容易产生上行链路拥塞。(6)业务点分布广泛:P2P应用提供端到端的数据传输,使得任何两个普通节点之间都可能存在大量数据业务,业务的分散性与不确定性极大增加了中转链路的流量。(7)穿透性:P2P软件可以穿透现有防火墙和安全代理,从局域网内部打开网络安全防护的漏洞,使得各类病毒可以轻易进入,同时也可能造成私密泄露。1.3.2 P2P的主要应用领域[10]

目前,网络上P2P广泛应用的领域主要有以下几个方面。

1.文件下载

文件下载是P2P技术重要应用之一,它通过在不同用户间直接进行文件交换达到文件共享的目的。这种下载文件的方式具有速度快、资源丰富等优势。以典型的BT应用为例说明P2P文件下载的基本原理和特点。

BT是一种互联网上新兴的P2P传输协议,全名叫“BitTorrent”,中文全称“比特流”,最初的创造者是Bram Cohen,现在则独立发展成一个有广大开发者群体的开放式传输协议。其好处是不需要资源发布者拥有高性能服务器就能迅速有效地把发布的资源传向其他的BT客户软件使用者,而且大多数的BT软件都是免费的。

整个BT发布体系包括发布资源信息的torrent文件,作为BT客户软件中介者的Tracker服务器,遍布各地的BT软件使用者(通常称为Peer)。其中torrent文件也称为“种子”,指一个下载任务中所有文件都被某下载者完整的下载,此时下载者成为一个种子。发布者本身发布的文件就是原始种子。torrent本质上是文本文件,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据Bit Torrent协议内的B编码规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中;所以.torrent文件就是被下载文件的“索引”。Tracker服务器收集下载者信息,并将此信息提供给其他下载者,使下载者们相互连接起来传输数据。

发布者只需使用BT软件为自己的发布资源制作torrent文件,将torrent提供给别人下载,并保证自己的BT软件正常工作,就能轻松完成发布。下载者要下载文件内容,需要先得到相应的.torrent文件,然后使用BT客户端软件进行下载。下载时,BT客户端首先解析.torrent文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据.torrent文件,两者分别向对方告知自己已经有的块,然后交换对方没有的数据。此时不需要其他服务器参与,分散单个线路上的数据流量,因此减轻服务器负担。下载者每得到一个块,需要算出下载块的Hash验证码与.torrent文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。一般的HTTP/FTP下载,发布文件仅在某个或某几个服务器,下载的人太多,服务器的带宽成为瓶颈,变得很慢。而BitTorrent协议下载的特点是下载的人越多,提供的带宽也越多,种子也会越来越多,下载速度就越快。而有的用户下载完后关掉下载任务,提供少量数据给其他用户。为尽量避免这种行为,在非官方BitTorrent协议中存在超级种子的算法。这种算法允许文件发布者分几步发布文件,发布者不需要一次提供文件所有内容,而是慢慢开放下载内容的比例,延长下载时间。这样速度快的人由于未下载完数据,必须共享自己拥有的数据,保证速度慢的人有更多机会得到数据。

2.多媒体应用

P2P技术在多媒体方面的应用很广泛,包括网络视频直播、即时通信等。

1)网络视频直播

从国内第一款P2P模式的网络电视CCIPTV出现到现在,网络上已经有20余种P2P网络电视,甚至出现了多画面结构的P2P网络电视。P2P网络电视的用户数也急剧增多,已达数百万量级。目前,国内正常运营和试用的IPTV用户也不过这个量级,可见P2P网络电视应用的发展潜力巨大。其中PPTV(原PPLive)是一款全球安装量最大的网络电视,可以说是当前最流行、最热门的流媒体软件,是由华中科技大学和上海聚力传媒合作推出的。PPLive与传统的网络电视相比,优势在于其巨大的技术优势。以往想在网络上看电视,只能登录提供网络电视服务的网站,然后通过Real player等播放器来播放在线视频,用户一多,程序运行缓慢,就会出现播放效果不佳的情况。而PPLive的特点是用户越多,速度越快,彻底改变了用户量和网络带宽之间的老大难问题。

PPLive软件的设计采用了混合式(Hybrid-P2P)架构(即中心拓扑),继承和结合了Client/Server和P2P架构的各自优势。位于中心的是视频源和服务器,视频源提供多种视频服务,服务器负责记录当前用户选择的频道。用户收看的节目被分成固定长度的帧,可以从网络中的其他节点处下载,而且每个节点会缓冲一定时间内的视频数据,以提供给下一个用户。这种结构使得使用PPLive用户越多,播放越流畅。在播放器选择上,PPLive采用了Windows操作系统自带的播放器,使得软件本身体积很小,可以专注于编解码的实现。

PPLive的特性可以归纳成以下几点。(1)清爽明了,简单易用的用户界面。(2)利用P2P技术,用户越多播放越流畅。(3)丰富的节目源,支持节目搜索功能。(4)频道悬停显示当前节目截图及节目预告。(5)优秀的缓存技术,不伤硬盘。(6)自动检测系统连接数限制。(7)对不同的网络类型和上网方式实行不同的连接策略,更好地利用网络资源。(8)在全部Windows平台下支持UPnP自动端口映射。(9)自动设置XP的网络连接防火墙。(10)老板键功能。(11)支持多语言,包括简体中文、繁体中文、英语、西班牙语、法语、德语。(12)最近收看的10个节目(包括网页中)都会加入收藏中的最近收看类别中。(13)收藏夹功能。(14)内网用户共享播放功能。

2)即时通信

即时通信也是P2P技术应用的主要方面。随着因特网的发展,人们不再满足于比较慢的网络交流方式如E-mail等,因此众多的即时通信系统被开发出来,最早的如ICQ、MSN,到现在的QQ、Skype、Gtalk等。这里以Skype为例介绍P2P在即时通信领域的应用。

P2P技术本质特点是“对等”。它最早是用于网络中对等节点之间的资源和信息共享的技术,通常人们所知道的是将P2P技术用在文件下载过程中,即网络上的对等终端在下载共享文件的同时又作为“种子”为其他对等终端提供资源和信息。后来,Skype在网络通话业务系统中灵活应用了该技术。由于冲击传统通信领域,Skype在引起很多争议的同时也使人耳目一新。Skype是P2P技术发展到混合模式后的典型应用,它结合集中式和分布式的特点,在网络的边缘节点采用集中式的网络结构,而在超级节点之间采用分布式的网络结构。Skype之所以成功,采用P2P技术起决定性的作用。Skype将网络资源分散(即不是利用集中式的服务器资源,而是利用各个节点的网络资源),致使语音呼叫的接通率、语音质量在很大程度上超过传统的电话网络。Skype采用全球搜索目录(GI),使用多层的网络结构,这种结构利用超级节点使网络中的每个节点可以获取所有其他可利用节点的资源,并将这些节点资源动态组合,从而参与流量分配、路径选择、处理等需要较大带宽的任务,并保证最小的时延,Skype对数据传输采用智能路由,从而保证了语音质量。由于可以利用所有的节点资源,因此Skype可以为每个加密的呼叫智能搜索最好的传输路径,甚至可以并行打开多个传输路径,动态地及时选择最佳路径,这对减少延迟和增强语音质量有非常明显的效果。

然而,Skype毕竟是一种因特网服务,而不是真正的电信服务,它也存在一些问题,如网络的无管理性使它只能通过这种免费的方式走向市场,企业用户会因为担心它的安全隐患而不采用等。但是无论如何,Skype的理念很可能给传统的电信市场带来突破性的变革,也引起业界对于VoIP(Voice over Internet Protocol,网络电话)新的思考,传统电信运营商决不可忽视其挑战。

3.对等计算

对等计算的思想是利用因特网把闲置的计算资源组合起来,形成一个非常巨大的计算能力来解决目前常规计算不能解决的问题。因此对等计算就是网上CPU资源的共享,从而任何需要大量数据处理的行业都可从对等计算中获利,如天气预报、基因组的研究等。采用P2P技术便可以实现对等计算,将网络中众多的计算机暂时不用的计算能力连接起来,将能力积累起来执行超级计算机的任务。在第二代互联网中,网格技术与P2P有着深刻的渊源。从计算模式上看,P2P更加符合分布式计算的理念,其所倡导的计算能力边缘化、计算资源共享等思想,刚好与网格技术不谋而合。使用P2P软件,用户可以不改变原有基础设施,实现对底层计算资源的控制和调用。

网络的出现,使公司中不同部门协同工作成为可能。Web方式的集中式管理会给服务器带来极大的负担,同时也造成昂贵的成本支出。P2P技术能使互联网上任意两台PC都可建立实时的联系。虽然现在P2P技术安全风险比较大,但如果能解决这些安全风险,那么P2P技术必然会帮助企业和客户以及合作伙伴之间建立一种安全、快速、低成本的网上工作联系方式。因此,基于P2P技术的协同工作方案备受关注。Lotous公司创始人奥奇更是获得了6000万美元的风险投资,来开发其协同工作产品Groove。1.4 P2P流量识别

从前文可知,目前P2P技术广泛用于文件共享、流媒体服务、即时通信和网络游戏等,成为基于网络平台应用的主流方式。1.4.1 P2P技术应用困境

1.吞噬网络资源[13]

中国互联网网络信息中心(CNNIC)报告,截至2010年12月中国网民规模达到4.57亿人,较2009年底增加7330万人;互联网普及率攀升至34.3%,较上年提高5.4个百分点。我国即时通信用户规模达到3.53亿人,比2009年增长8025万人。中国网络游戏用户规模为3.04亿人,较2009年底增长3956万人,增长率为15%。网络视频用户规模达2.84亿人,在网民中的渗透率约为62.1%,与上年相比人数增长4354万人。中国在线音乐用户达到65.7%。数据表明有关P2P技术应用领域广泛,网络越来越普及,由此产生大量流量吞噬网络资源,给网络运行成本和服务质量带来巨大冲击。

P2P流量具有高速传输、数据量大、持续在线、上下行流量对称等特点,导致P2P流量占用过多网络带宽。近年来随着Skype、PPLive、迅雷、BT等软件使用率上升,所带来的网络带宽吞噬问题日趋严重。据统计P2P应用已经占据网络带宽流量的70%左右,高峰[14]时达90%。这导致网络链路拥塞和性能下降,对于企事业单位受网络带宽限制,已影响到正常业务(Web服务和E-mail)的使用和服务质量。P2P流量准确识别和管理成为解决P2P流量所带来问题的症结所在。

2.知识侵权

文件共享是P2P技术主流应用之一,它允许网络中的用户直接共享双方文件,打破传统客户机/服务器集中模式,使得用户获取信息更加快捷方便。以Napster为典型代表的第一代“集中目录型”软件到以Gnutella为代表的第二代“纯P2P网络”和以BT为代表的第三代“混合结构”软件,技术的发展对原有版权保护框架的冲击是有目共睹。近年来在国内外基于P2P应用技术所导致知识产权侵权纠纷逐年增多。据“国际唱片产业联盟”调查报告曾显示,近年来世界范围内唱片销售量下降14%,其中加拿大和德国下降30%,损失分别达4.25亿美元和8亿欧元。

1998年由美国波士顿大学学生肖恩开发的Napster软件,在无限风光的同时也带来灾难。1999年由华纳、BMG、百代、索尼、环宇五大唱片公司联合起诉Napster侵犯知识产权,这也是首例侵权案例。在历经4年漫长诉讼,于2002年6月Napster败诉同时Napster公司宣告破产,成为第一个牺牲者。2006年5月,国际唱片业协会决定对约3500名德国电驴(eDonkey)用户提起诉讼,号称是“全球范围内针对非法文件共享最大规模的行动”。

在国内由于法律制度不健全,文件共享泛滥、侵权事件时有发生。2003年国内首例P2P诉讼案在成都市中级人民法院开庭,由香港三大唱片公司(香港华纳、正东和环球唱片公司)起诉天虎网未经许可擅自在其网站上向公众提供MP3格式歌曲下载和在线试听服务。2005年香港屯门法院判决香港公民陈乃民侵犯了三部电影的版权,并利用BT软件将这三部电影的非法复制品上传至网络传播,构成刑事犯罪。同年百代、华纳、环球等7家国际唱片公司将百度告上法庭,理由是百度在搜索页面上提供了部分未授权的MP3下载链接。2006年上海步升音乐文化传播有限公司起诉北京飞行网音乐软件侵犯录音制作权纠纷案在北京市第二中级人民法院开庭审理。2007年国际唱片产业联盟(IFPI)对雅虎中国提起诉讼,指控雅虎中国搜索引擎提供的盗版音乐网站链接服务侵犯了唱片公司的版权,赔偿原告人民币21万余元。

由于P2P技术网络结构的自主性和非中心化的管理方式,使得版权保护困难。虽然P2P共享软件的运营公司被判违法而关闭,但整个网络仍然会存活。而且由于各大公司出于自身利益考虑,基于P2P网络的知识产权保护会更难,侵权事件越来越多。

3.网络安全

随着计算机网络应用发展,计算机病毒对信息安全的威胁日益增加。特别是在日益流行的P2P环境中,灵活共享和快捷的路由机制,为网络病毒提供便利的入侵机会。

P2P网络中逻辑相邻的节点地理位置可能相隔很远,而且参与P2P网络的节点数量大,每个节点抵御病毒能力不同,一旦网络中某节点感染病毒,通过内部共享和通信机制迅速传播、波及范围大、覆盖面广,在短时间内可以造成网络拥塞甚至瘫痪、共享信息丢失、机密信息失窃,甚至通过网络病毒控制整个网络。

Symantec公司和McAfee公司预测即时通信软件将会成为网络病毒传播和黑客攻击的主要载体之一,据统计近年来通过即时通信软件传播病毒的案例显著增多。最近蠕虫病毒也开始在P2P网络中泛滥,如Worm.P2P.SpyBot蠕虫病毒通过Kazaa传播,曾一度引起极大恐慌。2009年7月,国家计算机病毒应急处理中心通过互联网监测发现,一种新蠕虫Worm_Ackantta.C,利用P2P文件共享软件佯装成常见应用程序文件,在共享网络环境中“隐蔽”传播。2010年卡巴斯基实验室预测,基于P2P恶意软件传播情况加剧,恶意攻击重心将从传统的Web方式转移到文件分享网络中,同时从原有网络平台已扩展至手机通信网络中。1.4.2 P2P流量识别研究意义

解决上述问题,P2P网络流量高效、准确识别是关键。同时对网络运营商和管理人员来说,如果能够及时识别流经网络的P2P流量,并加以控制和疏导,对于科学规划网络、保证网络安全、提高服务质量和降低运行成本具有重要意义。

1.科学规划网络

现有网络流量主要由传统网络流量(Web、DNS、FTP、E-mail)和基于P2P技术应用的网络流量组成。若在没有对网络流量有效分析和监测的情况下,面对流量长期过大,最简单解决办法是扩容。对于公司、企业或学校来说,这无疑增加其投入成本,而且通过扩容不一定能解决问题并获得相应收益,相反可能助长大量“网络杀手”P2P软件频频运行。通过对流量的检测分析,发现网络流量运行特征,掌握用户行为习惯,帮助合理规划网络,提高网络资源利用率和制定网络控制策略。

2.提高服务质量

P2P文件共享和流媒体服务等给用户带来很多方便,已成为众多网民的一种生活娱乐方式。然而伴随着它广泛流行,P2P流量占用大量带宽资源,被许多网络运营商视为洪水猛兽。同时很多企业和学校不得不封杀P2P端口来阻止这种视频、音频文件传输,来保证自身网络安全和正常网络业务的运行。由于P2P软件采用动态端口技术和隐蔽通信,靠封杀端口会经常影响Web、E-mail以及视频点播等传统服务。若能准确识别P2P流量,并采用合适调度策略,无疑对于提高网络服务质量和降低运行成本具有重要意义。1.4.3 P2P流量识别研究现状

鉴于P2P流量识别在学术界和工业界的重要影响和实际意义,研究人员已进行各种研究,并取得相关研究成果。本节内容根据现有P2P流量识别文献进行归类总结,分为四大类:端口识别法、应用层特征识别法(Deep Packet Identification,DPI)、传输层行为特征识别法和机器学习识别法。

1.端口识别法

端口识别法是早期流量识别的主要手段,它根据每种网络应用在传输层的TCP/UDP端口固定原理设计,根据互联网地址指派机构(Internet Assigned Numbers Authority,IANA)的规定:端口分公认端口(Well-known Port)、注册端口(Registered Port)、动态端口(Dynamic Port)。基于端口识别原理可作如下描述:提取连接五元组中的端口号,形成端口集合p={p1,p2,…,pn},网络应用类型集合y={y1,y2,…,ym},据此形成分类映射ø:p→y,实现流量识别。[15]

2001年Sen等采用被动测量方式,基于端口识别原理对当时流行的三种P2P文件共享系统(Gnutella、FastTrack、DirectConnect)[16]进行流量分类。学者张云飞等首次使用基于固定端口的方法对国[15]内骨干网上的P2P流量进行测量与分析,同时作者详细与文献在[17]方法和结果方面进行了对比分析。Moore等利用工具包CoralReef,提取五元组中端口信息成功实现了对Kazaa流(TCP端口1214)的识别。各P2P应用为躲避流量检测和过滤,纷纷采用端口跳[18]变(Port Hopping)技术、HTTP隧道技术;同时网络中大量采用地址转换技术(Network Addresses Translation,NAT),使得基于端[19]口检测的方法识别效率仅有50%左右。研究表明目前仍采用固定[18][20]端口的P2P流量仅占30%,。但该方法技术成熟、实现简单,适合高速骨干网上的实时流分类,因此在许多P2P流量识别研究中作为启发规则广泛使用。表1-2列举了常见P2P应用的端口使用情况。表1-2 P2P应用端口列表应用类型端口号应用类型端口号TCP 4662 UDP TCP 6699 UDP eMuleWinMx46726257TCP/UDP 4661eDonkeyeDonkey 2000TCP/UDP 4662~4665TCP/UDP 6881TCP/UDP 6346BitTorrentGnutella~6889~6348MP2PTCP/UDP 41170FastTrackTCP/UDP 1214TCP/UDP 411~TCP/UDP 1215Open FastTrackDirect Connect~1216414TCP/UDP LimewireHotlineTCP/UDP 55006346/6347

2.应用层特征识别法

应用层特征识别法,又称为深层数据包检测法(Deep Packet Inspection,DPI)。它利用模式匹配算法搜索数据包载荷中P2P协议特征,进而判断流量类型是否属于P2P应用流量。由于协议特征的唯一性,该方法较好地克服端口识别方法的不足。常见P2P应用协议特征如表1-3所示。表1-3 P2P应用协议特征P2P协议特征串P2P协议特征串"GO!!","MD5",eDonkey0xe3,0xc5MP2P"SIZ",0X200x13"bittorrent "$MYn","$Dir"/BitTorrentDirect Connectprotocol""$SR""GUNT","GIV""GIVE"0X270000GnutellaFastTrack002980,"GND"[21]

2004年Karagiannis等对9种常见的P2P应用进行研究,通过提取每个包的前16字节(作者认为协议特征位于负载的开始部分),并[22]结合端口启发式规则,实现了流量分类。同年Sen等通过完全提取包负载的方法,重点研究5种(Kazaa、Gnutella、eDonkey、Direct Connect、BitTorrent)流行的P2P流量分类,实验结果表明5种应用的误报率和漏报率均小于5%。该方案仅需分析流中前几个包(不超过10个包)就可正确分类,保证实时流量检测的可行性。2005年Moore[23]等详细分析基于端口识别方法的缺陷,采用9种识别途径构建出基于内容特征流量识别体系,实验表明在10种常见网络服务上具有较好的识别精度,同时对识别精度和复杂性提出了折中方案,验证了基于特征字段的流量分类方法可行性。签于Winny的流行性,日本学者Satoshi采用主动检测和被动检测相结合的方式,通过设置诱饵节点(Decoy Nodes)方法,结合应用层特征识别技术对Winny系统流量识[24][25]别。文献分析了网络流媒体的工作机制,设计出动态会话分析模块(Dynamic Session Analyzer),对各连接包的负载分析,实现了多媒体服务流(QuickTime、Windows Media、RealNetworks、SIP和[26]H.323)的类型识别。Holger等针对校园网流量,基于应用层协议特征实现一种简单、有效的P2P流量识量方案,该方案具有较强的扩[27]展性。实验表明识别精度高,具有实用性。文献利用Apriori算法提取协议特征,进行流量识别研究,除加密的Emule流量识别率较低,[28]其他应用流量的字节识别率达97%左右。Park等根据应用层负载的最长公共子序列作为应用层负载特征,设计LASER算法获得较好[29]的识别效果。文献综合分析匹配算法BM、BHM及QS的优缺点,[30]设计出新的P2P网络流量识别算法。文献提出一种基于可扩展有[31]限状态机的DPI算法,解决存储开销问题。文献在入侵检测系统Snort平台上实现了对BitTorrent流量识别,使得平均性能显著提高。

[32]文献利用Rabin字符串匹配算法搜索上下行流量中是否存在相同负载内容,若有则认为流量是P2P流量。

基于特征指纹的识别方法需对每一种具体应用进行细致分析,获取相应协议的语法和语义结构或特征字段,其计算复杂度较高,而且[33][34]必须经常更新。文献,尝试使用三种机器学习方法Naïve Bayes、AdaBoost和最大熵实现应用协议指纹的自动构建,克服人工分析的[35]复杂性。文献设计出两模块识别体系结构,对捕获的数据包提取其五元组信息,利用散列函数求取散列值与系统Hash表(已识别出的P2P连接)进行比较,不成功的连接信息将进行第二模块根据协议指纹进行流量分类,这样保证流量识别的实时性。

基于应用层特征识别法精度高,分类粒度细,对于提高网络QoS、保证网络安全等具有显著作用。其不足之处在于:①协议加密及新的应用不断出现,无法保证相关协议指纹的有效性、实时性,制约了识别精度;②需要对数据包进行深入解析,涉及法律和隐私问题;③协议指纹特征分散的无规律性,导致较高的计算复杂性;④反向工程提取协议指纹技术难度大。而目前各P2P技术应用对负载加密已成为趋势,对P2P流量识别提出新的挑战。

3.传输层行为特征识别法

传输层行为特征识别法根据依赖对象不同可分为两类:主机行为特征和流量特征识别方法,它是根据P2P网络中在传输层主机和流量所表现出与普通应用不一样的行为特征。该类识别原理不依赖于协议特征,不需要对数据包进行解析,回避DPI识别法面临的局限性。[36]Karagiannis等提出TCP/UDP和{IP,Port}两条启发规则:①TCP/UDP启发式,若一IP对之间同时存在TCP/UDP协议,则这IP对间除基于知名端口的非P2P流量外,其他流量均视为P2P流量;②{IP,Port}启发式,若某{IP,Port}所连不同IP数和不同端口数之差小于特定阈值,则该条连接是P2P应用。签于Mail、DNS等常规网络服务连接特征与此相似,他们还提出了Mail启发式、DNS启发式、Scans启发式、Malware启发式。实验结果表明流量识别效率达到99%、字节识别率达95%、误报率限制在10%以内,对未知P2P流量具有鉴别能力。由于国内网络使用NAT技术和被动FTP服务(Passive FTP Service)[37][36]的存在,中科院徐鹏等对文献提出的PTP算法进行改进并提出三条针对性的启发规则:基于非P2P知名端口的过滤机制;基于有效数据流的计数机制;基于反向流的FTP过滤机制。改进后的识别算法,在实验中表现出优异性能,P2P流量识别率和字节识别率分别达到95%和99%。并在中国教育科研网测试表明,国内P2P流量占到70%,[38]证明了P2P应用是“流量杀手”。文献根据主机行为特征提出盲分类法(Blind Classification,BLINC)。该算法有三大特点:①不依赖端口信息,克服端口跳变(Port Hopping)和HTTP隧道(HTTP-Tunnel)技术带来的不便;②不需分析用户数据包负载,避免触及隐私问题;③对网络设备获取信息没有具体要求。算法从3个层面反映主机行为特点,即反映主机连通度的社会层(Social Level)、反映服务提供或消费行为的功能层(Functional Level)、反映传输层拓扑连接的应用层(Application Level)。在对网络流量分类过程中将提取的主机行为模式与事先构造的模式库(具体20种模式参照原文献)进行匹配。实验结果表明,BLINC算法能够达到95%的精度。该方法具有很强的理论意义,但由于模型较为复杂难以保证实时性要求。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载