首页 > 范文大全 > 正文

方兴未艾的P2P技术

开篇:润墨网以专业的文秘视角,为您筛选了一篇方兴未艾的P2P技术范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

p2p(peer-to-peer),即点对点网络,是随着网络的应用而新兴起的一门新技术。它主要指计算机之间弱化或取消了服务器的作用,以对等方式形成的网络连接,各台计算机可以意识到周围其他计算机的存在,允许任意一台计算机直接去访问其他计算机。

在P2P系统中,每个计算机被看作为一个节点,每个节点都与系统中的其他节点相连接。这样,系统中所有节点及其链接形成一个覆盖在物理网络上的虚拟网络,该虚拟网络称为覆盖网。在覆盖网中任意两个节点间可以通信,消息通过网络的边进行传播,节点之间完全平等。P2P技术允许客户节点直接与其他节点建立一条通路,读取其资源,以实现高效、快速地得到自己所需资源。P2P网络中每个节点(即系统中的每台计算机),都担任了两种角色:服务器节点――存储信息,允许外来客户机访问它所需要的信息;客户端节点――允许到其他机器访问其所需资源。

P2P的应用包括文件共享、即时消息、分布式计算、协同工作等,其中最主要的应用为文件共享,即分享网络中存在的可共享资源。“文件共享”使得我们所需的资源绝大部分都可以通过网络共享来得到;“即时消息”可以使我们通过MSN、QQ等IM软件与远方的家人、朋友进行及时快捷的交流;“分布式计算”把网络中闲置的资源调度起来重新组合,高效快速地完成作业,解决了庞大数据计算的花销问题;“协同工作”则把庞大的任务分配给不同人员,大家共同合作完成任务,既增加系统处理任务的速度,又保障系统的高效性。P2P发展历史

P2P的起源源自传统的C/S模式,又称为客户/服务器模式。传统的客户/服务器模式严格区分服务器节点和客户节点――所有相关信息都存放于服务器中,且传输数据也要经过服务器。因此,当客户节点需要某种服务时,则向服务器节点发送请求,服务器节点若有相关信息,则直接把相关信息传递给客户节点;否则把相关信息拷贝到自身,再传递给客户节点。C/S模式具有安全性、可靠性高的优点,但同时因为所有的服务都经过服务器,服务的健壮性、容错性相应也变差。

而在P2P网络中每个节点都可同时充当客户端和服务器两种角色,具备信息消费者、信息提供者和信息通信等三方面功能,可以解决传统模式中由于网络中的一个节点失效,从而导致该节点不能提供服务的“单点失效”问题。但由于缺乏一个中心来管理网络中的节点,系统的可靠性、安全性相应变差,管理也较难。图1和图2显示了C/S模式和P2P模式的原理。

集中式网络模型

P2P最初的发展是集中式的网络模型,其典型的网络模型为:Napster。1999年初,为了与自己的朋友在互联网上共享MP3歌曲,18岁的美国东北大学学生肖恩・范宁开发了基于P2P技术的Napster软件。集中式P2P系统存在一个中心存储器来存放共享文件的所有索引,当一个节点请求一种资源时,则向该中心存储器发送请求,存储器根据自己存放的索引信息发送一个回复信息,同时包含这些信息机器的地址,最后搜索资源节点直接请求这些机器,下载并分享这些资源。集中式P2P网络模型虽然易管理,但同时在健壮性上也较差,且当中心存储器受到攻击时,容易造成信息丢失,安全性不高。当服务器被攻击或不能正常运转时,则整个系统处于瘫痪,不能正常使用。

分布式网络模型

P2P的第二代网络模型为分布式网络,典型的代表为Gnutella。Gnutella是一个公开、分布式的网络环境,P2P的搜索协议主要用于查找和分享文件,计算机可以在应用层上运行Gnutella协议来完成分布式应用,使之成为真正的P2P。纯分布式P2P模型没有中心存储器,也没有一个固定服务器,每个节点都可以充当服务器和客户节点,各个节点与网络中其它节点相互合作,提供索引,根据曾经的服务过程建立相关连接,当节点要享受某种服务时,向它的邻居节点发送请求,邻居节点有资源,则提供;否则向其他节点传送请求,如此往复。

