摘 要 对等网络(P2P)技术是一项新型网络应用技术。该文重点描述P2P网络的基本特征以及JXTA平台的体系结构和核心协议,并以书籍拍卖系统为例说明如何在JXTA平台上实现P2P服务。 关键词 对等网络 P2P技术 JXTA 技术
1 前言 对等网络(P2P)技术是目前国际计算机网络技术领域研究的一个热点,被《财富》杂志誉为将改变互联网未来的四大新技术之一。所谓P2P,它是一种网络模型,又称对等网或点对点技术。简而言之,P2P技术就是各个点之间直接进行资源和服务的共享,而不像传统的客户端/服务器结构那样需要服务器的介入。在P2P网络中,每个节点都是对等的,同时充当服务器和客户端的角色。当需要其它点的资源时,两个点直接建立联系,本地点是客户端;而为其它点提供资源需求时,本机又成为了服务器。从某种意义上讲,P2P体现了Internet的本质,它使因特网的存储模式将由现在的“内容位于中心”模式转变为“内容位于边缘”模式。 JXTA是SUN公司推出的一个P2P应用开发的网络计算平台。JXTA不是一个应用程序,而是一个具有一组支持P2P应用程序标准的框架,这个框架包含一套协议,为P2P应用提供服务与基础,这些协议被设计成独立于编程语言、系统平台和网络平台。
2 P2P网络的基本概念与分类 P2P技术主要指由硬件形成网络连接后的信息控制技术,主要代表形式是在应用层上基于P2P网络协议的客户端软件。IBM为P2P下了如下定义:P2P系统由若干互联协作的计算机构成,且至少具有如下特征之一:系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益;系统中成员同时扮演服务器与客户端的角色;系统应用的用户能够意识到彼此的存在,构成一个虚拟或实际的群体。P2P网络是互联网整体架构的基础,互联网最基本的TCP/IP协议并没有客户端和服务器的概念,在通讯过程中,所有的设备都是平等的一端。 关于P2P网络的分类,目前还没有一个标准的说法,根据目前P2P的发展,可将P2P 网络划分为纯分布式 P2P 网络和混合式 P2P网络两大类 : 2.1 纯分布式P2P 网络
 纯分布式P2P网络中没有服务器,链状的节点之间构成一个分布式网络,见图 1。通过基于对等网协议的客户端软件搜索网络中存在的对等节点,节点之间不必通过服务器,可直接建立连接。这种 P2P 网络模型优点在于允许用户设定自己的规则和建立自己的网络环境。存在的问题:由于没有中心管理者,网络节点难以发现;不易管理且安全性较差。此种类型的P2P网络如:Gnutella、Freenet等。 2.2 混合式 P2P 网络 混合式 P2P 网络中各节点之间可以直接建立连接,但网络的构建需要服务器,通过集中认证,建立索引机制,见图 2。然而这里的服务器仅用于辅助对等节点之间建立连接,一旦连接成功,服务器不再起作用,对等节点之间直接进行通信。这不同于C/S模式中的服务器,也可以认为是弱化了服务器的作用。这种 P2P 网络模型和纯分散式 P2P 网络相比,易于发现网络节点、易于管理且安全性较好,但也有类似C/S模式的缺陷,如容错性差等。目前 P2P 技术的应用大多为这种模式,较为典型的如: Napster等。 但是无论是在哪一种模型中,服务器都是客观存在的,纯P2P应用也只是让客户端承担了一部分服务器的功能而已。

3 JXTA技术 JXTA体系结构可分为三层,如图3所示。

