CN105472056B - Dns递归服务器分层缓存方法和系统 - Google Patents

Dns递归服务器分层缓存方法和系统 Download PDF

Info

Publication number
CN105472056B
CN105472056B CN201510815989.6A CN201510815989A CN105472056B CN 105472056 B CN105472056 B CN 105472056B CN 201510815989 A CN201510815989 A CN 201510815989A CN 105472056 B CN105472056 B CN 105472056B
Authority
CN
China
Prior art keywords
domain name
frequency domain
buffer queue
dns
recursion server
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.)
Active
Application number
CN201510815989.6A
Other languages
English (en)
Other versions
CN105472056A (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 CN201510815989.6A priority Critical patent/CN105472056B/zh
Priority to PCT/CN2015/098473 priority patent/WO2017088225A1/zh
Publication of CN105472056A publication Critical patent/CN105472056A/zh
Application granted granted Critical
Publication of CN105472056B publication Critical patent/CN105472056B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种DNS递归服务器分层缓存方法和系统。该方法包括如下步骤:1)将DNS递归服务器的缓存分为高频域名缓存队列和低频域名缓存队列;2)根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;3)若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中。本发明能够对高频域名和低频域名实行分别缓存处理;能够提高递归服务器缓存的存取效率和命中率;能够提高递归服务器的域名解析性能;访问频率阈值、高低频域名LRU缓存的大小可以自由定制设定。

Description

DNS递归服务器分层缓存方法和系统
技术领域
本发明属于网络技术、域名系统(DNS)技术领域,具体涉及一种DNS递归服务器分层缓存方法和系统。
背景技术
DNS递归服务器是DNS的重要组件之一,负责域名与IP地址之间映射记录的解析。DNS递归服务器会将来自权威服务器的响应信息记录暂存到其中的缓存中,这样当递归服务器再次接收到用户同样的解析请求时,就可以直接向用户回应相应的记录信息,而不需要再次向权威服务器发送查询请求,从而可以有效的提高域名解析的效率并减少带宽的消耗。DNS缓存的高效运转是保证递归域名服务乃至整体域名服务水平的一个关键因素。
通过分析某大型公共递归服务器的一整天查询日志得知,来自用户群体的域名查询行为存在典型的长尾分布特征(long tail distribution),大多数域名查询都是针对一小部分热点域名而进行,而其他绝大部分域名(超过90%)在一天内的被查询次数不到10次,大约67%的域名一天内只被查询过1次(其中绝大部分为某些互联网业务随机生成的临时性域名)。随着新通用顶级域以及国际化域名的广泛应用,域名空间将进一步扩大,相信以后域名查询的这种长尾分布特征会愈加明显。
目前DNS递归服务器缓存所采用的通用架构通常由单一缓存模块来构成,从权威服务器发来的响应信息记录会根据某种特定的算法(如典型的LRU算法,Least RecentlyUsed)存储到缓存队列中。通常情况下,查询频率较高的域名会被动态调整到缓存队列的前端,查询频率较低的域名会被逐渐调整到缓存队列的末端,直至该域名因为TTL到期而被删除或者由于缓存队列达到长度上限而被抛弃。这种缓存策略由于可以基本保证查询频率较高的域名能够一直保留在缓存队列中直至其TTL过期,因此被业内广泛采用。但是,这种缓存策略由于采用单一的缓存队列模块,高频域名和低频域名被共同存储在同一个缓存队列中处理,大量的低频查询域名的出现,势必会极大的挤占和增加缓存队列的存储空间,同时使得一部分中频域名过早地被缓存剔除掉,从而会降低DNS缓存的存取效率和命中率,对递归服务器的域名解析性能造成严重影响。
发明内容
针对上述问题,本发明旨在提供一种新型的DNS递归服务器分层缓存方法和系统,以降低大量低频域名对于DNS缓存的负面影响,提升DNS缓存的工作效率。
为实现上述目的,本发明采用的技术方案如下:
一种DNS递归服务器分层缓存方法,包括如下步骤:
1)将DNS递归服务器的缓存分为高频域名缓存队列和低频域名缓存队列;
2)根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;
3)若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中。
进一步地,当递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息。
进一步地,所述继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迁移至高频域名缓存队列中。
进一步地,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
进一步地,所述域名访问频率阈值等于1。
一种DNS递归服务器分层缓存系统,包括DNS递归服务器,所述DNS递归服务器的缓存包括高频域名缓存模块和低频域名缓存模块;根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中。
进一步地,所述递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息。
进一步地,所述继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迁移至高频域名缓存队列中。
进一步地,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
进一步地,所述域名访问频率阈值等于1。
本发明提供的DNS递归服务器分层缓存方法和系统,所提供的DNS递归服务器的缓存由高低两部分缓存队列组成;根据域名的查询频率的不同,其响应记录可以被存放到DNS递归服务器中的不同缓存队列中;低频域名缓存队列中的域名响应记录若超过预先规定的访问频率阈值,即被迁移至高频域名缓存队列中。与现有技术相比,本发明的优点如下:
1)能够对高频域名和低频域名实行分别缓存处理;
2)能够提高递归服务器缓存的存取效率和命中率;
3)能够提高递归服务器的域名解析性能;
4)访问频率阈值、高低频域名LRU缓存的大小可以自由定制设定。
附图说明
图1是本发明的递归服务器分层缓存架构示意图。
图2是本发明的DNS递归服务器分层缓存方法的步骤流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
本发明所提供的递归服务器分层缓存架构如附图1所示,其中递归服务器的缓存由高频域名LRU缓存模块和低频域名LRU缓存模块组成。
图2是采用该系统进行分层缓存的步骤流程图。当递归服务器接收到来自用户的查询请求时,首先检查高频域名LRU缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名LRU缓存队列是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时将该响应信息迁移至高频域名LRU缓存队列中。这里假设响应信息再一次被访问,即被迁移至高频域名LRU缓存队列(即域名访问频率阈值=1)。
若上述两个LRU缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名LRU缓存队列中去。
本发明的DNS递归服务器分层缓存方法,能够对高频域名和低频域名实行分别缓存处理;能够提高递归服务器缓存的存取效率和命中率;能够提高递归服务器的域名解析性能;访问频率阈值、高低频域名LRU缓存的大小可以自由定制设定。
下面提供一个具体实施例。
设定用户向递归服务器发送查询域名abc.example.cn的请求,递归服务器首先检查高频域名LRU缓存队列中是否存该域名相应的记录信息:
1)如果存在,递归服务器直接向用户返回该记录信息,同时对高频域名LRU缓存队列进行相应更新;
2)如果不存在,递归服务器则继续检查低频域名LRU缓存队列是否存在相应的记录信息:
a)如果存在,直接向用户返回该响应信息,同时将该域名abc.example.cn记录信息迁移至高频域名LRU缓存队列中(这里设置域名访问频率阈值=1,即低频域名LRU缓存队列中的域名再一次被查询,即可被迁移至高频域名LRU缓存队列);
b)如果不存在,即上述两个LRU缓存队列皆不存在域名abc.example.cn相应的记录信息,则递归服务器负责向权威服务器发起该域名的查询请求,并将收到的响应信息返回给用户,同时将该响应信息存至低频域名LRU缓存队列中去。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (6)

