基于Gnutella协议的P2P文件共享系统的研究
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
的消息格式和一组管理节点之间信息交换的 规则。 侧 g犷 仁 门J ‘夕 抓网络中的在线节点. n 消息用来响应 一n ‘  ̄ ’ n 刁 ‘ 如 a v. . P” 俏息;i 和P v 们忌用米Mr .箔直甲 P b ua i a g P刃 o -一 n g , n 央分 - , - 曰日 n 奋 J u u ’ o , } r 一 i ’ 二 : 切 一 g 节点和网 络上其它节点的连接, 适应动态的网络环境。 以
由 ne l的搜索请求消息是以广播的方式进行复制的, 整个网络上的负载量比 于Gul ta 所以 较大, 导 致了系统的响应时间比较长, 系统的扩展性受到限制。因此我们考虑对消息的路由 机制进行改进。 如前所述, 节点在加人网络时采用主节点缓存服务的方法。采用主节点缓存的方法加人系统使 网 络上所有在线节点组成了 一个具有“ 能力原则,p e一a) " r l 特点的网络。所谓“ ( o w w 能力原则” 网络是
样的网 是 络中 有效的。 要高连 度” 节点能够正常 只 接“ 的 处理“ 人” 搜索 引 的 请求(uy, 络就会保 Qe)网 r
8一4 9
在此操作之后, 如果1 . 1 7 每个消息包转发给其它直接相连的 节点之前, 节点把消息中的7 . , 1 减1 7 D 变 , 为。包将不在被转发。 每个消息包都有一个 I 如果节点收到的包的 I 号与以前收到的某个 D号, 包的I D号相同, 表明节点已 经处理过该包, 将不再对其进行转发。
指网 有 些节 有 高的 接“ , 许多的 点 较 连 度” 在 节 缓 务中, 络中 一 点 很 连 度” 而 节 有 低的 接“ 。 主 点 存服 节
点都是通过一些主节点连人网 络中的, 主节点有比 较好的系统性能并且有较高的“ 知名度”因此比 , 其 它的节点有优先连接权, 成为网 络中 连接“ 高的节点, 度” 其它的节点则成为连接“ 低的节点。 度” 在具有这样特点网络中, 我们可以采用一种新的搜索策略: 每个节点在本地存储中 保存所有第一 级和第二级邻居的共享文件, 并且当 有新的节点加人时, 按照节点之间的 邻居层次关系更新所有相关
。 q
8一4 8
吨) 连接彼此通信, 的 在节点 之间没有固 层次结构和模式。 定的 所有的连接工 作在TPI协议上, C/ P
通信以 包” 单位进行。通常情况下Gul 的包与TPI的包格式上非常接近。与TPI的包 为 ne tl a C/ P C/ P 类似, e 包有一个生存周期‘i T Le简称TLo 以 Gul nta l T e i , m o v T) TL 某个数值开始, T 包每经过一个节点 TL 1 T 减 。一旦刀 变为。包就不在向前转发, 1 , 这有助于防 止包在网络中 无限循环下去。 在Gul 用户首 中, ne ta l 先需要连接到网络上, 然后就可以向网络上的其它终端节点提交搜索请 一般情况下, 搜索请求为带文件类型后缀的 文件名。搜索请求沿着与请求节点直接相连的节点 求。 如果搜索请求到达的节点含有与请求相匹配的文件, 则该节点发出响应, 其响应结果( 含 向前转发。 结果, 搜索 有相关文件信息) 沿着请求到来的原路径回 到源节点。不管节点是否含有与请求相匹配的 请求都会继续向前转发。当 请求节点接收到响应结果后, H T 协议直接从文件所在的节点下 采用 TP
术。
对等(E R PE - 的辅助来完 两个用户终 一代热门技
Npe a t是最早开 sr 发出的一 2文件 种PP 共享软件, 它依靠一个中 央服务 器存储一个m m文件( 一
种音频类型文件) 列表, 的 而实际的M 3 P 文件存放在每个用户的终端上, 服务器提供的服务是允许用
当一个节点从网 络掉线或连接数小于用户指定的 最小连接数时, 利用这个路由 表中的 缓存信息, 就可 以与网 络中的 其他节点重新建立连接。
P g 息用 应P 消 接收 i 消 节点, 该"6 息以 播的 式转发给 来响 ig 息。 到Pg 息的 o消 n n n 先将 "消 广 方 其 所有“ 节 与 邻居” 点( 该节点直接相连的 节点) , 然后用、1 8 消息响应, n消息含有本机的I地址, Pg o P 、堪 息将沿着Pg 消 i 消息来的 n 路径原路返回, 保证转发该Pg 息的 以 i 消 节点可以 n 看到相应的P g o n 消息. 将该P g 返回 o 消息 给发出pg n i 消息的 n 节点。 i 和P g Pg o 息 连接管 息, 消 属于 n n 理消 用来维护节点和网络 上其它节点的 连接, 适应动态的网 以
载文件。
3 协议实现的细节 . 2
() 1 连接 在PP 2 文件共享系统中, 一个终端节点如果想要共享其它节点的 文件, 首先要找到已 在系统中运 , 以便初始连接, 进行通信。Gul 节点是通过主节点缓存服务的方 ne ta l 法, 经存在于网 和已 络上的另一个节点建立连接, 己连接到网络中。主节点缓存服务是指系统将 把自 kf较高的用户的主 机作为PP Z 文件共享系统的主节点, I地址和运行 PP 将其 P 2 文件共享系统的端
R一4 7
基于
协议的PP 2 文件共享系统的研究
胡 博 赵 栋 ( 航天科技集团 公司7 所 1 07 1 0 0 3) 0
鉴
摘要 PP 2 模式实现文件共享的优点, 然后对基于 Gul 协议的PP ne ta l 2 文件共享的实现原理 先介绍了利用
: 前众多的Ie e 在当 nm t t 技术中, 基于PP 2 模式的文件共享成为一个新的技术热点。 本文首
进行了 述, 阐 最后对 Gul 协议的不足提出了 ne ta l 两点改进建议。 关健词: ne 文件共享 Gul PP ta l 2
1 引言 .
}I}'蒸} T鬓藻I}唠 O}}2GI} a' ( jn} }G 1JCt1 -} EL e} P7J} ef E,}p}t 1} I}}} } G }i r 7 '1' n }} of } Rr s ,} P ' } Pt i M x J }
户搜索存在于服务器上文件列表, 以找到自己需要的文件。而文件的传递发牛在两个用户终端之间 无需服务器的辅助。
2 文件共享系统。 比Nse更进一步,nta at pr GuU 采用了一种完全分布式的概念构造了一个纯 PP e 文件的 传递也发生在两个用户终端之间。Gul 能 ne ta l Gu g 无需服务器的辅助可以实现文件定位, nt a e 够对对任何类型文件共享。 人们对其涉及的技术也做了 较深人地研究, 如系统的 扩展性、 消息的 表示
络环境。
当 点需要 络上 从网 搜索相 节 关文件时, 需要利用Qe 消 Qe 消息 u 息。 uy 用来存放节点需要搜索 y r r 的 文件的相 关信息, 广播的 式发送给 以 方 所有的“ 节点。 邻居” 网络中的 节点如 其它 果接收 到了Qe u y r 消 首 息, 先将该Qe 消 广 u r 息以 播的方式转发给其所有“ y 邻居” 然后在本地共享文件库中 节点, 查找 Qe 消 求的 uy 息请 文件, 存在, r 如果 则用QeH 消息响应。 u H 消 u i y rt Qe i 息含有 y rt 本机的I地址和响 P 应 文件的 文件名和相 路径,u H 消 应的 Qe i 息将沿着伽e 消 y rt r 息来的 y 路径原路返回, 保证所有转发该 以 伽e 消息的 r y 节点可以 相应的QeH 消息, 该伽e曰 消息 给 看到 u i y rt 将 r t 返回 发出Qe 消息的节 y u y r 点口
i 消 Pg 息用 来发现网 的 节点。 n 络中 在线 终端节 点进人系统 后就可以 送消 和 发 息, 其它节点 通信。
为了避免其它节点的动态退出使该节点成为系 统的“ 孤岛”在加人网 , 络后, 个节点可以 每 通过周期的
向 节点发 i 消 来发现网 邻居 送Pg 息, n 络的其它参与者, 并把获得的 信息在一个节点信息表中 缓存。
节 的 点中 文件级存。当 搜索请求消息( r 到来时, 有 伽e ) y 节点将在本地共享库和缓存中寻找匹配文 件, 将Qe 转发给“ 并只 u y r 邻居节点” 连接“ 最高的 中 度” 节点, 而不是将该伽e 消息广 y r 播。L a aA d .
Aai和Rn M Lk e d c aa . o 等人经过理论证明 , m n u e 采用这样的 方法可以大大节省带宽, 实现系统的可扩 展性, 也可较高效的 找到目 的文件。 搜索算法的 修改将给每个节点增加额外的操作和存储: 即跟踪并保存“ 邻居节点” 的文件信息。 但由于计算和存储资源的代价要远远小于带宽的代价, 因此这种折衷是合理的。选择连接“ 最高 度” 的节点作为搜索请求消息转发的 节点, 是由于连接数是由 节点用户自 行选择的, 因此有高连接“ 的 度” 节点往往具有高的 带宽用以处理搜索请求(uy. Qe ) r 总的来说, 采用主节点缓存的PP 2 文件共享系统由 于具有“ 能力原则” 特点, 使得上述的 算法在这
方法等。
2 利用PP . Z 棋式实现文件共享的优点
需维护个人硬盘上的资 在PP 2 模式下, 共享的 文件存放在终端用户的个人的主机上, 个用户只 每 源 , 增加了节点在网络中的价 使得文件的索引和维护变得简单的多。共享文件存储在用户主机上, 值 而且可以向 其它节点提供共享信息。随着网络内节点数 , 使得节点不仅可以 从其他节点获取信息, 下载某个文件的节点可以 将该文件再共享给 的增加, 供共享的内 容的数量和范围也随之增长。另外, 由于增加了整个系统的连接 其它的节点, 这种方式使得有较高请求率的文件可以得到很快的传播。 数量, 充分利用了网 边缘” 络“ 的带宽, 平衡了系统的资源, 低了网络拥塞的可能性。 降 简而言之, 文件共享系统使用户资源共享最大化的同时, 较低的 PP 2 以 代价实现了资源的高效利
口 号写入一个配I文件中。 这样, 在系统初始化的过程中, 点先读取该配置文件的信息以 节 获取主节点的I地址和端口 P 号, 然后试图逐一和这些主节点进行初始化连接, 直到连接数达到系统的缺省值或用户的 指定值( 连接数 目 最大值和最小值由用户决定) 的 。 () 2 搜索
节 进 络 就 以 络中 其 节 进 通 Gul协 定 一 用乎 据 点 人网 后, 可 和网 的 它 点 行 信。 ne 议 义了 组 数 通信 ta l
P 请求文件的 节点接收到伽eH 消息后, y t ri 解析该消息, 得到目 标节点的 I地址和请求文件所在 的路径。源节点和目 标节点直接建立 H f 连接, TP 下载文件。
() 3 下载
4 对 G il t l 的改进 nt a e
41 改进系统扩展性的 . 研究
用。
Leabharlann Baidu
3 基于Gul 协议的PP . nte e 2 文件共享系统
3 1 极述 .
Gul 协议是利用PP nta e l 2 模式实现完全分布式信息共享的 技术。利用Gul 协议构造的文件共 ne ta l 享系统集一个小型的 搜索引攀和文件服务系统于一体, 体现了 分布式和协作的思想。 遵循 Gul nea tl 协议的节点组成的网络并不存在真正的拓扑结构, 它是一个在应用层以自己的路由机制形成的虚拟 网 每个节点通过至少一个其它的节点与网络相连, 络: 节点之间以“ 引人” ioi) 外出”og (c n 和“ nm g ( t- uo