P2P:互联网时代的计算革命

来源:百度文库 编辑:神马文学网 时间:2024/04/20 06:13:06
■ 中科院计算所 罗杰文
大多数人接触和了解P2P(Peer-to-Peer,对等计算)还是从Napster开始的。Napster是一家通过P2P技术免费共享和交换音乐文件的网站,曾经风靡一时,尽管后来遭遇版权问题而改为付费使用,但Napster给后来者带来的影响是巨大的,更多采用P2P技术的程序和网站如雨后春笋般涌现出来,应用种类也不断增多。Napster的成功不仅仅是因为其免费服务的特性,更重要的是P2P技术大大增强了人们利用互联网资源的便利性。事实上,Napster仅仅是冰山之一角。P2P技术广泛地应用在计算和存储共享、搜索、即时通信、网络电视等很多领域。但同时,随着其应用的深入,也面临着标准和安全等问题的困扰。本期专题我们约请了中科院计算所和北京大学的专家为您介绍P2P的技术特点、拓扑结构、安全和激励机制、搜索算法及其发展趋势等。技术定义最近几年,Peer-to-Peer (以下简称P2P) 迅速成为计算机界关注的热门话题之一,财富杂志更是将其列为影响Internet未来的4项科技之一。“Peer”在英语里有“对等者”和“伙伴”的意义。因此,从字面上讲,P2P可以理解为对等互联网。国内的媒体一般将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等计算。P2P可以定义为: 网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其他对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内容)提供者(Server),又是资源获取者(Client)。客观地说,这种计算模式并不是什么新技术,自从上个世纪70年代网络产生以来就存在了,只不过当时的网络带宽和传播速度限制了这种计算模式的发展。90年代末,随着高速互联网的普及、个人计算机计算和存储能力的提升,P2P技术重新登上历史舞台并且带来了一场技术上的革命。许多基于P2P技术的杀手级应用应运而生,给人们的生活带来了极大的便利。从计算模式上来说,P2P打破了传统的Client/Server (C/S)模式,在网络中每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。P2P与C/S模式的对比如图1所示。技术特点P2P技术的特点体现在以下几个方面:● 非中心化: 网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。● 可扩展性: 在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能比较容易地满足用户的需要。理论上其可扩展性几乎可以认为是无限的。例如: 传统通过FTP协议下载文件,当下载用户增加之后,下载速度会变得越来越慢,然而P2P网络正好相反,加入的用户越多,P2P网络中提供的资源就越多,下载的速度反而越快。● 健壮性: P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个结点之间进行的,部分结点或网络遭到破坏对其他部分的影响很小。P2P网络一般在部分结点失效时能够自动调整整体拓扑,保持其他结点的连通性。P2P网络通常都是以自组织的方式建立起来的,并允许结点自由地加入和离开。● 高性价比: 性能优势是P2P被广泛关注的一个重要原因。随着硬件技术的发展,个人计算机的计算和存储能力以及网络带宽等性能依照摩尔定理高速增长。采用P2P架构可以有效地利用互联网中散布的大量普通结点,将计算任务或存储资料分布到所有结点上。利用其中闲置的计算能力或存储空间,达到高性能计算和海量存储的目的。目前,P2P在这方面的应用多在学术研究方面,一旦技术成熟,能够在工业领域推广,则可以为许多企业节省购买大型服务器的成本。● 隐私保护: 在P2P网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。此外,目前解决Internet隐私问题主要采用中继转发的技术方法,从而将通信的参与者隐藏在众多的网络实体之中。在传统的一些匿名通信系统中,实现这一机制依赖于某些中继服务器节点。而在P2P中,所有参与者都可以提供中继转发的功能,因而大大提高了匿名通信的灵活性和可靠性,能够为用户提供更好的隐私保护。● 负载均衡: P2P 网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好地实现了整个网络的负载均衡。广泛应用与传统的分布式系统相比,P2P技术具有无可比拟的优势。同时,P2P技术具有广阔的应用前景。目前,Internet上各种P2P应用软件层出不穷,用户数量急剧增加。据统计,自2001年以来,大量P2P软件的用户使用数量从几十万、几百万到上千万急剧增加,给Internet带宽带来巨大冲击。如图2所示,在全球最大的开源网站Sourceforge的下载排名中,前十名中有七个项目是基于P2P技术。其中eMule的下载量超过2亿次,Azureus的下载量超过1亿次。这个网站上的工程项目下载量,往往反映当今软件技术的前沿热点。令人瞩目的是,微软公司在新一代操作系统Windows Vista中也加入了P2P技术以加强协作和应用程序之间的通信。目前,P2P计算技术正不断应用到军事、商业、政府、通信等领域。根据具体应用不同,可以把P2P大致分为以下这些类型:● 文件内容共享和下载,例如Napster、Gnutella、eDonkey、eMule、Maze、BT等;● 计算能力和存储共享,例如SETI@home、Avaki、Popular Power等;● 基于P2P技术的协同与服务共享平台,例如JXTA、Magi、Groove等;● 即时通信工具,包括ICQ、QQ、Yahoo Messenger、MSN Messenger等;● P2P通信与信息共享,例如Skype、Crowds、Onion Routing等;● 基于P2P技术的网络电视: 沸点、PPStream、 PPLive、 QQLive、 SopCast等。
图2 Sourceforge的工程下载排名(数据截止到2006年8月23日)(计算机世界报 2006年09月04日 第34期 B13、B14)