p2p平台系统开发的关键技术

上传人:新** 文档编号:497577100 上传时间:2023-10-28 格式:DOCX 页数:8 大小:24.86KB
返回 下载 相关 举报
p2p平台系统开发的关键技术_第1页
第1页 / 共8页
p2p平台系统开发的关键技术_第2页
第2页 / 共8页
p2p平台系统开发的关键技术_第3页
第3页 / 共8页
p2p平台系统开发的关键技术_第4页
第4页 / 共8页
p2p平台系统开发的关键技术_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《p2p平台系统开发的关键技术》由会员分享,可在线阅读,更多相关《p2p平台系统开发的关键技术(8页珍藏版)》请在金锄头文库上搜索。

1、P2P平台系统开发的关键技术摘要随着Internet的快速发展,P2P系统在研究领域和产品开发中备受关注。鉴 于P2P系统的应用背景差异较大,我们将其划分为P2P平台层和P2P应用层。本文 主要讨论P2P平台的关键技术,着重分析了通信、安全、性能等方面的技术,为 我们设计和实现P2P应用提供借鉴。关键字 Peer-to-Peer 资源定位 通信 安全 性能AbstractWiththeexplosivedevelopmentofInternet,Peer-to-Peersystems are increasingly capturing the attention of researchers

2、 and practitioners.Due to remarkable differences of P2P application backgrounds, we divide the P2P system into P2P platform layer and P2P application layer. This paper analyzes the key technology in P2P platform layer, and emphasizes on the underlying technologies such as communication, security and

3、 performance. It can provide guidance for the design and implementation of P2P applications.Keywords Peer-to-Peer, resource-locating, communication, security, performanceP2P(Peer-to-Peer)计算是指不同系统之间通过直接交换,实现计算机资 源和服务共享、进行信息处理的过程,这里,资源可以是处理器、缓存和磁盘空 间等,服务包括信息交换、数据计算等。P2P模式与传统客户/服务器模式的关键 区别在于Peer与Peer在通

4、信过程中,可以完全摒弃服务器的角色,完成一种直接 通信,来获得共享资源或服务。从P2P的发展史来看,Internet的快速发展是P2P系统崛起的催化剂,在Int erne t上进行客户/服务器模式的访问,使得信息源分布过于集中,边缘网络 的资源被闲置和浪费,而P2P技术的引入,使得网络中任何一个与网络相关的设 备都可能为网络中的其他设备提供有效的内容服务。一般的P2P系统都有强烈的应用背景,系统实现也与应用类型紧密相关。为 了深入分析P2P系统的关键技术,我们将P2P系统划分为P2P平台层和应用层,P2P 平台包含支撑P2P应用所需的基础组件,例如,发现机制、通信、安全、资源集 成等组件。P2

5、P应用层利用P2P平台提供的功能,向用户提供专门的服务。这种区 分可界定P2P的关键技术,帮助我们设计和实现更多种类的P2P应用。本文主要讨论P2P平台的关键技术,全文按如下方式组织:第1节描述了 P2P 系统的特点,第2节概括了 Peer通信的各种技术,第3节叙述了P2P平台的安全措 施,第4节讨论了 P2P平台的性能问题,最后是全文小结。1. P2P系统特点在P2P系统中,每一个Peer都是平等的参与者,承担服务使用者和服务提供 者两个角色。资源的所有权和控制权被分散到网络的每一个节点中。服务使用者 和服务提供者之间进行直接通信,可充分利用网络带宽,减少网络的拥塞状况, 使得资源的有效利用

6、率大大提高(包括各种计算资源和存储资源)。同时由于没 有中央节点的集中控制,系统的伸缩性较强,也能避免单点故障,提高系统的容 错性能。但由于P2P网络的分散性、自治性、动态性等特点,造成了某些情况下Peer的访问结果是不可预见的。例如,一个请求可能得不到任何应答消息的反馈。 P2P系统的匿名性等特点可能会带来系统的安全漏洞。P2P系统的这些特点也决定了 P2P应用主要包括资源共享和协作。资源共享 主要是文件共享系统、文件分发系统(File Distribution System)。通过P2P 网络实现文件共享和文件分发,能够应付爆发式访问,系统的可伸缩性好,可靠 性好。此类典型系统有Napst

7、er1, Gnutella,FreeNet,Chord-based System.BitTorrent4。P2P协作应用的种类很多,包括即时消息系统、在线游戏、共享 企业应用(在提供即时消息之外,还可共享内容和进行共同的活动如组内共同开 发和编辑)、文件搜索、pub/sub系统等。其中,即时消息系统有AOLAIM、YahooMessenger、MSN Messenger、Jabber】67等;在线游戏有星际争霸、Net-Z和DOOM;共享企业应用有Groove、Magi;文件搜索有YouSearch10, OpenCola等; pub/sub系统有Scribe、Herms等;还有基于P2P网络

8、构造的email系统。而从P2P 系统的典型特点来分析,常常被引证为P2P应用的科学计算系统SetiHome11应该 属于P2P的非典型应用。各种P2P系统由于应用背景的差异,彼此互不兼容,导致 不同的P2P网络无法通信,难以有效地利用网络资源提供服务。Sun公司组织开发 的JXTA】i2 项目,希望通过提供一个简单通用的P2P平台来解决这个问题。从上述 应用可以看出,P2P系统并不能替代客户/服务器系统,它们两者是相辅相成的关 系。从P2P系统的基本特点和应用情况分析,我们认为P2P平台中的Peer的通信、 平台的安全和平台的性能优化这三项技术是P2P系统的成功与否的关键所在。2 P2P通信

