P2P实际的应用研究和产品主要体现在以下几个方面:
P2P分布式存储系统(文件共享与下载)是一个用于对等网络的数据存储系统,它可以提供高效率的、鲁棒的和负载平衡的文件存取功能。对于存储系统,用户关心数据的定位、搜索以及路由的效率,安全性也是重要的因素。集中方式在很多情况下不再适用这种大规模数据存储的要求,这就需要一个新的体系来管理系统中的数据。P2P分布式存储系统就是解决这样的问题。这些研究包括全分布式存储系统:Oceanstore,Past和FreeHaven等。其中,基于超级点结构的半分布式P2P应用如KaZaa、Edonkey、Morpheus、Bit Torrent等也属于P2P共享存储的范畴,并且用户数量急剧增加。Oceanstore和Past都提供了一种有效的广域网存储模型。它们的底层都建立了一个代价上限为logN的路由策略。 Past则是面向一个相对简单而紧凑的概念,它采用Pastry提供的路由机制,试图利用网络中闲置的存储节点建立一个更为完善的存储语义。FreeHaven则建立了一个详细的匿名体系,用来防止潜在的恶意攻击。
加入对等网络的结点除了可以共享存储能力之外,还可以共享CPU处理能力。目前已经有了一些基于对等网络的计算能力共享系统,比如[email protected]。[email protected]是由加州伯克利大学开展的寻找外星生命的研究计划。它使用P2P技术串联所有参与研究计划的闲置的计算机来执行复杂的运算,用来分析行星的无线电讯号,寻找宇宙可能存在其他外星文明的证据,这些电脑每天平均发挥的效能超过了全球造价最高,运算最快的超级电脑。这种计算能力共享系统还可以用于进行基因数据库检索和密码破解等需要大规模计算能力的应用。
协同工作是指多用户之间利用网络中的协同计算平台互相协同来共同完成计算任务,共享信息资源等。通过采用P2P技术,个人和组织可以随时采用多种方式建立在线、非在线的协同应用环境。协同应用一般包括:实时通信、聊天室、文件共享、语音通讯等基本功能,除了这些基本功能,用户之间还可以共享白板、协同写作、视频会议等。另外,协同有时候还包括工程人员的协作开发软件。例如,JBuilder2006 Java集成开发环境就增加了P2P协同开发的属性。采用P2P技术使协同工作不再需要中心服务器,参与协同工作的计算机可以点对点建立连接。Groove就是基于P2P的协同软件平台,已经被微软公司收购。
组播技术(Multicast)是一种针对多点传输和多方协作应用的组通信模型,有高效的数据传输效率,是下一代Internet应用的重要支撑技术。早期的组播技术研究试图在IP层提供组播通信功能,但IP组播的实施涉及到对现有网络基础设施的调整,因此,大规模应用受到限制。随着P2P研究的兴起,基于应用层的组播技术逐渐受到广泛关注。应用层组播协议将组成员节点自组织成重叠网络(Overlay network) ,在主机节点实现组播功能,为数据多点并发传输提供服务。应用层组播是在应用层实现组播功能而不需要网络层的支持,这样就可以避免出现由于网络层迟迟不能部署对组播的支持而使组播应用难以进行的情况。当然,应用层组播也有许多局限:一是端系统对IP网络的了解有限,节点参与组网时,只能通过探测获得一些网络性能参数,选取的逻辑链路难以优化;二是主机不了解IP网络的拓扑结构,只能通过带宽和时延等外在的特性参数,以启发式的方式建立重叠网络,逻辑链路不能较好地利用质量较好的底层网络资源,重叠网络的多条链路可能经过同一条物理链路。
为了使Internet更好地支持组播、单播和移动等特性,Internet间接访问基础结构提出了基于汇聚点的通信抽象。在这一结构中,并不把分组直接发向目的结点,而是给每个分组分配一个标识符,而目的结点则根据标识符接收相应的分组。标识符实际上表示的是信息的汇聚点。目的结点把自己想接收的分组的标识符预先通过一个触发器告诉汇聚点,当汇聚点收到分组时,将会根据触发器把分组转发该相应的目的结点。Internet间接访问基础结构实际上在Internet上构成了一个重叠网络,它需要对等网络的路由系统对它提供相应的支持。
传统的分布式多媒体系统一般是基于客户/服务器模式,服务器以单播的方式和每个用户建立连接,由于流媒体服务具有高宽带、持续时间长等特点,随着用户数量的增加,服务器的带宽很快被消耗完,所以以前的网络电视经常出现断断续续,需要不断地进行数据缓冲。为了解决系统的可扩展性,许多研究提出了相应的解决办法,例如IP组播技术来实现Internet上高效的一对多的通信,提高了系统的可扩展性。然而由于IP组播存在种种限制,如很难实现可靠性组播和拥塞控制等,IP组播技术并没有得到广泛的应用。由于P2P网络本身的可扩展性,基于P2P方式的流媒体技术很好的解决了传统流媒体带宽不足的问题。单源的P2P流媒体系统建立在应用层组播技术的基础之上,由一个发送者向多个接收者发送数据,接收者有且只有一个数据源。服务器和所有客户节点组织成组播树,组播树的中间节点接受来自父节点组播的媒体数据,同时将数据以组播的方式传送给子节点。而多源的P2P流媒体传输系统,则是由多个发送者以单播的方式同时向一个接收者发送媒体数据。
P2P搜索技术
P2P搜索技术使用户能够深度搜索文档。而且这种搜索无需通过Web服务器,也可以不受信息文档格式和宿主设备的限制,可达到传统目录式搜索引擎无可比拟的深度。目前,集中式搜