- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DHT算法教学研究
DHT算法教学研究
【内容摘要】BT(BitTorrent)是目前广泛流行的下载工具,它使用了结构化对等网络的技术,实现了“人人为我,我为人人”的节点平等、相互共享资源的网络体系,较好地利用了网络中所有节点的存储、计算资源,提高了网络中数据传输、检索的效率。本文从BT入手,依次从缓冲陈列路由协议、一致性哈希、chord协议等几个方面介绍DHT算法的实现原理及其cfs、past、oceanstore之中的应用。
【关 键 词】结论化对等网络 分布式哈希表 CARP协议 负载
一、DHT算法的核心思想
BT(BitTorrent)是目前广泛流行的下载工具,该工具使用了所谓的结构化对等网络(Peer to peer,P2p)的技术。该技术实现了一个所谓“人人为我,我为人人”的节点平等,相互共享资源的网络体系,较好地利用了网络中所有节点的存储、计算资源,提高了网络中数据传输,检索的效率。
结构化P2P系统的设计目标是搜索信息时避免使用效率较低的泛洪式搜索,在系统中的每个节点只存储特定的信息或其索引,当用户需要获取信息时,如果用户知道应该搜索哪些节点将大大提高搜索效率。分布式哈希算法的核心思想就是通过将存储对象的关键特征经过哈希运算,得到键值(Hash Key),然后将键值作为对象的分布存储依据,这样用户通过获取键值就可以知道存储对象的存储位置。键值通常是一个具体的数值范围内的某个数值,网络中的每个节点则对应数值范围中的部分段落。节点可以直接存储对象本身,如文件中的部分数据;也可以是对象的索引,如该对象所在节点的IP地址。这样对象集合就可以分布在存储所有的节点中。用户获得键值以后,如何找到该键值对应的节点就称为DHT的路由问题。
二、DHT的路由及资源快速检索的实现
在大规模的网络中,DHT必须采用优化的路由算法来完成网格资源的快速检索。下面介绍现有主要的路由算法:
1、缓冲陈列路由协议(Cache Array Routing Protocol,CARP)。CARP协议是将网络资源地址(Universal Resource Location,URL)空间映射到一个松散关联的缓冲服务器陈列,式称代理陈列中。哈希算法使用的关键字是唯一的代理标识符和URL,浏览器在访问网页时,可以根据代理标识和URL获得代理的位置信息(如IP地址),从而可以直接访问缓冲代理中的页面。
CARP的路由查找的方法需要每个节点的存储其它所有节点的信息。在大规模的网络环境中,节点数量不仅大而且还随着节点的加入和退出动态变化。所以这一算法实现困难。
2、一致性哈希(Consistent Hash)。一致性哈希提出了在动太变化的缓冲环境中,哈希算法应该满足的4个适应条件,修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得行应用,成为第一个实用的DHT算法。
(1)平衡性。平衡性是指哈希键值的广泛分布性,尽可能覆盖到所有的缓冲区,这也是哈希算法的基本要求。
(2)单调性。单调性是指缓冲区的数量发生变化时,系统内所有的映射关系不需要全部更新。因为在P2P系统内,缓冲的变化相当于peer加入式退出系统,而这种情况会频繁发生,全训更新的代价太大。
(3)分散性。分散性是指相同的内容被不同的终端映射到不同的缓冲区中的程度,分散性越低,存储效率越高。
(4)负载。负载是指一个特定的缓冲区被不同的用户映射了不同的共享资源的度量。与分散性一样,负载也是越小越好。
3、Chord协议。Chord协议是专门为P2P应用设计的协议,它使用的哈希算法与一致性哈希相同,但在路由算法上做了优化。
在Chord中,每个节点同样需要存储若干个其他节点的信息构成查询表,但这些节点不是直接相邻的节点,而是以2i步的规律逐步拉大间隔的若干节点。这样形成的节点间的路由关系实际上就是折半查找算法需要的排列关系。
在Chord协议中实现大规模网络中的资源的快速检索。在查询的过程中,查询节点首先将请求发送到与键值最接近的节点上,如果命中,可以直接回应查询节点;如果未命中,则根据存储的相邻节点,将请求转发到最接近的节点上。这样的过程一直持续到找到相应节点为止。
显然,经过Chord的优化后,查询跳数由O(N)减少到了O(log(N))。
Chord算法本身具有如下优点:
(1)负载平衡。与一致性哈希的平衡性相同。
(2)分布性。Chord是纯分布式系统,节点之间完全平等并完成同样的工作。这使得Chord具有很高的鲁棒性,可以抵御拒绝服务(Distributed Denial of Service,DoS)攻击。
(3)可扩展性。Chord协议的开销随
文档评论(0)