CN106506729A - 一种基于dns视图的dns策略解析方法及装置 - Google Patents

一种基于dns视图的dns策略解析方法及装置 Download PDF

Info

Publication number
CN106506729A
CN106506729A CN201710020359.9A CN201710020359A CN106506729A CN 106506729 A CN106506729 A CN 106506729A CN 201710020359 A CN201710020359 A CN 201710020359A CN 106506729 A CN106506729 A CN 106506729A
Authority
CN
China
Prior art keywords
domain name
dns
strategy
list
mark
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.)
Granted
Application number
CN201710020359.9A
Other languages
English (en)
Other versions
CN106506729B (zh
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 Internet Network Information Center
Original Assignee
China Internet Network Information Center
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 Internet Network Information Center filed Critical China Internet Network Information Center
Priority to CN201710020359.9A priority Critical patent/CN106506729B/zh
Publication of CN106506729A publication Critical patent/CN106506729A/zh
Application granted granted Critical
Publication of CN106506729B publication Critical patent/CN106506729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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]

Landscapes

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

Abstract

本发明提供一种基于DNS视图的DNS策略解析方法及装置,接收DNS查询请求后,获取源IP地址及目标域名;然后,查询IP列表得到与该源IP地址匹配的第一策略标识集,该IP列表包含DNS服务器中所有DNS策略对应的源IP信息及每条源IP信息对应的策略标识;接着,查询域名列表得到与该目标域名匹配的第二策略标识集,该域名列表包含DNS服务器中所有DNS策略对应的域名及每个域名对应的策略标识。确定两个标识集中的相同策略标识对应的策略为目标策略。该方法只需查询一个IP列表和一个域名列表。不需要遍历每个策略的原始IP列表及原始域名列表,大大提高了获得查询效率,进而减少了用户等待DNS解析的时间,提高了用户体验。

Description

