DNS应答结果的缓存方法、DNS服务器及计算机可读存储介质技术

技术编号:27752027 阅读:19 留言:0更新日期:2021-03-19 13:48
DNS应答结果的缓存方法、DNS服务器及计算机可读存储介质。本发明专利技术提出了一种DNS应答结果的缓存方法,该DNS应答结果的缓存方法提供了多个彼此独立的缓存空间,至少根据所述DNS应答结果的应答状态,为DNS应答结果的应答记录选择缓存空间进行保存。多个缓存空间相互独立,分别缓存不同应答结果域名,能够防止非正常解析结果侵占正常解析结果的缓存空间,并且在缓存非正常解析结果时,能够避免流量攻击缓存空间导致缓存突破正常的缓存数量的问题。总体上,降低用户解析时延,提高DNS系统工作效率。独立缓存空间能够分别设置相应的缓存数量,并对缓存记录按照一定的规则进行先进先出。用户能够根据自身需要,自行设定缓存空间的大小,提高缓存利用率。

【技术实现步骤摘要】
DNS应答结果的缓存方法、DNS服务器及计算机可读存储介质
本专利技术涉及网络通信
,具体涉及一种DNS应答结果缓存方法、DNS服务器及计算机可读存储介质。
技术介绍
域名系统(DomainNameSystem,简称DNS)是互联网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP数串。IP地址是网络上标识站点的数字地址,为了方便记忆,人们采用域名代替IP地址来标识站点地址。而域名解析是指把域名指向网站IP地址,让人们通过注册的域名可以方便地访问到网站的一种服务,是域名到IP地址的转换过程,通常由DNS服务器完成。具体来说,当DNS服务器接收到由于用户访问域名而产生的查询请求时,则DNS服务器会进行解析并对该查询请求进行应答。目前,为了提高针对用户查询的应答效率,降低对用户访问时延,DNS服务器通常会前置高速缓存,即将针对查询请求的应答结果记录在内存中而形成高速缓存,当生存时间(TTL,TimeToLive)过期后,再到后端递归服务器中进行更新,从而在再次接收到同样的查询请求时能够快速进行应答,而无需进行大量递归查询。当前,大部分DNS服务器只对正常解析的应答结果(无错误,返回码=noerror)进行缓存。当出现非正常解析的应答结果例如域名不存在(返回码=nxdomain)、服务器故障(返回码=servfail)、拒绝执行(返回码=refused)等时,则不进行缓存。但是,若不缓存非正常解析的应答结果,则在再次接收到同样查询请求时,依然可能要进行递归查询,不仅会对后端递归资源造成浪费,还会降低DNS服务器本身的应答速度。另外,也有部分DNS服务器会同时缓存正常解析的应答结果和非正常解析的应答结果。对于使用该配置方式的DNS服务器,因为缓存的数据量受限于内存容量,一旦出现攻击流量(例如散列域名攻击),大量出现的非正常解析的应答结果会严重侵占正常解析的应答结果的缓存空间。因此,亟待提供一种技术方案,既能够使正常解析的应答结果的缓存空间免受挤占,又能够提升缓存利用率,保证应答速度,降低用户访问时延。
技术实现思路
针对以上问题,本专利技术提供了一种DNS应答结果的缓存方法,解决了上述技术问题。在本专利技术的技术方案中,提出了一种DNS应答结果的缓存方法,包括以下步骤:步骤S1,提供多个彼此独立的缓存空间;步骤S2,至少根据DNS应答报文中的应答状态,将与该DNS应答报文对应的应答结果选择缓存空间进行保存。在DNS服务器对域名查询请求进行应答的过程中会返回应答报文,根据应答报文能够判断出针对该域名能否正常解析。具体来说,应答报文中具有能够反映应答状态(即是否正常解析)的返回码,从而能够为应答结果的分类提供依据。通过将对应不同应答状态的应答结果存储在彼此独立的缓存空间中,能够防止非正常解析的应答结果侵占正常解析的应答结果的缓存空间,并且,即使遭受流量攻击,大量出现的非正常解析的应答结果也只能占据有限的缓存空间,而不会使得影响扩散到用于缓存正常解析的应答结果的空间,从而提高了DNS服务器的鲁棒性。另外,非正常解析的应答结果也可以被有效缓存,从而可以降低用户访问时延,降低递归流量,提高DNS系统工作效率。此外,彼此独立的缓存空间能够独立地调整空间大小,分别地进行先进先出或者其他合适类型的缓存操作,从而提高了系统设定的灵活性,大幅提高缓存利用率。在本专利技术的较优技术方案中,多个彼此独立的缓存空间至少包括正常缓存空间与非正常缓存空间,在步骤S2中,若DNS应答报文中的应答状态为无错误,则将与该DNS应答报文对应的应答结果即正常解析的应答结果保存在正常缓存空间中;若DNS应答报文中的应答状态为域名不存在、服务器故障、拒绝执行等非正常解析状态中的任意一种,则将与该DNS应答报文对应的应答结果即非正常解析的应答结果保存在非正常缓存空间中。根据上述技术方案,正常解析的应答结果被缓存到正常缓存空间中,不会受到非正常解析的应答结果的干扰,保障了用户正常访问域名的高效,有效降低用户的访问时延。进一步地,在本专利技术的较优技术方案中,与正常解析的应答结果匹配的应答状态(例如应答报文中的返回码)为无错误(noerror),即表示域名可以正常访问,无错误条件。非正常解析的应答结果缓存到非正常缓存空间,能够降低用户访问时延,提高访问效率。特别是,缓存非正常解析的应答结果能够避免对后续递归资源的浪费。进一步地,本专利技术的较优技术方案中与非正常解析的应答结果匹配的应答状态为除了无错误(noerror)以外的其他应答状态,包括但不限于域名不存在(nxdomain)、服务器故障(servfail)、拒绝执行(refused)等。其中,nxdomain表示域名不存在,即此域名没有任何类型的解析记录;servfail表示服务器在处理此请求时遇到内部故障,例如操作系统错误或转发超时;refused表示服务器出于策略或安全原因拒绝执行指定的操作。在本专利技术的较优技术方案中,多个彼此独立的缓存空间还包括授权缓存空间,在步骤S2中,根据DNS应答报文中的授权标志位,为应答结果选择缓存空间进行保存。进一步地,本专利技术的较优技术方案中,若DNS应答报文中的授权标志位为已授权,则将与该DNS应答报文对应的应答结果即授权应答结果保存在授权缓存空间中。通过将与授权标志位为已授权相对应的应答结果缓存到授权缓存空间中,在解决后端提供授权服务时具有高性能授权应答能力,能够提供等同于缓存性能的授权服务。进一步地,在授权标志位为已授权时,无差别地对待正常解析和非正常解析的应答结果,都将应答结果保存在授权缓存空间中,可以有效提高授权服务的应答能力,进而提供等同于缓存性能的授权服务。在本专利技术的较优技术方案中,授权应答结果缓存到授权缓存空间中,其生存时间不递减,能够一直保留在授权缓存空间,降低响应时延。进一步地,在本专利技术的较优技术方案中,还包括以下步骤:步骤S3,在添加或者修改DNS域名的授权配置之前,清空授权缓存空间内该DNS域名对应的DNS应答结果。根据上述较优技术方案,DNS服务器不仅能够及时清理缓存空间,减少资源占用。更重要的是,能够根据后端服务器DNS授权配置的增加和变化,刷新授权缓存空间内DNS域名对应的DNS应答结果,实现DNS授权配置的实时更新,实现清空前端缓存。在本专利技术的较优技术方案中,根据删除的应答结果以及规定时间段以后的应答结果,训练预测模型;将预测模型应用于当前的授权缓存空间,从而从授权缓存空间中选择应答结果予以删除。借助机器学习算法,利用预测模型协助删除无效重复的应答结果,可以提高授权缓存空间的利用率,降低用户解析时延。本专利技术还提供一种具有多个彼此独立的缓存空间的DNS服务器,其中的多个所述缓存空间,至少根据DNS应答报文中的应答状态,而保存与该DNS应答报文对应的应答结果。多个彼此独立的缓存空间包括正常缓存空间、非正常缓存空间和授权缓存空间。其中,正常缓存空间存储有授权标志位为未授权且应答状态为无错误的本文档来自技高网
...