1.一种DNS递归服务器分层缓存方法,其特征在于,包括如下步骤:
1)将DNS递归服务器的缓存分为高频域名缓存队列和低频域名缓存队列;
2)根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;
3)若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中;
当DNS递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迁移至高频域名缓存队列中。
2.如权利要求1所述的方法,其特征在于,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
3.如权利要求1所述的方法,其特征在于,所述域名访问频率阈值等于1。
4.一种DNS递归服务器分层缓存系统,包括DNS递归服务器,其特征在于,所述DNS递归服务器的缓存包括高频域名缓存模块和低频域名缓存模块;根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中;所述递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迁移至高频域名缓存队列中。
5.如权利要求4所述的系统,其特征在于,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
6.如权利要求4所述的系统,其特征在于,所述域名访问频率阈值等于1。
CN201510815989.6A 2015-11-23 2015-11-23 Dns递归服务器分层缓存方法和系统 Active CN105472056B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510815989.6A CN105472056B (zh) 2015-11-23 2015-11-23 Dns递归服务器分层缓存方法和系统
PCT/CN2015/098473 WO2017088225A1 (zh) 2015-11-23 2015-12-23 Dns递归服务器分层缓存方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510815989.6A CN105472056B (zh) 2015-11-23 2015-11-23 Dns递归服务器分层缓存方法和系统

Publications (2)

Publication Number Publication Date
CN105472056A CN105472056A (zh) 2016-04-06
CN105472056B true CN105472056B (zh) 2019-04-16

Family

ID=55609313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510815989.6A Active CN105472056B (zh) 2015-11-23 2015-11-23 Dns递归服务器分层缓存方法和系统

Country Status (2)

