否定存在的DNS缓存方法技术

技术编号:10928790 阅读:135 留言:0更新日期:2015-01-21 10:33
否定存在的DNS缓存方法,包括在DNS权威服务器中,将DNS权威服务器中记录的域名按照一个预设排序方法排序,得到一个域名序列;定义域名序列中相邻两个域名之间的空间为一个否定存在空间,抽取DNS权威服务器中所有的否定存在空间组成一个否定存在资源记录集合;当DNS权威服务器向DNS递归服务器发送否定应答时,将否定存在资源记录传递至递归服务器的缓存中;和当DNS递归服务器收到域名查询请求时,DNS递归服务器首先判断域名查询请求是否匹配于所述缓存中的否定存在资源记录,如果判断结果为是则DNS递归服务器直接向使用DNS递归服务器的客户端发出否定应答。

【技术实现步骤摘要】

本专利技术涉及一种缓冲方法,尤其涉及一种否定存在的DNS缓存方法。 
技术介绍
DNS服务器分为两种,权威服务器和递归服务器。权威服务器提供权威的数据,递归服务器从权威服务器获取数据转发给查询的客户端。 假设客户端Web浏览器要访问网站www.sina.com,具体过程如下。 (1) Web 浏览器调用客户端程序(该程序称为“解析器”),先在本地的DNS缓存中查询是否有www.sina.com 的记录。如果有该记录(例如,Web浏览器刚刚访问过www.sina.com,缓存中的记录还没有删除),则直接访问。 (2) 如果在本地的缓存中没有找到相关的记录,客户端就会根据已设置的DNS递归服务器记录,向递归服务器发出查询请求。如果该递归服务器正好是创建www.sina.com 记录的服务器,或在特定的时间段内处理过相同的查询并存储在缓存中,它就会从自己的区域记录或缓存中检索到该域名相应的资源记录(Resource Record,RR),并返回给客户端。 (3) 否则,递归服务器就将查询转发给DNS根域权威服务器,由根域权威服务器找到com名字服务器地址,并发送给递归服务器。 (4) 递归服务器向com权威服务器继续发出查询www .sina.com 地址的请求,com 名字权威服务器在找到sina.com的地址后,将结果发送给递归服务器。 (5) 递归服务器向sina.com权威服务器发出查询www.sina.com的请求,sina.com名字权威服务器检索到www.sina.com对应的IP 地址,并将结果发送给递归服务器。 (6) 递归服务器将www.sina.com对应的资源记录发送给客户端,客户端利用IP地址访问相应的主机。同时,在以上的递归查询过程中,客户端和递归服务器可以在缓存中存储所述查询结果,以便下一次查询时直接调用。 缓存包括递归服务器缓存和使用递归服务器的客户端缓存。当查询某一主机后,服务器会将该记录缓存保留一段时间。当下次再查询这台主机时,由于缓存的存在,通讯流量会大大的减少。开启缓存的递归服务器在处理所收到的DNS查询时,可以先在缓存中查找,对于缓存命中的查询直接发送应答,而不必查询DNS权威服务器才能得到应答,从而减少应答时延和网络带宽消耗。 DNS应答有肯定应答和否定应答,递归服务器通过查询权威服务器或其自身的缓存后发现没有与客户端的查询相匹配的记录后,它就会发送否定应答。到目前为止,DNS系统对否定存在应答采取一对一的缓存命中方式,因此往往缓存命中率不够高,特别是对于很多随机生成的非重复域名,缓存的效果非常差。 
技术实现思路
本专利技术的目的是提供一种否定存在的DNS缓存方法,以提高否定应答的缓冲命中率。 本专利技术提供了一种否定存在的DNS缓存方法,包括在DNS权威服务器中,将DNS权威服务器中记录的域名按照一个预设排序方法排序,得到一个域名序列;定义域名序列中相邻两个域名之间的空间为一个否定存在空间,抽取DNS权威服务器中所有的否定存在空间组成一个否定存在资源记录集合; 当DNS权威服务器向DNS递归服务器发送否定应答时,将否定存在资源记录传递至递归服务器的缓存中;和当DNS递归服务器收到域名查询请求时,DNS递归服务器首先判断域名查询请求是否匹配于所述缓存中的否定存在资源记录,如果判断结果为是则DNS递归服务器直接向使用DNS递归服务器的客户端发出否定应答。 在否定存在的DNS缓存方法的再一种示意性的实施方式中,预设排序方法包括:将所述DNS权威服务器中记录的每个域名划分为以“.”分隔的标签字符串;依据域名中各个所述标签字符串从右到左的顺序,比较不同域名的所述标签字符串;和按照所述标签字符串的ASCII值递增的顺序排序。 在否定存在的DNS缓存方法的另一种示意性的实施方式中,否定存在资源记录还包括至少一个域名和其按照所述预设排序方法排序后的相邻域名,以及与该域名相对应的所有资源记录类型。 具体实施方式在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何实施方式解释为一种更优选的或更具优点的技术方案。 在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。 否定存在的DNS缓存方法,包括:在DNS权威服务器中,将DNS权威服务器中记录的域名按照一个预设排序方法排序,得到一个域名序列。在否定存在的DNS缓存方法一种示意性实施方式中,预设排序方法包括:将DNS权威服务器中记录的每个域名划分为以“.”分隔的标签字符串;依据域名中标签字符串从右到左的顺序,比较不同域名的标签字符串;和按照标签字符串的ASCII值递增的顺序排序。 例如域名“www.abc.china”以“.”分隔的字符串为标签字符串,则域名“www.abc.china”有3个标签字符串,它们从右到左的顺序为“china”、“abc”和“www”。 首先比较标签字符串“china”,而后比较标签字符串“abc”,最后比较标签字符串“www”。 如果被比较的两个域名最右边的标签字符串都是“china”,则继续比较从右边数下一个标签字符串“abc”,以此类推。把域名的各个标签字符串看做是左对齐的8位字节字符串,且按照标签字符串的ASCII值递增的顺序排序。另外,如果两个域名的标签字符串比较排序时,其中一个域名的标签字符串对应的8位字节位置空缺,则该8位字节位置的排序在ASCII值为零的8位字节之前。另外,排序时,把所有大写US-ASCII字符看做是其对应的小写US-ASCII字符。例如,按照上述排序方式,下列域名的排序依次为:“china”、“abc.china”、“www.abc.CHINA”和“Z.abc.china”。 在DNS权威服务器中定义一个否定存在空间,这个否定存在空间代表一个域名序列中,相邻两条域名记录之间的空间,即这两个相邻的域名记录之间不存在其他的域名记录。如果一个域名序列中存在n条域名记录,则可以产生n个否定存在空间。将这些否定存在空间提取出来组成一个否定存在资源记录集合。 当DNS递归服务器向DNS权威服务器发出域名查询的请求且该DNS权威服务器给出否定应答时,该DNS权威服务器将与否定应答相匹配的否定存在资源记录(即对应于否定应答的域名相匹配的否定存在资源记录)一同回传给DNS递归服务器,且DNS递归服务器将该否定存在资源记录保存至其缓存中。 之后,当DNS递归服务器收到域名查询的请求时,DNS递归服务器首先将该域名查询请求与其缓存中的否定存在资源记录匹配,判断该域名是否落入到否定存在资源记录中。如果该域名落入到否定存在资源记录中,则DNS递归服务器直接向发送所述域名查询的客户端做出否定应答。 在否定存在的DNS缓存方法一种示意性实施方式中,否定存在资源记录中还包括一个或者多个域名,以及与这些域名相对应的所有资源记录类型。这些域名真实存在,但与其对应的资源记录类型有残缺。当DNS递归服务器将域名查询请求中的域名与否定存在资本文档来自技高网
...

【技术保护点】
否定存在的DNS缓存方法,包括:在DNS权威服务器中,将所述DNS权威服务器中记录的域名按照一个预设排序方法排序,得到一个域名序列;定义所述域名序列中相邻两个域名之间的空间为一个否定存在空间,抽取所述DNS权威服务器中所有的所述否定存在空间组成一个否定存在资源记录集合; 当所述DNS权威服务器向DNS递归服务器发送否定应答时,将与所述否定应答匹配的所述否定存在资源记录传递至所述递归服务器的缓存中;和当所述DNS递归服务器发出域名查询请求时,所述DNS递归服务器首先判断所述域名查询请求是否匹配于缓存中的所述否定存在资源记录,如果所述判断结果为是则所述DNS递归服务器直接向使用所述DNS递归服务器的客户端发出否定应答。

【技术特征摘要】
1.否定存在的DNS缓存方法,包括:
在DNS权威服务器中,将所述DNS权威服务器中记录的域名按照一个预设排序方法排序,得到一个域名序列;
定义所述域名序列中相邻两个域名之间的空间为一个否定存在空间,抽取所述DNS权威服务器中所有的所述否定存在空间组成一个否定存在资源记录集合; 
当所述DNS权威服务器向DNS递归服务器发送否定应答时,将与所述否定应答匹配的所述否定存在资源记录传递至所述递归服务器的缓存中;和
当所述DNS递归服务器发出域名查询请求时,所述DNS递归服务器首先判断所述域名查询请求是否匹配于缓存中的所述否定存在资源记录,如果所述...

【专利技术属性】
技术研发人员:王正
申请(专利权)人:政务和公益机构域名注册管理中心
类型:发明
国别省市:北京;11

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

1