




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)基于jxta协议的对等体发现与评价策略研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 j x t a 是一组开放的、一般化的点对点( p 2 p ) 协议,其允许任何 网络设备以对等体的形式相互地进行通讯和协作。随着互联网内容 和接入设备数目的不断增长,点对点计算变得越来越流行。这就迫 切需要一个公共的平台支持网络的这种发展,j x t a 正是提供了这样 一个平台。 本文首先简单介绍了p 2 p 对等网络以及基于p 2 p 对等网络的 j x t a 协议的核心内容和体系结构。通过j x t a 协议与传统的p 2 p 协 议的对比,进一步总结了j x t a 协议的特点。通过设计和实现一个 j x t a 即时通讯系统,并在该系统中添加发现对等体实验,实验了 j x t a 发现的不完全。 其次,文章在分析j x t a 资源发现协议,以及比较其他p 2 p 协议 资源发现的基础上,进一步研究了j x t a 发现的不完全。通过p 2 p s i m 下的模拟实验,对比分析了c h o r d 、t a p e s t r y 和j x t a 在资源发现 时的性能。 最后,文章在进一步分析j x t a 协议的基础上,针对j x t a 对超 节点性质对等体管理缺乏的问题,提出了一种汇聚对等体节点数目 管理的评价策略,使汇聚对等体数目在网络中由一个混乱的状态得 到控制,并在此基础上给出了改进的查询策略以及相关的协议修改。 用程序实现验证了评价策略的可行性,并分析了其对于网络性能的 影响。 关键词j x t a 协议,p 2 p 网络,汇聚对等体,s r d i a bs t r a c t j x t ai sas e to fo p e n ,g e n e r a l i z e dp e e r - t o p e e r ( p 2 p ) p r o t o c o l st h a t a l l o wa n yn e t w o r k e dd e v i c et oc o m m u n i c a t ea n dc o i l a b o r a t em u t u a l l y a sp e e r s a st h ew 曲c o n t i n u e st og r o wi nb o t hc o n t e n ta n dt h en u m b e r o fc o n n e c t e dd e v i c e s ,p e e r - t o - p e e rc o m p u t i n gi sb e c o m i n gi n c r e a s i n g l y p r e v a l e n t 胎u r g e n t l yn e e d a p u b l i cp l a t f o r m t o s u p p o r t t h i s d e v e l o p m e n to fn e t w o r k ,a n dj x t as u i t a b i l i t ys a t i s f i e st h i sw a n t t h i sa r t i c l ef i r s ts i m p l yi n t r o d u c e st h ep 2 pn e t w o r k ,t h ea b s t r a c t c o n c 印t sa n dc o r ep r o t o c o l so fj x t a t h r o u g hc o m p a r i n gw i t ht h e d i f f e r e n tv e r s i o no fj x t a ,w e o p e no u tt h en e w e s tf e a t u r e so f t a w r e d e s i g na n di m p l e m e n tap 2 pi n s t a n tm e s s e n g e rs e r v i c e sa n d a d da d i s c o v e r ye x p e r i m e n tt ot e s tu n f - f u l ld i s c o v e r yo fj x t a s e c o n d l y , w er e s e a r c h o nt h ej x t ad i s c o v e r y p r o t o c o l a n d c o m p a r ew i t ho t h e rp 2 pd i s c o v e r ym e c h a n i s m o nt h es i m u l a t i o ni n p 2 p s i m ,w ec o m p a r e dt h ep e r f o r m a n c eo fd i s c o v e r yi nc h o r d t a p e s t r y a n dj x t ae n v i r o n m e n t s f i n a l l y , w i t ha d v a n c e da n a l y z i n gi nj x t ap r o t o c o l s ,t h i sp a p e r a i m sa tt h ed e f i c i e n c yo fj x t a p r o t o c o l s a n du s e sa l le s t i m a t es t r a t e g y t om a n a g er e n d e z v o u sp e e r sb yc o n t r o l l i n gt h en u m b e r a n d t h e n ,w e a l s og a i naq u e r yp o l i c ya n dm o d i f y p a r t so fj x t ap r o t o c o l s u s i n gt h e p r o g r a m m i n gt ov a l i d a t et h es t r a t e g y , w ea l s oa n a l y z et h ei n f l u e n c e d p e r f o r m a n c eo fn e t w o r k s k e yw o r d sj x t a p r o t o c o l s ,p e e r - t o p e e rn e t w o r k ,r e n d e z v o u sp e e r s , s r d i j l 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名:4 圣查 学位论文版权使用授权书 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到中国学位论文全文数据库, 并通过网络向社会公众提供信息服务。 期:丛年月! 日 硕士学位论文第一章绪论 1 1 课题来源及背景 第一章绪论 j x t a 是针对p 2 p 计算的合作研究项目, j x t a 源于i u x t a p o s e ( 并列,并置) 。 它是出于这样的考虑:虽然客户端服务器和基于网络的计算在今天是很重要的 标准,但是对于面向多种应用的p 2 p 计算标准也有很迫切的需求。j x t a 平台 架构是一种虚拟网络平台架构,其允许任何网络设备以对等体的形式相互地进 行通讯和协作1 1 , 2 】。j x t a 由s u n 公司在2 0 0 1 年提出,2 0 0 7 年l o 月发布了最新 的t aj a v a t ms t a n d a r de d i t i o nv 2 5 :p r o g r a m m e r sg u i d e l 2 。,以及重新修订了 j x t a 协议规范j x t av 2 0p r o t o c o l ss p e c i f i c a t i o n p j ,j x t a 协议正在不断的发展 和完善。本课题来源于国家自然科学基金资助项目( 6 0 5 7 3 1 2 7 ) 。课题名称:基 于p 2 p 思想的网格计算资源动态管理与任务调度研究。本文以j x t a 核心协议 为基础,尝试分析其协议的构成以及合理性,并对其中所存在的问题予以分析、 研究和改进。 客户端, i l l 务器模式下,在某一时刻大多数的客户端都不是处于满负荷的状 态,有时甚至处于空载的状态,另外客户端的本地存储器也有大量的存储空间 处于闲置状态。p 2 p 技术的关键就是释放这部分潜力,使得个人计算机可以互 相之间提供服纠4 1 。p 2 p 中文称为对等网络,是指分布式系统中的各个节点是 逻辑对等的。目前网络应用在内容和接入设备方面持续增长,这使得p 2 p 技术 也变得越来越流行【5 】。基于p 2 p 技术的日常软件涵盖了多个方面,如文件共享、 分布式计算以及分布式存储等。虽然这些软件有着不同的功能,但他们在节点 发现、内容搜索、数据传递和文件传送等方面有很多的相似点。然而,目前对 于p 2 p 技术的应用开发是非常低效的。s u n 公司推出j x t a 的首要目的就是提 供一个公共平台,在这个平台上有p 2 p 网络所必需的基本功能。除此以外,j x t a 还致力于解决已有p 2 p 系统的一些问题【6 】。 1 2 国内外研究现状 随着因特网的飞速发展,为了给网络上不同设备之间服务的交流提供一个 平台,j x t a 协议提供了一系列简单、灵活的机制,使得手机、p d a 这样的无 线设备和个人电脑以及服务器等可以在虚拟的网络上进行通信。j x t a 项目是 s u n 公司发起的一项开放源代码的工程,为解决点对点应用程序的兼容性问 硕士学位论文第一章绪论 题,j x t a 定义了一套用户可自行扩展的协议。j x t a 项目的主要目的是建立一 个普适的点对点虚拟网络,用以实现各种各样的应用和服务程序。 j x t a 是随着p 2 p 技术的发展而出现的。p 2 p ( p e e rt op e e r ) 即对等计算或 对等网络,通常简称为p 2 p ,可以简单地定义成通过直接交换来共享计算机资 源和服务。在互联网的早期阶段( a p r a n e t 阶段) ,p 2 p 技术就已经出现过, 但是由于当时计算机的处理能力、存储空间以及网络带宽等原因,p 2 p 并没有 被广泛的应用。随着计算机和网络的性能逐步提高,传统的c s 模式由于对服 务器的依赖,当网络信息量增大和用户数量增多时,服务器的流量就会限制网 络规模的扩大和用户数目的增加,所以人们又重新关注p 2 p 技术。 到目前为止,p 2 p 应用系统的发展历程,大致可以分为三个阶段: 第一个阶段是以n a s p t e r l 7 】、f r e e n e t l 8 】和g n u t e l l a l 9 1 等为代表的文件共享系 统。新系统如k a z a a 、l i m e w i r e 、b i t t o r r e n t 、m o r p h e u s 等相继问世,p 2 p 用 户的数量始终保持快速的增长,一步步验证了对等计算思想的成功。这一阶段 取得了巨大的成功,直接带来了p 2 p 技术的复兴。 第二阶段以g r o o v e 、n e t b a t c h 和s e t i h o m e t l o 】等为代表。第二阶段的 p 2 p 开始进入企业应用,应用系统也不再局限于文件共享,而是出现了各种各 样的应用。 第三阶段以j x t a 等基础平台为代表,p 2 p 技术逐渐平台化和标准化,进 一步走向成熟和完善,开始了大规模的企业应用。p 2 p 系统已经在数据存储 1 1 , 1 2 , 1 3 】、内容发布与分组订阅【1 4 l 、页面缓存服务【15 1 、组通信【1 6 1 、消息系统等多 方面得到了广泛应用。包括c a n 、c h o r d j i l l , p a s t r y 、t a p e s t r y 、s y m p h o n y 、v i c e o r y 、 k a d e m l i a 、k o o r d e 和p g r i d 等。 当前国外比较知名的p 2 p 研究有麻省理工的i r i s 计划,s u n 公司的j x t a 平台,以及斯坦福大学的p 2 p 研究。国外开展p 2 p 研究的学术团体主要包括 p 2 p 工作组( p e e r - t o p e e r w o r k i n gg r o u p ,p 2 p w g ) 和全球网格论坛( g l o b a lg r i d f o r u m g g f ) 。从国外公司对p 2 p 计算的支持力度来看,m i c r o s o f t 公司、s u n 公司和i n t e l 公司投入较大。s u n 公司以j a v a 技术为背景,开展了j x t a 项目。 j x t a 是基于j a v a 的开源p 2 p 平台,任何个人和组织均可以加入该项目。因此, 该项目吸引了大批p 2 p 研究人员和开发人员。 在国内,目前北京大学、清华大学和华中科技大学都开发出了相应的p 2 p 系统。m a z e 是北京大学网络实验室开发的一个中心索引与对等连接相融合的 p 2 p 文件共享系统,是c e r n e t 上最大的非商业性、以科研为目的p 2 p 系统; g r a n a r y 是清华大学自主开发的对等计算存储服务系统;a n y s e e 是华中科技大 学设计研发的视频直播系统。另外,国内已经有多家公司推出了自己的p 2 p 产 2 硕士学位论文第一章绪论 品,目前主要的几款中文p 2 p 软件有p o c o 、o p 、p p l i v e 、e z p e e r 、j e l a w a t 、 k u r o 和t o p e r s o n 等。 1 3 研究内容及意义 j x t a 给予我们的是一个构建p 2 p 应用的公共平台。多种p 2 p 应用按照传 统的做法,都是从底层开始开发,并互不兼容,不同p 2 p 社区之间的用户也被 隔离,而j x t a 正是试图去提供构建p 2 p 应用的公共平台。j x t a 公共平台的 使用不但使得p 2 p 应用能更方便的共享信息,而且由于j x t a 协议提供了用于 动态发现、消息传递的简单方法以及其他p 2 p 体系结构的核心特性,因此使得 开发者能更轻松的构建p 2 p 应用。 随着p 2 p 技术的发展、需求与应用的不断拓展、用户数量的剧增以及交互 方式的更加多样化,使得p 2 p 系统本身和所处的网络环境呈现出复杂性增长 ( c o m p l e x i t ye x p l o s i o n ) 趋势。集中体现在:极端庞大的网络规模与地理范围 ( e x t r e m e l yl a r g es i z ea n ds c a l e ) 、极端复杂的交互方式( e x t r e m e l yc o m p l e x i n t e r a c t i o n s ) 和极端高度的动态性( e x t r e m e l yh i g hd y n a m i c s ) i s j 。面对上述日 益加剧的复杂性爆炸问题,十分有必要对现行的构建p 2 p 应用的公共平台进行 分析研究和完善,以使其能够更加适应和满足越来越多复杂的p 2 p 应用需求。 本文尝试对j x t a 协议进行研究,分析其不足,并且进行相关的改进以及对改 进后的性能进行分析。 本文首先简单介绍了p 2 p 对等网络以及基于p 2 p 对等网络的j x t a 协议核 心内容和体系结构。通过j x t a 协议与传统的p 2 p 协议的对比,进一步总结了 j x t a 协议的特点。通过设计和实现一个j x t a 即时通讯系统,并在该系统中添 加发现节点实验,实验了j x t a 发现的不完全。在分析j x t a 资源发现协议, 以及比较其他p 2 p 协议资源发现的基础上,进一步研究了j x t a 发现的不完全。 最后,本文针对j x t a 协议对于超节点性质的对等体管理的缺乏,提出了一种 汇聚对等体节点数目管理的评价策略,使汇聚对等体数目在网络中由一个混乱 的状态得到控制,并在此基础上给出了改进的查询策略以及相关的协议修改。 1 4 文章组织与结构 全文共有六章: 第一章绪论。本章依次阐述了论文的课题来源及背景、国内外研究现状、 研究内容及意义和论文的组织与结构; 第二章p 2 p 网络与j x t a 协议概述。本章主要阐述了论文全文的理论研究 硕士学位论文 第一章绪论 基础,其中包括p 2 p 对等网络以及j x t a 协议。 第三章j x t a 协议比较与实验分析。本章首先对j x t a 协议进行了简单的 分析与比较。设计和实现了j x t a 即时通讯系统用以实验j x t a 的对等体资源 发现,并对该实验进行了分析。 第四章j x t a 对等体资源发现研究。在对j x t a 资源发现协议的分析以及 其他p 2 p 协议的研究的基础上,通过p 2 p s i m 下的模拟实验,对比了c h o r d , t a p e s t r y 以及j x t a 资源发现的性能。 第五章基于j x t a 协议的对等体评价策略。针对j x t a 对超节点性质的对 等体管理的缺乏。提出了一种汇聚对等体节点数目管理的评价策略,使汇聚对 等体数目在网络中由一个混乱的状态得到控制。 第六章工作总结及研究展望。对本文所完成的工作进行总结,并提出了进 一步的研究方向。 4 硕士学位论文 第二章p 2 p 网络与j x t a 协议概述 第二章p 2 p 网络与j x t a 协议概述 2 1 p 2 p 对等网络 2 1 1p 2 p 对等网络定义与性质 p 2 p ( p e e rt op e e r ) 通常称为对等计算或对等网络。在客户端服务器系统 中,一个或少量的服务器为一定数量的客户端提供存储和计算等服务;在p 2 p 模型网络环境中,成千上万台彼此连接的计算机都处于对等的地位,整个网络 一般不依赖专用的集中服务器。网络中每台计算机既能充当服务的请求者,又 能对其它计算机的请求做出响应,提供资源和服务,如图2 1 所示【19 1 。 客户端服务器模型p 2 p 模型 接收和发送消 息到客户端3 文件 图2 - 1 客户端月艮务器模式与p 2 p 模式对比 p 2 p 模型将计算从中心推向边缘,所有参与系统的节点处于完全对等的地 位,没有客户端和服务器之分,也可以说每个节点既是客户端又是服务器;既 提供服务也享受服务。客户端服务器计算模型是非对称的,而p 2 p 模型是对称 的【2 0 】。 表2 1 几种p 2 p 诠释和定义 定义者定义 对等计算工作组 a l e x w e y t s e l r l g r a n h a m c l a y s h i r k y k i n d b e r g 通过直接交换共享计算机资源和服务。 以非客户的能力使用因特网外围设备。 具有服务器质量的可运行计算机;具有独立于d n s 的寻址系统;具 有与可变连接合作的能力。 利用因特网边缘设备资源的一类应用。p 2 p 结点必须能够独立于d n s 系统运行,具有独立于集中服务器的自治性。 独立生存系统。 硕士学位论文 第二章p 2 p 网络与j x t a 协议概述 从不同的角度,存在着几种对p 2 p 的不同定义和诠释,从不同的侧面揭示 出p 2 p 网络的特点。这里总结5 种被广泛接受的定义如表2 1 所示【2 l 】。p 2 p 网 络是分散化的、自组织的分布式系统。具备如下三个方面的基本性质【2 0 , 2 2 , 2 3 , 2 4 l : ( 1 ) 对等性 系统中所有或大部分结点在功能上是等同的,既可作客户端又可作服务器。 纯粹的p 2 p 系统没有任何集中控制,各对等体之间交互对称。共享资源的位置 从单一服务器节点引向网络的边缘,从而充分利用互联网中规模庞大的端节点 所蕴涵的处理能力和各类资源。 ( 2 ) 易部署性 p 2 p 网络的构建是通过在应用层进行部署,有效地屏蔽了不同网络、操作 系统、计算机硬件、以及编程语言等所带来的异构性。并以服务的形式、开放 的接口提供给用户,保证了整个p 2 p 网络及其应用的功能实现是易于扩展的。 s u n 公司的j x t a 就提供了这样一个公共平台。 ( 3 ) 自组织性 p 2 p 网络节点并不完全受制于系统,相对于整个系统而言,它具有很多自 定义的性质。这其中包括安全策略的制定和系统提供的服务和资源。服务器是 被弱化的,无法对网络中的活动和操作进行管理和控制。自组织管理模式下的 p 2 p 网络中不存在体系结构上的单点失效问题,具备先天的容错性及鲁棒性。 2 1 2p 2 p 网络模型划分 目前,p 2 p 网络模型有很多种,尚无统一的标准,各种模型各有优缺点。 从技术上讲,p 2 p 网络模型可分为以下三种【2 5 ,2 6 , 2 7 1 : ( 1 ) 集中式p 2 p 网络 所有对象索引用 的形式保存在一台集中的服务 器上。每个新加入的节点需要通知服务器它所保存的对象信息,以后其它节点 只要从服务器查询对象所在节点的地址。这种p 2 p 结构简单易部署,尽管有多 个并行服务器,但它有单节点失效的问题,n a p s t e r 即是这种结构的例子。集中 式p 2 p 网络结构如图2 2 所示。 6 硕士学位论文第二章p 2 p 网络与j x t a 协议概述 图2 - 2 集中式p 2 p 网络结构 ( 2 ) 纯p 2 p 网络 纯p 2 p 网络分为非结构化p 2 p 网络和结构化分布式p 2 p 网络。它们是纯粹 的p 2 p 系统,因为它们没有中央索引服务器,每台机器在网络中是真正的对等 关系,既是客户端同时又是服务器。非结构化p 2 p 网络对象请求是分布的,拓 扑通常是随机的无结构网络。请求一步一步地在网络中执行直到请求成功,失 败或超时,这种网络没有单点失效但是请求效率可能很低,g n u t e l l a 就是这种 类型的p 2 p 网络;结构化分布式p 2 p 网络在拓扑结构上有所不同,这类网络中 每一个节点被分配一个虚拟地址,同时用一个关键字来表示其可提供的共享内 容。这类网络的代表系统是c h o r d ,p a s t r y ,c a n 和t a p e s t r y 等,非结构化p 2 p 网络结构如图2 - 3 所示。 图2 3 非结构化p 2 p 网络结构 ( 3 ) 混合式p 2 p 网络 混合式p 2 p 网络在纯分布式p 2 p 基础上引入了超级节点的概念,综合了集 中式p 2 p 快速查找和纯分布式p 2 p 去中心化的优势。其对象请求是分布的,并 且p 2 p 的逻辑拓扑是某种结构化的拓扑。如:网孔状( m e s h ) ,环状( r i n g ) ,d 维圆环面( d d i m e n s i o nt o m s ) 和蝴蝶状( b u t t e r f l y ) ,这些结构化的拓扑通常用 分布式哈希表( d i s t r i b u t e dh a s h i n gt a b l e ,d h t ) 构建,混合式p 2 p 网络如图2 4 所示。 7 硕士学位论文第二章p 2 p 网络与j x t a 协议概述 图2 - 4 混合式p 2 p 网络 在实际应用中,每种拓扑结构的p 2 p 网络都有其优缺点,表2 2 从可扩展 性、可靠性、可维护性、复杂查询等方面比较了这三种拓扑结构的综合性能。 表2 2p 2 p 不同拓扑结构多种性能比较 2 2 基于p 2 p 的j x t a 协议 2 2 1j x t a 协议组织结构 2 0 0 7 年1 0 月最新修改的j x t a 协议规范v 2 0 主体部分分为三部分:第一 部分为核心规范,第二部分为标准服务,第三部分为参考执行资料。核心规范 中包括i d s 、通告、j x t a 核心协议、核心j x t a 消息传输绑定以及消息五部分; 标准服务分为:标准协议、标准j - x t a 消息传递和j x t a 消息通信表述三部分; 参考执行资料包括j a v a 2s e 参考执行,最后是术语表和参考书目 2 8 , 2 9 j 。 第一部分,i d s 包括:介绍、j x t ai d s 的性质、在协议中使用j x t ai d 、 一个j x t a i du r n 的结构化、j x t a i du r n 实例、j x t a i d 表述、j x t a i d 结 构和j x t ai d 类型;通告包括:介绍、x m l 和j x t a 通告、对等体通告、对等 体组通告、模块类通告、模块规范通告和模块接口通告;j x t a 核心协议包括: 对等体解析协议和对等体端点协议;核心j x t a 消息传递绑定包括:端点服务 和端点路由传递协议:消息包括:介绍、消息和参数。 第二部分,标准协议包括:对等体发现协议、汇聚对等体协议、对等体信 息协议、管道绑定协议;标准j x t a 消息传递包括:t c p i p 消息传递、h 1 v r p 消息传递和t l s 消息传递;j x t a 消息通信表述包括:一般表述、二进制消息 8 硕士学位论文第二章p 2 p 网络与j x t a 协议概述 格式化和x m l 消息格式化。 第三部分,j a v a 2s e 参考实现包括:j x t ai d 格式化以及j 2 s ej x t a 端点 路由实现。 2 2 2j x t a 协议基本概念 ( 1 ) 对等体 实现了一个或多个j x t a 协议的设备。而该设备并不一定代表一台实际的 计算机,一台独立的计算机可以驻留多个j x t a 程序【3 0 1 。 ( 2 ) 对等组 对等体自行组织成多个组,j x t a 框架支持组的创建和成员资格的定义。 对等组的作用包括:定义一组服务和资源,提供一个安全的域,建立区域,创 建一个监控的环境。 ( 3 ) 发现 一个对等体要做的就是寻找到其他可以与之交换信息的对等体。我们称寻 找其他对等体的过程为发现。 ( 4 ) 管道 管道是对等体之间的虚拟通道。管道提供了一种方案,使得对等体在大多 数网络情况下都可以通信,而不用去管防火墙或者其他的障碍,即使不知道另 外一个对等体的位置以及它所使用的协议等信息,通过管道仍然可以与之通信。 ( 5 ) 通告 一个通告就是以x m l 文档形式存在且与语言无关的元数据结构,用来描 述j x t a 的消息、对等体、对等组或者服务等。 ( 6 ) 消息 消息是在对等体之间数据交换的基本单元。消息由封装袋和主体组成。在 j x t a 中,消息有两种表示方法:x m l 格式和二进制格式。 ( 7 ) 服务 j x t a 网络服务用于表示网络上可用的任何一种服务( w e b 服务、传统服务、 c o r b a 服务、r m i 服务等) 。像任何一种j x t a 资源一样,网络服务用服务通 告来表示。j x t a 平台有两种基本的网络服务:对等体服务和对等组服务。 ( 8 ) 模块 模块用于表示能由对等体动态装载和实例化以实现新行为的代码段。j x t a 服务使用模块的抽象概念来确定服务的存在( 模块类通告) 、服务的规范( 模块规 范通告) 和服务的实现( 模块实现通告) 。 ( 9 ) 标识符 9 硕士学位论文 第二章p 2 p 网络与j x t a 协议概述 标示符i d 是一种为对等体组,对等体节点,管道,内容和服务定义唯一 的身份标示的方法。j x t ai d s 为不同的j x t a 实体提供明确的参考。 2 2 3 核心协议与体系结构 j x t a 按照一套协议的方式来定义j x t a 虚拟网络的各种操作。j x t a 目前 定义了六个协议,通过这六个协议来完成对等体之间的路由、发现、组织、通 信和控制【3 1 ,3 2 1 。 ( 1 ) 对等体解析协议 在j x t a 中,一个对等体发送一个检索请求,而另一个对等体将返回一个 针对该请求的响应消息。对等体解析协议用于标准化这些请求消息和响应消息 解析的格式,它是一个基础通信协议,该协议被用来支持j x t a 中的其他协议。 ( 2 ) 对等体端点协议 对等体端点协议定义了j x t a 中的消息路由机制,通过该协议对等体以发 送消息的形式获得一条路由路径,该协议决定了路由信息。 ( 3 ) 对等体发现协议 对等体发现协议为对等体提供了一种机制来发布自己的资源和发现其他对 等体的资源。该协议通过指定一种通告类型、一个x m l 标签名、一个匹配这 个x m l 标签所表示数据的字符串来定义查询。 ( 4 ) 对等体管道绑定协议 该协议为对等体提供了一种机制来与一个或多个对等体建立虚拟通信通 道。对等体可使用管道绑定协议去绑定连接的终端。 ( 5 ) 对等体信息协议 该协议为对等体提供了一种机制来获取其他对等体的状态和监视其他对等 体的信息,如状态、正常运行时间、流量负荷、容量等。 ( 6 ) 汇聚对等体协议 该协议为对等体提供了预订传播服务的机制。在对等组的内部,对等体可 以成为汇聚对等体或者对汇聚对等体进行监听的对等体,运行汇聚对等体协议 的汇聚对等体向服务监听者发送消息。 这六个协议相辅相成,完成应用程序的各种功能,j x t a 协议堆栈如图2 5 所示【3 3 3 4 1 。 1 0 硕士学位论文第二章p 2 p 网络与j x t a 协议概述 对等体发现协议对等体发现协议 对等体信息协议 对等体信息协议 厂 对等体管道绑定协对等体管道绑定协 议 议 对等体解析协议 公 对等体解析协议 汇聚对等体协议 厂 汇聚对等体协议 对等体端点协议 对等体端点协议 网络传输同络传输 图2 5j x l a 协议堆栈 j x t a 协议体系结构分为三个抽象层【2 3 5 1 。第一层是j x t a 核心层,第二层 是服务层,第三层是应用层。各层的说明如图2 - 6 所示: ( 1 ) 核心层( j x t a c o r e ) 它包含了服务所需要的核心功能。该层封装了最小的也是最基本的原语, 包括对等体、对等组、发现、通信、监视和相关的安全原语。j x t a 技术的关 键在于核心层,它是构建服务和应用的基础。 ( 2 ) 服务层( j x t a s e r v i c e s ) 它提供了访问j x t a 协议的接口。该层建立在j x t a 核心层之上,提供了 对于p 2 p 网络非必需但通用的功能,如查找、文件共享、索引、存储系统、协 议转换和身份认证机制。 ( 3 ) 应用层( j x t a a p p li c a t i o n ) 它使用服务来访问j x t a 网络和j x t a 提供的功能。该层包括了应用j x t a 服务开发出来的完整的p 2 p 应用程序。 魄t a a p p l i c a t i o n 曰匣曰 蝴t j x t a s e 一删r 忑 仨i 习; 核心层i j x t a c o r e ) ( ,栅晰弦) (对等黼踪) ( 安全性 ) 对等组 图2 _ 6j x t a 协议体系结构图 硕士学位论文 第二章p 2 p 网络与j x t a 协议概述 2 3 本章小结 本章主要阐述了全文的研究基础,其中包括p 2 p 对等网络的定义、基本性 质和三大网络模型的划分。在基于p 2 p 网络的理论基础上,对j x t a 协议进行 了简单的阐述和介绍,包括其组织结构、基本概念、核心协议和体系结构。 1 2 硕士学位论文 第三章j x t a 协议比较与实验分析 第三章j x t a 协议比较与实验分析 3 1j x t a 协议分析与比较 3 1 1j x t a 协议与传统p 2 p 协议比较 通过对比2 0 0 1 年j x t a 协议规范和2 0 0 7 年j x t a 协议规范发现:首先是 对章节进行了很大的修改和调整,使得j x t a 协议更加的结构化。其次,对节 点的行为、i d s 和通告都重新做了相关描述,以适应更多应用的发展。0 6 年修 改了路由通告和管道解析消息,可见j x t a 在不断的完善本身的路由机制和节 点的发现。0 7 版在节点发现行为的描述上进行了更新,描述比前一版本更加的 清晰。0 7 年,还加入了完整的二进制消息结构v 2 0 ,同时加入了端点原地址的 消息原理。j x t a 曾被设计为能在任何数字设备上实现,包括传感器、消费电 子产品、p d a 设备、网络路由器、桌面电脑、服务器和存储设备。但是实际上 这方面的实现还相当的薄弱,对比j x t a 协议不同版本的更新变化,可以发现 j x t a 正在向着更为普遍和多元化的方向发展。j x t a 协议与传统p 2 p 协议比较 具有如下的特点: ( 1 ) 互操作性 传统的p 2 p 协议大多数用来实现一个单一类型的网络服务,如n a p s t e r 用 来提供音乐文件交换,a i m 用来提供即时消息交换。这些协议各自有自己截然 不同的特征,没有一个基于底层p 2 p 的共同点。由于不同的网络服务的特性和 缺少一个共同的底层基础,每一个供应商都使用不兼容的技术使它的用户同其 他的p 2 p 通信相隔离,从而使得各个系统孤立各自的用户群体,用户被锁定在 一个固定社区内。这样,就使得许多底层的代码需要重复编写。j x t a 通过提 供一个简单的普遍的p 2 p 平台来解决这些问题【3 6 1 。 ( 2 ) 平台独立性。 许多p 2 p 协议为用户提供的服务是通过建立在特定操作系统和特定网络协 议的一套a p i 来实现的。当一个p 2 p 应用程序的开发者进行二次开发时,他必 须首先选定一种特定的开发语言,如c 或j a 、,a 。他的程序将被限定在某一特 定的人群中。j x t a 被设计成独立于编程语言,如c 或j a v a ;独立于系统平台, 如w i n d o w s 和u n i x ;独立于网络平台。这样,不同的p 2 p 系统之间可以方便 地互相通信,协同工作,向对方提供服务【3 刀。 ( 3 ) n a t 穿越和防火墙。 硕士学位论文第三章j x t a 协议比较与实验分析 n a t 和防火墙的使用导致传统的对等通信陷入困境:对等体不能与n a t 设备之后的对等体建立连接,除非由内部对等体首先发起连接到外部对等体, 并且连接可能因连接的协议、外部i p 地址和端口号而被防火墙阻止。为解决这 个问题,j x t a 协议的对等体使用路由对等体。内部对等体要连接一个外部对 等体时,它与路由对等体建立连接。这样当外部对等体与路由对等体连接时, 所有到来的消息以h t t p 响应的形式到达内部对等体1 3 引。 3 1 2j x t a 协议与g n u t e l l a 协议比较 g n u t e l l a l 9 , 3 9 4 0 j 是一种关于发布检索的协议,也是一种典型的p 2 p 网络通信 协议,由a o l 的n u l l s o f t 部门开发。它具有完全分布式的特点,能够有效地消 除单点瓶颈,使网络具有更好的鲁棒性。与此同时,该协议也可能产生指数级 增长的冗余消息,效率低下,只能在小规模的网络上使用,很难成为应用的主 流。虽然g n u t e l l a 协议也支持传统的客户端中心服务器的检索规范,但g n u t e l l a 协议更主要是支持点对点的,没有中心的检索。g n u t e l l a 协议定义客户端通过 网络通讯的方式。其中包括定义了通过客户端进行数据通讯的描述符号集和内 部客户端相互交互的一些规则,表3 1 是定义的具体内容。 表3 1g n u t e l l a 协议定义 指令说明 p i n g 指令 p o n g 指令 q u e r y 指令 q u e r y h i t 指令 p u s h 指令 用于激活发现网络上的客户端。一个客户端收到一个p i n g 的描述符表示 希望回应一个或多个p o n g 描述符。 用于回应p i n g 。包括一个被连接的g n u t e l l a 客户端的地址和他能提供的数 据供共享的信息。 首要的分布式网络检索机制。一个客户端收到一个q u e r y 描述符后,如果 在自己的数据集中发现一个匹配的数据将回应一个q u e r y h i t 。 用于回应q u e r y 。这个描述符提供足够的信息来获取匹配q u e r y 请求的数 据。 一个用于允许防火墙中的客户端向网络提供基于数据文件的机制。 g n u t e l l a 是一种单一的分布式信息共享协议,而j x t a 协议提供了一个公 共的p 2 p 平台用以实现p 2 p 应用。g n u t e l l a 和j x t a 都是非结构化的p 2 p 协议, 其资源定位机制都采用泛洪算法,该算法简单易行,但同时系统中充斥着大量 冗余消息,浪费了网络带宽,造成一些低带宽节点的带宽障碍问题,降低了算 法的定位效率和网络的可用性。和j x t a 协议一样,g n u t e l l a 节点在作为服务 器端的同时也是客户端,这是p 2 p 协议的共同性质。每个g n u t e l l a 节点仅知道 与它直接相连的g n u t e l l a 节点,如果其他g n u t e l l a 节点不响应该节点的p i n g 或 1 4 硕士学位论文第三章j x t a 协议比较与实验分析 回复查询,这个节点就不会看到其它g n u t e l l a 节点。j x t a 协议中同一个汇聚 对等体的子节点之间互相不可见,他们需要通过向汇聚对等体发送查询请求互 相发现。g n u t e l l a 客户端基本上就是一个具有文件共享功能的微型搜索引擎, j x t a 客户端则可以实现更加丰富的功能。g n u t e l l a 协议和j x t a 协议都定义了 对等体之间工作于t c p 协议之上的应用层通讯协议,包括在对等体之间通讯描 述符集和相应的通信规则集。g n u t e l l a 通信协议主要只包括四种类型的消息, 分别是p i n g 、q u e r y 、q u e r y h i t 和p u s h ;j x t a 的消息定义则更加丰富,同时采 用二进制和x m l 两种消息模式。g n u t e l l a 协议并没有考虑安全问题,它以明文 方式传输信息,所以,g n u t e l l a 协议也存在许多安全问题。而j x t a 协议却定 义了自己的安全框架,包括加密术、密钥、相关类、证书等。 3 2 基于j x t a 协议的基础实验及其分析 j x t a 的实现目前提供了两种平台,一种是j a 、,a 语言绑定j 2 s e 平台,一 种是c 语言的实现【4 1 , 4 2 j 。j x t a 的j 2 s e 源代码软件包:i x s e s r c 2 5 。代码运行 操作系统为w i n d o w x p ;i d e 为n e t b e a n si d e6 0 ;代码运行环境为j a v a s t a n d a r de d i t i o n5 0c o m p a t i b l ev m ,b o u n c y c a s t l e1 3 7 ,s e r v l e t2 3 ,j e t t y4 2 2 5 , l o 酣j 。这里将j x s e s r c 一2 5 在n e t b e a n s 下编译运行,并分析源代码结构和相关 程序关系,其中i x s e s r c 2 5 在n e t b e a n s 下的部署如图3 1 所示。 图3 - 1j x s e - s r c - 2 5 在n e t b e a n s 中的部署 其中a p is o u r c e 软件包包括:定义j x t a 的框架和接口,r e f e r e n c e i m p l e m e n t a t i o ns o u r c e 包括:对a p i 中定义的接口的实现。a p is o u r c e 里边共 有2 6 个包,r e f e r e n c ei m p l e m e n t a t i o ns o u r c e 共5 2 个包。 3 2 1j x t ai d s 实验与分析 要实现一个基本的j x t a 系统,首先必须考虑和实现i d s 。这样才能使得 资源能够准确的被定位,从而以某种样式被引用。简单的标示显然不能满足要 求,因为可能会重名。j x t a 协议中将对等体、对等体组、管道等资源进行了 统一的标示i d s 规范。 ( 1 ) j x t ai d s 实验环境 编程开发工具:n e t b e a n si d e6 j a v a 版本:j d k l 5 00 8 ; j x t a 平台版本:j x t a 2 3 5 1 ; 操作系统:w i n d o w sx pp r o f e s s i 要实现j x t ai d s 需要用到 0 版 o n a l ; 的程序包包括:n e t j x t a i d i d f a c t o r y ; n e t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 变形不变特征提取技术-洞察及研究
- 《祖先的摇篮》教学试讲稿范本
- 功能饮料市场可持续发展策略-洞察及研究
- 深度学习在热键预测中的应用-洞察及研究
- 须根系作物基因家族的分子标记系统构建研究
- 企业部门职能与职责清单范例
- 水利监理实习报告撰写规范与范例
- 八年级地理上册单元知识点测试
- 商品库存管理流程标准化方案
- 2025上海市农业技术推广服务中心招聘博士研究人员2人(第二批)笔试备考题库及答案解析
- 洗涤厂设备管理制度
- GB/T 16603-2025锦纶牵伸丝
- 水生入侵物种防控-洞察及研究
- 游戏主题咖啡馆与餐厅行业深度调研及发展项目商业计划书
- T/CCMA 0015-2023高处作业吊篮和擦窗机检查、维护保养和安全操作规则
- 泡沫混凝土常见问题分析与对策
- 2025年初级银行从业资格之初级个人理财考试题库
- 综合工时劳动合同协议
- 银行保险机构安全保卫工作自查操作手册
- 社保培训课件视频
- 2025-2030中国微创脊柱外科行业市场发展趋势与前景展望战略研究报告
评论
0/150
提交评论