- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Content-Addressabl的e Network
P2P-CAN(Content-Addressable Network)
CAN是由ATT 所提出点对点搜寻算法,CAN 是利用多维坐标空间概念来建构的点对点架构。下图即为一个包含五个节点二维坐标系统的CAN架构概念图。
如节点A 所拥有的坐标空间为(0-0.5,0-0.5),节点B 所用有的坐标空间为(0.5-1.0,0-0.5)。接下来,我们利用下图来说明CAN 点对点建立的算法。当一个新的节点欲加入CAN 系统时,新加入的节点会透过一个起始点(Bootstrap)随机的选择系统中的节点,并送出加入(JOIN)系统的讯息给随机选择的节点。当被选择到的节点收到加入的讯息时,则均分其所拥有的坐标空间。如下图所示,当节点E 加入节点D 的区域时,则D 将其所拥有坐标空间均分给E。
而在CAN 的系统中档案的储存方式是当节点欲分享新的档案加入CAN 系统时,CAN 系统会将其文件名称依照杂凑函数计算出一个坐标,并将档案信息储存在此坐标空间的节点。当节点欲搜寻档案时,CAN 也是利用每个节点所拥有的路由表(coordinate routing table)来搜寻档案。路由表内所储存的数据为记录在坐标空间中相邻节点的IP 地址及所拥有的空间信息。因此,当起始点收到系统中节点要求搜寻档案的讯息时,起始点会先利用杂凑函数计算出此档案所代表的坐标,起始点会从系统中任意选择一个节点,并将搜寻档案的坐标送给被起始点所选择的节点。被选择到的节点收到档案数据讯息时,会先查询档案数据是否存在节点中,如果存在则回报档案讯息给提出搜寻档案的节点。如果不存在,则节点会依照节点中的路由表,依据贪婪算法(greedy algorithm)找出一个与档案坐标最接近的节点,并转送此查询讯息,依照此搜寻方式直到找到档案为止
TT ACIRI中心的CAN(Content Addressable Networks) 项目独特之处在于采用多维的标识符空间来实现分布式散列算法。CAN将所有结点映射到一个n维的笛卡尔空间中,并为每个结点尽可能均匀的分配一块区域。CAN采用的散列函数通过对(key, value) 对中的key进行散列运算,得到笛卡尔空间中的一个点,并将(key, value) 对存储在拥有该点所在区域的结点内。CAN采用的路由算法相当直接和简单,知道目标点的坐标后,就将请求传给当前结点四邻中坐标最接近目标点的结点。CAN是一个具有良好可扩展性的系统,给定N个结点,系统维数为d,则路由路径长度为O(n1/d) ,每结点维护的路由表信息和网络规模无关为O(d) 。标题手工转换。
转换标题为:原文:分散式雜湊表;简体:分布式散列表;繁體:分散式雜湊表;
实际标题为:分散式雜湊表;当前显示为:分布式散列表
为了阅读方便,本文使用全文手工转换。转换内容:
简体:拓扑;繁體:拓樸; 当前用字模式下显示为→拓扑
简体:散列;繁體:雜湊; 当前用字模式下显示为→散列
关闭↑字词转换说明
字词转换是中文维基的一项自动转换,目的是通过计算机程序自动消除繁简、地区词等不同用字模式的差异,以达到阅读方便。字词转换包括全局转换和手动转换,本说明所使用的标题转换和全文转换技术,都属于手动转换。
如果您想对我们的字词转换系统提出一些改进建议,或者提交应用面更广的转换(中文维基百科全站乃至MediaWiki软件),或者报告转换系统的错误,请前往Wikipedia:字词转换请求或候选发表您的意见。
分布式散列表示意图
分布式散列表(英语:Distributed Hash Table,简称DHT)是分布式计算系统中的一类,用来将一个关键值(key)的集合分散到所有在分布式系统中的节点,并且可以有效地将讯息转送到唯一一个拥有查询者提供的关键值的节点(Peers)。这里的节点类似散列表中的储存位置。分布式散列表通常是为了拥有极大节点数量的系统,而且在系统的节点常常会加入或离开(例如网络断线)而设计的。在一个结构性的延展网络(overlay network)中,参加的节点需要与系统中一小部份的节点沟通,这也需要使用分布式散列表。分布式散列表可以用以建立更复杂的服务,例如分布式档案系统、点对点技术档案分享系统、合作的网页快取、多播、任播(anycast)、网域名称系统以及即时通讯等。
目录
[隐藏]
1 发展背景
2 性质
3 结构
3.1 关键值空间分割
3.2 延展网络
4 范例
4.1 分布式散列表实作与协定
4.2 分布式散列表的应用
5 参见
6 参考资料
7 外部链接 编辑] 发展背景
研究分布式散列表的主要动机是为了开发点对点系统,像是Napster、Gnutella及Freenet。这些系统得益于使用分散在互联网上的各项资源以提供实用的应用,特别在带宽及
文档评论(0)