摘 要
Peer to Peer(P2P)网络被喻为第三代网络,采用的是点对点分散式网络架,它不需要服务器的中转,使用户与用户之间的连接更加方便、直接,其核心思想是把应用从中央服务器向网络边缘的终端设备扩散,充分利用闲散的边缘资源,减轻主干网络和的关键点的负荷,与现有的应用模式形成互补之势。无论采取什么样的实现形式,P2P都会使网络行为提高到一个层次,是人们以更加主动的方式参与到网络中去。P2P在搜索、分布式计算、协同工作等方面将有大用途, 所以加强对该技术的研究已成为当务之急。
JXTA(Juxtapose的简称) 是一个开放源代码工程,它是 Sun 公司为了构建跨平台、跨操作系统和跨编程语言的 P2P 应用而设计的网络开发平台,它定义了一整套P2P基础协议,整合了P2P 应用及其标准化服务,并且具备良好的可扩展性,有望成为P2P网络应用开发的通用平台。
本文是基于目前理论架构相对比较完整的P2P平台技术JXTA,研究并实现了在该平台下进行节点之间的通信,文中首先介绍了P2P相关知识,并对JXTA平台做了深入的研究,介绍了JXTA的架构、核心概念、协议,然后对基于JXTA的P2P通信的设计和实现作了描述,并给出了关键部分的实现方法。
关键词 : P2P,JXTA,通信机制
ABSTRACT
Peer to Peer (P2P), which is considered as the third generation of network, uses point-to-point network construction. Since it does not need the transfer of servers, it makes the communication between PC and PC easy and efficient. P2P network technology holds the main idea that takes the application to diffuse from centrality to edge of network. The main purposes are: make user of “idleness” resource in edge network; lighten the load in backbone network; cooperate with today application model of network. No matter what the implementation type, P2P can upgrade the action level of network and make people initiatively take part in using network.
P2P will be a potential technology in search、distribute-computing and Cooperate-computing and so on ,so that paying more attention to P2P technique has been an urgent matter.
JXTA is short for Juxtapose, as in side by side. It is a open source project,In order to achieve the P2P application across the platform, operation system, and program language, Sun designs it. This project provides whole general base protocols of P2P, which try to aggregate all kinds of P2P using models and standardize the P2P Services. JXTA platform has expansibility and maybe become a uniform platform for P2P application.
This paper based on JXTA platform whose theories structure is fairly integrity, studies and implement communication between peers. The organization of this paper is as follows. At beginning, we introduce the knowledge of P2P. Next, JXTA platform is discussed in details, including JXTA architecture, core conceptions, and protocols. At last, the paper describes how to design and implement communication of P2P. Mean a while some key parts are studied deeply.
KEY WORDS:P2P, JXTA, Communication Mechanism
前 言
1、研究背景
对等网络(P2P)技术是目前国际计算机网络技术领域研究的一个热点,被《财富》杂志誉为将改变Internet未来的四大新技术之一。所谓P2P,它是一种网络模型,又称对等网或点对点技术。简而言之,P2P技术就是各个点之间直接进行资源和服务的共享,而不像传统的客户端/服务器结构那样需要服务器的介入,使用户与用户之间的连接更加方便、直接。但是随着P2P技术应用日益增多,关于P2P技术的研究相对来说十分缺乏,因此加强对该技术的研究已成为
当务之急。本文就是在这个背景下进行研究的。
为了加快P2P应用程序的开发,开发者们迫切的需要一个与语言无关、有统一规范、具有良好鲁棒性的开发平台,Sun 公司的 Bill Joy认识到了这一点,从而引发了Project JXTA的诞生。
JXTA是 Sun 公司为了构建跨平台、跨操作系统和跨编程语言的P2P应用而设计的网络开发平台,它定义了一组P2P底层通信协议,使简单、方便地构造P2P应用成为可能。同时JXTA是一个开放源代码工程,并且具备良好的可扩展性,有望成为P2P网络应用开发的通用平台。
JXTA的核心是六个协议,目前JXTA首先推出了基于Java的参考实现,提供了支持六个协议的Java API,这极大方便了P2P应用程序的开发,本文就是基于目前理论架构相对比较完整JXTA技术,研究并实现了Peer之间的通信。
2、研究意义
信息(Information)、带宽(Bandwidth)、计算能力(Computing resource)是Internet的三大基础资源。但是当前,这些资源并没有被充分利用,部分原因是大多数Internet服务采用C/S模式。
在信息方面,信息量在不断地膨胀,但是没有一个搜索引擎能及时地找到或者分类这些信息,而且很多信息是短暂的,现有搜索技术搜索到的信息有限。带宽方面,由于采用C/S模式,信息都集中在服务端,导致拥挤的更拥挤,空闲的更加空闲,带宽利用不足。处理器速度越来越快,储存设备容量越来越大,使得网络终端的处理能力相当强大,但是计算还是集中在数据中心,这样使中心的负载几乎达到极限,而其余终端的计算能力却大量闲置。
P2P的分布式结构则是为了有效负载均衡,充分利用带宽并挖掘计算机空闲得计算能力。P2P技术将实现Internet的大部分潜力,将Internet转变成一个动态的、颗粒状网络,在这样一个网络中,特定的信息组建可被有效的放置和分享,网络与计算机将不再有什么差别了。真正实现“网络就是计算机,计算机就是网络”的梦想。
因此,对于P2P技术的研究显得十分重要,而节点之间通信的实现是研究P2P应用程序的基础,是研究P2P的第一步,是P2P技术殿堂的基石。通过对通信机制的研究,可以进一步为实现P2P网络监控提供决策支持服务,如果一种灵活,方便的通信机制能够研究成功,那必将减轻P2P网络运行和监控的负担,从而促进P2P网络快速的发展。以上就是本文研究的意义所在。