一种实现域名树之间映射的方法和系统与流程

文档序号:14914837发布日期:2018-07-11 00:26阅读:206来源:国知局

本发明涉及互联网技术领域,具体涉及一种实现域名树之间映射的方法和系统。



背景技术:

根据目前的DNS技术协议,CNAME可以对一个名字本身进行映射。DNAME可以对除名字本身以下的子树进行映射。随着中文域名和新型顶级域的应用,中文域名的简繁体及其子树需要进行相互映射,用于同一个目的不同顶级域下的域名及其子树也需要进行互相映射。

但是目前没有适宜的解决方案。来自互联网系统联盟(ISC)的专家提出了“区克隆”的技术方案,但区克隆的方法不能很好解决子区映射的问题。如果区克隆要解决子区映射的问题,需要在各区之间进行实时协调,在实际执行中由于涉及管理层面的问题,致使子区映射由于协调机制过于复杂,从而无法真正投入实施。故区克隆的方法只能对不需授权子区的问题进行解决,无法对授权出去的域名进行映射,具有一定的局限性。



技术实现要素:

本发明提供一种实现域名树之间映射的方法和系统。其目的是把针对一个名字空间的查询完全转向另外一个域名的查询,从而实现两个域名树之间的完全映射。

本发明采取的技术方案是:

一种实现域名树之间映射的方法,包括以下步骤:

在需要进行域名树映射的域名的DNS记录中增加TNAME记录,所述TNAME记录的内容包括:进行树映射的域名,TNAME记录的类型及树映射指向的域名;

根据DNS的规则向域名服务器查询进行树映射的域名;通过分析查询结果,识别所查询域名是否含有TNAME记录;

如否,则按照DNS协议进行解析;

如是,则对所查域名进行合成,把所查域名合成为TNAME记录目标中所指向的域名;对所查域名合成相应的CNAME记录后按照DNS协议进行解析。

进一步地,如所查询域名未含有TNAME记录,则向DNS服务器查询其父域名的TNAME记录,直至查询到TNAME记录或者所查域名是顶级域为止;如查询到顶级域仍不含有TNAME记录,则按照DNS协议进行解析。

进一步地,所述TNAME记录的格式为Name-A TNAME Name-B,Name-A代表需要进行树映射的域名,TNAME代表TNAME记录的类型,Name-B代表树映射指向的域名。

进一步地,所述TNAME记录的查询类型可以包括:MX记录,A记录等记录。

一种实现域名树之间映射的系统,包括:

记录生成器、TNAME识别器、TNAME解析器及DNS解析器;

所述记录生成器,用以在需要进行域名树映射的域名的DNS记录中增加TNAME记录,所述TNAME记录的内容包括:进行树映射的域名,TNAME记录的类型及树映射指向的域名;

所述TNAME识别器根据DNS的规则向域名服务器查询进行树映射的域名;通过分析查询结果,识别所查域名是否含有TNAME记录,

如否,则转向DNS解析器按照DNS协议进行解析;

如是,则TNAME解析器对所查域名进行合成,把所查域名合成为TNAME记录目标中所指向的域名转向DNS解析器按照DNS协议进行解析。

进一步地,所述TNAME识别器,TNAME合成器及TNAME解析器依次部署于DNS解析器前端。

进一步地,如TNAME识别器所查询域名未含有TNAME记录,则向DNS服务器查询其父域名的TNAME记录,直至查询到TNAME记录或者所查域名是顶级域为止;如查询到顶级域仍不含有TNAME记录,则按照DNS协议进行解析。

进一步地,所述TNAME记录的格式为Name-A TNAME Name-B,Name-A代表需要进行树映射的域名,TNAME代表TNAME记录的类型,Name-B代表树映射指向的域名。

进一步地,所述TNAME记录的查询类型可以包括:MX记录,A记录等记录。通过采取上述技术方案,本发明能够克服CNAME只能支持本级域名映射,不能支持下级域名映射,而DNAME只能支持下级域名映射,不能支持本级域名映射的不足,增设新的类型的DNS记录,并提供相应的查询机制和合成机制,最终完善地解决子区映射的问题,实现整树映射,相对于区克隆技术,更加容易实现。

附图说明

图1为本发明一实施例中实现域名树之间映射的方法的流程示意图。

具体实施方式

工作原理:

