CN111327714A - 域名递归查询方法、系统以及服务器、dns系统 - Google Patents

域名递归查询方法、系统以及服务器、dns系统 Download PDF

Info

Publication number
CN111327714A
CN111327714A CN201811538638.5A CN201811538638A CN111327714A CN 111327714 A CN111327714 A CN 111327714A CN 201811538638 A CN201811538638 A CN 201811538638A CN 111327714 A CN111327714 A CN 111327714A
Authority
CN
China
Prior art keywords
address
domain name
local
user
query request
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.)
Pending
Application number
CN201811538638.5A
Other languages
English (en)
Inventor
王海燚
刘紫千
姜松
佟欣哲
刘式颖
常力元
陈林
刘长波
张昊迪
樊宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201811538638.5A priority Critical patent/CN111327714A/zh
Publication of CN111327714A publication Critical patent/CN111327714A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/69Types of network addresses using geographic information, e.g. room number

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种域名递归查询方法、系统以及DNS递归服务器、DNS系统、存储介质,涉及通信技术领域,其中方法包括:建立包含有第一地域与第一本地IP地址之间的映射关系的第一映射表;接收第一域名查询请求,获得第一域名查询请求中的第一用户IP地址,根据IP地理位置数据库确定与第一用户IP地址相对应的第一用户归属区域;根据第一映射表获得与第一用户归属区域相对应的第一本地IP地址;将第一本地IP地址加入第一域名查询请求并发送。本公开的方法、系统以及服务器、DNS系统、存储介质,能够有效提升DNS调度的精准程度,大幅减少了递归查询的请求次数,有效降低了递归服务器和权威服务器的资源消耗,提升了用户体验。

Description

