CN103139076B - 分布式哈希表互通网络系统、域间节点及实现方法 - Google Patents
分布式哈希表互通网络系统、域间节点及实现方法 Download PDFInfo
- Publication number
- CN103139076B CN103139076B CN201210037286.1A CN201210037286A CN103139076B CN 103139076 B CN103139076 B CN 103139076B CN 201210037286 A CN201210037286 A CN 201210037286A CN 103139076 B CN103139076 B CN 103139076B
- Authority
- CN
- China
- Prior art keywords
- domain
- node
- dht
- map information
- resource identification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种分布式哈希表(DHT)互通网络系统、域间节点及实现方法,该实现方法包括如下DHT查询请求处理流程:域间节点接收DHT查询请求,其中携带目的域信息及资源标识;域间节点根据接收的DHT查询请求中的目的域信息判断当前域是否是目的域;域间节点根据判断结果对所述DHT查询请求进行处理,包括,当前域不是目的域时,根据接收的DHT查询请求中的目的域信息查询域间映射信息,根据域间映射信息查询结果向下一跳域间节点转发所述域间DHT查询请求及资源标识;当前域是目的域时,根据接收的DHT查询请求发起域内查询流程。本发明系统、节点及方法可以解决现有DHT叠加网互通方案难以实现的问题。
Description
技术领域
本发明涉及通信系统,尤其涉及一种分布式哈希表互通网络系统、域间节点及实现方法。
背景技术
DHT(分布式哈希表)技术是一种广泛应用于P2P(Peer-to-Peer,对等)网络中的分布式资源查找网络结构,随着P2P技术的示范效应,该技术被引入到其它技术体制中用于构建高性能、可扩展的分布式数据库系统,比如亚马逊的Dynamo系统、身份位置分离技术HIP(主机标识协议)、LISP(名址分离网络协议)中的名址映射系统。P2P网络是在IP层网络之上构建的又一层网络,通常又被称为P2P overlay,通常被翻译为P2P叠加网或P2P覆盖网络,以突出显示其在IP层网络之上的特点。采用DHT算法构建的P2P叠加网则可称为DHT叠加网。类似IP网络,DHT叠加网也有自己的路由扩散机制和路由机制,不同在于这些机制运行在IP层之上,依赖于IP层的路由,且采用的算法与IP路由协议采用算法不同。
DHT算法种类较多,根据可以支持的系统规模、节点抖动频率假设,有适用于高抖动网络(P2P)的CHORD、PASTRY、KADEMLIA等,其查找跳数为O(Log2N),也有适用于稳定节点环境的单跳DHT技术。这些技术对节点的编址格式有一定差别,路由表的组织几乎完全不同,不同的DHT协议无法直接互通。当DHT为单一的互联网业务系统服务时,该缺点不明显,当用于构建运营商网络时,不同DHT查找数据库之间必须要解决互通性问题。
为此,如图1和图2所示,现有技术中提出了基于DHT的互通架构,通过建立一个专门用于互通的DHT叠加网来存储各DHT的入口信息。如图所示,现在技术在预见路由时,互通节点在互通DHT叠加网查询到目的域DHT的入口(互通节点)后,将DHT查询请求发送到目的域入口。但这一方案不具备可行性,这是因为DHT算法千差万别,目前也没有标准化,未来也很难标准化,而构建额外DHT需要所有域的互通节点都遵循一个DHT协议,比较困难。
发明内容
本发明要解决的技术问题是提供一种分布式哈希表(DHT)互通网络系统、域间节点及实现方法,以解决现有DHT叠加网互通方案难以实现的问题。
为了解决以上技术问题,本发明提供了一种分布式哈希表(DHT)互通网络的域间节点,该域间节点用于实现所在域与其他域之间的互通,包括:
存储单元,用于保存域间映射信息,其中包括目的域信息与下一跳域信息的映射关系;
查询请求接收单元,用于接收DHT查询请求,其中携带目的域信息及资源标识;
目的域判断单元,用于根据接收的DHT查询请求中的目的域信息判断当前域是否是目的域;
域间映射信息查询单元,当前域不是目的域时,用于根据接收的DHT查询请求中的目的域信息查询域间映射信息;
域间转发单元,用于根据域间映射信息查询结果向下一跳域间节点转发所述域间DHT查询请求及资源标识;
域内处理单元,当前域是目的域时,用于根据接收的DHT查询请求发起域内查询流程。
进一步地,所述存储单元还用于保存域内映射信息,其中包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系;
所述域内处理单元包括域内映射信息查询模块和域内查询请求处理模块,其中:
所述域内映射信息查询模块,用于根据接收的DHT查询请求中的资源标识查询域内映射信息;
所述域内查询请求处理模块,用于向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求。
进一步可选地,所述存储单元还用于保存域内映射信息,其中包括资源标识与负责节点或所述资源标识与下一跳节点的映射关系;
所述域间节点还包括资源库,用于保存资源;
所述域内处理单元包括:
负责节点判断模块,用于根据接收的DHT查询请求中的资源标识判断当前节点是否是所述资源标识的负责节点;
域内处理转发模块,用于在当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;
资源库查询反馈模块,用于在当前节点是负责节点时,查询所述资源库并反馈查询结果。
进一步地,所述域间节点还包括域间映射信息维护单元,用于根据接收的域间映射信息更新请求或配置指令更新域间映射信息;
所述接收单元,还用于接收所述域间映射信息更新请求或配置指令;
所述发送单元,还用于在接收到域间映射信息更新请求或配置指令后,向相邻的域间节点发送域间映射信息更新请求;
所述域间映射信息更新请求或配置指令中携带需要更新或创建的映射关系。
为解决以上技术问题,本发明还提供了一种分布式哈希表(DHT)互通网络系统,该系统包括若干个域,每个域包括若干个域内节点和至少一个如上所述的域间节点。
进一步地,所述域内节点包括:
存储单元,用于保存域内映射信息,其中包括资源标识与负责节点或所述资源标识与下一跳节点的映射关系;
资源库,用于保存资源;
接收单元,用于接收所述DHT查询请求;
目的域判断单元,用于根据接收的DHT查询请求中的目的域信息判断当前域是否是目的域;
发送单元,用于在当前域不是目的域时,向当前域的域间节点转发所述DHT查询请求;
负责节点判断单元,用于在当前域是目的域时,根据接收的DHT查询请求中的资源标识判断当前节点是否是所述资源标识的负责节点;
所述域内查询转发单元,用于在当前域是目的域,但当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,并向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;
所述资源库查询反馈单元,用于在当前域是目的域且当前节点是负责节点时,查询所述资源库并反馈查询结果。
为解决以上技术问题,本发明还提供了一种分布式哈希表(DHT)互通网络系统,该系统包括若干个域,每个域包括若干个域内节点和至少一个域间节点,所述域间节点包括域间互通逻辑单元和域内处理逻辑单元,其中:
所述域间互通逻辑单元,用于在当前域不是目的域时,根据接收的DHT查询请求中的目的域信息查询域间映射信息,并根据域间映射信息查询结果向下一跳域间节点转发所述域间DHT查询请求及资源标识;
域内处理逻辑单元,当前域是目的域时,用于根据接收的DHT查询请求中的资源标识查询域内映射信息,并向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;
所述域间映射信息包括目的域信息与下一跳域信息的映射关系;
所述域内映射信息,其中包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系。
进一步地,所述域内节点包括:
域间查询处理逻辑单元,用于在当前域不是目的域时,向当前域的域间节点的域间互通逻辑单元转发所述DHT查询请求;
域内查询处理逻辑单元,用于在当前域是目的域,但当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,并向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;在当前域是目的域且当前节点是负责节点时,查询资源库并反馈查询结果;
所述域内映射信息包括资源标识与负责节点或所述资源标识与下一跳节点的映射关系。
为解决以上技术问题,本发明还提供了一种分布式哈希表(DHT)互通网络系统实现方法,该系统包括若干个域,每个域包括至少一个用于实现域间互通的域间节点,所述域间节点负责保存域间映射信息,其中包括目的域信息与下一跳域间节点的映射关系,该实现方法包括如下DHT查询请求处理流程:
所述域间节点接收DHT查询请求,其中携带目的域信息及资源标识;
所述域间节点根据接收的DHT查询请求中的目的域信息判断当前域是否是目的域;
所述域间节点根据判断结果对所述DHT查询请求进行处理,包括,当前域不是目的域时,根据接收的DHT查询请求中的目的域信息查询域间映射信息,根据域间映射信息查询结果向下一跳域间节点转发所述域间DHT查询请求及资源标识;当前域是目的域时,根据接收的DHT查询请求发起域内查询流程。
进一步地,所述域间节点还负责保存域内映射信息,其中包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系;
所述域内查询流程包括:
根据接收的DHT查询请求中的资源标识查询域内映射信息;
向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求。
进一步地,所述域间节点还负责保存域内映射信息和资源库,所述域内映射信息包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系;
所述域内查询流程包括:
所述域间节点根据接收的DHT查询请求中的资源标识判断当前节点是否是所述资源标识的负责节点;
所述域间节点根据判断结果对所述DHT查询请求进行处理,包括,在当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;用于在当前节点是负责节点时,查询所述资源库并反馈查询结果。
进一步地,所述实现方法还包括如下域间映射信息维护流程:
所述域间节点接收所述域间映射信息更新请求或配置指令;
所述域间节点根据配置指令或根据接收的更新请求更新域间映射信息;
所述域间节点向相邻的域间节点发送域间映射信息更新请求;
其中,所述域间映射信息更新请求或配置指令中携带需要更新或创建的映射关系。
本发明分布式哈希表互通网络系统、节点和方法可基于现有的路由协议和路由器,扩展性好,成熟可靠;而且DHT查询和响应报文路由路径与普通IP报文路由路径相同,路由时延比现有技术DHT域间路由时延小。
附图说明
图1为现有DHT叠加网互通的架构示意图;
图2为现有DHT叠加网互通的方法流程示意图;
图3为本发明分布式哈希表(DHT)互通网络系统实施例1的架构示意图;
图4为图3中域间节点的模块结构示意图;
图5为图3中域间节点的另一模块结构示意图;
图6为图3中域内节点的模块结构示意图;
图7为本发明分布式哈希表(DHT)互通网络系统实施例2的架构示意图;
图8为本发明DHT查询请求处理流程的示意图;
图9为本发明DHT查询请求处理流程应用实例的示意图;
图10为DPR更新路由表的流程示意图。
具体实施方式
下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明分布式哈希表(DHT)互通网络系统实施例1,如图3所示,该系统包括若干个域(也称为DHT域),每个运营商独立维护一个或多个域。每个域包括若干个节点,根据节点实现的主要功能,可将每个域内的节点划分为域间节点和域内节点,一般地,每个域包括若干个域内节点和至少一个域间节点。
域间节点主要用于实现所在域与其他域之间的互通,而域内节点主要用于实现与域内其他节点之间的互通以及实现对资源的存储查询等功能,本发明所说的资源泛指主机信息(IP地址)、互联网用户信息(密码、开通业务)、内容(电影、音乐等)、信息(作者、简介、存储位置)等。
优选地,将资源的标识(ID)按照ID前缀(DHT前缀)进行分段,由不同的域负责,一个域负责一至多个DHT前缀下的资源存储,每个DHT域存储的资源的ID范围不同。可用DHT前缀的部分表示运营商/域代码,其余部分表示运营商内分配的资源ID,比如160bit的Resource-ID中,前32bit表示运营商/域代码,其中前20bit表示运营商,后12比特标识子域。
以下对域间节点和域内节点分别进行详细说明。
如图4和图5所示,本发明域间节点包括:
存储单元,用于保存域间映射信息,其中包括目的域信息与下一跳域信息的映射关系;
查询请求接收单元,用于接收DHT查询请求,其中携带目的域信息及资源标识;
目的域判断单元,用于根据接收的DHT查询请求中的目的域信息判断当前域是否是目的域;
域间映射信息查询单元,当前域不是目的域时,用于根据接收的DHT查询请求中的目的域信息查询域间映射信息;
域间转发单元,用于根据域间映射信息查询结果向下一跳域间节点转发所述域间DHT查询请求及资源标识;
域内处理单元,当前域是目的域时,用于根据接收的DHT查询请求发起域内查询流程。
优选地,所述存储单元还用于保存域内映射信息,其中包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系;
域间节点的域内处理单元可采用以下两种模块结构实现:
一、域间节点仅具有域间转发及域内转发功能
如图4所示,所述域内处理单元包括域内映射信息查询模块和域内查询请求处理模块,其中:
所述域内映射信息查询模块,用于根据接收的DHT查询请求中的资源标识查询域内映射信息;
所述域内查询请求处理模块,用于向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求。
二、域间节点同时具有域间转发、域内转发及域内节点功能
如图5所示,所述域间节点还包括资源库,用于保存资源;
所述域内处理单元包括:
负责节点判断模块,用于根据接收的DHT查询请求中的资源标识判断当前节点是否是所述资源标识的负责节点;
域内处理转发模块,用于在当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;
资源库查询反馈模块,用于在当前节点是负责节点时,查询所述资源库并反馈查询结果。
本发明所说的域间映射信息以及域内映射信息,可以采用现有路由表形式或路由表与转发表结合的形式体现。
为了实现域间映射信息维护,优选地,前述图4、5所示域间节点还可包括域间映射信息维护单元,用于根据接收的域间映射信息更新请求或配置指令更新域间映射信息;
所述接收单元,还用于接收所述域间映射信息更新请求或配置指令。
所述发送单元,还用于在接收到域间映射信息更新请求或配置指令后,向相邻的域间节点发送域间映射信息更新请求;
所述域间映射信息更新请求或配置指令中携带需要更新或创建的映射关系;
如图6所示,本发明域内节点包括:
存储单元,用于保存域内映射信息,其中包括资源标识与负责节点或所述资源标识与下一跳节点的映射关系;
资源库,用于保存资源;
接收单元,用于接收所述DHT查询请求;
目的域判断单元,用于根据接收的DHT查询请求中的目的域信息判断当前域是否是目的域;
发送单元,用于在当前域不是目的域时,向当前域的域间节点转发所述DHT查询请求;
负责节点判断单元,用于在当前域是目的域时,根据接收的DHT查询请求中的资源标识判断当前节点是否是所述资源标识的负责节点;
所述域内查询转发单元,用于在当前域是目的域,但当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,并向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;
所述资源库查询反馈单元,用于在当前域是目的域且当前节点是负责节点时,查询所述资源库并反馈查询结果。
当一个域包括两个或两个以上的域间节点,优选地,所述域内节点的发送单元根据域间节点的处理能力或权重向所在域的其中一个域间节点转发所述DHT查询请求。比如,若两个域间节点的能力比为1∶1则平分;若两个域间节点的分发能力为4∶6,则40%发到一个域间节点,60%发到另一个域间节点。
一个域包括两个或两个以上的域间节点,同一个域的不同域间节点接收域内节点转发DHT查询请求的权重相同或不同。
以下从另一角度,对本发明系统中的节点的模块结构进行解析说明。
如前所述,分布式哈希表(DHT)互通网络系统由至少两个运营商的DHT域构成,如图7所示,每个域包括若干个域内节点和至少一个域间节点,所述域间节点包括域间互通逻辑单元(本发明中也称为DHT互联路由器(DHT Peering Router,简称DPR))和域内处理逻辑单元(本发明中也称为DHT互联代理(DHT Peering Agent,简称DPA))。
DHT域之间通过DHT互联代理DPA(DHT Peering Agent)、DHT互联路由器(DHTPeering Router,DPR)进行互通。每个DHT域至少有一个DHT互联代理、DHT互联路由器。一个物理节点可同时兼任DHT互联代理、DHT互联路由器、DHT节点中的任意两种。
多个运营商之间的多个DHT互联路由器构成一个路由协议对等网络,在路由关系上各域的DPR是全同步的,但实际的网络拓扑可以根据需要设置部分用于汇聚流量的DPR,和当前IP网络中的BGP路由器组网一致。
每个DHT互联路由器上配置本域所负责的运营商/域代码,并通过标准路由协议交换彼此负责的DHT前缀(DHT Prefix),就如同交换IP地址前缀一样。根据DHT互联路由器运行的路由协议,DHT互联路由器构建路由表,并能路由DHT查询报文。
具体地,所述域间互通逻辑单元(DPR),用于在当前域不是目的域时,根据接收的DHT查询请求中的目的域信息查询域间映射信息,并根据域间映射信息查询结果向下一跳域间节点转发所述域间DHT查询请求及资源标识;
DHT互联代理是本域的一个客户机,其可以下载DHT路由表,将它域转发过来的DHT查询请求路由到合适的DHT节点进行处理。具体地,域内处理逻辑单元(DPA),在当前域是目的域时,用于根据接收的DHT查询请求中的资源标识查询域内映射信息,并向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求。
所述域间映射信息包括目的域信息与下一跳域信息的映射关系;
所述域内映射信息包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系。
所述域内节点(也称为DHT节点)包括:
域间查询处理逻辑单元,用于在当前域不是目的域时,向当前域的域间节点的域间互通逻辑单元转发所述DHT查询请求;
域内查询处理逻辑单元,用于在当前域是目的域,但当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,并向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;在当前域是目的域且当前节点是负责节点时,查询资源库并反馈查询结果;
所述域内映射信息包括资源标识与负责节点或所述资源标识与下一跳节点的映射关系。
所述目的域信息采用资源标识前缀的方式体现,不同的域对应不同的标识前缀,一个域对应一个或多个资源标识前缀。
一般地,路由表包含可以到目的地的所有下一跳信息,及一些其他的信息。转发表只包含最优的下一跳信息,不包含其他信息。转发表根据路由表信息来构建。可理解地,转发表查表速度快,可提高报文转发处理速度。
以下结合图7所示架构对实现方法进行具体说明:
本发明分布式哈希表(DHT)互通网络系统的查询方法基于前述系统实现,该系统包括若干个域,每个域包括至少一个用于实现域间互通的域间节点,所述域间节点负责保存域间映射信息,其中包括目的域信息与下一跳域间节点的映射关系,如图8所示,该方法包括:
步骤801:域间节点接收DHT查询请求,其中携带目的域信息及资源标识;
步骤802:域间节点根据接收的DHT查询请求中的目的域信息判断当前域是否是目的域;
步骤803:域间节点根据判断结果对所述DHT查询请求进行处理,包括,当前域不是目的域时,根据接收的DHT查询请求中的目的域信息查询域间映射信息,根据域间映射信息查询结果向下一跳域间节点转发所述域间DHT查询请求及资源标识;当前域是目的域时,根据接收的DHT查询请求发起域内查询流程。
根据域间节点的功能不同,域内查询流程包括以下两种实现方式。
方式一、域间节点不具有域内节点的资源维护查询功能;
所述域间节点还负责保存域内映射信息,其中包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系;
所述域内查询流程包括:
根据接收的DHT查询请求中的资源标识查询域内映射信息;
向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求。
方式二、域间节点同时具有域内节点的资源维护查询功能;
所述域间节点还负责保存域内映射信息和资源库,所述域内映射信息包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系;
所述域内查询流程包括:
所述域间节点根据接收的DHT查询请求中的资源标识判断当前节点是否是所述资源标识的负责节点;
所述域间节点根据判断结果对所述DHT查询请求进行处理,包括,在当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;用于在当前节点是负责节点时,查询所述资源库并反馈查询结果。
另外,本发明实现方法还包括如下域间映射信息维护流程:
所述域间节点接收所述域间映射信息更新请求或配置指令;
所述域间节点根据配置指令或根据接收的更新请求更新域间映射信息;
所述域间节点向相邻的域间节点发送域间映射信息更新请求;
其中,所述域间映射信息更新请求或配置指令中携带需要更新或创建的映射关系;
本发明分布式哈希表互通网络系统和方法可基于现有的路由协议和路由器,扩展性好,成熟可靠;而且DHT查询和响应报文路由路径与普通IP报文路由路径相同,路由时延比现有技术DHT域间路由时延小。
以下结合图7,给出具体的应用实例,该应用实例中,查询请求所查询资源的ID不在源域DHT前缀范围内,源域DHT客户端的DHT目的域资源查询方法如下:
步骤901:客户端发出DHT查询请求,该查询到达源域DHT节点即域1节点1;
步骤902:节点1查询本地DHT前缀表,得知该查询的资源ID不在本域;
步骤903:节点1将域间查询请求发给源域的DHT互联路由器即本域(域1)的DPR;
步骤904-905:域1的DPR取出DHT查询消息中的资源ID,并取出运营商/域前缀,根据此前缀查询转发表,将DHT查询消息转发给下一跳域3的DPR;
如前所述,域间映射信息包括目的域信息与下一跳域信息的映射关系。
步骤906-907:域3的DPR根据转发表将查询转发给域2的DPR;
源域到目的域之间路由路径上的DHT互联路由器(DPR)收到DHT查询报文时,其取出DHT头部的目标资源ID的前缀,查找域间映射信息,并根据转发表转发至下一跳。
本步骤可选。若源域DHT互联路由器的下一跳即为目的域DHT互联路由器,本步骤不执行。若源域到目的域之间路由路径上有一至多个其他域的DHT互联路由器,这些其他域的DHT互联路由器均执行该步骤,进行路由。该实施例中,域1至域2间只需要经过域2。
步骤908:域2的DPR取出消息中的资源ID中的运营商/域前缀,查询本地路由表,得知该查询消息的资源ID位于本域,因此将消息转发给本域的DPA处理;
步骤909:域2的DPA取出消息中的资源ID查询域内映射信息(如本地DHT路由表),获得负责节点的地址;
路由表包含一至多个DHT节点信息。路由表查询:查询负责该资源ID的DHT节点,或查询DHT拓扑上离负责该资源ID的DHT节点最近的DHT节点。由于DHT算法不同,路由表具体构造和查询方式差异较大。具体的域内查询方法可采用现有技术实现,本发明对此不做限定。
域内映射信息(如本地DHT路由表)包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系。
步骤910:上述DPA根据DHT路由表查询结果将消息发送给负责节点;
在步骤909-910中,根据DHT算法的不同,转发行为可能有所不同,比如系统采用CHORD、PASTRY等算法,DPA的DHT路由表很可能没有包含最终负责节点的信息,因此仅发送给下一跳节点,经过若干中间节点后可以最终到达负责节点。
步骤911:负责节点查询本地资源库,读出数据打包至查询响应中,发送查询响应给DPA;
可理解地,负责节点接收到查询后,也要先进行本域是不是目的域以及本节点是否是负责节点的判断。
步骤912-916:DHT查询响应经过DPR、DHT节点1,最终返回给客户端;
进一步地,本实施例中如果考虑可靠性和负荷分担问题,则每个域需布置多个DPR设备,则在步骤903中,域1的DHT节点1可以根据某种预定义规则将消息分发到多个本域DPR中的一个。而对于互通的DPR而言,一个域存在多个DPR,将使得路由表中负责该域前缀的路由表项存在多个,如果管理者不做任何特殊配置,源DPR将根据负荷分担原则将DHT查询均等地发给多个目的地DPR中的一个。管理员也可以将本域DHT前缀进一步细分,在本域的不同的DPR中赋予不同的路径权重,这样路由扩散DHT对等互联网络中后,将有部分前缀将某个DPR选为首选路由,其它DPR为次选路由,从而实现流量工程的目标。
图10示出了本发明DPR更新路由表的过程,包括以下步骤:
步骤1001:DPR接收DHT前缀的配置信息,该配置信息可能通过网管获得,也可能是经过其它路由协议进行导入;
步骤1002:DPR更新路由表,并发送路由更新请求到相邻DPR;
步骤1003:其它DPR路由器更新自己的路由表并返回更新响应,DPR收到响应,结束路由更新过程。
在本实施例中,假定采用BGP路由协议实现,BGP通过其Update消息中NLRI(Network Layer Reachable Information)携带DHT前缀信息,由于现有的BGP协议不支持此类型的前缀,需要定义一个新的NLRI类型,但对基本协议交互过程没有新的影响。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
Claims (12)
1.一种分布式哈希表(DHT)互通网络的域间节点,其特征在于,该域间节点用于实现所在域与其他域之间的互通,包括:
存储单元,用于保存域间映射信息,其中包括目的域信息与下一跳域信息的映射关系;
查询请求接收单元,用于接收DHT查询请求,其中携带目的域信息及资源标识;
目的域判断单元,用于根据接收的DHT查询请求中的目的域信息判断当前域是否是目的域;
域间映射信息查询单元,当前域不是目的域时,用于根据接收的DHT查询请求中的目的域信息查询域间映射信息;
域间转发单元,用于根据域间映射信息查询结果向下一跳域间节点转发域间DHT查询请求及资源标识;
域内处理单元,当前域是目的域时,用于根据接收的DHT查询请求发起域内查询流程;
所述存储单元还用于保存域内映射信息,其中包括资源标识与负责节点或所述资源标识与下一跳节点的映射关系;
所述域间节点还包括资源库,用于保存资源;
所述域内处理单元包括:
负责节点判断模块,用于根据接收的DHT查询请求中的资源标识判断当前节点是否是所述资源标识的负责节点;
域内处理转发模块,用于在当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;
资源库查询反馈模块,用于在当前节点是负责节点时,查询所述资源库并反馈查询结果。
2.如权利要求1所述的域间节点,其特征在于:所述存储单元还用于保存域内映射信息,其中包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系;
所述域内处理单元包括域内映射信息查询模块和域内查询请求处理模块,其中:
所述域内映射信息查询模块,用于根据接收的DHT查询请求中的资源标识查询域内映射信息;
所述域内查询请求处理模块,用于向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求。
3.如权利要求1所述的域间节点,其特征在于:
所述域间节点还包括域间映射信息维护单元,用于根据接收的域间映射信息更新请求或配置指令更新域间映射信息;
接收单元,还用于接收所述域间映射信息更新请求或配置指令;
发送单元,还用于在接收到域间映射信息更新请求或配置指令后,向相邻的域间节点发送域间映射信息更新请求;
所述域间映射信息更新请求或配置指令中携带需要更新或创建的映射关系。
4.一种分布式哈希表(DHT)互通网络系统,其特征在于,该系统包括若干个域,每个域包括若干个域内节点和至少一个如权利要求1至3中任一项所述的域间节点。
5.如权利要求4所述的系统,其特征在于,所述域内节点包括:
存储单元,用于保存域内映射信息,其中包括资源标识与负责节点或所述资源标识与下一跳节点的映射关系;
资源库,用于保存资源;
接收单元,用于接收所述DHT查询请求;
目的域判断单元,用于根据接收的DHT查询请求中的目的域信息判断当前域是否是目的域;
发送单元,用于在当前域不是目的域时,向当前域的域间节点转发所述DHT查询请求;
负责节点判断单元,用于在当前域是目的域时,根据接收的DHT查询请求中的资源标识判断当前节点是否是所述资源标识的负责节点;
域内查询转发单元,用于在当前域是目的域,但当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,并向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;
资源库查询反馈单元,用于在当前域是目的域且当前节点是负责节点时,查询所述资源库并反馈查询结果。
6.如权利要求4所述的系统,其特征在于:一个域包括两个或两个以上的域间节点,所述域内节点的发送单元根据域间节点的处理能力或预设权重向所在域的其中一个域间节点转发所述DHT查询请求。
7.如权利要求4所述的系统,其特征在于:目的域信息采用资源标识前缀的方式体现,不同的域对应不同的标识前缀,一个域对应一个或多个资源标识前缀。
8.一种分布式哈希表(DHT)互通网络系统,其特征在于,该系统包括若干个域,每个域包括若干个域内节点和至少一个域间节点,所述域间节点包括域间互通逻辑单元和域内处理逻辑单元,其中:
所述域间互通逻辑单元,用于在当前域不是目的域时,根据接收的DHT查询请求中的目的域信息查询域间映射信息,并根据域间映射信息查询结果向下一跳域间节点转发域间DHT查询请求及资源标识;
域内处理逻辑单元,当前域是目的域时,用于根据接收的DHT查询请求中的资源标识查询域内映射信息,并向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;
所述域间映射信息包括目的域信息与下一跳域信息的映射关系;
所述域内映射信息,其中包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系;
所述域内节点包括:
域间查询处理逻辑单元,用于在当前域不是目的域时,向当前域的域间节点的域间互通逻辑单元转发所述DHT查询请求;
域内查询处理逻辑单元,用于在当前域是目的域,但当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,并向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;在当前域是目的域且当前节点是负责节点时,查询资源库并反馈查询结果;
所述域内映射信息包括资源标识与负责节点或所述资源标识与下一跳节点的映射关系。
9.如权利要求8所述的系统,其特征在于:目的域信息采用资源标识前缀的方式体现,不同的域对应不同的标识前缀,一个域对应一个或多个资源标识前缀。
10.一种分布式哈希表(DHT)互通网络系统实现方法,其特征在于,该系统包括若干个域,每个域包括至少一个用于实现域间互通的域间节点,所述域间节点负责保存域间映射信息,其中包括目的域信息与下一跳域间节点的映射关系,该实现方法包括如下DHT查询请求处理流程:
所述域间节点接收DHT查询请求,其中携带目的域信息及资源标识;
所述域间节点根据接收的DHT查询请求中的目的域信息判断当前域是否是目的域;
所述域间节点根据判断结果对所述DHT查询请求进行处理,包括,当前域不是目的域时,根据接收的DHT查询请求中的目的域信息查询域间映射信息,根据域间映射信息查询结果向下一跳域间节点转发域间DHT查询请求及资源标识;当前域是目的域时,根据接收的DHT查询请求发起域内查询流程;
所述域间节点还负责保存域内映射信息和资源库,所述域内映射信息包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系;
所述域内查询流程包括:
所述域间节点根据接收的DHT查询请求中的资源标识判断当前节点是否是所述资源标识的负责节点;
所述域间节点根据判断结果对所述DHT查询请求进行处理,包括,在当前节点不是负责节点时,根据接收的DHT查询请求中的资源标识查询域内映射信息,向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求;用于在当前节点是负责节点时,查询所述资源库并反馈查询结果。
11.如权利要求10所述的方法,其特征在于:所述域间节点还负责保存域内映射信息,其中包括资源标识与所述资源标识的负责节点或所述资源标识与下一跳节点的映射关系;
所述域内查询流程包括:
根据接收的DHT查询请求中的资源标识查询域内映射信息;
向查询到的映射关系中的负责节点或下一跳节点转发所述DHT查询请求。
12.如权利要求10所述的实现方法,其特征在于,所述实现方法还包括如下域间映射信息维护流程:
所述域间节点接收所述域间映射信息更新请求或配置指令;
所述域间节点根据配置指令或根据接收的更新请求更新域间映射信息;
所述域间节点向相邻的域间节点发送域间映射信息更新请求;
其中,所述域间映射信息更新请求或配置指令中携带需要更新或创建的映射关系。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210037286.1A CN103139076B (zh) | 2011-11-23 | 2012-02-17 | 分布式哈希表互通网络系统、域间节点及实现方法 |
PCT/CN2012/085020 WO2013075636A1 (zh) | 2011-11-23 | 2012-11-22 | 分布式哈希表互通网络系统、域间节点及实现方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110375691 | 2011-11-23 | ||
CN201110375691X | 2011-11-23 | ||
CN201110375691.X | 2011-11-23 | ||
CN201210037286.1A CN103139076B (zh) | 2011-11-23 | 2012-02-17 | 分布式哈希表互通网络系统、域间节点及实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103139076A CN103139076A (zh) | 2013-06-05 |
CN103139076B true CN103139076B (zh) | 2017-11-24 |
Family
ID=48469119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210037286.1A Active CN103139076B (zh) | 2011-11-23 | 2012-02-17 | 分布式哈希表互通网络系统、域间节点及实现方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103139076B (zh) |
WO (1) | WO2013075636A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111245727B (zh) * | 2020-01-07 | 2022-08-12 | 深圳市网心科技有限公司 | 基于dht网络的消息路由方法、电子设备、代理节点及介质 |
CN111639140A (zh) * | 2020-06-08 | 2020-09-08 | 杭州复杂美科技有限公司 | 分布式数据存储方法、设备和存储介质 |
US20240106889A1 (en) * | 2021-10-28 | 2024-03-28 | Boe Technology Group Co., Ltd. | Data resource storage method and apparatus, data resource query method and apparatus, and electronic device |
CN114567492B (zh) * | 2022-03-04 | 2023-12-01 | 云南电网有限责任公司 | 基于dht网络的控制器隐藏方法、装置、系统及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378392A (zh) * | 2007-08-29 | 2009-03-04 | 华为技术有限公司 | 一种p2p环境下资源查询的方法和装置 |
CN101399743A (zh) * | 2007-09-28 | 2009-04-01 | 华为技术有限公司 | 在基于分布式哈希表的对等网络中查找数据的方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4353239B2 (ja) * | 2006-11-22 | 2009-10-28 | ソニー株式会社 | コンタクト先情報登録方法、ノードおよび分散ハッシュテーブル |
CN101510897B (zh) * | 2009-03-30 | 2012-02-01 | 北京邮电大学 | 针对层次化主机标识、基于叠加式dht的寻址系统和方法 |
-
2012
- 2012-02-17 CN CN201210037286.1A patent/CN103139076B/zh active Active
- 2012-11-22 WO PCT/CN2012/085020 patent/WO2013075636A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378392A (zh) * | 2007-08-29 | 2009-03-04 | 华为技术有限公司 | 一种p2p环境下资源查询的方法和装置 |
CN101399743A (zh) * | 2007-09-28 | 2009-04-01 | 华为技术有限公司 | 在基于分布式哈希表的对等网络中查找数据的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103139076A (zh) | 2013-06-05 |
WO2013075636A1 (zh) | 2013-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101607879B1 (ko) | 콘텐트 네트워킹을 위한 적응적 다중-인터페이스 사용 | |
US10574574B2 (en) | System and method for BGP sFlow export | |
CN104718733B (zh) | 基于分组的标识符定位符网络协议(ilnp)负载平衡和路由选择的方法和系统 | |
JP2021530908A (ja) | SRv6とBGPを使用するマルチクラウド接続 | |
US20130282860A1 (en) | Name-Based Neighbor Discovery and Multi-Hop Service Discovery in Information-Centric Networks | |
US8116289B2 (en) | Internetworking nodes based on connections, membership, and location | |
US10554555B2 (en) | Hash-based overlay routing architecture for information centric networks | |
CN103618801B (zh) | 一种p2p资源共享的方法、设备及系统 | |
CN106059921A (zh) | 一种基于sdn技术和ccn框架的网络层的内容路由系统及其工作方式 | |
CN103139076B (zh) | 分布式哈希表互通网络系统、域间节点及实现方法 | |
US10536368B2 (en) | Network-aware routing in information centric networking | |
WO2022089169A1 (zh) | 计算路由信息发送方法、装置、设备及存储介质 | |
Jingjing et al. | The deployment of routing protocols in distributed control plane of SDN | |
CN107404438A (zh) | 网络路由方法和网络路由系统 | |
JP3949696B2 (ja) | プロトコル高速化装置 | |
Yassine et al. | Routing approaches in named data network: a survey and emerging research challenges | |
Kim et al. | Scalable name-based inter-domain routing for information-centric networks | |
US10033642B2 (en) | System and method for making optimal routing decisions based on device-specific parameters in a content centric network | |
CN112272143B (zh) | 一种路由学习和转发方法 | |
Masuda et al. | Splitable: Toward routing scalability through distributed bgp routing tables | |
Meijerink et al. | Implementation and Evaluation of Distributed Geographical Routing | |
CN102420832A (zh) | 一种应用于云环境网络交互引擎及实现方法 | |
Ali et al. | An Efficient Routing Scheme for Overlay Network of SOAP Proxies in Constrained Networks | |
Li et al. | SVDR: A scalable virtual domain-based routing scheme for CCN | |
JP4358244B2 (ja) | プロトコル高速化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |