!-- frame contents -- !-- /frame contents -- 1、Peer知道其他Peer的存在。
2、Peer在一个虚拟的网络中运行。
3、Peer同时具有Client和Server的特点。
4、多个Peer可以组成为一个Peer组。
从因特网的发展来看,目前已经完全有可能开发新的P2P应用程序来补充和取代现有的集中式应用程序,文件共享程序和聊天程序的成功已经吸引了许多程序员加入P2P程序的开发。而且随着技术的发展,P2P所面临的安全、控制和网络使用的问题将逐步解决。P2P系统可以提供如下功能:
1、Peer的独立控制能力----用户将变得非常强大,可以创建自己的组和虚拟网络,而且可以非常轻易地发布自己的资源。
2、可靠性----P2P系统是任何人都可以获得的可靠系统。
3、扩展性----P2P系统的用户数量可以急剧膨胀,可以与最大的集中式系统媲美。
4、性能----各种资源之间可以协同工作来有效地解决问题。
P2P是一种基于互联网环境的新的应用型技术,主要为软件技术,P2P网络应用发展可能要涉及到4个方面要害技术:
1) 对于互联网上众多计算机,P2P应用比其他应用要更多考虑那些低端PC的互联,它们不具备服务器那样强的联网能力,同时对于以往的P2P应用技术,现在的硬件环境已经更为复杂,这样在通信基础方面,P2P必须提供在现有硬件逻辑和底层通信协议上的端到端定位(寻址)和握手技术,建立稳定的连接。涉及的技术有IP地址解析、NAT路由及防火墙。
2) 在应用层面上,假如两个Peer分别代表两家不同的公司,而且它们已经通过互联网建立连接,那么一方的信息就必须为另一方所识别,所以当前互联网上关于数据描述和交换的协议,如XML、SOAP、UDDI等都是一个完善的P2P软件所要考虑的。
3) 有通信就要有安全保障,加密技术是必须要考虑的。
4) 其他需考虑的有如何设置中心服务器,如何控制网络规模等。
与P2P相关技术,有许多其他的技术被称做P2P,或者与P2P相关,或者可以被当作P2P使用,主要是以下几方面内容:
1、JINI技术;
2、软件代理(Agent)技术;
3、JXTA的竞争者(Gnutella和Freenet等);
4、Web Services技术。
JXTA设计目标及层次结构
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/) 一、 JXTA设计目标
首先,JXTA是为了构建P2P网络而制订的一组协议,是处理构建P2P网络所碰到的问题的解决方法,JXTA标准协议规范介绍如下:
!-- frame contents -- !-- /frame contents -- “JXTA由六个协议组成,这些协议是专为特定的、分布式的、对等的网络计算而设计的。使用这些协议,Peer可以互相合作来建立自我组织、自我治理的对等组,而不必关心它们在网络中所处的位置(在网络边缘或者防火墙的后面),并且也不需要集中的治理机构。”
因此JXTA的核心是六个协议,其次,JXTA是P2P应用程序开发的运行平台;目前JXTA首先推出了基于Java的参考实现,提供了支持六个协议的Java API,JXTA还将推出包括C语言在内的其他编程语言的API,JXTA在设计时有如下几个目标:
1、操作系统无关
2、语言无关
3、为P2P应用提供服务和基础
从本质上讲,JXTA的目标是希望在任何设备,从台式机到PDA、汽车、洗衣机等设备都可以支持P2P编程。这里有几个概念上的目标,它们包括:
1、使用组来组织Peer并且在组内提供服务和应用的环境。
2、组可以使用认证和验证方式来控制组内的访问权限。
3、通过网络来发布关于Peer和网络资源的信息。
4、通过系统来发布各种请求。
5、提供一个基础平台,供Peer之间做路由和通信。在防火墙或者其他障碍后面的Peer之间的通信也是这个目标中很要害的一部分。