1 引言
P2P是近年来互联网热门的技术,在VOIP、、流媒体、协调计算等领域得到飞速发展。P2P是Peer to Peer的缩写,即为对等计算或对等网络,可以简单的定义成通过直接交换,共享计算机资源和服务。P2P架构是一种资源分布利用和共享的体系架构,与网络中占据主导地位的客户端/服务器(C/S)体系架构相对应。在P2P网络模式中,每个节点的地位都是对等的,整个网络一般不依赖于专用集中的服务器。每个节点同时承担服务器和客户端两个角色,既提供资源和服务,也享用其他节点的资源和服务。通常这些资源和服务包括:信息的共享与交换、存储资源、磁盘空间和计算资源等的共享使用。
2 主流P2P网络模型分析
2.1 集中目录式P2P模型
集中目录式P2P结构是早的P2P应用模式,因其仍具有中心化的特点也被称为非纯粹的P2P结构,Napster是这种模型的典型代表,如图1所示。集中目录式模型,是由一个中心服务器来负责记录共享信息以及反馈对这些信息的查询,每一个对等实体要对它所需共享的信息以及进行的通信负责。当某节点希望搜索一个不知道位置的资源时,该节点向目录服务器发送请求,目录服务器在数据库中查询到匹配的资源后将其定位信息返回该节点,然后在两个节点之间执行交互。
与传统的客户朋艮务器模式不同,这种模式中客户所需要的资料并非存储在服务器上,而是存贮在P2P网络内的各个节点中,当查询节点收到节点地址信息列表后,会根据网络流量和延迟等信息选择合适的节点建立直接连接,其文件传递并不经过中央目录服务器,而是直接在节点之间通过TCP协议进行。此外服务器与对等实体以及对等实体之间都互有交互能力。
集中目录式P2P首先实现了文件查询与文件传输的分离,有效地节约了中央服务器的带宽消耗,减少了系统的文件传输延时。但中央目录服务器却成为脆弱的瓶颈,如果该服务器失效,整个系统都会瘫痪。而且,不同等级的用户连接速度也会使系统性能大大降低。在Napster之后的P2P系统,都在这一点上进行重点改进,系统基本上都采用无中心结构,准确性和可扩展性都得到极大提高。
2.2 分布式P2P模型
分布式P2P网络采用随机图的组织方式,利用TTL(Time-to-Live),洪泛(Flooding),随机漫步或有选择转发等方式搜索网络资源。当节点度数服从幂率(power—law)规律时,该方式能够较快发现目标结点,而且面对网络的动态变化体现了较好的容错能力。代表性网络是Gnutella,如图2所示。
在分布式P2P模式下,所有节点都参与服务,控制流和数据流都在对等节点之间交互,解决了中心化的问题,避免服务器瓶颈,部分节点出问题也不会影响整个网络的运行,搜索结果更新比较及时,时效性高;但是,采用flooding方式传播搜索请求,造成网络额外开销比较大,随着P2P网络规模的逐渐扩大,网络开销成指数级上升。因此准确性和可扩展性是非结构化网络面临的两个重要问题。
2.3 结构化P2P模型
结构化P2P模式是一种采用纯分布式的消息传递机制和根据关键字(KEY)的定位服务,从根本上改变了P2P网络无结构的状态。其中主流的方法就是采用分布式哈希表(Distributed Hash Table,DHT)技术,是目前扩展性的P2P路由方式之一。DHT首先为网络中的每一个节点分配虚拟地址(VID),同时用一个关键字(KEY)表示其可提供的共享内容。通过一个特定的哈希函数(一般使用的是安全哈希函数,如SHA一1等)将文件名(KEY)与节点信息(VID)运算为一个哈希值H(KEY,VID),当网络上其它节点进行资源定位的时候,可以容易地根据H(Key)值获得文档的存储位置。由于DHT各节点并不需要维护整个网络的信息,只在节点中存储其临近的后继节点信息,因此较少的路由信息可有效地实现到目标节点,同时又取消了洪泛算法,该模型有效地减少了节点信息的发送数量,增强了P2P网络的扩展性。同时,出于冗余度及延时的考虑,大部分DHT总是在节点的虚拟标识与关键字接近的K个节点上备份冗余信息,避免了单一节点失效的问题。
基于DHT的路由方式是P2P系统研究的主流之一。所涉及的系统一般都假定节点的能力相当,这对于较小规模的系统非常有效,但这种假设并不适合大规模的Intemet部署。目前,成功应用也比较少见。
2.4 混合式P2P模型
混合式P2P网络结合了集中式结构和分布式拓扑的优点,网络中存在着中间服务器,文件目录是分布的。在分布式模式的基础上引入了超级节点(Super Node)概念,将用户节点按能力(处理、存储、带宽等方面性能)分为搜索节点和普通节点两类.搜索节点与其临近的若干普通节点之间构成一个自治的簇(Cluster),簇内采用基于集中目录式的P2P模式,而整个P2P网络中存在着众多这样的簇,各个不同的簇之间再通过分布式P2P模式将搜索节点相连起来,甚至可在各个搜索节点之间,再次选取性能的节点或者另外引入一新的性能的节点作为索引节点,来保存整个网络中可以利用的搜索节点信息,并且负责维护整个网络的结构。混合式P2P模型消除了分布式P2P结构中使用Flooding算法带来的网络拥塞、搜索迟缓等不利影响,吸收了集中式拓扑的易管理性与分布式拓扑的可扩展性,在异构的P2P网络环境下是一种较好的模式选择。其中典型的就是Fastrack,如图3所示。
从上述分析知,这4种结构各具优缺点,有的还存在着本身难以克服的缺陷,在目前P2P技术还未到成熟的阶段,这4种结构依然会共存,甚至出现相互借鉴结合的趋势。
3 P2P网络关键技术分析
3.1 资源定位
资源定位是节点通过一定方式找到资源在网络中的存放位置,P2P方式的资源定位主要有以下3种算法。
(1)集中索引算法,代表系统为Napster在Napster系统中,用户都与一个中央服务器相连接,中央服务器上保存了共享文件的索引,由中央服务器对收到的用户请求进行匹配查找,直到找到保存了所需文件的目的用户。然后,由发起请求的用户与目的用户直接进行文件交换。这种算法的不足在于依赖一个集中式的结构,将会影响系统的可扩展性。
(2)洪泛消息算法,代表系统为Gnutella 每一个用户消息都将被广播给与该用户直接相连的若干其他用户,这些用户收到消息后,也同样地将消息广播给各自连接的用户,以此类推,直到请求被应答,消息的TTL值减少为0,或超过了的广播次数(通常为5~9)。这种算法的不足在于占用的网络带宽较大,因此也会影响可扩展性。
(3)文件路由算法,代表系统为Freenet算法的特点是采用基于哈希函数的映射。系统中的每一个用户都有一个随机的ID序列号,系统中的每一个文件也有一个ID序列号,该序列号是根据文件的内容和它的名字,经过哈希函数映射得来的。文件发布时,每一个用户都把文件转发到拥有与文件的ID相近ID值的用户,直到接近文件ID的用户就是该用户本身。转发过程中每经过的一个用户都将保持该文件的副本。索取文件时,每个用户都将请求消息转发给一个拥有与所需文件ID相近的ID用户,直到文件或文件的一个拷贝被发现为止。Tapestry,Pastry,Chord,CAN都是采用这种方法的P2P系统。这种算法的优势在于可扩展性较好,不足在于可能导致整个网络分裂成若干彼此不相连的子网络,形成所谓的孤岛,其查询也要比洪泛消息算法麻烦些。
3.2 多源传输
为了提高一些多用户同时热点文件的传输速率,P2P网络普遍采用多源传输策略(MFTP协议)。该协议定义了一系列传输、压缩和打包的标准,甚至还定义了一套积分的标准,上传的数据量越大,积分越高,的速度也越快。MFTP协议允许用户之间多点文件,多用户同时一个文件时,将该文件分段,每个用户其中的一部分。P2P客户端软件在网络上搜索同一个文件的用户,然后从这些用户那里该文件不同的块,用MD4算法检查每一块是否受到破坏,以保证传输的正确性,将所有的块组合成原来的文件。MFTP充分利用用户之间的带宽传输数据,从而减轻服务器负担,提高速度和系统的可扩展性。多源传输机制的出现使得P2P技术在信息传输方面拥有网络层传输无法比拟的优势。
3.3 网络监控与安全技术
面对大规模出现的P2P虚拟网络,由于缺乏必要有效的机制,安全性这一问题在P2P网络中更为严重,这将直接决定P2P能否被大规模商用。如何有效的监测与*估P2P网络性能已经变得越来越重要。由于缺乏集中式的监控功能,当前大多P2P系统无法提供网络运行状况的信息,也无法为网络结构调整优化提供参考依据,所以,将网络监测作为一个未来的研究重点是很有必要的。
此外,P2P中的安全问题包括信息的加密、用户身份的、恶意节点的识别和应对等,总的来说可以归纳为服务可用性、文件授权、匿名和存取控制等方面,但是到目前还没有一个公认的模型和*价体系,可以用来P2P网络系统的安全性进行定性或者定量的研究,这也将是P2P网络安全研究领域的一个重要课题。
4 P2P网络的特性与问题
作为一种新型的网络应用方式,P2P具有一些传统C/S模式所不具备的优势,主要表现在信息量的扩大以及匿名服务的自由开放性等。P2P的优点在于能够提供可靠、便捷的信息查询,但也由于P2P网络这种缺乏中心监管以及匿名服务的特性,P2P也存在着许多自身所无法克服的不足。
绝大多数的P2P服务都将不可避免地遇到知识产权问题,同时,恶意代码的传播将更快、更隐蔽,更难以控制等。
此外,P2P在技术层面也有较多的问题难以解决。一般每个P2P网络都是众多参与者按照共同兴趣组建起来的一个虚拟组织,对等节点之间存在着一种假定的相互信任关系,其中的P2P服务更是紧密依赖于节点之间彼此信任的协作模型。但是,随着P2P网络规模的扩大,其中预先假设的信任机制实际上就会非常脆弱,这就直接导致了全局性信任的缺乏,影响了整个网络的可靠性与稳定性。
此外,安全问题、内容过滤、信息审查、带宽问题等都是随着P2P网络规模的扩大必需要考虑的问题。
5 结语
P2P并不是一个新概念,早在1969年ARPANET出现的时候,网络应用的模式就是P2P。如今,P2P又回到了人们视线。尽管P2P技术现在还不成熟,但为我们提供了前所未有的自由和便利。随着P2P研究的进一步深入,P2P技术将为信息社会带来更多的机遇与挑战。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。