首页> 中国专利> 一种针对DNS中不存在域名查询的处理方法

一种针对DNS中不存在域名查询的处理方法

摘要

本发明属于互联网络技术领域,尤其涉及一种针对DNS中不存在域名查询的处理方法,包括:在递归服务器中缓存NSEC或NSEC3资源记录,转发服务器从递归服务器中获得并缓存NSEC或NSEC3资源记录,当用户连续查询NSEC或NSEC3资源记录中确定的不存在域名时,递归服务器或转发服务器根据NSEC或NSEC3资源记录的信息直接返回给用户NXDOMAIN消息。本发明能够降低不存在域名的查询时延,同时能够减少对域名的权威服务器的查询次数,降低权威服务器的资源消耗。可以避免大量不存在的TLD的查询。能够很好的解决Water?Torture问题,不会对权威服务器产生影响。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-04

    授权

    授权

  • 2016-05-04

    实质审查的生效 IPC(主分类):H04L29/12 申请日:20151123

    实质审查的生效

  • 2016-04-06

    公开

    公开

说明书

技术领域

本发明属于互联网络技术领域,尤其涉及一种针对DNS中不存在域名查询 的处理方法。

背景技术

DNS(DomainNameSystem,域名系统)提供了互联网上的一个重要的服 务。其本质是建立了人的名字世界和底层的二进制协议地址世界的桥梁。DNS 解析框架是一个使用UDP(UserDatagramProtocol,用户数据报协议)并通过 地理分布的具有缓存功能的递归解析器来实现。如图1所示,其基本流程如下:

用户发出一个域名的DNS请求到本地ISP(InternetServiceProvider,互联 网服务提供商)的递归解析器(RecursiveResolver)。如果本地的递归服务器缓 存了这个DNS请求条目,则递归服务器直接向用户返回DNS响应消息。如果 本地的递归服务器没有缓存这个DNS请求消息,则本地的递归服务器从根名字 服务器开始,根据所返回的信息,一级一级地递归查询所请求的域名。最终查 找到所要查询的DNS信息。递归服务器将返回的DNS查询结果存储到自己的 缓存中,同时将结果返回给用户。这样一个完整的DNS查询过程就完成了。

一个DNS查询对用户来说应该是透明的,所以DNS查询的时间应该尽量的短。 在DNS系统中引入了缓存机制,递归服务器获取权威服务器的响应消息,并在 相应消息的资源记录的生命周期内缓存相应资源记录。在用户下一次请求该资 源记录时,递归服务器不用再次查询权威名字服务器,而直接将缓存中的资源 记录返回到用户。这样大大减少了DNS查询的时间。

如果一个用户DNS查询的域名在域名空间中是不存在的,则该用户肯定不 会查询到该DNS信息,但是却仍要完成一个完整的DNS查询过程,并返回 NXDOMAIN(域名不存在)响应信息。因为不存在的DNS查询在递归服务器缓存 中肯定不存在。递归服务器需要从根开始查找,直到相应的域中确认域名不存 在。这一过程需要耗费较长的等待时延,同时域名解析也带来了名字服务器的 资源消耗。一些攻击者故意伪造一些域名,通过不存在域名的DNS查询来消耗 权威名字服务器的资源,影响真实域名的处理速度(如WaterTorture攻击)。 RFC1034中规定可以在缓存中缓存某个具体的不存在的域名信息,但是如果是 另一个不存在域名的查询,仍然需要递归查询。

在DNSSEC(DNS安全扩展)中定义了NSEC(Next-Securerecord)或 NSEC3(NSECrecordversion3)资源记录,该资源记录能够通过通配符,权威 地表示一个不存在域名的范围。提出的专利中,将NSEC或NSEC3资源记录缓 存到本地的递归服务器中。转发服务器也可以从递归服务器获取NSEC或 NSEC3资源记录,并缓存起来。当查询NSEC或NSEC3中定义的不存在资源 记录时,本地递归服务器和转发服务器会根据NSEC或NSEC3资源记录,直接 返回NXDOMAIN响应消息。这样能够减少一些不存在域名的DNS查询时间, 解决WaterTorture(水刑)攻击以及减少对根服务器的不存在TLD(TopLevel Domain)的查询。

3、发明目的(或称:技术问题)

不存在的DNS域名查询需要经历较长的查询时延,消耗DNS服务器的资源。 提出的方案通过在递归服务器中缓存NSEC或NSEC3资源记录,转发服务器可 以从递归服务器中获得NSEC或NSEC3资源记录。当用户连续查询NSEC或 NSEC3资源记录中确定的不存在域名时,具有缓存能力的DNS服务器能够根据 NSEC或NSEC3资源记录的信息,直接返回给用户NXDOMAIN消息。这样能 够减少一些不存在域名的DNS查询时间,解决诸如WaterTorture攻击,以及减 少对根服务器的不存在TLD的查询。

发明内容

为了解决现有技术存在的上述问题,本发明提出了一种针对DNS中不存在 域名查询的处理方法,包括:

步骤1:在递归服务器中缓存NSEC或NSEC3资源记录;

步骤2:转发服务器从递归服务器中获得并缓存NSEC或NSEC3资源记录;

步骤3:当用户连续查询NSEC或NSEC3资源记录中确定的不存在域名时, 递归服务器或转发服务器根据NSEC或NSEC3资源记录的信息直接返回给用户 NXDOMAIN消息。

所述NSEC或NSEC3资源记录通过通配符说明一组域名不存在的信息。

所述NSEC或NSEC3资源记录的建立方法包括:当一个不存在域名的查询 到达递归服务器时,如果不存在这样的NSEC或NSEC3资源记录,通过递归服 务器向权威DNS服务器发送递归请求,权威服务器将该域的NSEC或NSEC3 资源记录、签名信息连同NXDOMAIN响应消息一起发送给发起查询的递归服 务器;递归服务器对其进行DNSSEC验证,确定NSEC或NSEC3资源记录的 真实性和安全性,确定之后缓存在本地缓存中。

本发明的有益效果在于:针对DNS不存在域名的查询带来了较长的等待时 延,消耗了大量的名字服务器资源;本发明提出的方案通过本地缓存NSEC或 NSEC3资源记录,及时地响应不存在域名的查询请求,减少了对权威服务器的 资源消耗。对于一些在NSEC或NSEC3中通过通配符定义的不存在域名的查询, 通过提出的方案能够在递归服务器或转发服务器侧确定一些域名是否存在,并 返回NXDOMAIN响应消息。这样首先能够降低不存在域名的查询时延,同时 能够减少对域名的权威服务器的查询次数,降低权威服务器的资源消耗。如对 根服务器来说,可以避免大量不存在的TLD的查询。该方案能够很好的解决 WaterTorture问题,因为大量的随机产生的不存在域名的DNS查询,在递归服 务器中已经被屏蔽了,不会对权威服务器产生影响。

附图说明

图1是现有的DNS解析流程图;

图2是基于NSEC或NSEC3资源记录的不存在域名处理机制。

具体实施方式

下面结合附图,对实施例作详细说明。

实施例1

本发明提出了一种针对DNS中不存在域名查询的处理方法,如图2所示, 包括:

步骤1:在递归服务器中缓存NSEC或NSEC3资源记录;

步骤2:转发服务器从递归服务器中获得并缓存NSEC或NSEC3资源记录;

步骤3:当用户连续查询NSEC或NSEC3资源记录中确定的不存在域名时, 递归服务器或转发服务器根据NSEC或NSEC3资源记录的信息直接返回给用户 NXDOMAIN消息。

所述NSEC或NSEC3资源记录通过通配符说明一组域名不存在的信息。

所述NSEC或NSEC3资源记录的建立方法包括:当一个不存在域名的查询 到达递归服务器时,如果不存在这样的NSEC或NSEC3资源记录,通过递归服 务器向权威DNS服务器发送递归请求,权威服务器将该域的NSEC或NSEC3 资源记录、签名信息连同NXDOMAIN响应消息一起发送给发起查询的递归服 务器;递归服务器对其进行DNSSEC验证,确定NSEC或NSEC3资源记录的 真实性和安全性,确定之后缓存在本地缓存中。

实施例2

如果一个域是DNSSEC签名的,其中的NSEC或NSEC3资源记录中通过 一些通配符说明了一类不存在的DNS域名。为减少指向权威DNS服务器的查 询数量,递归服务器通过在缓存中缓存NSEC或NSEC3资源记录。当一些不存 在域名的查询达到递归服务器,递归服务器可以根据缓存的NSEC或NSEC3资 源记录中的信息,返回NXDOMAIN响应。

在NSEC或NSEC3资源记录中通过通配符说明了一组域名的不存在信息。 当一个不存在域名的查询到达递归服务器时,如果不存在这样的NSEC或 NSEC3资源记录,其说明了要查询的不存在域名所在的通配符,则递归服务器 只能向权威DNS服务器发送递归请求,直至根据该域的NSEC或NSEC3资源 记录判断要查询的域名在域名空间中是不存在的,然后返回NXDOMAIN响应 消息。

同时权威服务器可以将该域的NSEC或NSEC3资源记录及其签名信息, 同NXDOMAIN响应消息一起发送给发起查询的递归服务器。递归服务器对其 进行DNSSEC验证,确定NSEC或NSEC3资源记录的真实性和安全性,确定 之后缓存在本地缓存中。这时在NSEC或NSEC3资源记录的TTL或其签名到 期之前,如果一个不存在域名的查询发送到递归服务器,且不存在域名在NSEC 或NSEC3资源记录的通配符说明的范围之内,则递归服务器可以直接返回 NXDOMAIN响应消息,而不用去查询权威服务器。

对于一些转发服务器而言,由于NSEC或NSEC3资源记录是已经被验证过 的,能够保证数据的安全,可以从其上一级的递归服务器获取NSEC或NSEC3 资源记录并在本地DNSSEC验证并缓存。在NSEC或NSEC3资源记录的生命 周期内,转发服务器同样可以在本地通过缓存的NSEC或NSEC3资源记录判断 是否返回NXDOMAIN响应消息。

假设“example.com”域不存在任何关于单个字符的域名查询,如 “a.example.com”和“b.example.com”。如果不采用提出的机制,递归服务器需 要分别向“example.com”域发起对“a.example.com”和“b.example.com”的递 归查询,直到该域的权威服务器返回NXDOMAIN响应消息。

如果在“example.com”域的NSEC或NSEC3资源记录中用通配符说明 不存在这样的一类域名。当有用户发送“a.example.com”的DNS查询时,递归 服务器会返回NXDOMAIN响应消息。同时,权威服务器将NSEC或NSEC3资 源记录一起返回到递归服务器。递归服务器通过DNSSEC验证,确定NSEC或 NSEC3资源记录的真实性和完整性后缓存在本地缓存中。如果这是有用户发送 “b.example.com”的DNS查询,递归服务器会通过NSEC或NSEC3资源记录确 认该域名是一个不存在的域名。此时,递归服务器就直接向用户返回 NXDOMAIN响应消息,而不必要向权威服务器发起递归请求。同样地,如果是 一个转发服务器收到的类似的请求消息,也能够通过在本地的NSEC或NSEC3 资源记录来确定该域名不存在,并返回NXDOMAIN响应消息。

此实施例仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限 于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想 到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范 围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号