混合式网络模型

纯分布式的P2P网络虽然弥补了集中式P2P网络的缺点,同时由于其自身的结构,使其存在难以管理性,因此出现第三代P2P网络模型。第三代的P2P网络模型以混合式P2P网络模型为主,它结合了前面两者的优缺点。混合式P2P网络模型又称为超级节点(Super-peer)P2P网络模型。在此模型中,存在一些节点作为中心服务器节点,在集中式P2P网络模型中存放的索引信息现存放于这些节点当中,这增强了集中式P2P网络模型的健壮性和安全性,同时又比纯分布式P2P网络模型易管理。比较典型的例子为KaZaA。KaZaA在模型中存在很多可用的、功能强大的超级节点,在模型中这些节点充当服务器的作用。

第三代P2P网络模型中比较典型的应用为BT、电驴等应用软件。它根据节点自身的行为进行判定其在系统中担任的角色。BT(BitTorrent)应用的原理即P2P原理。服务器A把文件分成许多小块,节点B可以去下载这些小块,当B节点下载完一些块时,当其他节点也想分享这些文件时,除了可以分享服务器A上的资源外,还可以分享节点B上已经下载好的那些资源块。当节点越多的时候则可以用来分享下载的块就越多,下载速度就越快,并且每个节点可以下载不同的块,然后进行分享,这就避免了分享资源带宽的限制,从而实现节点越多,下载速度也越快。

P2P发展障碍

P2P的发展存在着安全、搜索算法、存储和应用等四个方面的障碍。

安全

P2P是一个分布式环境,节点的加入和离开是一件很频繁的事情。P2P系统中节点具有匿名性,所以根据节点的行为对节点身份鉴定,以及判断是否为可疑节点,对系统的安全性都至关重要;其次,现在网络安全也不再是单纯的为了信息保密,同时也要考虑到信息的完整性、准确性等各个方面;最后文件的可用性也十分重要,不管是下载的文件还是共享的文件,都应具有其可用性。

搜索算法

在非结构化P2P系统中,大多基于盲目搜索算法,进而由之演变其他一些资源搜索算法,虽然可以解决“单点失效”问题,但这些算法对网络中资源消耗较大,且可靠性差。在结构化P2P系统的资源搜索算法中,大多基于DHT技术,尽管支持精确查找,可以提高查找的匹配成功率,保障系统安全性以及可靠性,却不支持复杂查找,使得对信息的查找变得困难。

存储

系统中每个节点都贡献一定的存储空间,并允许他们去查看存储在其他节点上的数据。怎样高效、安全地裁剪不需要数据的复本越来越受到关注。

应用

虽然P2P并非因盗版而生,但由于其技术特点,可以便捷地对个人电脑里面的资源进行传播,使其成为版权保护的重要障碍之一。因此,P2P的应用还面临着不断的法律纠纷。

P2P发展展望

虽然影响P2P技术发展的障碍仍然存在,但解决思路也越来越清晰:

安全方面,可以通过在现有技术中增加安全协议以及数字认证等相关技术进行解决。比如,可以建立基于PKI的可信模型和基于名誉和推荐的可信模型来确保系统安全性。

应用方面,可以尝试通过建立P2P产业链来进行利益分配,形成一个权利人、网络服务商和用户之间利益平衡和再分配的新机制来解决这个问题。

实际上,除了应用较多的即时通信和文件共享之外,流媒体、游戏、协作和分布计算以及面向企业的P2P也都预示着P2P应用发展的新方向。我们有理由相信,随着P2P和新技术的融合,将会开拓更多新的领域,创造出无穷无尽的新应用,P2P的发展将不可估量!