域名递归查询方法、系统以及服务器、DNS系统
技术领域
本公开涉及通信技术领域,尤其涉及一种域名递归查询方法、系统以及DNS递归服务器、DNS系统、存储介质。
背景技术
域名递归查询是指客户端向指定DNS服务器发出域名解析请求后,服务器通过从根区开始寻找该域名授权服务器的方式遍历域名空间,最后通过与授权服务器交互获得域名对应的应答记录,再返回给客户端。Edns-client-subnet(ECS)是Google提出的一份DNS扩展协议,可应用于DNS智能调度、CDN等领域,主要作用是在域名递归查询时通过扩展option字段,将用户的源IP传递给权威DNS,为用户提供更精准的解析结果。
目前,在利用ECS机制进行域名递归查询过程中,默认情况下在域名递归查询请求包中插入掩码长度为24位的网段地址,递归和权威DNS服务器启用ECS机制将导致递归查询请求量和DNS缓存容量剧增。当前的应对策略通常是缩短掩码长度以降低资源消耗和请求数量,但对于IPv4地址紧缺造成的广泛存在的IP地址离散化问题,将导致解析结果不精准,用户体验不佳等不足。
发明内容
有鉴于此,本公开要解决的一个技术问题是提供一种域名递归查询方法、系统以及DNS递归服务器、DNS系统、存储介质。
根据本公开的一个方面,提供一种域名递归查询方法,包括:生成IP地理位置数据库;建立包含有第一地域与第一本地IP地址之间的映射关系的第一映射表;其中,所述第一本地IP地址用于代表所述第一地域内的所有IP地址;接收第一域名查询请求,获得所述第一域名查询请求中的第一用户IP地址,根据所述IP地理位置数据库确定与所述第一用户IP地址相对应的第一用户归属区域;根据所述第一映射表获得与所述第一用户归属区域相对应的所述第一本地IP地址;将所述第一本地IP地址加入所述第一域名查询请求并发送,用以请求与所述第一域名查询请求中的第一域名相匹配的第一IP地址。
可选地,所述将所述第一本地IP地址加入所述第一域名查询请求并发送包括:将所述第一本地IP地址加入到所述第一域名查询请求中的EDNS0 option的address字段,用以替代所述第一用户IP地址;将所述第一域名查询请求发送到DNS权威服务器,用以请求所述第一IP地址。
可选地,在所述DNS权威服务器中部署与所述第一映射表相同的第二映射表;所述DNS权威服务器获取所述address字段携带的所述第一本地IP地址,根据所述第二映射表获取与所述第一本地IP地址相对应的所述第一地域,作为用户实际所属区域;所述DNS权威服务器获得所述第一域名查询请求携带的第一域名,确定与所述第一域名相匹配的多个IP地址,从所述多个IP地址中选取与所述用户实际所属区域最近的地区所对应的IP地址作为所述第一IP地址。
可选地,向用户发送并缓存所述第一IP地址;接收第二域名查询请求,获得所述第二域名查询请求中的第二用户IP地址,根据所述IP地理位置数据库确定与所述第二用户IP地址相对应的第二用户归属区域;如果确定所述第二域名查询请求中携带的第二域名以及所述第二用户归属区域分别与所述第一域名以及所述第一用户归属区域相同,则将所述第一IP地址作为与所述第二域名相匹配的第二IP地址并返回。
可选地,通过预先设定的同步机制进行所述第二映射表的更新,以使所述第一映射表与所述第二映射表保持一致;其中,所述同步机制包括:定时同步、所述第一映射表发生变化时进行同步;通过加密方式进行同步,所述加密方式包括:对称加密、非对称加密、端到端加密、链路加密。
可选地,所述生成IP地理位置数据库包括:采用预设的IP收集方式收集IP地址信息,生成并更新所述IP地理位置数据库;其中,所述IP收集方式包括:对接运营商IP地址资源管理系统获取IP地址信息、购买第三方IP数据服务获取IP地址信息。
可选地,根据预先设定的划分规则进行地域划分,其中,所述地域划分的颗粒度包括省、市、自定义区域;从已完成划分的第一地域中选取一个本地IP地址作为所述第一本地IP地址,用于代表所述第一地域的所有IP地址;生成所述第一地域和所述第一本地IP地址一一对应的映射关系。
可选地,接收到所述第一域名查询请求,根据预先设定的判决规则判断是否需要对所述第一域名查询请求启用ECS机制;其中,所述判决规则包括:域名访问频次、网站排名、域名白名单。
可选地,如果根据域名访问频次或网站排名确定需要对所述第一域名查询请求启用ECS机制,则将所述第一域名查询请求中的所述第一域名添加在所述域名白名单中。
根据本发明的另一方面,提供一种域名递归查询系统,包括:IP地址收集模块,用于生成IP地理位置数据库;地址映射模块,用于建立包含有第一地域与第一本地IP地址之间的映射关系的第一映射表;其中,所述第一本地IP地址用于代表所述第一地域内的所有IP地址;地域判断模块,用于接收第一域名查询请求,获得所述第一域名查询请求中的第一用户IP地址,根据所述IP地理位置数据库确定与所述第一用户IP地址相对应的第一用户归属区域;地址查询模块,用于根据所述第一映射表获得与所述第一用户归属区域相对应的所述第一本地IP地址,将所述第一本地IP地址加入所述第一域名查询请求并发送,用以请求与所述第一域名查询请求中的第一域名相匹配的第一IP地址。
可选地,所述地址查询模块,用于将所述第一本地IP地址加入到所述第一域名查询请求中的EDNS0 option的address字段,用以替代所述第一用户IP地址;将所述第一域名查询请求发送到DNS权威服务器,用以请求所述第一IP地址。
可选地,在所述DNS权威服务器中部署与所述第一映射表相同的第二映射表;所述DNS权威服务器获取所述address字段携带的所述第一本地IP地址,根据所述第二映射表获取与所述第一本地IP地址相对应的所述第一地域,作为用户实际所属区域;所述DNS权威服务器获得所述第一域名查询请求携带的第一域名,确定与所述第一域名相匹配的多个IP地址,从所述多个IP地址中选取与所述用户实际所属区域最近的地区所对应的IP地址作为所述第一IP地址。
可选地,缓存模块,用于向用户发送并缓存所述第一IP地址;所述地域判断模块,用于接收第二域名查询请求,获得所述第二域名查询请求中的第二用户IP地址,根据所述IP地理位置数据库确定与所述第二用户IP地址相对应的第二用户归属区域;所述缓存模块,用于如果确定所述第二域名查询请求中携带的第二域名以及所述第二用户归属区域分别与所述第一域名以及所述第一用户归属区域相同,则将所述第一IP地址作为与所述第二域名相匹配的第二IP地址并返回。
可选地,所述地址映射模块,用于通过预先设定的同步机制进行所述第二映射表的更新,以使所述第一映射表与所述第二映射表保持一致;其中,所述同步机制包括:定时同步、所述第一映射表发生变化时进行同步;通过加密方式进行同步,所述加密方式包括:对称加密、非对称加密、端到端加密、链路加密。
可选地,所述IP地址收集模块,用于采用预设的IP收集方式收集IP地址信息,生成并更新所述IP地理位置数据库;其中,所述IP收集方式包括:对接运营商IP地址资源管理系统获取IP地址信息、购买第三方IP数据服务获取IP地址信息。
可选地,所述地址映射模块,用于根据预先设定的划分规则进行地域划分,其中,所述地域划分的颗粒度包括省、市、自定义区域;从已完成划分的第一地域中选取一个本地IP地址作为所述第一本地IP地址,用于代表所述第一地域的所有IP地址;生成所述第一地域和所述第一本地IP地址一一对应的映射关系。
可选地,所述地域判断模块,用于接收到所述第一域名查询请求,根据预先设定的判决规则判断是否需要对所述第一域名查询请求启用ECS机制;其中,所述判决规则包括:域名访问频次、网站排名、域名白名单。
可选地,所述地域判断模块,用于如果根据域名访问频次或网站排名确定需要对所述第一域名查询请求启用ECS机制,则将所述第一域名查询请求中的所述第一域名添加在所述域名白名单中。
根据本发明的又一方面,提供一种域名递归查询系统,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的方法。
根据本发明的又一方面,提供一种DNS递归服务器,包括:如上所述的域名递归查询系统。
根据本发明的又一方面,提供一种DNS系统,包括:如上所述的DNS递归服务器、DNS权威服务器。
根据本公开的再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上述的方法。
本公开的域名递归查询方法、系统以及DNS递归服务器、DNS系统、存储介质,针对由于IPv4地址紧缺造成的广泛存在的IP地址离散化情况,能够有效提升DNS调度的精准程度,大幅减少了递归查询的请求次数,有效降低了递归服务器和权威服务器的资源消耗,提升了用户体验。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本公开的域名递归查询方法的一个实施例的流程示意图;
图2为根据本公开的域名递归查询方法的一个实施例中缓存发送IP地址的流程示意图;
图3为根据本公开的域名递归查询系统的一个实施例的模块示意图;
图4为根据本公开的DNS系统的一个实施例的模块示意图;
图5为根据本公开的域名递归查询系统的又一个实施例的模块示意图。
具体实施方式
下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。下面结合各个图和实施例对本公开的技术方案进行多方面的描述。
下文中的“第一”、“第二”等仅为描述上相区别,并没有其它特殊的含义。
图1为根据本公开的域名递归查询方法的一个实施例的流程示意图,如图1所示:
步骤101,生成IP地理位置数据库。
步骤102,建立包含有第一地域与第一本地IP地址之间的映射关系的第一映射表,第一本地IP地址用于代表第一地域内的所有IP地址。
步骤103,接收第一域名查询请求,获得第一域名查询请求中的第一用户IP地址,根据IP地理位置数据库确定与第一用户IP地址相对应的第一用户归属区域。
步骤104,根据第一映射表获得与第一用户归属区域相对应的第一本地IP地址。
步骤105,将第一本地IP地址加入第一域名查询请求并发送,用以请求与第一域名查询请求中的第一域名相匹配的第一IP地址。
本公开中的域名递归查询方法,针对目前域名解析系统采用Edns-client-subnet(ECS)机制导致递归查询请求量和DNS缓存容量剧增,在IP地址离散化情况下利用缩短掩码长度的方法降低资源消耗导致解析结果不精准等问题,提出了通过制定地域与本地IP地址的映射表,对于某一地域的用户发起的DNS查询,使用与该地域映射的本地IP地址取代用户源IP插入EDNS0的option相应字段的方式,使得递归和权威DNS服务器只需要维护一个轻量级的列表,便可以做到更精准的DNS调度,大幅减少了递归查询的请求次数,切实降低了DNS服务器的资源消耗。
在一个实施例中,Edns-client-subnet(ECS)协议为google提出的一份DNS扩展协议,允许DNS resolver传递用户的ip地址给authoritative DNS server,CDN的DNS支持该协议,可以获取用户真实的IP地址,进行准确的调度。
将第一本地IP地址加入到第一域名查询请求中的EDNS0 option的address字段,用以替代第一用户IP地址。将第一域名查询请求发送到DNS权威服务器,用以请求第一IP地址。EDNS0 option的address字段符合Edns-client-subnet(ECS)协议,可以使用现有的ECS协议将第一本地IP地址加入到第一域名查询请求中的EDNS0 option的address字段。
在DNS权威服务器中部署与第一映射表相同的第二映射表,第二映射表包含有第二地域与第二本地IP地址之间的映射关系,第二地域与第二本地IP地址之间的映射关系与第一映射表包含的第一地域与第一本地IP地址之间的映射关系相同。
DNS权威服务器获取第一域名查询请求中的EDNS0 option的address字段携带的第一本地IP地址,根据第二映射表获取与第一本地IP地址相对应的第一地域,作为用户实际所属区域。DNS权威服务器获得第一域名查询请求携带的第一域名,确定与第一域名相匹配的多个IP地址,从多个IP地址中选取与用户实际所属区域最近的地区所对应的IP地址作为第一IP地址。
通过使用与第一用户归属区域相对应的固定的第一本地IP地址取代用户源IP插入第一域名查询请求(DNS请求包)中EDNS0的option相应字段的方式,实现DNS精准调度,有效降低了递归DNS和权威DNS的资源消耗。
在一个实施例中,基于运营商IP地址资源管理系统、第三方IP数据服务等多种方式收集IP地址信息,形成IP地理位置数据库。生成包含有第一地域与第一本地IP地址之间的映射关系的第一映射表,以一个特定的第一本地IP地址代表该第一区域的所有IP地址空间,该映射表由启用了ECS机制的递归服务器和权威服务器共同维护,同步更新以保持一致。
当接收到用户发送的第一域名查询请求时,根据第一用户IP地址结合IP地理位置数据库确定第一用户归属区域。通过第一映射表获得与第一用户归属区域对应的固定的第一本地IP地址,将此第一本地IP地址加入DNS查询包中的EDNS0 option的address字段,对外发起递归查询请求。
权威服务器根据DNS查询包中的address字段,结合包含有第二地域与第二本地IP地址之间的映射关系的第二映射表(第一映射表与第二映射表相同)确定用户实际所属区域,返回靠近用户所属区域的域名对应的第一IP地址。将第一IP地址返回给用户并缓存该域名的应答记录。
图2为根据本公开的域名递归查询方法的一个实施例中缓存发送IP地址的流程示意图,如图2所示:
步骤201,向用户发送并缓存第一IP地址。
步骤202,接收第二域名查询请求,获得第二域名查询请求中的第二用户IP地址,根据IP地理位置数据库确定与第二用户IP地址相对应的第二用户归属区域。
步骤203,如果确定第二域名查询请求中携带的第二域名以及第二用户归属区域分别与第一域名以及第一用户归属区域相同,则将第一IP地址作为与第二域名相匹配的第二IP地址并返回。
在一个实施例中,根据IP地理位置数据库确定与第一域名查询请求中的第一用户IP地址相对应的第一用户归属区域为“广州”。通过第一映射表查询到“广州”对应的第一本地IP地址为1.1.1.1,则将1.1.1.1加入第一域名查询请求中的EDNS0 option的address字段,以取代第一域名查询请求中的第一用户IP地址,对外发起递归查询请求。
权威服务器启用了Edns-client-subnet(ECS)机制,接收到第一域名查询请求,从第一域名查询请求中的EDNS0 option的address字段提取IP地址,结合第二映射表确定该第一本地IP地址对应的区域,即用户所属区域,返回靠近用户所属区域的所查询的域名对应的第一IP地址,使用户获得最佳的访问体验。
例如,权威服务器针对www.321abc.net的域名具有多条IP地址记录,分别对应不同服务器的IP地址,如广州服务器的IP地址为1.5.5.5、深圳服务器的IP地址为2.5.5.5、上海服务器的IP地址为3.5.5.5。
当启用了ECS机制的权威服务器接收到针对www.321abc.net的第一域名查询请求时,从第一域名查询请求中的EDNS0 option的address字段提取到源IP地址为1.1.1.1,通过第二映射表,确认请求第一域名查询的用户位于区域“广州”,为了确保用户获得最佳的访问体验,将返回距离用户所属区域最近的所查询域名对应的第一IP地址,即返回广州服务器的IP地址1.5.5.5。
接收到权威服务器的DNS查询响应,从应答包中得到所查询域名对应的第一IP地址,随后将第一IP地址返回给用户,并通过缓存模块缓存该域名的应答记录。当该区域有其他用户发起针对该域名的查询请求,可以直接通过缓存模块对应的缓存内容进行应答,以降低递归查询的请求次数。
在一个实施例中,通过预先设定的同步机制进行第二映射表的更新,以使第一映射表与第二映射表保持一致,同步机制包括:定时同步、第一映射表发生变化时进行同步等。通过加密方式进行同步,加密方式包括:对称加密、非对称加密、端到端加密、链路加密等。
采用预设的IP收集方式收集IP地址信息,生成并更新IP地理位置数据库,IP收集方式包括:对接运营商IP地址资源管理系统获取IP地址信息、购买第三方IP数据服务获取IP地址信息等。IP地理位置数据库内容包括IP地址、国家、省份、城市、运营商、区划代码、经纬度等。根据预先设定的规则进行IP地理位置数据库的更新,更新包括将新的IP地址信息添加进数据库、将内容发生变化的IP地址信息在数据库进行更正。
在一个实施例中,根据预先设定的划分规则进行地域划分,地域划分的颗粒度包括省、市、自定义区域。从已完成划分的第一地域中选取一个本地IP地址作为第一本地IP地址,用于代表第一地域的所有IP地址,生成第一地域和第一本地IP地址一一对应的映射关系。第一映射表和第二映射表可以由递归服务器和权威服务器共同维护,同步更新以保持一致。
根据预先设定的规则进行地域划分包括根据国家行政区域划分、根据资源节点的部署位置划分等,划分的颗粒度可以到省、到市,或者根据具体的需要自定义区域。从已完成划分的地域中选取一个第一本地IP地址代表该地域的所有IP地址空间,形成第一地域和第一本地IP地址一一对应的关系,完成第一映射表的构建。DNS递归服务器和DNS权威服务器分别保存第一映射表和第二映射表,并通过预先设定的同步机制安全地进行第一映射表和第二映射表的同步,保持第一映射表和第二映射表的一致。
例如,可以根据中国行政区域划分的原则按照地级行政区划分为334个区域,每个区域选取一个第一本地IP地址代表该行政区域的全部IP地址空间。例如,第一区域1(广州)对应第一本地IP地址(1.1.1.1),第一区域2(深圳)对应第一本地IP地址(2.2.2.2),第一区域3(上海)对应第一本地IP地址(3.3.3.3)。当IP地址信息发生变化时,完成第一映射表的修改,将第一映射表加密后发送给权威服务器进行第二映射表的更新。
在一个实施例中,接收到第一域名查询请求,根据预先设定的判决规则判断是否需要对第一域名查询请求启用ECS机制,判决规则包括:域名访问频次、网站排名、域名白名单等。如果根据域名访问频次或网站排名确定需要对第一域名查询请求启用ECS机制,则将第一域名查询请求中的第一域名添加在域名白名单中。
接收到用户发送的第一域名查询请求,根据第一域名查询请求中的第一用户IP地址结合IP地理位置数据库确定第一用户归属区域。例如,用户A向递归服务器发送查询www.321abc.net的第一域名查询请求,递归服务器提取第一域名查询请求的数据包中用户A的第一用户IP地址为1.2.3.4,通过IP地理位置数据库查询到第一用户归属区域位于广州。
可以根据预先设定的规则判断是否需要启用Edns-client-subnet(ECS)机制,对外发起递归查询请求。预先设定的规则包括域名访问的频次、域名白名单等。可以通过对接DNS网管系统或者通过第三方网站排名系统等获取域名访问排名,对于访问量较大、或者网站排名靠前的域名启用ECS机制,为用户提供更精准的调度;对于访问量较小的域名不启用ECS机制,按照传统的方式进行域名解析,不会由于增加域名解析时延而降低服务质量。
可以将需要启用ECS机制的域名加入域名白名单,白名单之外的域名查询请求保持传统的方式进行域名解析。域名访问量和网站排名的阈值可以根据需要自行定义。域名白名单支持域名的增加、删除等更新操作。例如,递归服务器接收到用户B查询www.abc321.net的请求,根据DNS网管系统的数据,www.abc321.net的访问量超过自行定义的阈值,或者www.abc321.net位于域名白名单内,则域名递归查询系统对此域名启用ECS机制按照本公开的方法进行递归查询。递归服务器接收到用户C查询www.a3b2c1.net的请求,根据DNS网管系统的数据,www.a3b2c1.net的访问量低于自行定义的阈值,且也不在域名白名单内,则递归服务器按照传统的方式进行域名解析。
本公开的域名递归查询方法,使用与特定地域映射的本地IP地址取代用户源IP插入DNS请求包中EDNS0的option相应字段的方式,实现DNS精准调度,有效降低了递归DNS和权威DNS的资源消耗。
在一个实施例中,如图3、4所示,本公开提供一种域名递归查询系统30,包括:IP地址收集模块31、地域判断模块32、地址映射模块33、地址查询模块34和缓存模块35。
IP地址收集模块31生成IP地理位置数据库。地址映射模块33建立包含有第一地域与第一本地IP地址之间的映射关系的第一映射表,第一本地IP地址用于代表第一地域内的所有IP地址。地域判断模块32接收第一域名查询请求,获得第一域名查询请求中的第一用户IP地址,根据IP地理位置数据库确定与第一用户IP地址相对应的第一用户归属区域。地址查询模块34根据第一映射表获得与第一用户归属区域相对应的第一本地IP地址,将第一本地IP地址加入第一域名查询请求并发送,用以请求与第一域名查询请求中的第一域名相匹配的第一IP地址。
在一个实施例中,地址查询模块34将第一本地IP地址加入到第一域名查询请求中的EDNS0 option的address字段,用以替代第一用户IP地址,将第一域名查询请求发送到DNS权威服务器4,用以请求第一IP地址。
在DNS权威服务器4中部署与第一映射表相同的第二映射表。DNS权威服务器4获取address字段携带的第一本地IP地址,根据第二映射表获取与第一本地IP地址相对应的第一地域,作为用户实际所属区域。DNS权威服务器4获得第一域名查询请求携带的第一域名,确定与第一域名相匹配的多个IP地址,从多个IP地址中选取与用户实际所属区域最近的地区所对应的IP地址作为第一IP地址。
在一个实施例中,缓存模块35向用户发送并缓存第一IP地址。地域判断模块32接收第二域名查询请求,获得第二域名查询请求中的第二用户IP地址,地域判断模块32根据IP地理位置数据库确定与第二用户IP地址相对应的第二用户归属区域。如果确定第二域名查询请求中携带的第二域名以及第二用户归属区域分别与第一域名以及第一用户归属区域相同,则缓存模块35将第一IP地址作为与第二域名相匹配的第二IP地址并返回。
地址映射模块33通过预先设定的同步机制进行第二映射表的更新,以使第一映射表与第二映射表保持一致,同步机制包括:定时同步、第一映射表发生变化时进行同步等。地址映射模块33通过加密方式进行同步,加密方式包括:对称加密、非对称加密、端到端加密、链路加密等。
在一个实施例中,IP地址收集模块31采用预设的IP收集方式收集IP地址信息,生成并更新IP地理位置数据库,IP收集方式包括:对接运营商IP地址资源管理系统获取IP地址信息、购买第三方IP数据服务获取IP地址信息等。
地址映射模块33根据预先设定的划分规则进行地域划分,地域划分的颗粒度包括省、市、自定义区域。地址映射模块33从已完成划分的第一地域中选取一个本地IP地址作为第一本地IP地址,用于代表第一地域的所有IP地址;地址映射模块33生成第一地域和第一本地IP地址一一对应的映射关系。
地域判断模块32接收到第一域名查询请求,根据预先设定的判决规则判断是否需要对第一域名查询请求启用ECS机制,判决规则包括:域名访问频次、网站排名、域名白名单等。如果根据域名访问频次或网站排名确定需要对第一域名查询请求启用ECS机制,则地域判断模块32将第一域名查询请求中的第一域名添加在域名白名单中。
图5为根据本公开的域名递归查询系统的另一个实施例的模块示意图。如图5所示,该装置可包括存储器51、处理器52、通信接口53以及总线54。存储器51用于存储指令,处理器52耦合到存储器51,处理器52被配置为基于存储器51存储的指令执行实现上述的域名递归查询方法。
存储器51可以为高速RAM存储器、非易失性存储器(non-volatile memory)等,存储器51也可以是存储器阵列。存储器51还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器52可以为中央处理器CPU,或专用集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本公开的域名递归查询方法的一个或多个集成电路。
在一个实施例中,本公开提供一种DNS递归服务器3,包括:如上任一实施例中的域名递归查询系统30。
在一个实施例中,本公开提供一种DNS系统,包括:如上任一实施例中的DNS递归服务器3、DNS权威服务器4。
在一个实施例中,本公开提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一个实施例中的域名递归查询方法。
上述实施例中的域名递归查询方法、系统以及DNS递归服务器、DNS系统、存储介质,针对由于IPv4地址紧缺,造成的广泛存在的IP地址离散化情况,能够有效提升DNS调度的精准程度,提升了用户体验;针对现有的Edns-client-subnet(ECS)机制,大幅减少了递归查询的请求次数,实现DNS精准调度,有效降低了递归服务器和权威服务器的资源消耗。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。

