本发明涉及计算机技术领域,尤其涉及一种dns域名解析系统。
背景技术:
dns(domainnamesystem,域名系统)是互联网上作为域名和ip地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网。它的工作过程如下:一个用户需要解析www.xxxxxx.com.cn域名所对应的ip时,该域名首先被发往首选dns服务器,首先dns服务器分析域名,并确定对于顶级域名cn具有绝对控制权的服务器位置,通过对cn域名服务器进行迭代查询,以获取com.cn域名服务器的信息,然后com.cn服务器将应答传送到xxxxxx.com.cn的域名服务器,最后,完成与xxxxxx.com.cn服务器的连接过程。
目前,dns应用技术成熟,在全球拥有大规模的部署。dns采用了树状系统结构和层次命名空间,便于数据管理,但是由于其解析完成的是域名与主机物理位置映射,而非直接面向资源数据,导致网络的灵活性降低,数据冗余性增加。
技术实现要素:
有鉴于此,本发明的实施例提供了一种可有效减少数据冗余、提高网络灵活性的dns域名解析系统。
一种dns域名解析系统,所述dns域名解析系统包括第一层环状结构chord0和第二层环状结构,在第一层环状结构chord0中每一个服务器都负责第二层结构中的一个环chordx,并记录该环chordx负责的sid值范围,在第二层结构中,每个服务器都会负责对应的鉴权服务器,鉴权服务器用来验证数据包中的数据信息或者服务请求是否合法。
进一步地,第二层结构中的环chordx的节点按照标识符大小顺时针环状排列。节点标识符取值域是【0,2m-1】,其中m为标识符的长度。
进一步地,每个节点设有一个路由表,每一个表项包含5项内容:开始标识符(start)、标识符区间(interval)、节点(node)、前驱(successor)及后继(predecessor)。
进一步地,每个节点还设有一个区间表,该表记录第二层环状结构的环chordx中的sid范围。
进一步地,第一层环状结构chord0的节点数为m,第二层环状结构的节点数为n,查找的逻辑路由跳数至多为*1ogm 4"g(1ogm logn)。
本发明的实施例提供的技术方案带来的有益效果是:本发明的dns域名解析系统可有效减少数据冗余、提高网络灵活性。
附图说明
图1是本发明dns域名解析系统的组成图。
图2是图1的dns域名解析系统进行域名解析的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
请参阅图1和图2,本发明一种dns域名解析系统利用一个层状chord系统进行解析,整个chord系统中含有一个由广域范围大量节点共同维护的sid表,该sid表依据一定的规则,分布到系统中的n个节点进行存储。当使用哈希算法得到一个资源的sid时,系统会将sid以及该资源所在的物理位置作为一个条目存储到最底层chord环中的某个节点。资源解析就是由资源的sid找到该sid所在的chord节点,并从该节点的数据库中获取这个资源所在的物理位置的过程。
在一体化标识网络现有设计中,采用的是单层chord系统。但随着网络规模不断扩大,网络中的资源查询次数也随之增加。对于单层chord算法,其查询复杂度为o(logn)。当n很大时,单层chord算法的查询速度较慢。为加快搜索速度,减少路由开销。
图1为双层chord环结构,由上至下,chord0为第一层环状结构,chord1,chord2,chord3等并行构成第二层环状结构。在第一层chord0结构中每一个服务器x都负责第二层结构中的一个环chordx,并记录该chordx负责的sid值范围。仿照一体化网络结构,在第二层结构中,每个服务器都会负责一部分鉴权服务器,鉴权服务器用来验证数据包中的数据信息或者服务请求是否合法。网络中每一个用户都会连接一个鉴权服务器,以保证网络的安全性。
在chord【1】协议中,节点按照标识符大小顺时针环状排列。节点标识符取值域是【0,2m-1】,其中m为标识符的长度。在一致哈希中,数据对象k被保存在后继节点上,记作successor(k),该节点的标识等于k值或紧跟着k值。一般情况下,节点的加入和离开都会使得chord系统重新分配系统节点的标识空间。
为了提高chord的路由效率,每个chord节点还需维护一个路由表。每一个表项包含5项内容:开始标识符(start)、标识符区间(interval)、节点(node)、前驱(successor)及后继(predecessor)。
双层chord架构为减少查询时间,每个节点除了维护路由表外还需添加一个区间表。对于顶层chord0中的节点x来说,该表记录x管理的二层chord环chordx中的sid范围,对于第二层chordx中的每个节点,同样有一个表记录着整个环chordx中的sid范围。
对于任意单个chord环,设节点数为n,由于chord中节点的查找过程效率类似于二分查找法,则整个算法的逻辑路由跳数至多为logn。在添加的面向
资源解析系统中,设chord的节点数为m,每一个二层chordx的节点数为n,则在该双层网络结构中,查找的逻辑路由跳数至多为*1ogm 4"g(1ogm logn)--(1);而对于相同规模的chord系统来说,其需要查找的逻辑路由跳数最多为log(m*n)=logm logv--(2);由公式(2)-(1)得结果为(logn)/m,即当系统中包含的节点数越多,文中提出的层状chord系统的优势就越明显。
资源解析过程如下:
1.用户向关键字服务器查询关键字,如资源存在,关键字服务器应答并返回该资源的服务标识。其中对于处于不同主机位置的同一资源,返回相同sid,但是携带的qos等附加信息有所区别。
2.用户选取一个需要查询获取的sid链接,发往鉴权服务器。如果该sid合法,鉴权服务器会将该查询信息发往管理该鉴权服务器的dns解析服务器;如果该sid不合法,鉴权服务器会拒绝此次查询。
3.dns解析服务器依靠查询类型进行查询判断。如果是非rsid查询类型,则按照正常的dns分布式方式进行查询;如果是rsid查询类型,则该数据包递交给资源解析系统。
4.在chord中,节点首先会查询节点中所维护的资源包含区间,如果sid落在该区间,则在本层chord环中查找,否则节点向上一层管理节点提交该查询。对于属于本层的资源查找,chord以正常工作方式逐次向后查找,直至返回正确资源存放地址结果;对于提交到上层的查找,chord同样以正常方式逐次向后查询sid,直到其落在正确查找区间,由该区间的负责节点向其管理的二层chord环递交查询,在二层chord环中继续查找直至返回正确资源存放地址结果。
5.用户与服务提供服务器链接,获取资源。
值得说明的是:在本发明的描述中,“若干个”的含义是一个或一个以上,除非另有明确具体的限定。在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接,可以是机械连接,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本文中,所涉及的前、后、上、下等方位词是以附图中零部件位于图中以及零部件相互之间的位置来定义的,只是为了表达技术方案的清楚及方便。应当理解,所述方位词的使用不应限制本申请请求保护的范围。
在不冲突的情况下,本文中上述实施例及实施例中的特征可以相互结合。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种dns域名解析系统,其特征在于:所述dns域名解析系统包括第一层环状结构chord0和第二层环状结构,在第一层环状结构chord0中每一个服务器都负责第二层结构中的一个环chordx,并记录该环chordx负责的sid值范围,在第二层结构中,每个服务器都会负责对应的鉴权服务器,鉴权服务器用来验证数据包中的数据信息或者服务请求是否合法。
2.如权利要求1所述的dns域名解析系统,其特征在于:第二层结构中的环chordx的节点按照标识符大小顺时针环状排列,节点标识符取值域是【0,2m-1】,其中m为标识符的长度。
3.如权利要求2所述的dns域名解析系统,其特征在于:每个节点设有一个路由表,每一个表项包含5项内容:开始标识符(start)、标识符区间(interval)、节点(node)、前驱(successor)及后继(predecessor)。
4.如权利要求3所述的dns域名解析系统,其特征在于:每个节点还设有一个区间表,该表记录第二层环状结构的环chordx中的sid范围。
5.如权利要求4所述的dns域名解析系统,其特征在于:第一层环状结构chord0的节点数为m,第二层环状结构的节点数为n,查找的逻辑路由跳数至多为*1ogm 4"g(1ogm logn)。
技术总结