一种DNS转发分级的方法及其系统与流程

本发明涉及互联网,尤其涉及一种dns转发分级的方法及其系统。
背景技术:
1、本地域名服务器(localdns)指在电脑、手机等终端设备配置的域名解析服务器(dns),向终端提供域名解析。localdns 由网络运营商建设,向互联网用户提供域名查询解析服务。localdns接收到用户的域名解析请求,如本地缓存服务器中找不到结果,则会发起递归查询:首先会向根服务器查询,根服务器里面记录的都是各个顶级域所在的服务器的位置;其次,向顶级域名服务其查询下一级域的域名服务器位置;然后,逐级查询知道找到请求域名所在域的权威dns地址;最后向权威dns发起查询请求,获得解析ip,响应给用户。
2、转发功能是dns实现查询的重要功能之一。一个域配置了转发时,localdns不需要递归,直接向转发dns服务器发起该域下域名的解析查询。转发dns服务器可以是递归dns、也可以是权威dns。
3、在cdn企业专用dns保护服务中,如114dns会将cdn企业的权威dns隐藏起来,把localdns的递归请求透传给客户的权威dns。这样,把cdn企业的ns服务器保护起来,有攻击时候114dns会将攻击流量洗涤掉、然后将干净的 dns 数据透传给 cdn 企业的 ns 服务器。该方案成本较高,因攻击时候要dns清洗,攻击量越大,清洗成本越高;有可能会把特殊的正常请求也清洗掉。一般cdn企业租用时候只会把其中一个ns保护起来,在攻击时,也就只有一个ns在服务,此时服务性能会降低;因在递归过程中增加了保护dns,时延也就加大了。
4、此外,现有专利公开了一种dns分组转发方法及装置-cn202211703423.0,该专利目的是为了实现就近调度,即返回用户距离最近的ip。权威dns根据请求的localdns的ip来判断用户位置,所以给用户递归请求时需要选择跟用户最接近的localdns来发起递归请求。该专利必须要把localdns拆成两部分:缓存和递归,缓存面向用户,递归全国部署多个机房,缓存转发用户请求到距离用户最近的递归服务器。该专利需要配置全网ip地址库,分组与用户地址库关联,配置比较复杂。
技术实现思路
1、本发明的目的在于提供一种dns转发分级的方法及其系统,解决权威dns受攻击而瘫痪,造成客户网站或业务因域名不能解析而不能访问,以及解决少部分dns请求时延大影响超低时延业务的用户体验。
2、本发明采用的技术方案是:
3、一种dns转发分级的方法,包括以下步骤:
4、步骤1,本地域名服务器(localdns)收到用户的dns解析请求,判断本地缓存是否有请求域名的解析;如果是,则以本地缓存的解析地址作为响应反馈并结束流程;否则,执行步骤2;
5、步骤2,请求域名所在的域是否配置转发功能;如果是,则执行步骤3;否则,执行正常递归流程;
6、步骤3,判断所在域是否配置有转发分级分组;如果是,则进入转发分级流程执行步骤4;否则,执行正常转发流程;
7、步骤4,获取最高优先级转发分组;
8、步骤5,获取选择分组内所有权威dns列表;
9、步骤6,按设定算法选择其中一个权威dns,判断是否有一个可用的dns;如果是,则向对应dns发起域名解析请求并执行步骤7;否则,选择下一高优先级分组,并执行步骤5;
10、步骤7,权威dns响应解析结果,localdns把响应结果返回给用户。
11、进一步地,步骤3中dns转发分级分组生成支持静态配置和动态生成两种方式。
12、进一步地,步骤3中静态配置方法:分别为每个权威dns静态设置优先级权值。
13、进一步,步骤3中动态生成方法为:localdns定时探测每个权威dns的时延,按照时延等级生成自动分组,具体步骤如下:
14、步骤3-2-1,设置初始参数:探测定时时间(半小时)、连续探测次数(10次)、rtt阶梯值(100ms)。
15、步骤3-2-2,定时启动探测获取每个权威dns的时延
16、步骤3-2-3,计算分级域下的每个权威dns的平均rtt值,
17、步骤3-2-4,按100ms一个区间排序,rtt最小的区间设为最高优先级,rtt第二小的区间设为第二高优先级,其余dns的不管rtt多大都划为第三高优先级;
18、进一步地,步骤3-2-2中权威dns探测超时一次算3000ms(3s)。
19、进一步地,步骤6中按rtt算法选择其中一个权威dns。
20、具体地,收到用户的dns解析请求,本地缓存没有请求域名的解析,并且请求域名所在的域配置了转发(forward)时进入转发流程(否则走正常递归流程);若所在域静态配置了或自动生成了转发分级,则进入转发分级流程(否则走正常转发流程);获取最高优先级转发分组;
21、获取选择分组内所有权威dns列表;按rtt算法选择其中一个权威dns(该算法使用localdns原有算法)。若没有一个可用的dns,选择下一高优先级分组,重复前述步骤直到选择了一个可用权威dns,则向该dns发起域名解析请求;权威dns响应解析结果,localdns把响应结果返回给用户。
22、一种dns转发分级系统,其包括客户端、本地dns服务器(localdns)和权威dns服务器;本地dns服务器上设有缓存模块、递归模块、普通转发模块和dns转发分级模块;缓存模块提供dns缓存服务;递归模块提供dns递归服务;本地dns服务器(localdns服务器)用于在收到用户解析请求时向用户返回一个准确的查询结果;当本地dns服务器有请求域名所在域的转发配置,不用递归直接询问权威dns服务器,直到将最终的查询结果响应给用户;其中,普通转发模块用于在无转发分级分组时将用户解析请求转发至权威dns服务器以获取询问结果;dns转发分级模块用于生成不同优先级的权威dns分组、选择最高优先级的分组并只有最高优先级权威dns分组所有dns均不可访问时才选择下一级权威dns分组,dns转发分级模块在选定权威dns分组内选择一个权威dns并向选出的权威dns发送客户的域名解析请求。
23、本发明采用以上技术方案,在localdns 增加优先级不同的转发分级模块,dns递归时候若请求域启用了域名转发分级,则优先使用最高优先级分组的权威dns;在高优先级分组能提供dns解析服务时,localdns不会向低优先级分组转发域名解析请求;转发分级支持自动分组,动态探测每个权威dns的响应rtt时延。
24、本发明设计的方案不仅能实现权威dns安全保护,而且不需要投资或租用昂贵的ddos设备,使用成本很低。本发明为了剔除响应慢的权威dns,保证整体响应都很快,以及为权威dns安全保护,隐藏部分权威dns。本发明不区分localdns部署形态,可以是缓存递归一体,也可以是分开的。本发明只需要把响应rtt相近的权威dns配置在同一等级组。
技术研发人员:董文静
技术所有人:中电福富信息科技有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