一种基于DNS视图的DNS策略解析方法及装置
技术领域
本发明属于计算机域名解析技术领域,尤其涉及一种基于DNS视图的DNS策略解析方法及装置。
背景技术
DNS(Domain Name System,域名系统)的功能是实现主机域名和主机IP地址之间的相互转换。当用户在应用程序中输入主机域名时,DNS服务器可以将该域名解析为与之对应的IP(Internet Protocol,网络协议)地址。
某些DNS服务器根据不同用户的需求及安全的考虑,需要配置不同的域名解析策略,域名解析策略可以根据不同的场景及用户需求来设定,例如,出于安全考虑,可以设定能够进行黑名单过滤的策略;或者,可以设定策略进行负载均衡,对于不同IP地址/域名的查询转发到不同的服务器上实现负载均衡。
BIND(Berkeley Internet Name Domain)是一款开源的域名解析系统,也是目前互联网上使用最广泛的域名解析系统。从Version9开始,BIND引入VIEW功能,简单、高效地实现了DNS策略解析。一台DNS服务器可能配置成千上万条DNS策略,每条DNS策略对应不同或相同的IP/IP段及域名/域名段。DNS策略匹配的算法直接影响到DNS服务器递归解析的性能,DNS解析过程中用户一直处于等待状态无法访问网页,因此,DNS解析性能会直接影响用户的使用体验。一个View对应条策略,每个View对应一个IP列表(IPList)和域名列表。传统的策略匹配算法,对每个View的IPList及域名列表分别构建二叉树,即构建IP二叉树和域名二叉树,然后,按照View的优先级顺序进行遍历,对于每个View先遍历IP二叉树,再遍历域名二叉树,同时匹配的View为目标View,然后执行目标View配置的具体策略。假设每个View下的IP或IP段为n个,域名为n个,共有n个View,则该算法的复杂度是O(n*(LOG2(n)+LOG2(n)))。对于配置的View特别多的场景,该算法的匹配效率非常低,导致用户等待时间特别长。
发明内容
有鉴于此,本申请的目的在于提供一种匹配效率高的DNS策略解析方法及装置,具体技术方案如下:
第一方面,本申请提供一种基于域名系统DNS视图的DNS策略解析方法,应用于DNS服务器中,包括:
获取接收到的DNS查询请求对应的源IP地址及目标域名;
查询预先创建的IP列表,得到与所述源IP地址匹配的第一策略标识集,所述IP列表包含所述DNS服务器中所有DNS策略对应的源IP信息及每条所述源IP信息对应的策略标识;
查询预先创建的域名列表,得到与所述目标域名匹配的第二策略标识集,所述域名列表包含所述DNS服务器中所有DNS策略对应的域名及每个所述域名对应的策略标识;
确定所述第一策略标识集与所述第二策略标识集中的相同策略标识所对应的策略为目标策略。
可选地,在查询预先创建的IP列表之前,所述方法还包括:
获取所述DNS服务器中各个DNS策略对应的原始IP列表,以及各个所述原始IP列表对应的策略标识;
将各个所述原始IP列表中的源IP信息进行合并,并对应记录合并后的每条源IP信息对应的策略标识,得到所述IP列表。
可选地,所述将各个所述原始IP列表中的源IP信息进行合并,并对应记录合并后的每条源IP信息对应的策略标识,得到所述IP列表,包括:
将各个所述原始IP列表中包含相同IP段的源IP信息进行合并,记录所述相同IP段对应的所有策略标识,并按策略优先级由高到低的顺序进行排序;
将各个所述原始IP列表中具有包含关系的IP段,根据所包含的IP段进行拆分,并分别记录拆分后的子IP段对应的策略标识。
可选地,在查询预先创建的域名列表之前,所述方法还包括:
获取所述DNS服务器中各个DNS策略对应的原始域名列表,以及各个所述原始域名列表对应的策略标识;
将各个所述原始域名列表中的域名进行合并,并对应记录合并后的每个域名对应的策略标识,得到所述域名列表。
可选地,所述将各个所述原始域名列表中的域名进行合并,并对应记录合并后的每个域名对应的策略标识,得到所述域名列表,包括:
将各个所述原始域名列表中包含的相同域名进行合并,并按照策略优先级由高到低的顺序记录所述相同域名对应的策略标识。
可选地,所述确定所述第一策略标识集及所述第二策略标识集中的相同策略标识所对应的策略为目标策略,包括:
查找所述第一策略标识集和所述第二策略标识集中的相同策略标识;
当所述相同策略标识的数量为至少两个时,确定全部的相同策略标识中优先级最高的策略标识所对应的策略为所述目标策略。
第二方面,本申请提供一种基于域名系统DNS视图的DNS策略解析装置,应用于DNS服务器中,包括:
第一获取模块,用于获取接收到的DNS查询请求对应的源IP地址及目标域名;
第一查询模块,用于查询预先创建的IP列表,得到与所述源IP地址匹配的第一策略标识集,所述IP列表包含所述DNS服务器中所有DNS策略对应的源IP信息及每条所述源IP信息对应的策略标识;
第二查询模块,用于查询预先创建的域名列表,得到与所述目标域名匹配的第二策略标识集,所述域名列表包含所述DNS服务器中所有DNS策略对应的域名及每个所述域名对应的策略标识;
确定模块,用于确定所述第一策略标识集与所述第二策略标识集中的相同策略标识所对应的策略为目标策略。
可选地,所述装置还包括:
第二获取模块,用于获取所述DNS服务器中各个DNS策略对应的原始IP列表,以及各个所述原始IP列表对应的策略标识;
第一合并模块,用于将各个所述原始IP列表中的源IP信息进行合并,并对应记录合并后的每条源IP信息对应的策略标识,得到所述IP列表。
可选地,所述第一合并模块包括:
第一合并子模块,用于将各个所述原始IP列表中包含相同IP段的源IP信息进行合并,记录所述相同IP段对应的所有策略标识,并按策略优先级由高到低的顺序进行排序;
拆分子模块,用于将各个所述原始IP列表中具有包含关系的IP段,根据所包含的IP段进行拆分,并分别记录拆分后的子IP段对应的策略标识。
可选地,所述装置还包括:
第三获取模块,用于获取所述DNS服务器中各个DNS策略对应的原始域名列表,以及各个所述原始域名列表对应的策略标识;
第二合并模块,用于将各个所述原始域名列表中的域名进行合并,并对应记录合并后的每个域名对应的策略标识,得到所述域名列表。
可选地,所述第二合并模块包括:
第二合并子模块,用于将各个所述原始域名列表中包含的相同域名进行合并,并按照策略优先级由高到低的顺序记录所述相同域名对应的策略标识。
可选地,所述确定模块包括:
查找子模块,用于查找所述第一策略标识集和所述第二策略标识集中的相同策略标识;
第一确定子模块,用于当所述相同策略标识的数量为至少两个时,确定全部的相同策略标识中优先级最高的策略标识所对应的策略为所述目标策略。
本发明提供的基于DNS视图的DNS策略解析方法,应用于DNS服务器中,接收到用户发送的DNS查询请求后,获取源IP地址及目标域名;然后,查询IP列表得到与该源IP地址匹配的第一策略标识集,该IP列表包含DNS服务器中所有DNS策略对应的源IP信息及每条源IP信息对应的策略标识;接着,查询域名列表,得到与该目标域名匹配的第二策略标识集,该域名列表包含DNS服务器中所有DNS策略对应的域名及每个域名对应的策略标识。再比较第一策略标识集与第二策略标识集中的策略标识,确定两个标识集中的相同策略标识对应的策略为目标策略。该方法中的IP列表和域名列表分别包含DNS服务器中所有DNS策略对应的IP信息和域名,只需查询一个IP列表和一个域名列表,再比较第一策略标识集合第二策略标识集,即可获得目标策略。而不是遍历每个策略的原始IP列表及原始域名列表,大大提高了获得查询效率,进而减少了用户等待DNS解析的时间,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一种基于DNS视图的DNS策略解析方法的流程图;
图2是本发明实施例另一种基于DNS视图的DNS策略解析方法的流程图;
图3是本发明实施例一种DNS策略配置实例的示意图;
图4是本发明实施例一种合并后的IP列表的示意图;
图5是本发明实施例一种合并后的域名列表的示意图;
图6是本发明实施例一种DNS策略解析实例的示意图;
图7是本发明实施例另一种DNS策略解析实例的示意图;
图8是本发明实施例一种基于DNS视图的DNS策略解析装置的框图;
图9是本发明实施例一种确定模块的框图;
图10是本发明实施例另一种基于DNS视图的DNS策略解析装置的框图;
图11是本发明实施例一种第一合并模块的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了降低DNS策略查询匹配的复杂度,提高查询效率,本申请提供了基于DNS视图的DNS策略解析方法实施例。
请参见图1,示出了本发明实施例一种基于DNS视图的DNS策略解析方法的流程图,该方法应用于DNS服务器中,如图1所示,该方法可以包括以下步骤:
S110,获取接收到的DNS查询请求对应的源IP地址及目标域名。
DNS服务器接收网络用户发送的DNS查询请求,并获取该DNS查询请求对应的源IP地址及目标域名;源IP地址是指用户的IP地址,目标域名是用户请求解析的域名。例如,用户要访问百度网页,则目标域名是“baidu.com”。
S120,查询预先创建的IP列表,得到与该源IP地址匹配的第一策略标识集。
该IP列表包含DNS服务器中所有DNS策略对应的源IP信息及每条源IP信息对应的策略标识。
本发明中的IP列表是将DNS服务器中所有DNS策略对应的原始IP列表合并得到,并记录合并后每个IP段对应的策略标识,如果一个IP段对应多个策略标识,则按策略优先级由高到低的顺序进行排序。
DNS策略通过DNS服务器中的View功能配置,一个DNS策略对应一个View,因此,策略标识可以采用View_id表示。
查询该IP列表,找到与该源IP地址匹配的策略标识集,记为第一策略标识集。
S130,查询预先创建的域名列表,得到与该目标域名匹配的第二策略标识集。
该域名列表包含DNS服务器中所有DNS策略对应的域名及每个域名对应的策略标识。
本发明中的域名列表是将DNS服务器中所有DNS策略对应的原始域名列表合并得到,并记录合并后每个域名对应的策略标识,如果一个域名对应多个策略标识,则按域名最长匹配原则对域名对应的策略标识进行排序。
查询该域名列表,找到与目标域名匹配的策略标识集,记为第二策略标识集。
S140,确定所述第一策略标识集与所述第二策略标识集中的相同策略标识所对应的策略为目标策略。
查找第一策略标识集与第二策略标识集中相同的策略标识,并确定该策略标识对应的策略为目标策略。
在本发明一种可能的实现方式中,如果第一策略标识集与第二策略标识集中包含相同策略标识的数量有多个时,确定优先级最高的策略标识对应的策略为目标策略。
域名列表中的策略优先级按照域名最长匹配原则得到,因此,可能存在第一策略标识集与第二策略标识集中匹配得到的相同策略标识所对应的优先级可能不同,例如,两个策略标识集中匹配得到的相同策略标识分别是View0和View2。IP列表中View0的优先级高于View2的优先级,但在域名列表中View2的优先级高于View0的优先级,此时,优先满足域名需求,最终的目标View为View2。
本实施例提供的基于DNS视图的DNS策略解析方法,接收到用户发送的DNS查询请求后,获取源IP地址及目标域名;然后,查询IP列表得到与该源IP地址匹配的第一策略标识集,该IP列表包含DNS服务器中所有DNS策略对应的源IP信息及每条源IP信息对应的策略标识;接着,查询域名列表,得到与该目标域名匹配的第二策略标识集,该域名列表包含DNS服务器中所有DNS策略对应的域名及每个域名对应的策略标识。再比较第一策略标识集与第二策略标识集中的策略标识,确定两个标识集中的相同策略标识对应的策略为目标策略。该方法中的IP列表和域名列表分别包含DNS服务器中所有DNS策略对应的IP信息和域名,只需查询一个IP列表和一个域名列表,再比较第一策略标识集合第二策略标识集,即可获得目标策略。而不是遍历每个策略的原始IP列表及原始域名列表,大大提高了获得查询效率,进而减少了用户等待DNS解析的时间,提高了用户体验。
请参见图2,示出了本发明实施例另一种基于DNS视图的DNS策略解析方法的流程图,本实施例将着重介绍创建IP列表和域名列表的过程。
如图2所示,该方法在图1所示实施例的基础上,还包括以下步骤:
S210,获取DNS服务器中各个DNS策略对应的原始IP列表,以及各个原始IP列表对应的策略标识。
DNS策略由DNS服务器的用户进行配置,用户配置DNS策略时,至少要配置该DNS策略对应的源IP信息及域名,因此,一个DNS策略对应一个原始IP列表及一个原始域名列表。
S220,将各个原始IP列表中的源IP信息进行合并,并对应记录合并后的每条源IP信息对应的策略标识,得到IP列表。
将每个DNS策略对应的原始IP列表合并为一个IP列表,具体的,将各个原始IP列表所包含的重复IP段进行合并,记录该IP段在不同原始IP列表中对应的策略标识,并按照策略优先级由高到低的顺序将策略标识进行排序。
对于各个原始IP列表所包含的具有包含关系的IP段,将包含IP地址多的IP段根据被包含的IP段进行拆分,并分别记录拆分后各个IP段对应的策略标识,且同一IP段对应多个策略标识时,按照策略优先级由高到低的顺序对策略标识进行排序。
例如,请参见图3,示出了本发明实施例一种DNS策略配置实例的示意图。
如图3所示,每个View同时包含一个原始IP列表和一个原始域名列表,原始IP列表和原始域名列表之间是“逻辑和”关系,即,同时匹配该View对应的原始IP列表和原始域名列表时,才确认与该View匹配。
View0:原始IP列表为1.1.1.1/24、2.2.2.2/24、3.3.3.3/24;原始域名列表为cn.;策略内容为转发到IP1。
View1:原始IP列表为2.2.2.2/24;原始域名列表为bbb.cn、aaa.cn、ccc.cn;策略内容为丢弃;
View2:原始IP列表为4.4.4.4/24、1.1.1.1/16;原始域名列表为com.cn;策略内容为转发到IP2。
分析图3所示的配置示例可知,DNS策略优先级由高到低依次为:View0、View1、View2、……、Viewn。
View0和view1的IP列表中都包含2.2.2.2/24,2.2.2.2/24对应两个View,分别是View 0和View1;2.2.2.0~2.2.2.255就是2.2.2.2/24,因此,2.2.2.0~2.2.2.255对应的策略优先级由高到低排列View 0、View1;
View0包含1.1.1.1/24,view3包含1.1.1.1/16,1.1.1.1/16和1.1.1.1/24重复的部分为1.1.1.1/24网段,所以将1.1.1.1/16拆分成三个网段,1.1.0.0~1.1.0.255,1.1.1.0~1.1.1.255,1.1.2.0~1.1.255.255;
其中,1.1.1.0~1.1.1.255就是1.1.1.1/24,该网段对应View0、View2;1.1.0.0~1.1.0.255和1.1.2.0~1.1.255.255均对应View2。
3.3.3.0~3.3.3.255就是3.3.3.3/24,因此,3.3.3.0~3.3.3.255对应View0;
4.4.4.0~4.4.4.255就是4.4.4.4/24,因此,4.4.4.0~4.4.4.255对应view2。
经过对图3所示的DNS策略配置示例中的原始IP列表进行合并后,得到图4所示的IP列表。
S230,获取所述DNS服务器中各个DNS策略对应的原始域名列表,以及各个所述原始域名列表对应的策略标识。
每个DNS策略对应一个原始域名列表,每个原始域名列表包含至少一个域名。获取DNS服务器中所有DNS策略对应的原始域名列表。
S240,将各个所述原始域名列表中的域名进行合并,并对应记录合并后的每个域名对应的策略标识,得到所述域名列表。
将各个所述原始域名列表中包含的相同域名进行合并,并按照策略优先级由高到低的顺序记录相同的域名对应的策略标识。
对于各不相同的域名中的任一域名,查找所有原始域名列表中是否存在该域名对应的父域名,如果存在,则在该域名对应策略标识之后记录其父域名对应的策略标识,且该域名对应策略的优先级高于其父域名对应策略的优先级。
仍以图3所示的DNS策略配置示例为例说明原始域名列表合并的过程,如图3所示,View0对应的域名是cn.;View1对应的域名是bbb.cn、aaa.cn、ccc.cn;View2对应的域名是com.cn。
view0配置了cn、view2配置了com.cn,其中,com.cn是cn的子域名,父域名可以包含子域名,但是按照域名最长匹配,com.cn优先匹配view2然后才去匹配包含其父域名cn的view0,因此,com.cn匹配View的顺序是View2、View0。
同理,bbb.cn、aaa.cn、ccc.cn均分别匹配View1、View0。
经过对图3所示的DNS策略配置示例中的原始域名列表进行合并后,得到图5所示的域名列表。
假设共有n个DNS策略,且每个原始IP列表中包含n个IP段,每个原始域名列表中包含n个域名;n原始IP列表没有重复的IP段,n个原始域名没有重复的域名,则合并后的IP列表包含n*n个IP段,合并后的域名列表包含n*n个域名,因此,查询目标策略的复杂度为O(4(LOG2(n)))远远低于O(n*(LOG2(n)+LOG2(n)))。
在实际应用中,原始IP列表和原始域名列表都会有重复的情况,例如图3所示的示例原始IP列表的合并过程中需要拆分、合并;原始域名列表也会存在域名、子域名。因而,实际的复杂度并不是上述简单的O(4(LOG2(n))),但在配置大量DNS策略的场景下,使用该方法能提高查询性能。
需要说明的是,合并得到的IP列表及域名列表,可以采用二叉树方式进行存储,为合并后的IP列表构建二叉树,二叉树中节点的key值为IP地址/IP段(记录起始地址、结束地址),节点的info值为View_id。为合并后的域名列表构建二叉树,二叉树中节点的key值为域名,info值为View_id。
在本发明的其它实施方式中,还可以采用数组、hash表等其它存储方式IP列表或域名列表。
本实施例提供的基于DNS视图的DNS策略解析方法,将每个DNS策略对应的原始IP列表合并成一个IP列表,以及,将每个DNS策略对应的原始域名列表合并成一个域名列表。该方法将二元(IP和域名)匹配(IP和域名)转化为两个一元匹配,大大提高查询效率,进而提高DNS服务器的性能。该方法适用于DNS策略较多场景下的二元匹配,且DNS策略越多,性能提升越明显;而且,该方法实施方便。
下面以两个具体实例说明本申请提供的基于DNS视图的DNS策略解析方法的过程。
请参见图6,示出了本发明实施例一种DNS策略解析实例的示意图,本实例中,源IP地址是3.3.3.0,目标域名是b.com.cn。
从IP列表中找到与3.3.3.0匹配的第一策略标识集,3.3.3.0属于IP列表中[3.3.3.0,3.3.3.255]网段的IP地址,因此,与3.3.3.0匹配的View是View0;
从域名列表中找到与b.com.cn匹配的第二策略标识集,b.com.cn的父域名是com.cn,因此,与b.com.cn匹配的View是View2、View0,且View2的优先级高于View0的优先级。
从第一策略标识集{View0}和第二策略标识集{View2,View0}中查找相同的策略标识为View0。
最终,确定与3.3.3.0、b.com.cn匹配的策略是View0对应的策略。
请参见图7,示出了本发明实施例另一种DNS策略解析实例的示意图,本实例中,源IP地址是1.1.1.1,目标域名是com.cn。
从IP列表中查找与1.1.1.1匹配的第一策略标识集,1.1.1.1属于[1.1.1.0,1.1.1.255]网段,因此,与1.1.1.1匹配的View是View0、View2;
从域名列表中找到与com.cn匹配的第二策略标识集是View2、View0,且View2的优先级高于View0的优先级。
优先满足域名匹配需求,最终确定与1.1.1.1和com.cn匹配的策略是View2对应的策略。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
相应于上述的基于DNS视图的DNS策略解析方法实施例,本发明还提供了基于DNS视图的DNS策略解析装置实施例。
请参见图8,示出了本发明实施例一种基于DNS视图的DNS策略解析装置的框图,该装置应用于DNS服务器中,如图8所示,该装置包括:第一获取模块110、第一查询模块120、第二查询模块130和确定模块140。
第一获取模块110,用于获取接收到的DNS查询请求对应的源IP地址及目标域名。
第一查询模块120,用于查询预先创建的IP列表,得到与该源IP地址匹配的第一策略标识集。
该IP列表包含所述DNS服务器中所有DNS策略对应的源IP信息及每条所述源IP信息对应的策略标识。
第二查询模块130,用于查询预先创建的域名列表,得到与该目标域名匹配的第二策略标识集。
该域名列表包含DNS服务器中所有DNS策略对应的域名及每个域名对应的策略标识。
确定模块140,用于确定第一策略标识集与第二策略标识集中的相同策略标识所对应的策略为目标策略。
在本发明一种可能的实现方式中,如果第一策略标识集与第二策略标识集中包含相同策略标识的数量有多个时,确定优先级最高的策略标识对应的策略为目标策略。
如图9所示,该确定模块140包括:查找子模块141和第一确定子模块142。
查找子模块141,用于查找第一策略标识集和第二策略标识集中的相同策略标识。
第一确定子模块142,用于当相同策略标识的数量为至少两个时,确定全部的相同策略标识中优先级最高的策略标识所对应的策略为目标策略。
在本发明一种应用场景中,第一策略标识集和第二策略标识集中的相同的策略标识的优先级分别相同,此种应用场景下,选取优先级最高的策略标识为目标策略。
在本发明另一种应用场景中,域名列表中的策略优先级按照域名最长匹配原则得到,因此,可能存在第一策略标识集与第二策略标识集中匹配得到的相同策略标识所对应的优先级可能不同。此种应用场景下,确定模块140包括第二确定子模块,该第二确定子模块优先满足域名匹配需求,最终确定与目标域名匹配的策略标识集中的第一个策略标识对应的策略为目标策略。
本实施例提供的基于DNS视图的DNS策略解析装置,接收到用户发送的DNS查询请求后,利用第一获取模块获取源IP地址及目标域名;然后,由第一查询模块查询IP列表得到与该源IP地址匹配的第一策略标识集,该IP列表包含DNS服务器中所有DNS策略对应的源IP信息及每条源IP信息对应的策略标识;接着,由第二查询模块查询域名列表,得到与该目标域名匹配的第二策略标识集,该域名列表包含DNS服务器中所有DNS策略对应的域名及每个域名对应的策略标识。再由确定模块比较第一策略标识集与第二策略标识集中的策略标识,确定两个标识集中的相同策略标识对应的策略为目标策略。该方法中的IP列表和域名列表分别包含DNS服务器中所有DNS策略对应的IP信息和域名,只需查询一个IP列表和一个域名列表,再比较第一策略标识集合第二策略标识集,即可获得目标策略。而不是遍历每个策略的原始IP列表及原始域名列表,大大提高了获得查询效率,进而减少了用户等待DNS解析的时间,提高了用户体验。
请参见图10,示出了本发明实施例另一种基于DNS视图的DNS策略解析装置的框图,本实施例将着重介绍创建IP列表和域名列表的过程。如图10所示,该装置在图8所示实施例的基础上还包括:第二获取模块210、第一合并模块220、第三获取模块230和第二合并模块240。
该第二获取模块210,用于获取DNS服务器中各个DNS策略对应的原始IP列表,以及各个原始IP列表对应的策略标识;
该第一合并模块220,用于将各个原始IP列表中的源IP信息进行合并,并对应记录合并后的每条源IP信息对应的策略标识,得到IP列表。
在本发明一种可能的实现方式中,如图11所示,所述第一合并模块220包括:第一合并子模块221和拆分子模块222。
第一合并子模块221,用于将各个所述原始IP列表中包含相同IP段的源IP信息进行合并,记录所述相同IP段对应的所有策略标识,并按策略优先级由高到低的顺序进行排序;
拆分子模块222,用于将各个所述原始IP列表中具有包含关系的IP段,根据所包含的IP段进行拆分,并分别记录拆分后的子IP段对应的策略标识。
该第三获取模块230,用于获取DNS服务器中各个DNS策略对应的原始域名列表,以及各个原始域名列表对应的策略标识;
该第二合并模块240,用于将各个原始域名列表中的域名进行合并,并对应记录合并后的每个域名对应的策略标识,得到域名列表。
第二合并模块包括第二合并子模块,用于将各个原始域名列表中包含的相同域名进行合并,并按照策略优先级由高到低的顺序记录该相同域名对应的策略标识。
本实施例提供的基于DNS视图的DNS策略解析装置,将每个DNS策略对应的原始IP列表合并成一个IP列表,以及,将每个DNS策略对应的原始域名列表合并成一个域名列表。该装置将二元(IP和域名)匹配(IP和域名)转化为两个一元匹配,大大提高查询效率,进而提高DNS服务器的性能。该方法适用于DNS策略较多场景下的二元匹配,且DNS策略越多,性能提升越明显;而且,该装置实施方便。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种基于域名系统DNS视图的DNS策略解析方法,应用于DNS服务器中,其特征在于,包括:
获取接收到的DNS查询请求对应的源IP地址及目标域名;
查询预先创建的IP列表,得到与所述源IP地址匹配的第一策略标识集,所述IP列表包含所述DNS服务器中所有DNS策略对应的源IP信息及每条所述源IP信息对应的策略标识;
查询预先创建的域名列表,得到与所述目标域名匹配的第二策略标识集,所述域名列表包含所述DNS服务器中所有DNS策略对应的域名及每个所述域名对应的策略标识;
确定所述第一策略标识集与所述第二策略标识集中的相同策略标识所对应的策略为目标策略。
2.根据权利要求1所述的方法,其特征在于,在查询预先创建的IP列表之前,所述方法还包括:
获取所述DNS服务器中各个DNS策略对应的原始IP列表,以及各个所述原始IP列表对应的策略标识;
将各个所述原始IP列表中的源IP信息进行合并,并对应记录合并后的每条源IP信息对应的策略标识,得到所述IP列表。
3.根据权利要求2所述的方法,其特征在于,所述将各个所述原始IP列表中的源IP信息进行合并,并对应记录合并后的每条源IP信息对应的策略标识,得到所述IP列表,包括:
将各个所述原始IP列表中包含相同IP段的源IP信息进行合并,记录所述相同IP段对应的所有策略标识,并按策略优先级由高到低的顺序进行排序;
将各个所述原始IP列表中具有包含关系的IP段,根据所包含的IP段进行拆分,并分别记录拆分后的子IP段对应的策略标识。
4.根据权利要求1所述的方法,其特征在于,在查询预先创建的域名列表之前,所述方法还包括:
获取所述DNS服务器中各个DNS策略对应的原始域名列表,以及各个所述原始域名列表对应的策略标识;
将各个所述原始域名列表中的域名进行合并,并对应记录合并后的每个域名对应的策略标识,得到所述域名列表。
5.根据权利要求4所述的方法,其特征在于,所述将各个所述原始域名列表中的域名进行合并,并对应记录合并后的每个域名对应的策略标识,得到所述域名列表,包括:
将各个所述原始域名列表中包含的相同域名进行合并,并按照策略优先级由高到低的顺序记录所述相同域名对应的策略标识。
6.根据权利要求1所述的方法,其特征在于,所述确定所述第一策略标识集及所述第二策略标识集中的相同策略标识所对应的策略为目标策略,包括:
查找所述第一策略标识集和所述第二策略标识集中的相同策略标识;
当所述相同策略标识的数量为至少两个时,确定全部的相同策略标识中优先级最高的策略标识所对应的策略为所述目标策略。
7.一种基于域名系统DNS视图的DNS策略解析装置,应用于DNS服务器中,其特征在于,包括:
第一获取模块,用于获取接收到的DNS查询请求对应的源IP地址及目标域名;
第一查询模块,用于查询预先创建的IP列表,得到与所述源IP地址匹配的第一策略标识集,所述IP列表包含所述DNS服务器中所有DNS策略对应的源IP信息及每条所述源IP信息对应的策略标识;
第二查询模块,用于查询预先创建的域名列表,得到与所述目标域名匹配的第二策略标识集,所述域名列表包含所述DNS服务器中所有DNS策略对应的域名及每个所述域名对应的策略标识;
确定模块,用于确定所述第一策略标识集与所述第二策略标识集中的相同策略标识所对应的策略为目标策略。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述DNS服务器中各个DNS策略对应的原始IP列表,以及各个所述原始IP列表对应的策略标识;
第一合并模块,用于将各个所述原始IP列表中的源IP信息进行合并,并对应记录合并后的每条源IP信息对应的策略标识,得到所述IP列表。
9.根据权利要求8所述的装置,其特征在于,所述第一合并模块包括:
第一合并子模块,用于将各个所述原始IP列表中包含相同IP段的源IP信息进行合并,记录所述相同IP段对应的所有策略标识,并按策略优先级由高到低的顺序进行排序;
拆分子模块,用于将各个所述原始IP列表中具有包含关系的IP段,根据所包含的IP段进行拆分,并分别记录拆分后的子IP段对应的策略标识。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取所述DNS服务器中各个DNS策略对应的原始域名列表,以及各个所述原始域名列表对应的策略标识;
第二合并模块,用于将各个所述原始域名列表中的域名进行合并,并对应记录合并后的每个域名对应的策略标识,得到所述域名列表。
11.根据权利要求10所述的装置,其特征在于,所述第二合并模块包括:
第二合并子模块,用于将各个所述原始域名列表中包含的相同域名进行合并,并按照策略优先级由高到低的顺序记录所述相同域名对应的策略标识。
12.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
查找子模块,用于查找所述第一策略标识集和所述第二策略标识集中的相同策略标识;
第一确定子模块,用于当所述相同策略标识的数量为至少两个时,确定全部的相同策略标识中优先级最高的策略标识所对应的策略为所述目标策略。
CN201710020359.9A 2017-01-11 2017-01-11 一种基于dns视图的dns策略解析方法及装置 Active CN106506729B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710020359.9A CN106506729B (zh) 2017-01-11 2017-01-11 一种基于dns视图的dns策略解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710020359.9A CN106506729B (zh) 2017-01-11 2017-01-11 一种基于dns视图的dns策略解析方法及装置