Claims (22)

1.一种域名递归查询方法,包括:
生成IP地理位置数据库;
建立包含有第一地域与第一本地IP地址之间的映射关系的第一映射表;其中,所述第一本地IP地址用于代表所述第一地域内的所有IP地址;
接收第一域名查询请求,获得所述第一域名查询请求中的第一用户IP地址,根据所述IP地理位置数据库确定与所述第一用户IP地址相对应的第一用户归属区域;
根据所述第一映射表获得与所述第一用户归属区域相对应的所述第一本地IP地址;
将所述第一本地IP地址加入所述第一域名查询请求并发送,用以请求与所述第一域名查询请求中的第一域名相匹配的第一IP地址。
2.如权利要求1所述的方法,所述将所述第一本地IP地址加入所述第一域名查询请求并发送包括:
将所述第一本地IP地址加入到所述第一域名查询请求中的EDNS0 option的address字段,用以替代所述第一用户IP地址;
将所述第一域名查询请求发送到DNS权威服务器,用以请求所述第一IP地址。
3.如权利要求2所述的方法,还包括:
在所述DNS权威服务器中部署与所述第一映射表相同的第二映射表;
所述DNS权威服务器获取所述address字段携带的所述第一本地IP地址,根据所述第二映射表获取与所述第一本地IP地址相对应的所述第一地域,作为用户实际所属区域;
所述DNS权威服务器获得所述第一域名查询请求携带的第一域名,确定与所述第一域名相匹配的多个IP地址,从所述多个IP地址中选取与所述用户实际所属区域最近的地区所对应的IP地址作为所述第一IP地址。
4.如权利要求3所述的方法,还包括:
向用户发送并缓存所述第一IP地址;
接收第二域名查询请求,获得所述第二域名查询请求中的第二用户IP地址,根据所述IP地理位置数据库确定与所述第二用户IP地址相对应的第二用户归属区域;
如果确定所述第二域名查询请求中携带的第二域名以及所述第二用户归属区域分别与所述第一域名以及所述第一用户归属区域相同,则将所述第一IP地址作为与所述第二域名相匹配的第二IP地址并返回。
5.如权利要求3所述的方法,还包括:
通过预先设定的同步机制进行所述第二映射表的更新,以使所述第一映射表与所述第二映射表保持一致;
其中,所述同步机制包括:定时同步、所述第一映射表发生变化时进行同步;通过加密方式进行同步,所述加密方式包括:对称加密、非对称加密、端到端加密、链路加密。
6.如权利要求1所述的方法,所述生成IP地理位置数据库包括:
采用预设的IP收集方式收集IP地址信息,生成并更新所述IP地理位置数据库;
其中,所述IP收集方式包括:对接运营商IP地址资源管理系统获取IP地址信息、购买第三方IP数据服务获取IP地址信息。
7.如权利要求1所述的方法,建立第一映射表包括:
根据预先设定的划分规则进行地域划分,其中,所述地域划分的颗粒度包括省、市、自定义区域;
从已完成划分的第一地域中选取一个本地IP地址作为所述第一本地IP地址,用于代表所述第一地域的所有IP地址;
生成所述第一地域和所述第一本地IP地址一一对应的映射关系。
8.如权利要求1所述的方法,还包括:
接收到所述第一域名查询请求,根据预先设定的判决规则判断是否需要对所述第一域名查询请求启用ECS机制;
其中,所述判决规则包括:域名访问频次、网站排名、域名白名单。
9.根据权利要求8所述的方法,还包括:
如果根据域名访问频次或网站排名确定需要对所述第一域名查询请求启用ECS机制,则将所述第一域名查询请求中的所述第一域名添加在所述域名白名单中。
10.一种域名递归查询系统,包括:
IP地址收集模块,用于生成IP地理位置数据库;
地址映射模块,用于建立包含有第一地域与第一本地IP地址之间的映射关系的第一映射表;其中,所述第一本地IP地址用于代表所述第一地域内的所有IP地址;
地域判断模块,用于接收第一域名查询请求,获得所述第一域名查询请求中的第一用户IP地址,根据所述IP地理位置数据库确定与所述第一用户IP地址相对应的第一用户归属区域;
地址查询模块,用于根据所述第一映射表获得与所述第一用户归属区域相对应的所述第一本地IP地址,将所述第一本地IP地址加入所述第一域名查询请求并发送,用以请求与所述第一域名查询请求中的第一域名相匹配的第一IP地址。
11.如权利要求10所述的系统,其中,
所述地址查询模块,用于将所述第一本地IP地址加入到所述第一域名查询请求中的EDNS0 option的address字段,用以替代所述第一用户IP地址;将所述第一域名查询请求发送到DNS权威服务器,用以请求所述第一IP地址。
12.如权利要求11所述的系统,其中,
在所述DNS权威服务器中部署与所述第一映射表相同的第二映射表;
所述DNS权威服务器获取所述address字段携带的所述第一本地IP地址,根据所述第二映射表获取与所述第一本地IP地址相对应的所述第一地域,作为用户实际所属区域;
所述DNS权威服务器获得所述第一域名查询请求携带的第一域名,确定与所述第一域名相匹配的多个IP地址,从所述多个IP地址中选取与所述用户实际所属区域最近的地区所对应的IP地址作为所述第一IP地址。
13.如权利要求12所述的系统,还包括:
缓存模块,用于向用户发送并缓存所述第一IP地址;
所述地域判断模块,用于接收第二域名查询请求,获得所述第二域名查询请求中的第二用户IP地址,根据所述IP地理位置数据库确定与所述第二用户IP地址相对应的第二用户归属区域;
所述缓存模块,用于如果确定所述第二域名查询请求中携带的第二域名以及所述第二用户归属区域分别与所述第一域名以及所述第一用户归属区域相同,则将所述第一IP地址作为与所述第二域名相匹配的第二IP地址并返回。
14.如权利要求12所述的系统,其中,
所述地址映射模块,用于通过预先设定的同步机制进行所述第二映射表的更新,以使所述第一映射表与所述第二映射表保持一致;其中,所述同步机制包括:定时同步、所述第一映射表发生变化时进行同步;通过加密方式进行同步,所述加密方式包括:对称加密、非对称加密、端到端加密、链路加密。
15.如权利要求10所述的系统,其中,
所述IP地址收集模块,用于采用预设的IP收集方式收集IP地址信息,生成并更新所述IP地理位置数据库;其中,所述IP收集方式包括:对接运营商IP地址资源管理系统获取IP地址信息、购买第三方IP数据服务获取IP地址信息。
16.如权利要求10所述的系统,其中,
所述地址映射模块,用于根据预先设定的划分规则进行地域划分,其中,所述地域划分的颗粒度包括省、市、自定义区域;从已完成划分的第一地域中选取一个本地IP地址作为所述第一本地IP地址,用于代表所述第一地域的所有IP地址;生成所述第一地域和所述第一本地IP地址一一对应的映射关系。
17.如权利要求10所述的系统,还包括:
所述地域判断模块,用于接收到所述第一域名查询请求,根据预先设定的判决规则判断是否需要对所述第一域名查询请求启用ECS机制;其中,所述判决规则包括:域名访问频次、网站排名、域名白名单。
18.根据权利要求17所述的系统,其中,
所述地域判断模块,用于如果根据域名访问频次或网站排名确定需要对所述第一域名查询请求启用ECS机制,则将所述第一域名查询请求中的所述第一域名添加在所述域名白名单中。
19.一种域名递归查询系统,包括:
存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至9中任一项所述的方法。
20.一种DNS递归服务器,包括:
如权利要求10至19任一项所述的域名递归查询系统。
21.一种DNS系统,包括:
如权利要求20所述的DNS递归服务器、DNS权威服务器。
22.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如权利要求1至9中任一项所述的方法。
CN201811538638.5A 2018-12-17 2018-12-17 域名递归查询方法、系统以及服务器、dns系统 Pending CN111327714A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811538638.5A CN111327714A (zh) 2018-12-17 2018-12-17 域名递归查询方法、系统以及服务器、dns系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811538638.5A CN111327714A (zh) 2018-12-17 2018-12-17 域名递归查询方法、系统以及服务器、dns系统

