JXTA 简介

Jxta协议

 

由于需要实现关于p2p网络的应用,所以开始了学习JXTA的旅程。最近查看了JXTA的一些文档,使用了JXTAdemo Application和写了一些JXTA的小程序,对这个技术有了一定了解,因此在blog设了一个JXTA技术的板块,来开始记录我学习JXTA的过程,如果有网友也在学习,希望可以得到更多的指导!

 

第一篇是关于JXTA的简介以及我刚开始对一些模糊概念的理解,比较零散)

 

JXTA技术简介(参考JXSE_ProgGuide_V2.5

 

JXTA目的是使网络中的各种设备(传感器,手机,pda,笔记本等)相互连接通信,JXTA是一种协议,而不是一种语言!因此JXTA是不依赖于具体平台的,但是当前的JXTA协议

是在java开发的,好像有(j2me版本)

 

JXTA协议标准化了关于peers的几种行为:

1)互相发现

2)自组织peer

3)广告以及发现资源(在JXTA网络中,资源包括了很多含义:peers,管道,groups等)

4)相互通信

5)检测对方

 

利用JXTA,可以容易实现以下几个方面的互操作p2p程序

1)相互发现peers,不管peers是在防火墙还是NATs

2)互相共享资源

3)查找内容

4)创建组(组是基于一定共同目的的集合)

5)远程操作peer

6)安全通信

 

 

Jxta协议栈

 

 JXTA 简介_第1张图片

 

JXTA core Service

封装基本的p2p网络功能,包括发现,互相通信(越过防火墙,NATs),创建组,建立安全通信

Services Layer

Applications Layer

 

JXTA peers可以分成3种基本类型

1 Minimal_Edge peers:仅仅提供基本的JXTAService,并且需要依赖于其他peers来参与到JXTA网络

2 Full_Edge peers:提供所有core service以及标准jxta功能,这些节点包括phonespcs

3 super peer(个人理解是用于为jxta通信服务,为了帮助穿越防火墙以及NATs

  1Relay用于帮助不能直接连接的peer来存储以及传输信息(例如防火墙,NATs

  2Rendezvous用于存储广告信息以及所以,帮助节点来响应查询广告信息,更重要的是该节点维护网络的拓扑结构,用于控制分发信息路径。

  3) proxy:帮助Minimal_Edge peers来接入jxta网络

 

解释:

Relay主要用于穿透防火墙,以及穿透NATs,穿透防火墙的一个例子如下:

JXTA 简介_第2张图片

 

A先通过HttP穿透防火墙与C相连,BC之间可以使用其他协议(TCP/IPHTTP等)

所以AB就可以通过这种方式相连,在JXTA中,应该是利用管道信息来保存这样一条传输路径,来屏蔽下层的具体相连方式。另外,如果网络中一个peerNat或防火墙内部,就必须设置一个Relay来相连,否则应该无法连接出去(暂时理解,待深入探讨),在JXTAshell中就可以看到有一个Advanced 选项来设置Relay

 

Rendezvous 用来存储广告信息以及维护拓扑结构,Rendezvous之间可以互相交互拓扑信息,存储广告信息的索引,是查询广告更加容易,一个注意的地方是:Rendezvous只是存储广告信息的索引,它不响应查询信息,如果收到查询信息,Rendezvous会查找索引,然后向目标机器发送信息,要求其直接回复查询信息。如果Rendezvous没有该索引,Rendezvous就会通过算法来查找索引。

 

待续,下一篇将介绍JXTA org上提供的Application JXTA Shell 以及MyJxta使用

个人觉得JXTA的两个应用刚开始还有点乱78糟的感觉,因为有些设置之类的,当用多几次,看些小程序,写些小程序感觉就比较容易理解了。

 

你可能感兴趣的:(网络,防火墙,service,application,存储,p2p)