如公知,原有的DNS记录如CNAME和DNAME都不能支持全树之间的映射,针对这样的不足,本发明通过增加新设计的TNAME记录,在域名树之间需要进行映射时进行配置,再通过完善的识别机制查询的进行映射的域名是否含有TNANE记录,如是,就意味着含有TNANE记录的域名进行过映射。

并更新相关DNS算法来实现全树的映射。也就是说,例如对需要进行域名树映射的域名Name-A和Name-B,在DNS系统里,配置Name-A TNAME Name-B记录。Name-A代表需要进行树映射的域名,TNAME代表新增的DNS记录的类型,DNS记录类型很多,如MX记录,A记录,CNAME记录等,Name-B代表树映射指向的域名,从而方便用户对两个域名进行域名树之间的完全映射。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。

如图1所示,在一实施例中,原有DNS解析器的基础上,在其前端部署TNAME识别器,TNAME合成器,以及TNAME解析器。

TNAME识别器负责识别所查域名是否含有TNAME记录,如果含有TNAME记录,则转给TNAME合成器进行处理,如不含TNAME记录,则直接转交DNS解析器处理。

TNAME合成器负责对TNAME记录中的所查域名进行合成,把所查域名合成为TNAME记录目标中所指向的域名。

TNAME解析器负责对合成后的域名配合生成相应的CANME记录,以方便后续不理解TNAME记录的解析器进行进一步查询。

随后,TNAME解析器将把所有信息提供给DNS解析器进行进一步处理。

各部分具体的实施如下:

TNAME识别器根据DNS的规则向域名服务器查询Name-A的TNAME记录。TNAME识别器对从DNS服务器返回的信息进行分析,识别所查域名本身是否含有TNAME记录。如果没有含有TNAME记录,则继续向DNS服务器查询其父域名的TNAME记录,直到查询到TNAME记录或者所查域名是顶级域为止。完成以上过程后,如果含有TNAME记录,则转TNAME合成器进行下一步处理,否则转向普通DNS处理器处理

TNAME合成器对所查域名进行合成,如果所查域名是Name-A,则转向进行Name-B的查询;如果所查域名是Name-A的子域名X.Name-A,则转向进行X.Name-B的查询。TNAME记录中除了包含域名本身的记录,在形式上不包含其子域名的记录,但是在算法上是包含的。配置了TNAME记录的域名,既可以查其本身,也可以查其子域名的记录。并转向TNAME解析器进行处理。(注:X在这里指代任何符合域名格式的字符串)

用户查域名的时候经常先在DNS缓存器里查询,如果有相应记录的话,就不需继续查询了。如果缓存器认识TNAME的话,可以减轻DNS系统的工作量。有些DNS缓存器可能不认识TNAME,TNAME解析器将对所查域名合成相应的CNAME记录。如果所查域名是Name-A,则生成Name-A CNAME Name-B记录;如果所查域名是Name-A的子域名X.Name-A,则生成X.Name-A CNAME X.Name-B的查询。并转向DNS解析器进行处理。

通过DNS解析器,按照原来的DNS协议流程开始处理。

上述方法可通过可执行程序的形式实现,程序可以存储于计算机可读存储介质,也可以通过处理器执行。

下面以实际的域名为例进行详细说明,在DNS的example.com区里具体配置如下:

Example.com TNAME Example.net

实现域名树之间映射的过程如下:

1、TNAME识别器根据DNS的规则向域名服务器查询Example.com的TNAME记录。TNAME识别器对从DNS服务器返回的信息进行分析,识别所查域名本身是否含有TNAME记录。如果没有含有TNAME记录,则继续向DNS服务器查询其父域名的TNAME记录,直到查询到TNAME记录或者所查域名是顶级域为止。完成以上过程后,如果含有TNAME记录,则转TNAME合成器进行下一步处理,否则转向普通DNS处理器处理

2、TNAME合成器对所查域名进行合成,如果所查域名是Example.com,则转向进行Example.net的查询;如果所查域名是Example.com的子域名X.Example.com,则转向进行X.Example.net的查询。并转向TNAME解析器进行处理。

3、为了方便对不认识TNAME的DNS缓存器的工作,TNAME解析器将对所查域名合成相应的CNAME记录。如果所查域名是Example.com,则生成Example.com CNAME Example.net记录;如果所查域名是Example.com的子域名X.Example.com,则生成X.Example.com CNAME X.Example.net的查询。并转向DNS解析器进行处理。

4、通过DNS解析器按照原来的DNS协议流程开始处理。

显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1