Publications (2)

Publication Number Publication Date
CN106506729A true CN106506729A (zh) 2017-03-15
CN106506729B CN106506729B (zh) 2019-11-19

Family

ID=58345208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710020359.9A Active CN106506729B (zh) 2017-01-11 2017-01-11 一种基于dns视图的dns策略解析方法及装置

Country Status (1)

Country Link
CN (1) CN106506729B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124479A (zh) * 2017-04-19 2017-09-01 成都西维数码科技有限公司 一种基于基数树的域名多线路智能解析方法
CN107707682A (zh) * 2017-04-19 2018-02-16 贵州白山云科技有限公司 一种bind配置加载优化方法及装置
CN108933843A (zh) * 2017-05-26 2018-12-04 贵州白山云科技有限公司 一种dns调度方法及装置
CN109788080A (zh) * 2018-12-07 2019-05-21 中国互联网络信息中心 基于图形视图的域名解析方法、装置、电子设备及介质
CN109829081A (zh) * 2017-08-23 2019-05-31 贵州白山云科技股份有限公司 一种视图匹配处理方法及装置
CN111600849A (zh) * 2020-04-23 2020-08-28 新华三信息安全技术有限公司 一种报文处理方法、装置、设备及机器可读存储介质
CN111885216A (zh) * 2020-07-15 2020-11-03 北京青云科技股份有限公司 Dns查询方法、装置、设备和存储介质
CN113037885A (zh) * 2021-03-02 2021-06-25 上海牙木通讯技术有限公司 视图匹配方法、dns服务器及计算机可读存储介质
CN113132499A (zh) * 2019-12-30 2021-07-16 中国移动通信集团山西有限公司 Ip地址信息管理方法、装置、设备及计算机存储介质
CN113965546A (zh) * 2021-09-10 2022-01-21 济南浪潮数据技术有限公司 一种容器云平台为应用设置租户专用dns服务器的方法
CN114221906A (zh) * 2021-11-11 2022-03-22 百度在线网络技术(北京)有限公司 流量管控方法、装置、电子设备及存储介质
CN114745353A (zh) * 2022-04-11 2022-07-12 北京英迪瑞讯网络科技有限公司 IPv4端访问IPv4/IPv6网络的流量调度方法
CN115842803A (zh) * 2022-10-27 2023-03-24 新浪技术(中国)有限公司 文件处理方法、装置及系统
CN116233064A (zh) * 2021-12-06 2023-06-06 中移(苏州)软件技术有限公司 一种信息确定方法、装置、设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025713A (zh) * 2010-02-09 2011-04-20 中国移动通信集团北京有限公司 一种访问控制方法、系统及dns服务器
CN102055813A (zh) * 2010-11-22 2011-05-11 杭州华三通信技术有限公司 一种网络应用的访问控制方法及其装置
US20130268675A1 (en) * 2012-04-05 2013-10-10 Institute For Information Industry Method and System for Tracing Domain Names and Computer Readable Storage Medium Storing the Method
CN104079683A (zh) * 2014-07-14 2014-10-01 北京快易博科技有限公司 一种授权域名服务器直接响应的域名解析方法及系统
CN105635343A (zh) * 2016-02-02 2016-06-01 中国互联网络信息中心 应用于dns查询的ip地址列表存储和查询方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025713A (zh) * 2010-02-09 2011-04-20 中国移动通信集团北京有限公司 一种访问控制方法、系统及dns服务器
CN102055813A (zh) * 2010-11-22 2011-05-11 杭州华三通信技术有限公司 一种网络应用的访问控制方法及其装置
US20130268675A1 (en) * 2012-04-05 2013-10-10 Institute For Information Industry Method and System for Tracing Domain Names and Computer Readable Storage Medium Storing the Method
CN104079683A (zh) * 2014-07-14 2014-10-01 北京快易博科技有限公司 一种授权域名服务器直接响应的域名解析方法及系统
CN105635343A (zh) * 2016-02-02 2016-06-01 中国互联网络信息中心 应用于dns查询的ip地址列表存储和查询方法

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124479B (zh) * 2017-04-19 2019-09-13 成都西维数码科技有限公司 一种基于基数树的域名多线路智能解析方法
CN107707682A (zh) * 2017-04-19 2018-02-16 贵州白山云科技有限公司 一种bind配置加载优化方法及装置
CN107707682B (zh) * 2017-04-19 2018-07-06 贵州白山云科技有限公司 一种bind配置加载优化方法及装置
CN107124479A (zh) * 2017-04-19 2017-09-01 成都西维数码科技有限公司 一种基于基数树的域名多线路智能解析方法
CN108933843A (zh) * 2017-05-26 2018-12-04 贵州白山云科技有限公司 一种dns调度方法及装置
CN108933843B (zh) * 2017-05-26 2021-07-06 贵州白山云科技股份有限公司 一种dns调度方法及装置
CN109829081A (zh) * 2017-08-23 2019-05-31 贵州白山云科技股份有限公司 一种视图匹配处理方法及装置
CN109788080B (zh) * 2018-12-07 2021-09-21 中国互联网络信息中心 基于图形视图的域名解析方法、装置、电子设备及介质
CN109788080A (zh) * 2018-12-07 2019-05-21 中国互联网络信息中心 基于图形视图的域名解析方法、装置、电子设备及介质
CN113132499A (zh) * 2019-12-30 2021-07-16 中国移动通信集团山西有限公司 Ip地址信息管理方法、装置、设备及计算机存储介质
CN113132499B (zh) * 2019-12-30 2022-10-18 中国移动通信集团山西有限公司 Ip地址信息管理方法、装置、设备及计算机存储介质
CN111600849B (zh) * 2020-04-23 2022-07-12 新华三信息安全技术有限公司 一种报文处理方法、装置、设备及机器可读存储介质
CN111600849A (zh) * 2020-04-23 2020-08-28 新华三信息安全技术有限公司 一种报文处理方法、装置、设备及机器可读存储介质
CN111885216A (zh) * 2020-07-15 2020-11-03 北京青云科技股份有限公司 Dns查询方法、装置、设备和存储介质
CN111885216B (zh) * 2020-07-15 2022-12-06 北京青云科技股份有限公司 Dns查询方法、装置、设备和存储介质
CN113037885A (zh) * 2021-03-02 2021-06-25 上海牙木通讯技术有限公司 视图匹配方法、dns服务器及计算机可读存储介质
CN113965546A (zh) * 2021-09-10 2022-01-21 济南浪潮数据技术有限公司 一种容器云平台为应用设置租户专用dns服务器的方法
CN114221906A (zh) * 2021-11-11 2022-03-22 百度在线网络技术(北京)有限公司 流量管控方法、装置、电子设备及存储介质
CN116233064A (zh) * 2021-12-06 2023-06-06 中移(苏州)软件技术有限公司 一种信息确定方法、装置、设备及计算机可读存储介质
CN116233064B (zh) * 2021-12-06 2024-09-13 中移(苏州)软件技术有限公司 一种信息确定方法、装置、设备及计算机可读存储介质
CN114745353A (zh) * 2022-04-11 2022-07-12 北京英迪瑞讯网络科技有限公司 IPv4端访问IPv4/IPv6网络的流量调度方法
CN114745353B (zh) * 2022-04-11 2024-06-25 北京英迪瑞讯网络科技有限公司 IPv4端访问IPv4/IPv6网络的流量调度方法
CN115842803A (zh) * 2022-10-27 2023-03-24 新浪技术(中国)有限公司 文件处理方法、装置及系统

