一、绪言
1.1 Peer-to-Peer介绍
定义:
1、Peer-to-peer 是一类允许一组用户互相连接并直接从用户硬盘上获取文件的网络。
2、Peer-to-peer网络是一个运行于个人电脑上的应用,通过网络在用户间分享文件。P2P网络通过连接个人电脑分享文件而不是通过中央服务器。
3、P2P是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点(peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内容)提供者(server),又是资源(服务和内容)获取者(client)。
P2P的特点:1)无中央服务器,打破了C/S模式;2)用户之间互联并分享文件。
非中心化(Decentralization)
可扩展:全分布系统
健壮性:耐攻击、高容错
高性价比
隐私保护
负载均衡
P2P的分类:
提供文件和其他内容共享的P2P网络,如Napster、Gnutella、eDonkey、emule、BitTorrent等;
挖掘P2P对等计算能力和存储共享能力,如SETI@home、Avaki、Popular Power等;
基于P2P方式的协同处理与服务共享平台,如JXTA、Magi、Groove、.NET My Service等;
即时通讯交流,包括ICQ、QICQ、Yahoo Messenger等;
安全的P2P通讯与信息共享,如Skype、Crowds、Onion Routing等。
二、 P2P技术的应用研究
国外开展P2P研究的学术团体主要包括P2P工作组(P2PWG)、全球网格论坛(Global Grid Forum, GGF)。P2P工作组成立的主要目的是希望加速P2P计算基础设施的建立和相应的标准化工作。P2PWG成立之后,对P2P计算中的术语进行了统一,也形成相关的草案,但是在标准化工作方面进展缓慢。目前P2PWG已经和GGF合并,由该论坛管理P2P计算的相关工作。GGF负责网格计算和P2P计算等相关的标准化工作。
从国外公司对P2P计算的支持力度来看,Microsoft公司、Sun公司和Intel公司投入较大。Microsoft公司成立了Pastry项目组,主要负责P2P计算技术的研究和开发工作。目前Microsoft公司已经发布了基于Pastry的软件包SimPastry/VisPastry。Rice大学也在Pastry的基础上发布了FreePastry软件包。
在2000年8月,Intel公司宣布成立P2P工作组,正式开展P2P的研究。工作组成立以后,积极与应用开发商合作,开发P2P应用平台。2002年Intel发布了.NET基础架构之上的Accelerator Kit(P2P加速工具包)和P2P安全API软件包,从而使得微软.NET开发人员能够迅速地建立P2P安全Web应用程序。
Sun公司以JAVA技术为背景,开展了JXTA项目。JXTA是基于JAVA的开源P2P平台,任何个人和组织均可以加入该项目。因此,该项目不仅吸引了大批P2P研究人员和开发人员,而且已经发布了基于JXTA的即时聊天软件包。JXTA定义了一组核心业务:认证、资源发现和管理。在安全方面,JXTA加入了加密软件包,允许使用该加密软件包进行数据加密,从而保证消息的隐私、可认证性和完整性。在JXTA核心之上,还定义了包括内容管理、信息搜索以及服务管理之内的各种其他可选JXTA服务。在核心服务和可选服务基础上,用户可以开发各种JXTA平台上的P2P应用。
P2P实际的应用主要体现的以下几个方面:
P2P分布式存储:P2P分布式存储系统是一个用于对等网络的数据存储系统,它可以提供高效率的、鲁棒的和负载平衡的文件存取功能。这些研究包括:OseanStore,Farisite等。其中,基于超级节点结构的半分布式P2P应用如Kazza、Edonkey、Morpheus、BitTorrent等也是属于分布式存储的范畴,并且用户数量急剧增加。
计算能力的共享:加入对等网络的节点除了可以共享存储能力之外,还可以共享CPU处理能力。目前已经有了一些基于对等网络的计算能力共享系统。比如SETI@home。目前SETI@home采用的仍然是类似于Napster的集中式目录策略。
P2P应用层组播:应用层组播,就是在应用层实现组播功能而不需要网络层的支持。这样就可以避免出现网络层迟迟不能部署对组播的支持而使组播应用难以进行的情况。应用层组播需要在参加的应用节点之间实现一个可扩展的,支持容错能力的重叠网络,而基于DHT的发现机制正好为应用层组播的实现提供了良好的基础平台。
This message is used to verify that this feed (feedId:69291567376475136) belongs to me (userId:67855826779421696). Join me in enjoying the next generation information browser https://follow.is.