Country Link
CN (1) CN105472056B (zh)
WO (1) WO2017088225A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107979654A (zh) * 2016-10-21 2018-05-01 中国移动通信有限公司研究院 查询域名的带外信息的方法和系统
CN108494891A (zh) * 2018-02-28 2018-09-04 网宿科技股份有限公司 一种域名解析方法、服务器及系统
CN110784553B (zh) * 2019-11-05 2021-12-21 南京亚信智网科技有限公司 报文封装方法、设备及域名解析系统
CN110837427B (zh) * 2019-11-15 2022-02-01 四川长虹电器股份有限公司 一种基于队列分拣任务机制的防止缓存击穿的方法
CN111897838A (zh) * 2020-06-28 2020-11-06 中国建设银行股份有限公司 一种交易查询方法、装置、电子设备及其可读存储介质
CN112702446B (zh) * 2020-12-16 2022-11-01 互联网域名系统北京市工程研究中心有限公司 Dns缓存在边缘网络中的分布式存储系统
CN115086275B (zh) * 2021-03-12 2024-03-08 中国电信股份有限公司 报文处理方法、装置、介质及电子设备
CN113472914B (zh) * 2021-06-28 2023-09-26 北京天地互连信息技术有限公司 Dns定向预取缓存方法及系统
CN113821461B (zh) * 2021-09-24 2023-10-27 牙木科技股份有限公司 域名解析缓存方法、dns服务器及计算机可读存储介质
CN114221934B (zh) * 2021-12-13 2024-05-07 牙木科技股份有限公司 域名解析缓存方法、dns服务器及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025795A (zh) * 2010-01-22 2011-04-20 中国移动通信集团北京有限公司 Dns响应报文处理方法、dns服务器及系统
CN102469167A (zh) * 2010-11-01 2012-05-23 中国移动通信集团北京有限公司 域名查询的实现方法和系统
CN103701957A (zh) * 2014-01-14 2014-04-02 互联网域名系统北京市工程研究中心有限公司 Dns递归方法及其系统
CN104935680A (zh) * 2015-06-18 2015-09-23 中国互联网络信息中心 一种多层级共享缓存的递归域名服务系统和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523193B2 (en) * 2004-05-18 2009-04-21 International Business Machines Corporation Method and apparatus for DNS pre-fetching for multiple clients
CN104639366B (zh) * 2014-12-31 2017-03-15 北京奇虎科技有限公司 Dns灾备系统孤岛应答自动切换方法及装置
CN104468244B (zh) * 2014-12-31 2018-04-20 北京奇虎科技有限公司 域名解析系统灾备建构方法及装置
CN104935683A (zh) * 2015-06-29 2015-09-23 北京经天科技有限公司 用于域名解析的缓存处理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025795A (zh) * 2010-01-22 2011-04-20 中国移动通信集团北京有限公司 Dns响应报文处理方法、dns服务器及系统
CN102469167A (zh) * 2010-11-01 2012-05-23 中国移动通信集团北京有限公司 域名查询的实现方法和系统
CN103701957A (zh) * 2014-01-14 2014-04-02 互联网域名系统北京市工程研究中心有限公司 Dns递归方法及其系统
CN104935680A (zh) * 2015-06-18 2015-09-23 中国互联网络信息中心 一种多层级共享缓存的递归域名服务系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于主动哈希和多级缓存的域名解析策略;吴翠雁等;《广西师范大学学报:自然科学版》;20090331;第1-2页

Also Published As

Publication number Publication date
WO2017088225A1 (zh) 2017-06-01
CN105472056A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
CN105472056B (zh) Dns递归服务器分层缓存方法和系统
US11134134B2 (en) Routing for origin-facing points of presence
US11665259B2 (en) System and method for improvements to a content delivery network
CN106796547B (zh) 用于代理缓存智能对象淘汰的方法和系统
CN103812849B (zh) 一种本地缓存更新方法、系统、客户端及服务器
US8370460B1 (en) Optimizing multi-hit caching for long tail content
US9954815B2 (en) Domain name collaboration service using domain name dependency server
US20090031028A1 (en) Secure tunnel domain name management
US9590947B2 (en) IP management method, client and server
CN103701957A (zh) Dns递归方法及其系统
CN103973834A (zh) 一种基于家庭网关的dns域名解析加速方法及装置
CN107222492A (zh) 一种dns防攻击方法、设备和系统
CN103560959B (zh) 一种选择静态路由的方法及装置
CN106844740A (zh) 基于内存对象缓存系统的数据预读方法
CN105426321A (zh) 采用远程位置信息的rdma友好缓存方法
CN105610917B (zh) 实现系统中同步数据修复的方法及系统
EP2568386A1 (en) Method for accessing cache and fictitious cache agent
CN105516383B (zh) 一种新型dns递归服务器缓存方法和系统
US10705978B2 (en) Asynchronous tracking for high-frequency and high-volume storage
CN112532766B (zh) Dns应答结果的缓存方法、dns服务器及计算机可读存储介质
US20200404066A1 (en) Enhanced Domain Name System Response Caching
WO2015169094A1 (zh) 基于预取机制的dns资源记录缓存和响应方法及系统
CN109413220B (zh) 一种以别名方式接入ddos云防护系统中避免dns传播的方法
CN105930519A (zh) 一种基于集群文件系统的全局共享读缓存方法
KR101645222B1 (ko) 어드밴스드 도메인 네임 시스템 및 운용 방법

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