
?????????????????????????????????????????????????????????????? ??????图1 JXTA的层次结构
各层的说明如下所示:
三)JXTA有关概念
?? 在JXTA网络中,有一些概念是需要熟悉和理解的,它们是从JXTA协议中提出的一系列的专有名词。
????1、Peer(对等机)
?? Peer是一个虚拟的通信点。在一台计算机或者设备上可以有很多个Peer,一个Peer并不是一个用户,因为一个用户可以有多个Peer,同一个设备上也可以有多个Peer(在测试的时候经常用到)。因为Peer不等同于用户,所以需要将用户和Peer抽象出来并分离开。
?? Peer与特定的网络服务联系得很紧,在JXTA的参考实现中,Peer可以使用网络提供的基本服务,例如rendezvous(集合点服务),router(路由服务),gateway(网关服务)等,这些基本服务又可以提供搜索和通信服务,一般来说,并不是所有的Peer都使用这些服务,它们只使用这些服务的一部分。
?? 2、PeerGroup(对等组)
?? 对等组是一种组织Peer并且发布组内的特定服务的方式。对等组可以被创建、加入和退出,在一个组里还可以更新一个组成员的关系,由于一些原因,对等组需要对成员关系进行一些限制,例如为了通信的安全、隐私的考虑等。这里使用一种协议来认证,它专门收集信息并判断其是否符合成员关系的要求。

??对等组为应用程序提供了一种环境,例如对某个话题感兴趣的Peer可以组成一个组,并且在组内使用一个聊天服务来讨论。这样,聊天的信息就会限制在那些加入到这个组内的成员之间。并且,对于想加入到这个组的Peer,可以使用成员ID来进行认证;没有这个ID的Peer不能够加人到组内,也就不能够使用组内的聊天服务,也可以把对等组看成一个虚拟的私人网络VPN,一个VPN只允许几个计算机之间互相交流,而不允许因特网上其他的成员加入,由于VPN使用了加密的方式,对于者他们不能够理解组内的谈话,对等组也可以限制Peer的加入,同样也可以对谈话消息加密。
?? 3、Endpoint(端点)
??在JXTA应用中,端点是最基本的通信方法。一个端点就是实现了特定通信协议的Peer的地址。一个Peer可以有多个端点,这样可以通过不同的协议来与其他Peer通信。
??端点不一定要是物理地址,端点可以允许物理地址发生变化。端点的一个简单例子 就是一个IP地址加上一个端口。通过使用这些值,可以打开一个流并且与目标Peer通信。然而,JXTA在流的基础之上又放置了一层,称之为Pipe(管道)。这样,不是将一个流连接到一个地址,而是把一个管道连接到端点上。端点和管道的好处在于,不用去关心Peer所使用的真正的地址和协议是什么。使用抽象出来的端点和管道,可以为创建P2P应用提供强大的功能并降低复杂性。由于管道使用通信协议来连接,端点描述了协议和连接的所需要的信息。因此端点可以描述HTTP、TCP、BEEP以及其他可以支持的通信协议。
??一个Peer可以支持一个或者多个端点。通过使用多种协议,Peer可以提供更有效率的方法。也就是说,如果两个Peer都在防火墙的后面,可以直接通过它们的TCP端点来通信;如果两个Peer要穿过防火墙去通信,则需要使用HTTP的端点。linux是最好的操作系统
??4、Pipe(管道)
??管道是Peer之间的虚拟通道,通常,我们认为对等通信是单个的通信连接,但是也并不是总是这样的,因为防火墙和其他障碍的存在,许多Peer并不能直接连接,这时,管道更像一个在多种通信协议之上的虚拟层,可以通过起网关作用的Peer对通信提供中继支持。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-72974-3.html
小问题不断