【技术保护点】
1.一种DNS应答结果的缓存方法,其特征在于,包括以下步骤:/n步骤S1,提供多个彼此独立的缓存空间;/n步骤S2,至少根据DNS应答报文中的应答状态,将与该DNS应答报文对应的应答结果选择缓存空间进行保存。/n

【技术特征摘要】
1.一种DNS应答结果的缓存方法,其特征在于,包括以下步骤:
步骤S1,提供多个彼此独立的缓存空间;
步骤S2,至少根据DNS应答报文中的应答状态,将与该DNS应答报文对应的应答结果选择缓存空间进行保存。


2.如权利要求1所述的DNS应答结果的缓存方法,其特征在于,在所述步骤S2中,所述多个彼此独立的缓存空间至少包括正常缓存空间与非正常缓存空间,
若所述DNS应答报文中的应答状态为无错误,则将与该DNS应答报文对应的应答结果即正常解析的应答结果保存在所述正常缓存空间中;
若所述DNS应答报文中的应答状态为域名不存在、服务器故障、拒绝执行中的任意一种,则将与该DNS应答报文对应的应答结果即非正常解析的应答结果保存在所述非正常缓存空间中。


3.如权利要求1所述的DNS应答结果的缓存方法,其特征在于,
所述多个彼此独立的缓存空间还包括授权缓存空间,在步骤S2中,根据DNS应答报文中的授权标志位,为应答结果选择缓存空间进行保存。


4.如权利要求3所述的DNS应答结果的缓存方法,其特征在于,根据DNS应答报文中的授权标志位,为应答结果选择缓存空间进行保存包括:
若所述DNS应答报文中的授权标志位为已授权,则将与该DNS应答报文对应的应答结果即授权应答结果保存在所述授权缓存空间中。


5.如权利要求4所述的DNS应答结果的缓存方法,其特征在于,还包括以下步骤:
步骤...

【专利技术属性】
技术研发人员:张宇
申请(专利权)人:上海牙木通讯技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1