Also Published As

Publication number Publication date
CN106506729B (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN106506729A (zh) 一种基于dns视图的dns策略解析方法及装置
CN105635343B (zh) 应用于dns查询的ip地址列表存储和查询方法
US7035846B2 (en) Methods, computer programs and apparatus for caching directory queries
CN103581213B (zh) 一种共享Hosts文件的应用方法、设备和系统
CN104796326B (zh) 一种企业im的群组创建方法及装置
CN100525242C (zh) 名称解析服务器和分组传送设备
CN102469167B (zh) 域名查询的实现方法和系统
CN102945249B (zh) 一种策略规则匹配查询树生成方法、匹配方法及装置
CN103957282B (zh) 一种域内终端用户域名解析加速系统及其方法
CN104050220A (zh) 动态的基于策略的来自外部数据仓库的权利的方法和装置
CN109804605A (zh) 压缩转发表
US20140222906A1 (en) Method and system for domain name system based discovery of devices and objects
CN109729183A (zh) 请求处理方法、装置、设备及存储介质
CN103428041B (zh) 一种基于云的端到端流量内容检测系统和检测方法
CN108702396A (zh) 用于数据处理的方法、设备和计算机程序以及层级式域名系统区文件
CN106599111A (zh) 一种数据管理方法及存储系统
CN101369267A (zh) 一种基于内存库的模糊查询方法
CN103873602A (zh) 一种网络资源命名方法与生成装置
CN105704246A (zh) 一种基于sdn架构的网络分流装置和方法
CN105426474A (zh) 统一资源定位符url匹配的方法及装置
CN105991793A (zh) 报文转发的方法和装置
CN104636368B (zh) 数据检索方法、装置及服务器
US20080097971A1 (en) Peer-to-peer based secondary key search method and system for cluster database
CN104253796B (zh) 域名系统中基于网络地址绑定区层级的快速区识别方法
CN107807976A (zh) Ip归属地查询方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant