CN105245631A - 一种优化dns根服务访问的方法与系统 - Google Patents

一种优化dns根服务访问的方法与系统 Download PDF

Info

Publication number
CN105245631A
CN105245631A CN201510623169.7A CN201510623169A CN105245631A CN 105245631 A CN105245631 A CN 105245631A CN 201510623169 A CN201510623169 A CN 201510623169A CN 105245631 A CN105245631 A CN 105245631A
Authority
CN
China
Prior art keywords
root
data buffer
resource record
record
query result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510623169.7A
Other languages
English (en)
Other versions
CN105245631B (zh
Inventor
姚健康
孔宁
李晓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Internet Network Information Center
Original Assignee
China Internet Network Information Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Internet Network Information Center filed Critical China Internet Network Information Center
Priority to CN201510623169.7A priority Critical patent/CN105245631B/zh
Priority to PCT/CN2015/098472 priority patent/WO2017049789A1/zh
Publication of CN105245631A publication Critical patent/CN105245631A/zh
Application granted granted Critical
Publication of CN105245631B publication Critical patent/CN105245631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种优化DNS根服务访问的方法与系统。本系统包括递归解析器、根区数据缓存器以及根区文件分析器;其中,递归解析器,负责DNS数据的解析和查找;首先检查该递归解析器的设定缓存是否有对应的资源记录RR,如果有则反馈查询结果;否则在该根区数据缓存器的数据缓存里检查,如果找到则反馈查询结果;否则向根域名服务器查询并反馈;对于DNSSEC查询的查询结果,进行DNSSEC验证;验证通过后将相关数据存储到根区数据缓存器;根区文件分析器,负责分析根区文件是否进行了更新,如果进行了更新,则通知根区数据缓存器清空所缓存数据。本发明可以解决根服务器访问时间过长的问题,同时不会潜在破坏现有的根域名解析机制。

Description

一种优化DNS根服务访问的方法与系统
技术领域
本发明涉及一种优化DNS根服务访问的方法与系统,属于网络技术领域。
背景技术
随着互联网的持续发展以及新顶级域名的逐步推广,需要进一步提升根服务质量,例如加强根服务的快速查询响应,减少访问DNS根数据的时间的需求。DNS递归解析器自带有一些缓存机制,但是这种机制,由于未对根区数据进行优化,无法满足日益增长的对减少访问DNS根数据的时间的需求。
如图1所示,现有的递归解析器的缓存器是一个通用缓存,针对所有的各级域名和各类区文件。目前已经有的解析技术不对根区数据进行专门缓存,采用普通的缓存机制,不利于减少访问DNS根数据的时间。
为了应对根区访问的爆炸式发展,自2002年开始,DNS根服务系统广泛采用任播技术进行根服务器数量扩展。至今全球已有近490个根服务器镜像节点。由于部署根镜像服务器受资源限制大,对部署环境要求高,不能无限制的部署,因此利用任播技术部署根镜像的方法不能很好的满足对减少访问DNS根数据的时间的需求。
IETF最近推出了运行在环路地址上的根服务器的机制。这种方法相当于在全球规定的13个根服务器外又增加了一些额外的运行在本地环路上的根服务器。这种机制虽然能在一定程度上减少根的访问时间,但是这种机制在大量部署以后可能破坏现有的互联网域名解析机制,使DNS根域名服务失去作用,从而可能干扰互联网的正常稳定运行。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种优化DNS根服务访问的方法与系统。本发明针对根区文件的特点和需要减少对根区数据访问时间的需求,增加了根数据缓存器及其相关算法和步骤,增加了根区数据分析器相关的算法和步骤,同时改进了递归解析器的算法。根据目前根区文件的设置特点,本发明和现有的基于通用缓存的性能相比,平均可以提高访问根区数据速度约7倍。本发明可以解决根服务器访问时间过长的问题,同时不会潜在破坏现有的根域名解析机制。
目前递归解析器所带的通用缓存器缓存所有各级域名的数据,无法对来自根服务器的顶级域数据进行专门优化。通用缓存器存,由于无法获知域名数据是否是最新的,因此对域名的缓存时间一般比较短。域名缓存的时间决定于所缓存的域名数据是否是真实的最新数据;只要域名数据是最新的真实数据,理论上,就可以一直缓存下去。原始权威服务(SOA)记录的一个功能就是通过SOA中的序列号(serial)的变化告知区文件数据发生变化了,但是根区文件有时候仅仅是SOA记录本身发生了变化,区中的其它数据并没有发生变化。本系统通过对根服务器中的原始权威服务(SOA)记录的轮询以及根区文件的探测,保证了根域名数据是最新数据,同时通过对DNSSEC技术的应用保证了所获得的域名数据是真实的未经篡改的。本系统通过设计新功能算法和改进算法,延长了数据在缓存中的时间,减少了对根服务器的访问,减少了平均访问时间。
本发明的技术方案为:
一种优化DNS根服务访问的方法,其步骤为:
1)在递归服务器中设置一根区数据缓存器;
2)当递归解析器需要从根域名服务器查询某一类型的顶级域名所对应的资源记录RR时,首先检查该递归解析器的设定缓存是否有相对应的资源记录RR,如果有则反馈包含该资源记录RR的查询结果,否则进行步骤3);
3)该递归服务器在该根区数据缓存器的数据缓存里检查该类型的顶级域名所对应的资源记录RR,如果找到相对应的资源记录RR,则反馈包含该资源记录RR的查询结果,否则进行步骤4);
4)该递归服务器向根域名服务器查询该类型的顶级域名所对应的资源记录RR,如果找到对应的资源记录RR,则反馈包含该资源记录RR的查询结果;如果没找到相对应的资源记录RR,则反馈查询失败的查询结果;
5)对于包含该资源记录RR的查询结果,该递归解析器检查该查询结果对应的查询是否为DNSSEC查询,如果是,则对该查询结果进行DNSSEC检测,如果通过DNSSEC验证,则该递归解析器将查询该类型的顶级域得到的对应资源记录RR存储到该根区数据缓存器,如果没有通过DNSSEC验证,则不对查询结果在根区数据缓存器里进行缓存;如果查询结果对应的查询不是DNSSEC查询,则该递归解析器向根域名服务器发送一个查询该类型顶级域名所对应资源记录RR的DNSSEC查询,并对反馈结果进行DNSSEC验证,如果通过验证,则该递归解析器将查询该类型的顶级域得到的对应资源记录RR存储到该根区数据缓存器,否则不在该根区数据缓存器中缓存该查询结果。
进一步的,在DNS根服务系统中还设置一根区文件分析器;所述根区文件分析器对所述根区缓存器中的资源记录RR是否更新进行判断,其方法为:
21)所述根区文件分析器从根域名服务器查询获得SOA记录,然后设置所述根区数据缓存器的版本号为SOA记录的序列号,设置所述刷新定时器的值为SOA记录的过期值;
22)所述根区文件分析器从互联网数字分配机构获得根区文件,并对去除SOA记录及其数字签名记录RRSIG后的根区文件进行摘要操作,将获得的摘要值作为所述根区数据缓存器的指纹;
23)所述根区文件分析器定期查询根域名服务器的SOA记录,并比较根区数据缓存器的版本号与SOA的序列号是否一致,如果一致,则定期查询;如果不一致,则通知根区数据缓存器停止对递归解析器进行响应,并且重新获取根区文件,并对去除SOA记录及其数字签名记录RRSIG后的根区文件进行摘要操作,然后将新生成的摘要值与根区数据缓存器的指纹进行比较;如果一致,则设置根区数据缓存器的版本号为当前获取的SOA的序列号,并且更新根区数据缓存器中的SOA,然后通知根区数据缓存器继续对递归解析器进行响应;如果不一致,则将根区数据缓存器中的所有数据丢弃,然后通知根区数据缓存器继续对递归解析器进行响应。
进一步的,所述根区数据缓存器给每个新放入根区数据缓存器的资源记录RR设置一刷新定时器。
进一步的,所述根区数据缓存器中,每一资源记录RR的刷新计时器进行倒计时,同时资源记录RR的时间TTL会保留在原有的值;根区数据缓存器抛弃刷新定时器值过期的资源记录RR。
进一步的,对于所述查询结果中包含的资源记录RR,递归服务器删除查询结果中这些资源记录RR的刷新定时器,并且将所述查询结果中的资源记录RR的TTL开始倒计时。
进一步的,所述根区文件分析器定期查询根域名服务器的SOA记录的时间间隔为SOA记录的刷新值或者DNS管理员设定的数值。
一种优化DNS根服务访问的系统,其特征在于,包括递归解析器、根区数据缓存器以及根区文件分析器;其中,
递归解析器,负责DNS数据的解析和查找;当需要从根域名服务器查询某一类型的顶级域名所对应的资源记录RR时,首先检查该递归解析器的设定缓存是否有相对应的资源记录RR,如果有则反馈包含该资源记录RR的查询结果;否则该递归服务器在该根区数据缓存器的数据缓存里检查该类型的顶级域名所对应的资源记录RR,如果找到相对应的资源记录RR,则反馈包含该资源记录RR的查询结果;否则该递归服务器向根域名服务器查询该类型的顶级域名所对应的资源记录RR,如果找到对应的资源记录RR,则反馈包含该资源记录RR的查询结果;如果没找到相对应的资源记录RR,则反馈查询失败的查询结果;并且对于包含该资源记录RR的查询结果,如果是DNSSEC查询,则对该查询结果进行DNSSEC验证;如果通过DNSSEC验证,则该递归解析器将查询该类型的顶级域得到的对应资源记录RR存储到该根区数据缓存器,如果没有通过DNSSEC验证,则不对查询结果在根区数据缓存器里进行缓存;如果查询结果对应的查询不是DNSSEC查询,则该递归解析器向根域名服务器发送一个查询该类型同一个顶级域名所对应资源记录RR的DNSSEC查询,并对反馈结果进行DNSSEC验证,如果通过验证,则该递归解析器将查询该类型的顶级域得到的对应资源记录RR存储到该根区数据缓存器,否则不在该根区数据缓存器中缓存该查询结果;
根区数据缓存器,负责储存递归解析器从根域名服务器查询顶级域名TLD获得的并且递归服务器进行DNSSEC验证通过的顶级域对应的资源记录RR;
根区文件分析器,负责分析根区文件是否进行了更新,如果进行了更新,则通知根区数据缓存器清空所缓存数据。
进一步的,所述根区数据缓存器设有三个参数:版本号、指纹和刷新定时器;其中,版本号为从根域名服务器查询获得的SOA记录的序列号,刷新定时器的值为SOA记录的过期值,指纹为去除SOA记录及其数字签名记录RRSIG后的根区文件的摘要值。
进一步的,所述根区数据缓存器中,每一资源记录RR的刷新计时器进行倒计时,同时资源记录RR的时间TTL会保留在原有的值;根区数据缓存器抛弃刷新定时器值过期的资源记录RR。
进一步的,对于所述查询结果中包含的资源记录RR,递归服务器删除查询结果中这些资源记录RR的刷新定时器,并且将所述查询结果中的资源记录RR的TTL开始倒计时。
本发明通过设计新型的递归解析器,增加根区数据缓存器以及根区文件分析器,通过三者的协调配合工作,有效的减少访问根服务器的时间。
本发明提供了一种优化DNS根服务访问的方法与系统。该系统主要有三部分组成,分别是递归解析器、根区数据缓存器以及根区文件分析器。
递归解析器负责DNS数据的解析和查找;
根区数据缓存器负责储存递归解析器从根服务器查询某一类型顶级域名TLD所获得的对应资源记录RR。
根区文件分析器负责分析根区文件的情况,判别根区文件是否进行了更新,如果进行了更新,需要通知根区数据缓存器清空所缓存数据。
根区数据缓存器,有三个参数,分别是版本号,指纹和刷新定时器。
1)版本号:
其赋值与根区文件的当前版本的SOA序列号相同
2)指纹:
其赋值是根区文件分析器对根区文件(不包括原始权威服务SOA及其数字签名记录RRSIG)进行相同算法的摘要操作(比如MD5)的摘要值。
3)刷新定时器:
根区数据缓存器缓存的内容必须使用计时器。每一个资源记录RR将分配一个刷新定时器,当每个RR被放入根数据缓存时,给予默认值。这个默认的定时器的值是根区SOA记录的过期(expire)值。管理员也可以设置自己的定时器值。域名根服务器和其它辅服务器之间如果无法正常对根区数据进行更新,辅域名服务器的数据有效时间是SOA的expire值。本发明可以利用调整该参数值,把在根区数据缓存器里的数据的缓存时间提高至和expire一样长,也可以根据管理员需求提高至更长。
1.该系统的详细使用步骤:
第1步,当递归解析器需要从根域名服务器查询某个类型的顶级域名所对应的RR,应该先检查递归解析器的RFC1035中指定的缓存。如果找到了相对应的RR,则根据RFC1035的要求组成答案,跳转到第4步,否则要跳转到第2步。
第2步,在根区数据缓存器的数据缓存里,检查某个类型的顶级域名所对应的RR。如果它找到了相对应的RR,则根据RFC1035的要求组成答案,跳转到第4步,否则跳转到第3步。
第3步,向根域名服务器询问(即查询步骤1中的某个类型的顶级域名所对应的RR),如果找到了相对应的RR,同时跳转到第5步和第4歩;如果没找到相对应的RR,根域名服务器会给出一些所查某个类型的顶级域名所对应的RR不存在的信息作为答案,则跳转到第4步。
第4步,递归解析器找到答案,并根据和遵循RFC1035中指定的步骤进行操作,结束。
第5步,如果是DNSSEC查询,递归解析器应该验证响应是否通过DNSSEC检测。如果它通过DNSSEC验证,递归解析器应该把这些所查询顶级域所获得的对应资源记录RR放置到根区数据缓存器,并给每个新放入根区数据缓存器的资源记录RR设置刷新定时器。如果没有通过DNSSEC验证,这数据不放入根区数据缓存器。如果它不是一个DNSSEC查询,则转到步骤6。
第6步,递归解析器应该向根域名服务器发送另一个相同问题的DNSSEC查询,如果响应通过DNSSEC验证,递归解析器应该把这些所查询顶级域所获得的对应资源记录RR放置到根区数据缓存器,并给每个新放入根区数据缓存器的资源记录RR设置刷新定时器。如果这些RR不能通过DNSSEC验证,递归解析器应该不把它们在根区数据缓存器中进行缓存。
2.系统要求
为了实现本发明中所描述的机制:
1、系统必须能够验证DNSSEC资源记录。
2、系统必须在递归解析器上有DNS根密钥的最新备份以便递归解析器在做DNSSEC验证的时候使用。
3、只有来自根域名服务器TLDRR数据及相关符合RFC1033、RFC1034、RFC4033和RFC4034规范的补充数据才能被根区数据缓存器缓存。
上面的要求是要确保在根数据缓存的权威数据必须与根服务器中的相对应的权威数据一致。
3.根区数据缓存器的要求
根区数据缓存器的数据将被一个刷新定时器的值设定的超时机制丢弃。也可以通过根区文件分析器的分析,根据查询到的SOA中的序列号和根区缓存器中的序列号的对比,以及对根区数据(除了SOA记录以及相对应的RRSIG记录)的摘要值与根区缓存器中的指纹进行对比,如果两者都不一样,就可以判定旧有的根数据失效,也会指令根区数据缓存器丢弃数据。
运行根区数据缓存器的要求如下:
1)在根区数据缓存器中,刷新计时器进行倒计时工作,而在资源记录RR的时间TTL会保留在原有的值,而不进行变化。
2)每个RR当它被放入根区数据缓存器时,将分配一个默认值的刷新定时器。当RR从根区数据缓存器输出时,刷新定时器将被删除,在RR中的TTL将开始“倒计时”。
3)根区数据缓存器应该抛弃刷新定时器值过期的RR。
4.根区文件分析器的操作
步骤1,从根域名服务器查询获得SOA记录,SOA记录包含序列号(serial)、刷新值(refresh)和过期值(expire)等值,设置根区数据缓存器的版本号=SOA记录的序列号serial值;刷新定时器的值=SOA记录的expire值。
步骤2,从互联网数字分配机构IANA(TheInternetAssignedNumbersAuthority)获得完全的根区文件,并对根区文件(不包括SOA及其RRSIG)进行相同的摘要操作(比如MD5算法),从而获得摘要值。设置根区数据缓存器的指纹=摘要值。
步骤3,根区文件分析器定期查询根域名服务器的SOA记录,并用根区数据缓存器的版本号和SOA的序列号serial值进行比较。如果两个值是一样的,等待固定的时间(建议的时间是SOA的refresh值或每15分钟),然后跳转到步骤3;如果值是不一样的,要跳转到步骤4。
步骤4,通知根区数据缓存器暂时停止对递归解析器进行响应。获得完全的根区文件,并对根区数据(不包括SOA及其RRSIG)进行相同的摘要操作(比如MD5算法),从而获得摘要值。用根区数据缓存器的指纹和该摘要值进行比较。如果值是相同的,说明根区文件只是进行了关于SOA数据的更新,其它数据未变,则设置根区数据缓存器的版本号=当前获得的SOA的serial值,如果根区数据缓存器存有SOA记录,也同时进行更新。然后通知根区数据缓存器继续对递归解析器进行响应。跳转到步骤3。如果值不相同,说明根区数据已经发生了变化,则系统必须将根区数据缓存器中的所有数据丢弃,然后通知根区数据缓存器继续对递归解析器进行响应,再转到步骤1。
与现有技术相比,本发明的优点:
1)避免了利用anycast任播技术部署大量的根镜像,节约了成本和带宽,不用频繁的直接访问根域名服务器。
2)相对于IETFRFC1035中规定的解析和通用缓存技术,该技术能使对根区数据访问的响应时间减少7倍。
3)本发明易于部署,可以大量的部署在现有的域名递归服务器之上。
附图说明
图1为现有解析器结构示意图;
图2为本发明系统结构示意图。
具体实施方式
下面结合附图对本发明进行进一步详细描述:
以“.cn”、“.com”和“.net”为例:
1、根区数据缓存器初始化:
由根区文件分析器获得当前根区文件的SOA信息以及摘要信息,给根区数据缓存器赋值。比如查询到的根区SOA记录如下:
type=SOA,class=IN,dlen=64
ttl=7156(1hour59mins16secs)
primarynameserver=a.root-servers.net
responsiblemailaddr=nstld.verisign-grs.com
serial=2015091301
refresh=1800(30mins)
retry=900(15mins)
expire=604800(7days)
defaultTTL=86400(1day)
下载根区文件,去除SOA记录及其RRSIG记录,进行MD5计算,获得摘要值D5-55-2E-81-33-B9-51-F0-2B-80-5D-D5-FC-8B-91-E3
因此设置根区数据缓存器的参数如下:
版本号=2015091301
指纹=D5-55-2E-81-33-B9-51-F0-2B-80-5D-D5-FC-8B-91-E3
刷新定时器=604800
1、根区数据缓存器累积学习过程:
当递归解析器需要查询“.cn”,先查询递归解析器中有RFC1035中规定的缓存,如果没找到,就去根区数据缓存器找,如果没有找到,就去远程根域名服务器找。找到“.cn”的相关信息后,如果通过DNSSEC认证,就将“.cn”的相关信息放到根区数据缓存器中,并且给每条资源记录RR放置一个刷新定时器,并设置其值为604800。依次类推,根数据缓存器里慢慢就有了“.com”和“.net”等递归解析器经常用到的数据。
2、根区数据缓存器信息查询
当递归解析器需要查询“.cn”的信息时候,就可以依据发明中的解析器的算法和步骤直接从根区数据缓存器中的获得数据。
3、根区数据缓存器的数据更新和清除
当根区数据缓存器中的“.cn”数据信息的刷新定时器值到期,根区数据缓存器会删除“.cn”的数据信息,以保证信息的正确和时效性。或者当根区文件分析器通过SOA查询和摘要算法,通过发明中规定的根区文件分析器的算法和步骤进行操作,发现根区文件已经被更新,根区文件分析器将通知根区数据缓存器删除包括“.cn”在内的所有数据。同时根区数据缓存器将重新开始学习。
DNSSOA记录介绍:
在任何DNS区文件(DomainNameSystem(DNS)Zonefile)中,都是以原始权威服务SOA(StartofAuthority)记录开始。SOA资源记录表明此DNS服务器是该DNS域中的数据的信息的最佳来源。
下面以一个DNS的SOA记录为例来说明其结构:
TheSOArecordis:
Primarynameserver:ns51.domaincontrol.com
HostmasterE-mailaddress:dns.jomax.net
Serial#:2010123100
Refresh:28800
Retry:7200
Expire:6048001weeks
DefaultTTL:86400
源主机(Primarynameserver):
DNS记录文件所在的主机位置。
联系邮箱(HostmasterE-mailaddress):
记录主机管理员的联系方式,其中第一个点表示的是。
序列号(Serial):
格式为yyyymmddnn,nn代表这一天是第几次修改。辅域名服务器通过比较这个序列号是否加载一份新的区数据拷贝。
refresh(刷新):
告诉该区的辅域名服务器相隔多久检查该区的数据是否是最新的。
retry(重试):
如果辅域名服务器超过刷新间隔时间后无法访问主服务器,那么它就开始隔一段时间重试连接一次。这个时间通常比刷新时间短,但也不一定非要这样。
expire(过期或期满):
如果在期满时间内辅域名服务器还不能和主服务器连接上,辅域名服务器就使用这个我失效。这就意味着辅域名服务器将停止关于该区的回答,因为这些区数据太旧了,没有用了。设置时间要比刷新和重试时间长很多,以周为单位是较合理的。
否定缓存TTL(生存期):
这个值对来自这个区的权威域名服务器的否定响应都适用。

Claims (10)

1.一种优化DNS根服务访问的方法,其步骤为:
1)在递归服务器中设置一根区数据缓存器;
2)当递归解析器需要从根域名服务器查询某一类型的顶级域名所对应的资源记录RR时,首先检查该递归解析器的设定缓存是否有相对应的资源记录RR,如果有则反馈包含该资源记录RR的查询结果,否则进行步骤3);
3)该递归服务器在该根区数据缓存器的数据缓存里检查该类型的顶级域名所对应的资源记录RR,如果找到相对应的资源记录RR,则反馈包含该资源记录RR的查询结果,否则进行步骤4);
4)该递归服务器向根域名服务器查询该类型的顶级域名所对应的资源记录RR,如果找到对应的资源记录RR,则反馈包含该资源记录RR的查询结果;如果没找到相对应的资源记录RR,则反馈查询失败的查询结果;
5)对于包含该资源记录RR的查询结果,该递归解析器检查该查询结果对应的查询是否为DNSSEC查询,如果是,则对该查询结果进行DNSSEC检测,如果通过DNSSEC验证,则该递归解析器将查询该类型的顶级域得到的对应资源记录RR存储到该根区数据缓存器,如果没有通过DNSSEC验证,则不对查询结果在根区数据缓存器里进行缓存;如果查询结果对应的查询不是DNSSEC查询,则该递归解析器向根域名服务器发送一个查询该类型顶级域名所对应资源记录RR的DNSSEC查询,并对反馈结果进行DNSSEC验证,如果通过验证,则该递归解析器将查询该类型的顶级域得到的对应资源记录RR存储到该根区数据缓存器,否则不在该根区数据缓存器中缓存该查询结果。
2.如权利要求1所述的方法,其特征在于,在DNS根服务系统中还设置一根区文件分析器;所述根区文件分析器对所述根区缓存器中的资源记录RR是否更新进行判断,其方法为:
21)所述根区文件分析器从根域名服务器查询获得SOA记录,然后设置所述根区数据缓存器的版本号为SOA记录的序列号,设置所述刷新定时器的值为SOA记录的过期值;
22)所述根区文件分析器从互联网数字分配机构获得根区文件,并对去除SOA记录及其数字签名记录RRSIG后的根区文件进行摘要操作,将获得的摘要值作为所述根区数据缓存器的指纹;
23)所述根区文件分析器定期查询根域名服务器的SOA记录,并比较根区数据缓存器的版本号与SOA的序列号是否一致,如果一致,则定期查询;如果不一致,则通知根区数据缓存器停止对递归解析器进行响应,并且重新获取根区文件,并对去除SOA记录及其数字签名记录RRSIG后的根区文件进行摘要操作,然后将新生成的摘要值与根区数据缓存器的指纹进行比较;如果一致,则设置根区数据缓存器的版本号为当前获取的SOA的序列号,并且更新根区数据缓存器中的SOA,然后通知根区数据缓存器继续对递归解析器进行响应;如果不一致,则将根区数据缓存器中的所有数据丢弃,然后通知根区数据缓存器继续对递归解析器进行响应。
3.如权利要求1或2所述的方法,其特征在于,所述根区数据缓存器给每个新放入根区数据缓存器的资源记录RR设置一刷新定时器。
4.如权利要求3所述的方法,其特征在于,所述根区数据缓存器中,每一资源记录RR的刷新计时器进行倒计时,同时资源记录RR的时间TTL会保留在原有的值;根区数据缓存器抛弃刷新定时器值过期的资源记录RR。
5.如权利要求2所述的方法,其特征在于,对于所述查询结果中包含的资源记录RR,递归服务器删除查询结果中这些资源记录RR的刷新定时器,并且将所述查询结果中的资源记录RR的TTL将开始倒计时。
6.如权利要求1或2所述的方法,其特征在于,所述根区文件分析器定期查询根域名服务器的SOA记录的时间间隔为SOA记录的刷新值或者DNS管理员设定的数值。
7.一种优化DNS根服务访问的系统,其特征在于,包括递归解析器、根区数据缓存器以及根区文件分析器;其中,
递归解析器,负责DNS数据的解析和查找;当需要从根域名服务器查询某一类型的顶级域名所对应的资源记录RR时,首先检查该递归解析器的设定缓存是否有相对应的资源记录RR,如果有则反馈包含该资源记录RR的查询结果;否则该递归服务器在该根区数据缓存器的数据缓存里检查该类型的顶级域名所对应的资源记录RR,如果找到相对应的资源记录RR,则反馈包含该资源记录RR的查询结果;否则该递归服务器向根域名服务器查询该类型的顶级域名所对应的资源记录RR,如果找到对应的资源记录RR,则反馈包含该资源记录RR的查询结果;如果没找到相对应的资源记录RR,则反馈查询失败的查询结果;并且对于包含该资源记录RR的查询结果,如果是DNSSEC查询,则对该查询结果进行DNSSEC验证;如果通过DNSSEC验证,则该递归解析器将查询该类型的顶级域得到的对应资源记录RR存储到该根区数据缓存器,如果没有通过DNSSEC验证,则不对查询结果在根区数据缓存器里进行缓存;如果查询结果对应的查询不是DNSSEC查询,则该递归解析器向根域名服务器发送一个查询该类型同一个顶级域名所对应资源记录RR的DNSSEC查询,并对反馈结果进行DNSSEC验证,如果通过验证,则该递归解析器将查询该类型的顶级域得到的对应资源记录RR存储到该根区数据缓存器,否则不在该根区数据缓存器中缓存该查询结果;
根区数据缓存器,负责储存递归解析器从根域名服务器查询顶级域名TLD获得的并且递归服务器进行DNSSEC验证通过的顶级域对应的资源记录RR;
根区文件分析器,负责分析根区文件是否进行了更新,如果进行了更新,则通知根区数据缓存器清空所缓存数据。
8.如权利要求7所述的系统,其特征在于,所述根区数据缓存器设有三个参数:版本号、指纹和刷新定时器;其中,版本号为从根域名服务器查询获得的SOA记录的序列号,刷新定时器的值为SOA记录的过期值,指纹为去除SOA记录及其数字签名记录RRSIG后的根区文件的摘要值。
9.如权利要求8所述的系统,其特征在于,所述根区数据缓存器中,每一资源记录RR的刷新计时器进行倒计时,同时资源记录RR的时间TTL会保留在原有的值;根区数据缓存器抛弃刷新定时器值过期的资源记录RR。
10.如权利要求7或8或9所述的系统,其特征在于,对于所述查询结果中包含的资源记录RR,递归服务器删除查询结果中这些资源记录RR的刷新定时器,并且将所述查询结果中的资源记录RR的TTL开始倒计时。
CN201510623169.7A 2015-09-25 2015-09-25 一种优化dns根服务访问的方法与系统 Active CN105245631B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510623169.7A CN105245631B (zh) 2015-09-25 2015-09-25 一种优化dns根服务访问的方法与系统
PCT/CN2015/098472 WO2017049789A1 (zh) 2015-09-25 2015-12-23 一种优化dns根服务访问的方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510623169.7A CN105245631B (zh) 2015-09-25 2015-09-25 一种优化dns根服务访问的方法与系统

Publications (2)

Publication Number Publication Date
CN105245631A true CN105245631A (zh) 2016-01-13
CN105245631B CN105245631B (zh) 2018-10-26

Family

ID=55043128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510623169.7A Active CN105245631B (zh) 2015-09-25 2015-09-25 一种优化dns根服务访问的方法与系统

Country Status (2)

Country Link
CN (1) CN105245631B (zh)
WO (1) WO2017049789A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110049049A (zh) * 2019-04-22 2019-07-23 中国互联网络信息中心 一种dns区数据校验的方法和装置
CN111464668A (zh) * 2020-03-27 2020-07-28 北京云端智度科技有限公司 一种快速安全的域名解析方法
CN111885212A (zh) * 2020-06-03 2020-11-03 山东伏羲智库互联网研究院 域名存储方法及装置
CN108536603B (zh) * 2018-04-16 2021-03-02 哈尔滨工业大学 一种针对新顶级域名的Web浏览器行为自动化测试方法
CN112655186A (zh) * 2018-09-12 2021-04-13 华为技术有限公司 可信dns解析设备和方法
CN113067836A (zh) * 2021-04-20 2021-07-02 哈尔滨工业大学 一种基于去中心化dns根区管理的智能合约系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695275B (zh) * 2022-12-30 2023-03-07 鹏城实验室 根区记录监控方法、系统、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882791A (zh) * 2012-10-30 2013-01-16 杭州迪普科技有限公司 一种dns业务处理的方法及装置
CN103957285A (zh) * 2014-04-18 2014-07-30 上海聚流软件科技有限公司 提供根域名解析服务的方法和系统
CN103973835A (zh) * 2014-05-16 2014-08-06 北京金山网络科技有限公司 一种域名系统dns服务器选择方法及装置
CN104378452A (zh) * 2013-08-14 2015-02-25 阿里巴巴集团控股有限公司 一种用于域名解析的方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100474858C (zh) * 2004-09-27 2009-04-01 上海贝尔阿尔卡特股份有限公司 域名解析方法、域名服务器及域名系统
US8468247B1 (en) * 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882791A (zh) * 2012-10-30 2013-01-16 杭州迪普科技有限公司 一种dns业务处理的方法及装置
CN104378452A (zh) * 2013-08-14 2015-02-25 阿里巴巴集团控股有限公司 一种用于域名解析的方法、装置及系统
CN103957285A (zh) * 2014-04-18 2014-07-30 上海聚流软件科技有限公司 提供根域名解析服务的方法和系统
CN103973835A (zh) * 2014-05-16 2014-08-06 北京金山网络科技有限公司 一种域名系统dns服务器选择方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536603B (zh) * 2018-04-16 2021-03-02 哈尔滨工业大学 一种针对新顶级域名的Web浏览器行为自动化测试方法
CN112655186A (zh) * 2018-09-12 2021-04-13 华为技术有限公司 可信dns解析设备和方法
CN112655186B (zh) * 2018-09-12 2021-10-22 华为技术有限公司 可信dns解析设备和方法
CN110049049A (zh) * 2019-04-22 2019-07-23 中国互联网络信息中心 一种dns区数据校验的方法和装置
CN111464668A (zh) * 2020-03-27 2020-07-28 北京云端智度科技有限公司 一种快速安全的域名解析方法
CN111885212A (zh) * 2020-06-03 2020-11-03 山东伏羲智库互联网研究院 域名存储方法及装置
CN113067836A (zh) * 2021-04-20 2021-07-02 哈尔滨工业大学 一种基于去中心化dns根区管理的智能合约系统

Also Published As

Publication number Publication date
CN105245631B (zh) 2018-10-26
WO2017049789A1 (zh) 2017-03-30

Similar Documents

Publication Publication Date Title
CN105245631A (zh) 一种优化dns根服务访问的方法与系统
US6701329B1 (en) Aging and scavenging of DNS resource records
US11044262B2 (en) Method, apparatus and system for anti-attacking in domain name system (DNS)
CN109067930B (zh) 域名接入方法、域名解析方法、服务器、终端及存储介质
CN103957286B (zh) Dns安全系统及其故障处理方法
CN109495604B (zh) 一种泛根域名解析的方法
CN101488965B (zh) 一种域名过滤系统及方法
CN102469167B (zh) 域名查询的实现方法和系统
CN102473123A (zh) 用于失效注册中心的恢复的方法和系统
CN1650598A (zh) Ddns服务器、ddns客户终端和ddns系统以及万维网服务器终端、其网络系统和访问控制方法
US9146789B2 (en) Method and apparatus for generating and using location-independent distributed object references
CN102624750B (zh) 抵御dns递归攻击的方法和系统
CN109951482B (zh) 用户终端及其区块链域名解析方法
CN105245633A (zh) 一种安全域名系统及其故障处理方法
CN109672760B (zh) 基于区块链的dns根数据分发方法及系统
CN104951480A (zh) 一种cdn系统中资源存储的索引装置及方法
CN103957289A (zh) 一种基于复杂网络上的dnssec解析方法
CN105812503B (zh) 根服务器地址更新方法和一种递归服务器
CN111787129A (zh) 为客户端配置本地dns服务器的方法及系统
CN111885212B (zh) 域名存储方法及装置
CN111193816A (zh) 权威dns服务器信息更新方法及系统
CN115150469A (zh) 域名解析结果的存储方法、装置、电子设备及存储介质
CN112689030A (zh) Dns缓存更新方法及系统
CN103338222A (zh) 一种实现dns主与辅服务器的区数据自动同步的方法
CN112035064A (zh) 一种用于对象存储的分布式迁移方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant