一种提高DNS可用性的方法及系统技术方案

技术编号:16330085 阅读:34 留言:0更新日期:2017-09-29 21:16
本发明专利技术公开了一种提高DNS可用性的方法及系统,所述方法包括如下步骤:接收DNS查询请求;如果所述DNS查询请求的查询数据在DNS递归服务器的缓存中且所述查询数据的TTL未过期,则返回缓存的查询结果;如果所述查询数据不在所述DNS递归服务器的缓存中或者所述查询数据的TTL已过期,则向相应的DNS权威服务器发起迭代查询。本发明专利技术可以在权威服务器不可达的情况下,让递归服务器提供可用性更高的DNS解析服务:集中的权威DNS服务器被攻击时导致带宽等系统资源被严重占用或服务宕机时,能够有效地提高自身服务的可用性,避免大规模的DNS服务失败和互联网瘫痪。权威DNS服务器被攻击时导致带宽等系统资源被严重占用时,递归服务器将在保持正常服务的情况下减少DNS请求给权威服务器带来的负载。

【技术实现步骤摘要】
一种提高DNS可用性的方法及系统
本专利技术涉及一种域名解析
,具体涉及一种基于缓存复用策略的提高DNS可用性的方法及系统。
技术介绍
DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。按照功能不同,DNS解析服务中两个重要的服务主体是权威DNS服务和递归DNS服务。权威DNS是经过授权对域名进行解析的服务器,所有域名的原始DNS信息都保存在权威服务器上。递归DNS是绝大部分互联网用户查询域名时实际访问的DNS服务器,它负责接受用户对任意域名查询,并向相应的权威服务器发送迭代请求,将最终结果返回给用户,同时可以缓存查询结果以避免重复迭代查询。DNS是网络应用的基础设施,它的安全性对于互联网的安全有着举足轻重的影响。一直以来,互联网基础架构的脆弱性有目共睹,域名系统的安全问题一直是国内外互联网服务运行的短板。随着互联网云平台技术的不断发展,DNS权威服务器变得越来越集中,通常情况下DNS服务提供商都会给多个网站或用户提供服务。这种情况下,一旦集中的DNS权威服务器被攻击导致服务不可达,造成的影响将是大规模的DNS服务不可用,从而导致互联网的瘫痪。
技术实现思路
为解决以上问题,本专利技术为了在权威服务器因自身原因服务宕机、网络被攻击造成带宽受限,或其他不可预料的网络故障发生,而导致DNS权威服务器不可达时,DNS递归服务器通过复用缓存中的记录,尽可能地提高客户机一侧DNS服务的可用性,降低了由于集中的DNS权威服务器遭受攻击而造成大规模DNS服务失败的影响。同时,通过减少向权威服务器发送请求,降低了权威服务器在遭受攻击时进一步增加的负载。具体的,本专利技术提供了一种提高DNS可用性的方法,用于DNS递归服务器,包括如下步骤:接收DNS查询请求;如果所述DNS查询请求的查询数据在DNS递归服务器的缓存中且所述查询数据的TTL未过期,则返回缓存的查询结果;如果所述查询数据不在所述DNS递归服务器的缓存中或者所述查询数据的TTL已过期,则向相应的DNS权威服务器发起迭代查询。优选的,如上所述的提高DNS可用性的方法,所述迭代查询包括,接受所述DNS权威服务器的应答,将记录缓存到所述DNS递归服务器,重置缓存复用计数器,所述DNS递归服务器判断该应答是否是本次DNS查询的应答结果;如果是,将返回缓存的查询结果,结束本次查询;如果不是,则根据收到的应答继续向上述DNS权威服务器发送请求进行迭代查询。优选的,如上所述的提高DNS可用性的方法,如果在所述迭代查询的过程中,如果某一级权威服务器没有应答,则所述DNS递归服务器查询所述查询的数据是否已经在缓存中,若不在缓存中则返回服务失败,若在缓存中,则判断缓存复用计数器是否超过所配置的缓存复用次数;如果是,则返回服务失败,如果否,则重置所述查询的数据的TTL,缓存复用计数器减一,然后返回所述查询的数据的记录。优选的,如上所述的提高DNS可用性的方法,重置上述数据的TTL的过程如下:将该查询的数据中的每条资源记录及其签名信息记录的TTL取下列数值中的最小值:(1)收到的DNS权威服务器应答中的TTL;(2)收到的DNS权威服务器应答中的签名信息记录的TTL;(3)该数据的签名信息记录中的原始TTL;(4)该数据的签名信息记录中的过期时间减去当前时间的差值。优选的,如上所述的提高DNS可用性的方法,当所述缓存复用计数器值降低到零后,DNS递归服务器删除该所查询的数据的缓存,并向返回服务失败。根据本专利技术的另一个方面,还提供了一种提高DNS可用性的系统,包括如下模块:请求接收模块,用于接收DNS查询请求;缓存复用模块,用于在所述DNS查询请求的查询数据在缓存中且所述查询数据的TTL未过期时,返回缓存的查询结果;或者所述查询数据不在缓存中或者所述查询数据的TTL已过期时,向相应的DNS权威服务器发起迭代查询。优选的,如上所述的提高DNS可用性的系统,所述缓存复用模块包括判断单元,用于在所述迭代查询的过程中,接受所述DNS权威服务器的应答,将记录缓存到所述DNS递归服务器,重置缓存复用计数器,判断该应答是否是本次DNS查询的应答结果;如果是,将返回缓存的查询结果,结束本次查询;如果不是,则根据收到的应答继续向上述DNS权威服务器发送请求进行迭代查询。优选的,如上所述的提高DNS可用性的系统,所述缓存复用模块还包括查询单元,用于在所述迭代查询的过程中,如果某一级权威服务器没有应答,则查询所述查询的数据是否已经在缓存中,若不在缓存中则返回服务失败,若在缓存中,则判断缓存复用计数器是否超过所配置的缓存复用次数;如果是,则返回服务失败,如果否,则重置所述查询的数据的TTL,缓存复用计数器减一,然后返回所述查询的数据的记录。优选的,如上所述的提高DNS可用性的系统,所述查询单元进一步包括重置装置,用于根据以下规则重置上述数据的TTL:将该查询的数据中的每条资源记录及其签名信息记录的TTL取下列数值中的最小值:(1)收到的DNS权威服务器应答中的TTL;(2)收到的DNS权威服务器应答中的签名信息记录的TTL;(3)该数据的签名信息记录中的原始TTL;(4)该数据的签名信息记录中的过期时间减去当前时间的差值。优选的,如上所述的提高DNS可用性的系统,所述缓存复用模块还包括删除单元,用于在所述缓存复用计数器的值降低到零后,删除该所查询的数据的缓存,并返回服务失败。本专利技术的有益效果如下:本专利技术中的“缓存复用机制”,可以在权威服务器不可达的情况下,让递归服务器提供可用性更高的DNS解析服务:首先,集中的权威DNS服务器被攻击时导致带宽等系统资源被严重占用或服务宕机时,能够有效地提高自身服务的可用性,避免大规模的DNS服务失败和互联网瘫痪。其次,权威DNS服务器被攻击时导致带宽等系统资源被严重占用时,递归服务器将在保持正常服务的情况下减少DNS请求给权威服务器带来的负载。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:附图1示出了根据本专利技术实施例的提高DNS可用性的数据提取方法流程框图;附图2示出了根据本专利技术实施例的基于缓存复用策略的DNS查询流程示意图;附图3示出了根据本专利技术实施例的基于缓存复用策略的DNS记录数据结构示意图。附图4示出了根据本专利技术实施例的提高DNS可用性的数据提取系统结构图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术中的“缓存复用策略”是工作在递归服务器上,当递归服务器上被查询的主机记录过期并且按照正常的查询流程未能从权威服务器得到响应结果时递归服务器遵循的行为策本文档来自技高网...
一种提高DNS可用性的方法及系统

【技术保护点】
一种提高DNS可用性的方法,用于DNS递归服务器,包括如下步骤:接收DNS查询请求;如果所述DNS查询请求的查询数据在DNS递归服务器的缓存中且所述查询数据的TTL未过期,则返回缓存的查询结果;如果所述查询数据不在所述DNS递归服务器的缓存中或者所述查询数据的TTL已过期,则向相应的DNS权威服务器发起迭代查询。

【技术特征摘要】
1.一种提高DNS可用性的方法,用于DNS递归服务器,包括如下步骤:接收DNS查询请求;如果所述DNS查询请求的查询数据在DNS递归服务器的缓存中且所述查询数据的TTL未过期,则返回缓存的查询结果;如果所述查询数据不在所述DNS递归服务器的缓存中或者所述查询数据的TTL已过期,则向相应的DNS权威服务器发起迭代查询。2.如权利要求1所述的提高DNS可用性的方法,其特征在于,所述迭代查询包括,接受所述DNS权威服务器的应答,将记录缓存到所述DNS递归服务器,重置缓存复用计数器,所述DNS递归服务器判断该应答是否是本次DNS查询的应答结果;如果是,将返回缓存的查询结果,结束本次查询;如果不是,则根据收到的应答继续向上述DNS权威服务器发送请求进行迭代查询。3.如权利要求1或2所述的提高DNS可用性的方法,其特征在于,所述迭代查询过程包括,如果某一级权威服务器没有应答,则所述DNS递归服务器查询所述查询的数据是否已经在缓存中,若不在缓存中则返回服务失败,若在缓存中,则判断缓存复用计数器是否超过所配置的缓存复用次数;如果是,则返回服务失败,如果否,则重置所述查询的数据的TTL,缓存复用计数器减一,然后返回所述查询的数据的记录。4.如权利要求3所述的提高DNS可用性的方法,其特征在于,重置上述数据的TTL的过程如下:将所述查询的数据中的每条资源记录及其签名信息记录的TTL取下列数值中的最小值:(1)收到的DNS权威服务器应答中的TTL;(2)收到的DNS权威服务器应答中的签名信息记录的TTL;(3)该数据的签名信息记录中的原始TTL;(4)该数据的签名信息记录中的过期时间减去当前时间的差值。5.如权利要求4所述的提高DNS可用性的方法,其特征在于,还包括:当所述缓存复用计数器值降低到零后,DNS递归服务器删除该所查询的数据的缓存,并返回服务失败。6.一种提高DNS可用性的系统,其特...

【专利技术属性】
技术研发人员:张海阔左鹏陈沛然
申请(专利权)人:中国互联网络信息中心
类型:发明
国别省市:北京,11

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

1