9、P2P通信时需要解决的最基本的问题即是如何连接其它的终端获得信息、资源和 服务。该问题可细分为以下一些问题:P2P网络的拓扑结构和Peer节点的功能角色划分;资源和服务如何标识;进行资源查找时如何进行Peer定位;P2P网络中Peer节点的动态变化的处理;如何穿越NAT (Network Address Translation)和防火墙进行Peer节点 之间的直接通信P2P网络的拓扑结构和Peer节点的角色划分在P2P网络中,有两种典型的拓扑结构,即纯P2P网络和混杂的P2P网络13。 在纯P2P网络中,每个Peer都具有同等的责任和地位,不存在中间节点的协调。FreeNet、Gnutella

10、都属于纯P2P网络。而在混杂的P2P网络中,存在着充当服务 器角色的Peer节点或提供特殊功能的Super-Peer节点,这些节点保存其它Peer 节点的基本状态和存储内容源信息,协助完成对其它节点的记录、查询等工作。Naps ter, Groove, Mag i等系统均是典型的混杂型P2P系统。每一个Peer根据其提供的角色功能可以划分为三种类型,即简单类型Peer节 点,super-peer节点和服务器型的peer节点。简单类型Peer节点仅仅是一个简单 的终端用户,它可以请求获得服务并为网络中的其它Peer提供服务。Super-peer 节点除了具有和简单Peer节点类似的功能外,还提供

11、某些特殊功能。女叮XTA系统 中就存在路由器Peer节点和会聚点Peer节点12,前者作为一个桥梁,使得被防火 墙或NAT隔离的Peer可以相互通信;后者为简单节点提供查询定位信息的功能。 服务器型的Peer节点主要提供类似与客户/服务器模型下的服务器功能,如提供 一个全局统一的目录查询。在Naps ter这种混杂型的P2P系统中,有若干个简单 Peer节点相互提供文件下载功能的服务,还有一个目录服务器节点提供文件条目 的注册管理。Groove和Magi系统中也均存在这样的服务器型节点。而在纯P2P网 络中,每一个Peer节点均充当了上述的三种角色。资源的标识为了在P2P网络中准确地查找资源进

12、行Peer定位,还需要确定Peer中存贮资源 的标识(这里我们将在P2P网络中需要进行查找的对象统称为资源)。不同的应 用场景均有适合自身特点的资源标识方式。在以文件共享为主的应用中,资源主要以文件的名称、关键字、源数据等进 行标识。而即时消息通讯系统往往采用类似于电子邮件的命名方式,如在Jabber 系统中,Jabber的用户ID以nodedomain/resource的形式进行地址标识, 提供一个全局统一的地址空间。其中,Domain是主要的ID标识,是与多个用户连 接进行消息转发的Jabber Server; Node为用户姓名或昵称,Resource属于一个 Node,标识属于一个用户

13、的多个资源。一个用户可以同时与同一服务器建立多次 连接。以用户之间协作为主的P2P应用如Groove系统和Magi系统,由于在协作中对即 时消息通讯和文件共享的要求兼而有之,用户一般以用户名进行标识,而文件则 以源数据标识14。JXTA作为一个解决不同P2P应用彼此不兼容的底层平台,提出了一个统一的资 源标识定义,即广告12(adver tisemen t)。广告是一个XML结构的文档,由Peer或相互协作共同完 成一种应用Peer组进行发布,用来描述现有的资源、服务或实体Peer。Peer节 点通过查询广告以获得各种资源的消息,进行Peer定位。Peer的定位方式在查找资源的过程中,可采用直

14、接或间接方式定位Peer。直接定位Peer的方 式比较简单,即利用广播或多播的形式发出查询请求,符合查询要求的Peer节点 进行应答,然后建立直接的通信连接。由于这种方式只能在局域网中使用,所以 应用范围有限。当然这种方式可以和其它的定位方式结合使用以获得良好的查询 效率。间接方式包括三种模型:服务器模型、洪流模型、和路由模型。服务器模型:该模型是基于混杂型的P2P拓扑结构。充当服务器的peer节点 提供资源查询。peer将请求发送至服务器获得查询结果,随后,直接与目标节点 通信获取所需服务。但这种方式存在单点失败问题,同时,也存在伸缩性问题。 但因为peer节点仅在启动、停止及查询的时候才与

15、服务器交互,所以此时的伸缩 性还是强于客户/服务器模式。典型系统有Naps ter. Magi,Groove和Jabber。 Naps ter系统采用一个目录服务器记录资源索引,Groove系统和Magi系统均是采 用动态DNS查找用户的IP地址14。Jabber系统由于其资源标识类似于Email地址, 所以,利用DNS的MX记录进行IP地址的查询7。洪流模型:该模型基于纯P2P拓扑结构。Peer节点采用洪流法将查询请求不 断地转发至邻居节点,直到到达目标节点,获得查询结果。同时为了避免消息无 限制的转发,查询请求中设定有TTL(Time to Live)或HTL(Hops to Live)进

16、行 转发控制。Gnutella是采用此类模型的典型系统。路由模型:该模型也是基于纯P2P网络结构。首先为网络中的每一个peer赋 予一个ID,同时,每个Peer存储的资源和服务也有类似的ID。Peer节点的路由表 中登记一定数量的邻居节点。Peer的请求被转发至与所请求的资源或服务的ID 最接近的Peer,直到发现这个资源或服务丽。插入一个新资源/服务的过程与查 询过程类似,也是通过查找该资源/服务ID来确定存储的正确位置。此类模型主 要用在文件共享系统中,如 FreeNe t,Chord16,CAN17,Tapes try,Pas try 等。路由模型又可细分为非结构化路由模型和结构化路由模型。FreeNet系统属 于典型的非结构化路由模型。在查找到所需资源后,为了提高搜索性能,系统沿 搜索路径复制资源。这样,由于资源的存储位置不固定

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号