1 )JXTA核心层(JXTA Core): 该层提供了服务所需的核心功能,嵌入了P2P网络中最基本和必需的操作原语。 2 )JXTA服务层(JXTA Services): 该层扩展了核心层的能力,提供了对于P2P网络不是必需但很常用的一些功能。 3 )JXTA应用层(JXTA Application): 该层包括可运行于P2P网络中的综合性应用程序。 JXTA Shell跨越于服务层和应用层之间,它使开发者和用户可以使用JXTA技术原型应用和控制对等网络环境。 抽象地看,JXTA技术实际上就是一些协议,目前主要定义了以下协议: 1)对等点成员资格协议(Peer Membership Protocol): 该协议允许对等点得到组成员资格的请求和应用证书、请求成员资格和得到成员资格证书、更新现有的成员资格和应用证书、取消成员资格和应用证书。 2)对等点信息协议(Peer Information Protocol): 该协议用于使对等点获得其他对等点的能力与状态情况。 3)管道绑定协议(Pipe Binding Protocol): 该协议允许对等点之间建立通信管道。 4)对等点发现协议(Peer Discovery Protocol): 该协议用来查找其它对等点的广告,通过该协议可以查找所有的对等点、对等组或核心广告。 5)对等点解析协议(Peer Resolver Protocol): 该协议使对等点通过发送、接收查询的方式来查找相关服务的信息。 6)端点路由协议(Peer Endpoint Protocol): 该协议被对等点路由器用来发送消息给另一个路由器,以找出一个消息到达目的地的路由。
4 实例 有很多P2P平台,如Napster、Freenet等等,JXTA之所以成为P2P应用平台的首选,是因为它不是用于解决特定的问题,而是为了让更多的应用程序成为可能。JXTA屏蔽了网络底层的技术细节,使软件开发人员可以集中精力在高层应用上而不需要花太多时间去处理网络底层的技术问题,同时强大的JXTA开发平台,使软件开发人员可以方便地设计开发出各种功能强大的P2P网络应用程序。 下面以书店书籍的网上拍卖系统为例,介绍如何利用JXTA平台来实现P2P服务。 其体系结构如图4所示。

图4 书籍拍卖系统结构 在该体系中,有如下实体: (1)对等组:由所有参加拍卖的对等体组成。所有对等体必须加入该对等组,以书店书商或图书馆购书者的身份参加拍卖。 (2)书店:提供售书服务。他们创建或加入Peer Group(对等组),为他们的售书服务做广告,然后收到竞标。书店对满意的竞标进行响应。 (3) 图书馆:加入对等组,以便发现书店。然后发布购书请求,并等待一个或多个书店竞标。他们通常将会根据一些标准(书籍种类、价格)来选择书店。 系统过程如下: 书店创建或加入一个对等组,并广播自己的基本信息通告,图书馆加入对等组,并向对等组中的售书者选择性广播自己的需求通告,书店对该通告响应自己的出价消息,购书者选择书店发送确认通告,拍卖竞标过程完成。 该拍卖系统有2个组成部分:一个用户接口(前端)和一个JXTA集成(后台)。用户接口用于显示对等体和对等组的信息,而对对等体和对等组信息的更新则通过JXTA的后台实现。 应用程序主要由5个类组成:主类P2PBoard类、负责售书行为的bookstore类、负责购书行为library类、负责数字签名的PeerDiscovery类和负责对等组发现行为的GroupDiscovery类。
5 结束语 P2P技术作为当前研究的热点,已经在文件交换、对等计算、协同工作、搜索引擎等诸多方面得到了广泛和深入地研究,并取得了一定的成果,体现出巨大的商业和技术上的发展潜力。而JXTA作为专为P2P网络构建的平台和协议,为开发P2P上层应用程序提供了统一的、简单的、便利的、通用的底层平台,具有很强的独立性和可扩展性,它必将促进P2P应用更快地发展。
参考文献: 1 Geoffrey F. Peer-to-peer networks. Web Computing, 2001,3 (3):75-77 2 Ben D.1he rower of P2P. Multimedia at Work, 2001,8(2):100-103 3 Project JXTA:A Technology Review.http: www.jxta.org/project/www/ docs/TechOverview.pdf 4 Li Gong.Get connected with Jxta[C].In: Sun Microsystems JavaOne conference, 2001-06 5 陈宇.基于P2P系统的Jxta技术探析[J].计算机工程,2s卷第十期,2002.10. 6 Project JXTA Virtual Network. Bernard Traversat et al..Sun Microsystems, 2003
|