基于JXTA的P2P即时通信系统设计

技术分类: 通信  | 2006-11-03
来源:微计算机信息 | 符巍 郑雪峰

  一、 引言

  最近几年,对等式网络模型P2P开始受到重视,成为最近的技术热点。P2P即Peer to Peer,称为对等连接或对等网络,它与传统的客户端/服务器(C/S)或浏览器/服务器(B/S)模式相比,最大的不同是降低了对服务器的依赖,在P2P网络中各Peer之间的关系是对等的,Peer同时具有Client和Server的特点。它们可以直接通信,进行文件传输,无需依赖集中式服务器或资源就可完成。

  P2P技术将在网络尤其是宽带网络方面具备强大的应用潜力,2002 legend world大会上中科院计算机所的李国杰所长对P2P技术与网格技术的融和做出了非常有远见的预测,国外P2P网络流量占据了整个网络流量的40%,国外P2P网络注册用户超过3亿以上这些都是有力的证据,从试验科学的角度来看,P2P技术是因为解决了互联网模型中的弱链接模块的信息传递这个障碍,使得互联网的信息流动更加通畅才使他具备了这样强大的生命力和应用前景。

  目前,P2P 技术的应用主要是在文件共享和即时通讯方面这两个方面。所谓即时通讯,其实指的就是诸如OICQ、ICQ等被称为在线聊天的软件。从某种意义上说,由于版

权的限制,即时通讯应用将超过文件共享应用,成为P2P的第一大应用。我基于JXTA(JXTA将在第二节作详细介绍)设计了一个简单的P2P 即时通信系统,它可以实现互联网上任意两台主机之间的直接连接,不仅可以随时知晓对方在线与否,而且交流双方的通讯完全是点对点进行,不依赖服务器的性能和网络带宽,它为开发更多的P2P应用提供了基础。由于Java为网络编程提供了很好的支持和优化,并且是跨平台的,可移植性好,因此,我们选用Java作为开发语言。

  二、   JXTA简介

  由于P2P应用软件的前景看好,各大软件公司都在竞相开发P2P的软件开发产品,Sun的JXTA就是其中的一个。使用JXTA开发技术,软件开发人员可以开发出基于Java语言的P2P的应用软件。JXTA技术是一组开发式的协议,它们能够连接网络中的任何设备,从手提电话、无线PDA到台式电脑,让它们协同工作、共享资源。JXTA网络里面的全部结点共同组成了一个虚拟网络,里面的任何一个结点都能直接访问其他的结点,即使那些结点是位于防火墙的背后。

  1、  使用JXTA技术来开发分布式计算软件,可以实现以下功能:

  (1) 能够直接跟防火墙之后的其他结点连接;

  (2) 简易的共享文档资料;

  (3) 得到网络上包含的信息的简要目录;

  (4) 建立结点群组来提供定制的服务;

  可以在远端监视某个结点的行为。

  2、  JXTA的软件结构分为以下三层(如图1所示)

  (1)核心层(JXTA Core):它包含了服务所需要的核心功能,这一层封装了最根本的东西,包括Peer、对等组、Peer发现、Peer通信、Peer监视和相关的安全原语。

  (2)服务层(JXTA Service):它提供了访问JXTA协议的接口,这一层包括了对于P2P网络不是必需的、但很通用的功能,如查找、共享、索引、代码缓存和内容缓存的机制。

  (3)应用层(JXTA Application):它使用服务来访问JXTA网络和JXTA提供的功能。这一层包括了应用JXTA服务卡发出来的完整的P2P应用程序,例如myJXTA ,JXTA-CAD等应用程序。

                JXTA的层次结构

  
                                                            图1 JXTA的层次结构

  

0
0
(请您对文章做出评价)
1】【2】【3】【4
加载中

对文章的评论

更多评论

剩余字数:  

相关在线研讨会

我要参加

同Keithley大师一起实践MIMO射频测试

时间:2009-01-08  14:00:00--16:00:00
简介:在本次研讨会中,我们将详细介绍Keithley MIMO测试平台,并以IEEE 802.11n,IEEE 802.16e为具体实例,为您展示Signal Meister和Keithley MIMO… 马上参会

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

  • 博客推荐

  • 论坛推荐

  • 在线研讨会