JXTA 简介

Jxta协议

 

由于需要实现关于p2p网络的应用,所以开始了学习JXTA的旅程。最近查看了JXTA的一些文档,使用了JXTA的demo 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协议栈

 

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功能,这些节点包括phones,pcs

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

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

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

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

 

解释:

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

Relay穿透例子

 

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

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

 

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

 

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值