Publications (1)

Publication Number Publication Date
CN111327714A true CN111327714A (zh) 2020-06-23

Family

ID=71168538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811538638.5A Pending CN111327714A (zh) 2018-12-17 2018-12-17 域名递归查询方法、系统以及服务器、dns系统

Country Status (1)

Country Link
CN (1) CN111327714A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901319A (zh) * 2020-07-16 2020-11-06 广州大学 一种客户端dns缓存验证方法、系统、装置及介质
CN112565478A (zh) * 2020-10-21 2021-03-26 奇安信科技集团股份有限公司 域名线索备份方法、装置、系统、计算机设备和介质
CN112702446A (zh) * 2020-12-16 2021-04-23 互联网域名系统北京市工程研究中心有限公司 Dns缓存在边缘网络中的分布式存储系统
CN112769970A (zh) * 2020-12-16 2021-05-07 上海牙木通讯技术有限公司 一种用于dns ecs智能透传的方法和系统
CN112911617A (zh) * 2021-01-20 2021-06-04 广东工贸职业技术学院 数据传输方法、装置、计算机设备和存储介质
CN113596053A (zh) * 2021-08-06 2021-11-02 中国电信股份有限公司 通信业务处理方法、系统、装置、介质与设备
CN114363287A (zh) * 2020-10-13 2022-04-15 中国电信股份有限公司 域名递归查询方法、装置、递归服务器以及dns系统
CN114584532A (zh) * 2022-03-10 2022-06-03 中国互联网络信息中心 地理位置信息库的更新方法、装置及服务器
CN114827083A (zh) * 2022-04-14 2022-07-29 中国电信股份有限公司 域名解析方法、系统以及ecs递归服务器
CN115225325A (zh) * 2022-06-17 2022-10-21 中国电信股份有限公司 一种查询方法、查询装置、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002368781A (ja) * 2001-06-07 2002-12-20 Nippon Telegr & Teleph Corp <Ntt> ユーザ位置管理ドメインネーム変換システム
CN102611763A (zh) * 2011-01-25 2012-07-25 中国移动通信集团公司 Dns查询的方法及设备
CN102882791A (zh) * 2012-10-30 2013-01-16 杭州迪普科技有限公司 一种dns业务处理的方法及装置
CN104427007A (zh) * 2013-08-23 2015-03-18 政务和公益机构域名注册管理中心 Dns的域名查询方法
CN106790530A (zh) * 2016-12-21 2017-05-31 北京云端智度科技有限公司 域名服务的跟踪和聚合方法
CN108989487A (zh) * 2018-09-06 2018-12-11 北京泰策科技有限公司 基于本地dns的cdn优化调度方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002368781A (ja) * 2001-06-07 2002-12-20 Nippon Telegr & Teleph Corp <Ntt> ユーザ位置管理ドメインネーム変換システム
CN102611763A (zh) * 2011-01-25 2012-07-25 中国移动通信集团公司 Dns查询的方法及设备
CN102882791A (zh) * 2012-10-30 2013-01-16 杭州迪普科技有限公司 一种dns业务处理的方法及装置
CN104427007A (zh) * 2013-08-23 2015-03-18 政务和公益机构域名注册管理中心 Dns的域名查询方法
CN106790530A (zh) * 2016-12-21 2017-05-31 北京云端智度科技有限公司 域名服务的跟踪和聚合方法
CN108989487A (zh) * 2018-09-06 2018-12-11 北京泰策科技有限公司 基于本地dns的cdn优化调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宗序梅: "运营商部署ECS关键技术研究与实践", 《江苏通信》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901319A (zh) * 2020-07-16 2020-11-06 广州大学 一种客户端dns缓存验证方法、系统、装置及介质
CN114363287A (zh) * 2020-10-13 2022-04-15 中国电信股份有限公司 域名递归查询方法、装置、递归服务器以及dns系统
WO2022078330A1 (zh) * 2020-10-13 2022-04-21 中国电信股份有限公司 域名递归查询方法、装置、递归服务器以及dns系统
CN114363287B (zh) * 2020-10-13 2022-12-20 中国电信股份有限公司 域名递归查询方法、装置、递归服务器以及dns系统
CN112565478A (zh) * 2020-10-21 2021-03-26 奇安信科技集团股份有限公司 域名线索备份方法、装置、系统、计算机设备和介质
CN112702446B (zh) * 2020-12-16 2022-11-01 互联网域名系统北京市工程研究中心有限公司 Dns缓存在边缘网络中的分布式存储系统
CN112702446A (zh) * 2020-12-16 2021-04-23 互联网域名系统北京市工程研究中心有限公司 Dns缓存在边缘网络中的分布式存储系统
CN112769970A (zh) * 2020-12-16 2021-05-07 上海牙木通讯技术有限公司 一种用于dns ecs智能透传的方法和系统
CN112769970B (zh) * 2020-12-16 2023-04-07 牙木科技股份有限公司 一种用于dns ecs智能透传的方法和系统
CN112911617A (zh) * 2021-01-20 2021-06-04 广东工贸职业技术学院 数据传输方法、装置、计算机设备和存储介质
CN113596053B (zh) * 2021-08-06 2022-07-12 中国电信股份有限公司 通信业务处理方法、系统、装置、介质与设备
CN113596053A (zh) * 2021-08-06 2021-11-02 中国电信股份有限公司 通信业务处理方法、系统、装置、介质与设备
CN114584532A (zh) * 2022-03-10 2022-06-03 中国互联网络信息中心 地理位置信息库的更新方法、装置及服务器
CN114584532B (zh) * 2022-03-10 2023-10-24 中国互联网络信息中心 地理位置信息库的更新方法、装置及服务器
CN114827083A (zh) * 2022-04-14 2022-07-29 中国电信股份有限公司 域名解析方法、系统以及ecs递归服务器
CN115225325A (zh) * 2022-06-17 2022-10-21 中国电信股份有限公司 一种查询方法、查询装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN111327714A (zh) 域名递归查询方法、系统以及服务器、dns系统
US11811657B2 (en) Updating routing information based on client location
CA2741895C (en) Request routing and updating routing information utilizing client location information
CN107395683B (zh) 一种回源路径的选择方法及服务器
US8838670B2 (en) Collaboration between internet service providers and content distribution systems
CN105162900B (zh) 一种多节点协作的域名解析和缓存方法及系统
CN105491173B (zh) 一种dns解析方法、服务器及网络系统
CN107896257B (zh) 部署客户端子系统功能的方法、装置、设备和介质
CN102025793A (zh) 一种ip网络中的域名解析方法、系统及dns服务器
CN107786678B (zh) 域名解析方法、装置及系统
CN104378452A (zh) 一种用于域名解析的方法、装置及系统
CN103957282B (zh) 一种域内终端用户域名解析加速系统及其方法
CN109729183A (zh) 请求处理方法、装置、设备及存储介质
CN103312749B (zh) 一种应用层流量优化服务器的发现方法、设备及系统
US20090024761A1 (en) Method, system and application for service addressing
CN104506637A (zh) 解决网络拥挤的缓存方法、系统及url转发服务器
CN102098192B (zh) 基于网站服务器的跨域网络测量方法
CN112702446B (zh) Dns缓存在边缘网络中的分布式存储系统
KR20010035965A (ko) 인터넷 주소 부가정보 서비스 제공을 위한 기관 및 지역별 인터넷 주소 묶음결정 방법, 인터넷 주소 묶음별 사용지역 정보 획득 방법
KR100347985B1 (ko) 인터넷 주소 부가정보 제공 시스템 및 방법
CN114650296B (zh) 一种信息中心网络副本选择方法
WO2016074150A1 (en) Streamlining location-dependent dns configuration
CN108055361A (zh) 一种利用公共服务的虚拟机定位方法
CN116489175A (zh) 数据处理方法、装置、存储介质及电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200623

RJ01 Rejection of invention patent application after publication