P2P文件共享系统设计与实现文献综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P2P文件共享系统设计与实现--文献综述
作者姓名
(学号计科系XX级XX班 )
摘要:对等网(P2P)主要指计算机之间以对等方式形成的网络连接,弱化或完全取消了服务器的作用。文章首先将对P2P网络的基本概念、技术实现、主要应用进行介绍; 然后分析P2P技术与C/ S模式互联网的区别; 最后介绍了JXTA 协议。
关键字:P2P; 文件共享; C/S模式; JX-TA
1 引言
随着像Napster、Gnutella、Freenet等P2P信息共享应用系统的流行,
P2P(Peer- to—Peer,即对等网络)这种完全不同于客户/ 服务器的新一代分布式计算机模型正在受到越来越多的关注,已被《财富》杂志誉为将改变互联网未来的四大新技术之一。P2P可以简单地定义为通过直接交换信息,共享计算机资源和服务,对等计算机兼有客户机和服务器的功能,在这种网络中所有节点是对等的,这些对等节点具有共同的责任与能力并协同完成服务,它们之间通过直接互连实现信息资源、处理器资源以及存储资源的全面共享,而不需要依赖集中式服务器的支持,消除了信息孤岛和资源孤岛现象。
2 P2P网络技术的研究
2.1 P2P网络的基本概念
P2P技术主要指由硬件形成网络连接后的信息控制技术,主要代表形式是在应用层上基于P2P网络协议的客户端软件。IBM为P2P下了如下定义:P2P 系统由若干互联协作的计算机构成,且至少具有如下特征之一:系统依存于边缘化( 非中央式服务器) 设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益; 系统中成员同时扮演服务器与客户端的角色; 系统应用的用户能够意识到彼此的存在,构成一个虚拟或实际的群体。P2P网络是互联网整体架构的基础,互联网最基本的TCP/IP协议并没有客户端和服务器的概念,在通讯过程中,所有的设备都是平等的一端。P2P技术改变了“内容”所在的位置,使
其正在从“中心”走向“边缘”,也就是说内容不再存于主要的服务器上,而是存在所有用户的PC机上。P2P使得PC重新焕发活力、不再是被动的客户端,而成为具有服务器和客户端双重特征的设备。
2.2 P2P网络的分类
关于对等网的分类,目前尚不统一,有很多争论,安P2P的定义大致可分为集中目录式对等网络、纯分布式对等网络、混合式对等网络。
2.2.1 集中目录式对等网络
图1 集中目录式对等网络
各节点之间可以直接建立连接,但网络的构建需要服务器,通过集中认证,建立索引机制。然而这里的服务器仅用于辅助对等节点之间建立连接,一旦连接成功,服务器不再起作用,对等节点之间直接进行通信。这不同于C/S模式中的服务器,也可以认为是弱化了服务器的作用。这种P2P网络模型和纯分布式P2P网络相比,易于发现网络节点、易于管理且安全性较好,但也有类似C/S模式的缺陷,如容错性差等。目前P2P技术的应用大多为这种模式,较为典型的如:Napster等。
2.2.2 纯分布式对等网络
图2 纯分布式对等网络
网络中没有服务器,链状的节点之间构成一个分散式网络。通过基于对等网协议的客户端软件搜索网络中存在的对等节点,节点之间不必通过服务器,可直接建立连接。这种P2P网络模型优点在于允许用户设定自己的规则和建立自己的网络环境; 为与Internet合作,提供近似的即插即用特性; 不仅能够在Internet下有效地工作,而且对于LAN和Internet也非常有用。存在的问题:由于没有中心管理者,网络节点难以发现; 不易管理且安全性较差。此种类型的P2P网络如:Gnutella、FreeNet等。
2.2.3 混合式对等网络
集中式P2P 有利于网络资源的快速检索,并且只要服务器能力足够强大就可以无限扩展,但是其中心化的模式容易遭到直接的攻击; 分布式P2P 解决了抗攻击问题,但是又缺乏快速搜索和可扩展性。混合式P2P 结合了集中式和分布式P2P 的优点,在设计思想和处理能力上都得到了进一步的优化。它在分布式模式的基础上,将用户节点按能力进行分类,使某些节点担任特殊的任务。这些节点共分为3种:
(1)用户节点:普通节点,它不具有任何特殊的功能。
(2)搜索节点:处理搜索请求,从它们的“孩子”节点中搜索文件列表,这些节点必须有128 kbit/s RAM的网络连接速度,建议使用高性能的处理器。
(3)索引节点:连接速度快、内存充足的节点可以作为索引节点。索引节点用于保存可以利用的搜索节点信息,并搜集状态信息,维护网络结构信息。
这种模式的关键之一是引入了索引节点,索引节点不会直接连接到有版权的资料上,它就像搜索引擎一样,只是搜索和所需资料相关的地址,至于用户到底连接下载了什么内容则和它无关。这种模式的关键之二是引入搜索节点,搜索节点管理着所属用户的文件列表。用户节点通过索引节点获得搜索节点信息,之后用户节点就与获得的搜索节点相连,每一次查询都通过该搜索节点进行。
2.3 P2P网络与C/S模式网络的区别
P2P技术与C/S模式互联网技术的根本区别在于两者的拓扑结构不同,或者说两个系统中节点的连接方式不同。分布式网络拓扑结构存在四种基本形式:集中式拓扑、环型拓扑、树型拓扑和分散式拓扑。由这四种基本的拓扑结构相互结合还可以形成各种混合式拓扑结构。部分P2P技术属于纯分散式拓扑,其余多属于带有服务器的混合式拓扑; C/S模式为集中式拓扑。
当前互联网的主要技术模式是C/S模式,要求设置拥有强大处理能力和大带宽的高性能计算机,配合高档的服务器软件,将大量的数据集中存放在服务器上,而且还要安装多样化的服务软件,在集中处理数据的同时可以对互联网上其他PC提供服务,发送或接收数据,提供处理能力及其他应用。与服务器联机并接受服务的客户端性能可以相对弱小。而P2P技术的特征之一就是弱化服务器的作用,甚至取消服务器,任意两台PC互为服务器,同时又是客户端。
C/S模式造成互联网上的信息资源和成本资源均向服务器集中,这样的模式安全性好、易于管理,而且符合一对多、强对弱的社会关系形式,所以C/S 模式是符合市场需求的。P2P方式将导致信息数量、成本资源都向互联网各点均匀分布,也就是所谓“边缘化”的趋势,而且交互性、即时性好,符合“一对一”的特点,以及彼此相当的社会关系形式,也符合市场的需求。所以这两种方式将会共存,有关P2P即将替代C/S 模式的说法是不成立的。P2P有其独特的市场空间,是现有互联网应用的补充。
3 JXTA协议的研究
3.1 JXTA的主要概念
JXTA 是SUN 公司为了构建跨平台、跨操作系统和跨编程语言的P2P 应用而提出并实现的一个P2P标准,其功能还在不断扩充和完善中。JXTA 技术提供了基础性的机制解决当前分布计算应用中面临的问题,实现新一代统一、安全、互操作以及异构的应用。JXTA通过XML格式的消息表达,提供了强大的功能使得垂直应用得以交互,这对实现系统的互操作性有了很大的帮助。
3.2 JXTA的层次结构
JXTA由三层组成,如图4所示。第一层是JXTA核心层,它包含了服务所需要的核心功能; 第二层是服务层,它提供了访问JXTA协议的接口; 第三层是应用层,它使用服务来访问JXTA网络和JXTA提供的功能。这样的设计和一个标准的操作系统比较相似,标准的操作系统包括核心操作系统、服务和应用程序。