`

JXTA的概念(二)

阅读更多

Message(消息)

JXTA中,有两种方式来处理消息。一种是使用XML格式,数据都遵循XML标准被包装到消息里;另外一种是使用二进制格式。尽管希望对所有的JXTA消息都使用XML格式,可是由于大量的消息需要传送,使用XML格式的消息会导致效率较低,而且由于消息通常是在程序之间传送宾,所以可以规范的消息内容使用二进制的格式;对于其他的仍然采用XML格式。在一个XML协议中使用二进制消息看起来似乎不太合理,但事实上使用二进制消息,除了可以得到紧凑的格式之外还有其他优点。首先数据可以使用一些标准技术进行压缩,对广西等数据的压缩可以节省大量的传输时间;另外,许多消息本身就是二进制的格式;还有一个问题就是加密,为了加密可以把数据转化成为二进制,然后直接使用二进制的消息来传输。

Rendezvous Peer(集合点)

一个集合点首先是一个Peer,而且是一个能够处理其他Peer请示的Peer。集合点也可以将请求委托给其他Peer,当然那些Peer也必须是集合点。使用集合点的一个主要目的就是为了方便在本地网络之外搜索广告。集合点通常拥有更多资源,并且可以存储大量的有关它周围Peer的信息。

集合点也可以作为搜索的传递者。集合点可以转发发现请求到其他的集合点(原集合点通过与其他Peer的广告交互而得到了被转发集合点的信息)。每一个集合点如果本身没有被请示的信息它都转发该请求。

2.3说明了一个典型搜索过程。远程搜索从Peer1开始,它首先通过IP多播(IP Multicast)询问本地Peer2Peer3Peer2Peer3很可能和Peer1处于同一个局域网内,所以很快收到了搜索请示。接下来,如果Peer2Peer3没有所搜索的特定资源,搜索将通过集合点进行。Peer1会向它的集合点Peer发出搜索请求,如果该集合点Peer也没有所需的广告信息,该集合点Peer会向它所知道的集合点Peer发出搜索请求。需要注意的是,除了和提出查询请求的Peer处于同一局域网内的Peer收到查询请求外,在局域网外只有集合点都会收到查询请求。

2.3 通过集合点进行Peer搜索的过程

 

IP多播(IP Multicast)是一个一到多的消息传输协议。IP多播用来发送数据的副本到一组地址。在P2P应用程序中,IP多播有两个好处。首先,因为多播使用一个组地址而不是使用IP地址,一个Peer可以在不知道接收者地址的情况下发送消息。这样做的结果是在多播网络中的所有Peer都可以响应发出请求的Peer,将有关查询的结果信息、甚至是自己的IP地址(用于与请求Peer直接通信)发送回去。

IP多播的第二好处是养活使用带宽。因为所有的Peer都可以看到一个单一的消息,没有必要向每一个Peer发送消息一个副本。当发送大量的数据到一组Peer时,这一点是非常重要的。

使用多播的一个缺点是一些防火墙和路由器会阻塞多播的消息。在因特网提供商之间通过因特网主干网可以支持多播消息,不过这种服务是需要额外付钱的。还存在其他IP多播的障碍,比如个人防火墙、子网络路由器。这就是为什么JXTA不是仅仅支持IP多播的原因。

一般情况下,只要在防火墙后能够支持多播对于大多数的P2P网络就足够了。你可以这样来利用本地的多播,先将消息发送到每一个网络的某一个特定的Peer上,然后该Peer又通过本地的多播将消息发送给本地的Peer

只有集合点允许进行超出局域网的搜索。一个Peer可以选择成为一个集合点,但这不是必须的。作为集合点好的一面是集合点可以缓存的形式保留从其他集合点得到的查询结果 的副本;不好的一面是,该Peer将占用很多的内存和带宽。由于请求数量可能很多并且大量的广告数据会消耗很多的计算机资源,在这种情况下我们可以选择将计算机作为专用的集合点。集合点同时可以作为企业内部网的网关和路由器,其效果和使用传统的路由器是一致的。在每一个子网内也需要使用一个集合点。

是否选择使用专用的集合点Peer取决于安全性的要求和使用的P2P应用的范围。P2P网络的拓扑结构需要通过多个的例子来进行测试并且需要定期监控。特别要注意是:当P2P网络的服务在大量Peer上存有副本时,P2P网络的效率更高。有些时候并不是额外的集合点就可以提高网络效率。

当一个Peer在搜索广告时或者是其他服务使用集合点机制来路由消息时,集合点才被使用,因此一个Peer对集合点的需要不是持续的。为了能够更好地发挥作用,一个连接到因特网的集合点最好尽可能地暴露给网络 上的多个Peer。在防火墙内把所有的Peer都配置为集合点不一定能够发挥很大作用。

Router Peer(路由Peer

JXTA中的一个路由Peer是一个支持Peer端点协议的Peer。不是所有的Peer都需要实现该协议,因为和传统的网络路由器一样,我们只需要少数几个路由器去支持一个大网络。JXTA路由器和传统的路由器非常想像。最主要的区别是P2P不是非常固定并且包括了很多非静态地址。

Gateway Peer(网关Peer

JXTA中的一个网关Peer是一个作为通信中继的Peer。网关Peer和集合点的不同之处在于,网关是用来在Peer间传递消息,而集合点是用来传递请求的。

网关Peer就像是无线电转发器的存在,网关对网络的连通具有决定性的作用。网关可以存储消息,并且等待希望得到这些消息的接收者来收集它们。

网关的存在是因为因特网非常混乱。混乱的原因是有各种各样的用于防止Peer间通过公用访问方法通信的安全保障和障碍物,另一个原因是各个Peer所支持的协议是不同的,一些Peer可能使用TCP,另一些可能使用HTTP。在无线情况下,我们需要使用无线应用协议(WAP)。网关尽可能多地支持这些协议,因此它可以作为不同类型协议间的中介。JXTA目前支持TCPHTTP,不过对其他协议的支持正在开发中。

在因特网上网关是与大多数安全机制交互的关键。防火墙、代理服务器和NAT设备是主要的安全屏障。图2.4说明网关Peer2是怎样作为Peer1Peer3之间的交互接口的。网关将从Peer1来的TCP消息转换成HTTP消息传递给Peer3.当消息从Peer1发出时,是通过TCP发往网关Peer2,网关Peer2,网关Peer2存储了这个消息,直到Peer3向它发出获得消息的HTTP请求。

 

 

 

 

分享到:
评论
1 楼 star22 2011-02-25  
求教牙哥,我正在用JXTA做一个协同的编辑器,在同一个局域网内有一个对等组,有新用户加入的时候偶尔会出现该用户找不到对等组的情况,不知道能否请牙哥赐教?另外,如果我想扩展到不同局域网的对等点也能互相连接,我应该怎么处理呢?

相关推荐

    JXTA经典JXTA经典

    JXTA目前的版本已经是2.5了,同以前的2.0、2.1之类的差别非常大,因此网络上2002年以前的文章,除了是阐述JXTA技术的概念类的文章可以学习外,具体开发类的就没有多大价值。 现将2.0版本和2.5版本同时上传,供大家...

    JXTA-JavaP2P网络编程技术

    资源名称:JXTA-Java P2P网络编程技术内容简介:JXTA是美国Sun公司在...本书较详细地介绍了JXTA技术的基本概念、P2P技术的来龙去脉以及因特网的发展情况,阐 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    JXTA-P2P.rar_jxta p2p_p2p jxta_p2p java_p2p jxta

    通过之前将近一个月对于JXTA技术的研究,终于大致了解了P2P网络JXTA技术的...其实,关于概念和该技术的介绍,也可以找到一些资料,在此我就不再介绍,我直接通过代码来描述一个P2P网络在JXTA技术下用JAVA语言实现的过程

    JXTA技术手册/奥克斯(Oaks,s.),切 中文 高清版

     本书深入地阐述了P2P网络的概念和JXTA模型,介绍了JXTAShell应用程序、对等体、管道和发现服务,讨论了JXTA应用程序最重要的安全性问题,提供了大量可立即使用的高效JXTA应用程序示例和所有的JXTAAPI类的快速参考及...

    基于JXTA的P2P实例的研究与实现

    对JXTA做了比较深入的研究,介绍JXTA的概念、协议、框架,描述JXTA平台拍卖系统的设计和实现,最后对拍卖模型等关键部分进行设计分析。

    利用JXTA平台实现P2P服务的研究 (2005年)

    P2P是一项目前十分热门的网络技术,它在分布式计算和资源共享等...首先介绍了P2P网络的概念及其特性、JXTA平台的层次结构;阐述了JXTA主要功能的实现方法,并以餐馆拍卖系统为示例说明如何在JXTA平台上实现P2P服务。

    基于P2P的实时流媒体系统设计

    2.对基于JXTA的P2P网络开发包Jxse-LIB进行详细的研究,比较全面的分析和掌握基于JXTA进行P2P相关应用的系统开发技术。 3.设计和实现一个基于P2P技术的文件传输系统。 4.在此基础上探讨系统对流媒体传输的扩展思路。

    P2P网络技术原理与C++开发案例 源代码和第五章电子书 Peercast(王浩聪注释版)

    6.2.3 JXTA的基本概念 163 6.2.4 JXTA的网络架构 166 6.2.5 JXTA开发环境 171 6.3 本章总结 175 6.4 练习题 175 第7章 P2P文件共享系统开发实例一——eMule的设计与实现 176 7.1 eMule系统概述 176 ...

    P2P网络技术原理与系统开发案例

    基础理论部分介绍P2P网络的基本概念、网络结构、主流P2P应用系统架构,使读者掌握P2P相关基础理论。P2P技术关键问题部分论述了网络穿越、安全通信等P2P网络设计的关键问题,为后续的开发过程扫除障碍。系统设计与...

    从Java走向Java+EE+.rar

    5.1 Servlet的概念和生命周期 65 5.2 如何编写Servlet 67 5.3 使用Eclipse和Tomcat开发Servlet实例——输出字符串响应 72 5.4 小结 77 第6章 JSP——前后台更好地分离 79 6.1 JSP的概念 79 6.2 JSP页面...

    编程新手真言......

    Desktop,web,internet,云计算不过WEB的集中化这种说法的偷换概念 246 编程设计与经济 246 晕计算 247 在形式主义与直觉主义之间:数学与后现代思想的根源 248 Scheme 程序语言介绍之一 248 与软工有关的哲学 辩证 ...

    网络NC

    分布式服务器技术是在现在网络结构模式下最具有前景的技术,最近基本上所有的比较流行的P2P软件都或多或少的采用了这种结构,如EDONGKEY,JXTA等,只是叫法上有所不同而已! 这种技术有很多好处,比较明显和重要的...

Global site tag (gtag.js) - Google Analytics