CN103929509B - 基于预取机制的dns资源记录缓存和响应方法及系统 - Google Patents
基于预取机制的dns资源记录缓存和响应方法及系统 Download PDFInfo
- Publication number
- CN103929509B CN103929509B CN201410186376.6A CN201410186376A CN103929509B CN 103929509 B CN103929509 B CN 103929509B CN 201410186376 A CN201410186376 A CN 201410186376A CN 103929509 B CN103929509 B CN 103929509B
- Authority
- CN
- China
- Prior art keywords
- resource record
- prefetched
- dns
- resource
- prefetches
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于预取机制的DNS资源记录缓存和响应方法及系统。该方法包括:1)设定资源记录的TTL到期前的一小段时间为预取窗口时间;2)在所述预取窗口时间内,如果DNS递归服务器收到针对某资源记录的查询请求,则向相应的权威服务器发送请求,将该资源记录预取到本地并进行缓存;3)DNS递归服务器利用预取的资源记录对查询请求进行响应,将相应的资源记录发送至客户端。该系统包括DNS递归服务器、预取功能配置模块、预取窗口时长计算模块和预取指令下发模块。本发明能够缩短DNS客户端DNS资源记录查询时延,提升客户端的用户体验。
Description
技术领域
本发明属于域名解析技术领域,具体涉及一种采用资源记录预取机制的DNS资源记录缓存和响应方法及系统,能够提高递归服务器响应速度,缩短DNS客户端DNS资源记录的查询时延。
背景技术
DNS是互联网最为重要的基础性资源,是其它互联网业务安全运行的保证。DNS系统主要由权威服务器、递归服务器以及客户端构成,权威服务器存储了一个或多个区的信息,是DNS资源记录的源头。递归服务器负责接受客户端(解析器)发送的请求,然后通过向各级权威服务器发出查询请求获得用户需要的查询结果,最后返回给客户端的解析器。递归服务器可以将权威服务器返回的各种记录进行缓存从而减少查询次数和提高查询效率,因而也被称为缓存服务器。客户端一般通过递归服务器查询各类资源记录。
递归服务器所缓存的每条资源记录都对应一个TTL(Time To Live)值,如果TTL到期,那么递归服务器就会立刻将相应的资源记录删除。下一次,如果其它客户端来向该递归服务器请求该资源记录,则递归服务器需重新向相应的权威服务器下载该资源记录。由于客户端必须等待一段时间才能下载资源记录,因而其等待时延较大,影响了用户体验。
发明内容
针对当前递归服务器存在的响应不及时的问题,本发明提供一种基于预取机制的DNS资源记录缓存和响应方法及系统,能够缩短递归服务器响应时延,提升DNS系统服务体验。
为实现上述目的,本发明采用的技术方案如下:
一种基于预取机制的DNS资源记录缓存和响应方法,其步骤包括:
1)设定资源记录的TTL到期前的一小段时间为预取窗口时间;
2)在所述预取窗口时间内,如果DNS递归服务器收到针对某资源记录的查询请求,则向相应的权威服务器发送请求,将该资源记录预取到本地并进行缓存;
3)DNS递归服务器利用预取的资源记录对查询请求进行响应,将相应的资源记录发送至客户端。
进一步地,资源记录的预取目标分为两类:a)热度大于某一阈值的资源记录,其缓存命中率不小于某给定值;b)某一域在一个TTL周期内因预取机制而导致的额外DNS请求数小于某一给定值。
进一步地,采用下述方法计算预取窗口时长:
对于a)类预取目标,依据下式计算预取窗口时长:
Th=-log(1-Phit)/λ,
其中,Th为预取窗口时长;λ为资源记录请求的平均到达率;Phit为资源记录在Th内被预取的概率,Phit也是后续对该资源记录的请求被缓存命中的概率,称为缓存命中率;
对于b)类预取目标,依据下式计算预取窗口时长:
其中,N为一个域拥有的资源记录个数,λi(1≤i≤N)为每个资源记录的热度,NPackets为在一个TTL周期内该域因预取机制而带来的额外流量,即发送该域的由于预取机制而导致的DNS请求的总数。
进一步地,根据资源记录的剩余存活时间以及对应的预取窗口时长,判断是否向DNS递归服务器下发资源记录预取指令;DNS递归服务器接收到预取指令后,立即预取相应的资源记录。
进一步地,如果资源记录的剩余存活时间小于预取窗口时间,且两次预取指令的下达时间间隔大于预取窗口时间,则向DNS递归服务器下发资源记录预取指令,否则无需下达资源记录预取指令。
一种采用上述方法的DNS资源记录缓存和响应系统,包括DNS递归服务器、预取功能配置模块、预取窗口时长计算模块和预取指令下发模块;所述预取功能配置模块设定资源记录的预取目标;所述预取窗口时长计算模块根据设定的预取目标计算预取窗口时长;所述预取指令下发模块根据资源记录的剩余存活时间以及对应的预取窗口时长,判断是否向DNS递归服务器下发资源记录预取指令;所述DNS递归服务器接收到预取指令后,立即预取相应的资源记录。
与现有技术相比,本发明缩短了递归服务器的响应时延,提高了递归服务器响应速度;缩短DNS客户端DNS资源记录查询时延,提升了客户端的用户体验。
附图说明
图1是本发明的预取窗口时长示意图。
图2是本发明的DNS递归递归服务器模块示意图。
图3是本发明的递归服务器资源记录动态调整流程图。
图4是本发明实施例的预取窗口时长与额外请求数据包之间的关系图。
具体实施方式
下面通过具体实施例和附图,对本发明做进一步说明。
首先说明本发明的基本原理。现有技术中,为避免频繁向权威服务器发送域名解析请求,递归服务器会将资源记录缓存一段时间,当资源记录的TTL(Time To Live)到期后,递归服务器就将资源记录从缓存中删除。此后,如果收到了来自于客户端关于该资源记录的DNS请求,递归服务器就会立即向相应的权威服务器发送请求,以获取该资源记录并将其发送给客户端。这种机制的最大问题是,资源记录的TTL到期后,第一个请求该资源记录的客户端的请求时间过长。
为避免这种状况,本发明提出了一种资源记录预取机制:划定每个资源记录TTL到期前的一小段时间为预取窗口时间,如图1所示。如果在这个预取窗口时间内递归服务器收到了针对某资源记录的查询请求,则立即向相应的权威服务器发送请求并将该资源记录预取到本地。预取的原则是:只有比较“热门”的资源记录才需被预取,否则,如果预取了“冷门”资源记录,由于该资源记录在很长一段时间内不会被请求到,反而会浪费存储资源。显然,预取窗口时间的设置决定了哪类资源记录会被缓存下来。如果预取窗口时间被设置得很短,则只有极少一部分非常“热门”的资源记录会被提前预取;反之,预取窗口时间被设置得很长,则会有很多“冷门”的资源记录会被提前预取,从而造成存储资源的浪费。因而,预取窗口时间的确定非常重要,本发明通过设置预取窗口时长计算模块,专门用来计算预取窗口时间。
图2是本发明的DNS递归递归服务器模块构成示意图。本发明通过为现有DNS递归服务器增添预取功能配置模块、预取窗口时长计算模块、预取指令下发模块来减小DNS递归服务器的响应时延。下面具体介绍各个模块的工作流程。
预取窗口时长计算模块是本发明的一个核心内容,故首先介绍其工作原理。实际上,预取窗口时长与资源记录的“热度”(即单位时间内被请求的次数)、资源记录的缓存命中率等有关。为建立起三者之间的数学关系,先建立一个简单的模型。递归服务器上针对某个资源记录的请求的到达过程可以用泊松过程(http://en.wikipedia.org/wiki/Poisson_process)来描述,泊松过程的应用非常普遍,公交车站顾客的到达过程,网络上对某文件的下载请求的达到过程均可以用泊松过程来建模。设资源记录请求的平均到达率为:λ(可视为单位时间内对某个资源记录的请求的平均数);设预取窗口时长为Th;设资源记录的TTL为T(TTL与预取窗口时长的关系如图 1 所示);设该资源记录在Th内被预取的概率为Phit,由于Phit也是后续对该资源记录的请求被缓存命中的概率,故也称Phit为缓存命中率。则依据泊松过程相关理论(Sheldon M.Ross,stochastic process.John Wiley&Sons,1983.),有
这里,是Th时间内资源记录的请求到达数。经数学变形,得
Th=-log(1-Phit)/λ (2)
由上式可以看出,预取窗口时长是缓存命中率的增函数,即缓存命中率越大,预取窗口时长也越大;同时,预取窗口时长是资源记录热度的减函数,即资源记录的热度越大,预取窗口时长越小。
实施预取机制在提高缓存命中率的同时,也会带来一些额外流量。进一步地,可由式(1)来计算额外流量。对于一个域(例如cnnic.cn),其所包含的资源记录的数目非常大,不妨设一个域拥有N个资源记录,每个资源记录的热度设为λi(1≤i≤N),则在一个TTL周期内,该域因预取机制而带来的额外流量如下:
这里,NPackets是发送该域的由于预取机制而导致的DNS请求的总数。
下面来阐述图2中三个模块的工作流程:
首先,管理员通过预取功能配置模块输入其所期望的预取目标。预取目标为两类:1)热度大于某一阈值的资源记录的缓存命中率需不小于某给定值;2)某一域(比如cnnic.cn)在一个TTL周期内因预取机制而导致的额外DNS请求数小于某一给定值。
预取窗口时长计算模块收到预取功能配置模块所发出的预取目标时,对于上述预取目标1),预取窗口时长计算模块依据式(2)即可立即计算出预取窗口时长,因为管理员已给出了参数λ和Phit的具体值;对于上述预取目标2),预取窗口时长计算模块依据式(3)即可计算出预取窗口时长;同时,DNS递归服务器需将该域所有资源记录的热度(即单位时间内的平均被请求次数)统计出来并发送给预取窗口时长计算模块,然后,预取窗口时长计算模块根据式(3)即可得到NPackets与Th的关系,然后,预取窗口时长计算模块根据上述预取目标2)中管理员所下达的NPackets的具体数值,即可查找到对应的Th,这样,预取窗口时长就被确定了。然后,预取窗口时长计算模块将所计算出的预取窗口时长发送给预取指令下发模块。此时,普通DNS递归服务器将各个资源记录的剩余存活时间实时发送给预取指令下发模块,所谓剩余存活时间,就是资源记录的TTL值减去该资源记录在该递归服务器上已缓存的时间。
预取指令下发模块的工作流程如图3所示:递归服务器将资源记录的剩余存活时间发送给预取指令下发模块,预取指令下发模块根据资源记录的剩余存活时间以及对应的预取窗口时间来判断是否向递归服务器下发资源记录预取指令。如果资源记录的剩余存活时间小于预取窗口时间,且两次预取指令的下达时间间隔大于预取窗口时间(以防止在一个预取窗口时间内重复下达预取指令,换句话说,在一个预取窗口时间内,只需预取一次即可),则向递归服务器下发资源记录预取指令,否则无需下达资源记录预取指令。递归服务器接收到预取指令下发模块下达的预取指令后,立即预取相应的资源记录。
下面进一步提供具体应用实例:
如果管理员通过预取功能配置模块下发预取目标:热度大于1次每秒的资源记录的缓存命中率需不小于90%。预取窗口时长计算模块接收到预取目标后,通过公式(2)可计算出预取窗口时长,即
Th=-log(1-Phit)/λ
=-log(1-90%)/1
=2.3026秒
然后,预取窗口时长计算模块将计算出的预取窗口时长(即2.3026秒)下发给预取指令下发模块。然后,预取指令下发模块根据图3所示的流程图来确定何时下发预取指令。
如果管理员通过预取功能配置模块下发预取目标:某一域(以example.cn为例)在一个TTL周期内因预取机制而导致的额外DNS请求数小于800。这里,假设该example.cn域有1000个资源记录,这些资源记录的热度服从[0,1000]之间的均匀分布。预取窗口时长计算模块接收到预取目标后,通过公式(3)来计算预取窗口时长与额外请求数据包之间的关系,如图4所示,横轴为预取窗口时长,纵轴为数据包数目。由该图可得,如果希望数据包数目小于800,可将预取窗口时长设置为5秒。
Th=-log(1-Phit)/λ
=-log(1-90%)/1
=2.3026秒
然后,预取窗口时长计算模块将计算出的预取窗口时长(即5秒)下发给预取指令下发模块。然后,预取指令下发模块根据图3所示的流程图来确定何时下发预取指令。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
Claims (6)
1.一种基于预取机制的DNS资源记录缓存和响应方法,其步骤包括:
1)设定资源记录的TTL到期前的一小段时间为预取窗口时间;资源记录的预取目标分为两类:a)热度大于某一阈值的资源记录,其缓存命中率不小于某给定值;b)某一域在一个TTL周期内因预取机制而导致的额外DNS请求数小于某一给定值;并采用下述方法计算预取窗口时长:
对于a)类预取目标,依据下式计算预取窗口时长:
Th=-log(1-Phit)/λ,
其中,Th为预取窗口时长;λ为资源记录请求的平均到达率;Phit为资源记录在Th内被预取的概率,Phit也是后续对该资源记录的请求被缓存命中的概率,称为缓存命中率;
对于b)类预取目标,依据下式计算预取窗口时长:
其中,N为一个域拥有的资源记录个数;λi为每个资源记录的热度,1≤i≤N;NPackets为在一个TTL周期内该域因预取机制而带来的额外流量,即发送该域的由于预取机制而导致的DNS请求的总数;
2)在所述预取窗口时间内,如果DNS递归服务器收到针对某资源记录的查询请求,则向相应的权威服务器发送请求,将该资源记录预取到本地并进行缓存;
3)DNS递归服务器利用预取的资源记录对查询请求进行响应,将相应的资源记录发送至客户端。
2.如权利要求1所述的方法,其特征在于:根据资源记录的剩余存活时间以及对应的预取窗口时长,判断是否向DNS递归服务器下发资源记录预取指令;DNS递归服务器接收到预取指令后,立即预取相应的资源记录。
3.如权利要求2所述的方法,其特征在于:如果资源记录的剩余存活时间小于预取窗口时间,且两次预取指令的下达时间间隔大于预取窗口时间,则向DNS递归服务器下发资源记录预取指令,否则无需下达资源记录预取指令。
4.一种采用权利要求1所述方法的DNS资源记录缓存和响应系统,其特征在于,包括DNS递归服务器、预取功能配置模块、预取窗口时长计算模块和预取指令下发模块;所述预取功能配置模块设定资源记录的预取目标;所述预取窗口时长计算模块根据设定的预取目标计算预取窗口时长;所述预取指令下发模块根据资源记录的剩余存活时间以及对应的预取窗口时长,判断是否向DNS递归服务器下发资源记录预取指令;所述DNS递归服务器接收到预取指令后,立即预取相应的资源记录;
所述预取功能配置模块设定的预取目标分为两类:a)热度大于某一阈值的资源记录,其缓存命中率不小于某给定值;b)某一域在一个TTL周期内因预取机制而导致的额外DNS请求数小于某一给定值;并采用下述方法计算预取窗口时长:
对于a)类预取目标,依据下式计算预取窗口时长:
Th=-log(1-Phit)/λ,
其中,Th为预取窗口时长;λ为资源记录请求的平均到达率;Phit为资源记录在Th内被预取的概率,Phit也是后续对该资源记录的请求被缓存命中的概率,称为缓存命中率;
对于b)类预取目标,依据下式计算预取窗口时长:
其中,N为一个域拥有的资源记录个数;λi为每个资源记录的热度,1≤i≤N;NPackets为在一个TTL周期内该域因预取机制而带来的额外流量,即发送该域的由于预取机制而导致的DNS请求的总数。
5.如权利要求4所述的系统,其特征在于:所述预取指令下发模块根据资源记录的剩余存活时间以及对应的预取窗口时长,判断是否向DNS递归服务器下发资源记录预取指令。
6.如权利要求5所述的系统,其特征在于:如果资源记录的剩余存活时间小于预取窗口时间,且两次预取指令的下达时间间隔大于预取窗口时间,则所述预取指令下发模块向DNS递归服务器下发资源记录预取指令,否则无需下达资源记录预取指令。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410186376.6A CN103929509B (zh) | 2014-05-05 | 2014-05-05 | 基于预取机制的dns资源记录缓存和响应方法及系统 |
PCT/CN2014/095165 WO2015169094A1 (zh) | 2014-05-05 | 2014-12-26 | 基于预取机制的dns资源记录缓存和响应方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410186376.6A CN103929509B (zh) | 2014-05-05 | 2014-05-05 | 基于预取机制的dns资源记录缓存和响应方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103929509A CN103929509A (zh) | 2014-07-16 |
CN103929509B true CN103929509B (zh) | 2017-06-16 |
Family
ID=51147581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410186376.6A Active CN103929509B (zh) | 2014-05-05 | 2014-05-05 | 基于预取机制的dns资源记录缓存和响应方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103929509B (zh) |
WO (1) | WO2015169094A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103929509B (zh) * | 2014-05-05 | 2017-06-16 | 中国科学院计算机网络信息中心 | 基于预取机制的dns资源记录缓存和响应方法及系统 |
CN106161669A (zh) * | 2015-04-28 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种快速域名解析方法和系统、及其终端和服务器 |
US10587648B2 (en) | 2017-04-13 | 2020-03-10 | International Business Machines Corporation | Recursive domain name service (DNS) prefetching |
CN110830599A (zh) * | 2018-08-09 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 域名预热方法、地址发送方法及系统、计算设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643694B1 (en) * | 2000-02-09 | 2003-11-04 | Michael A. Chernin | System and method for integrating a proxy server, an e-mail server, and a DHCP server, with a graphic interface |
CN103701957A (zh) * | 2014-01-14 | 2014-04-02 | 互联网域名系统北京市工程研究中心有限公司 | Dns递归方法及其系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645501B2 (en) * | 2011-05-05 | 2014-02-04 | Qualcomm Innovation Center, Inc. | Adaptive DNS pre-fetching |
CN103929509B (zh) * | 2014-05-05 | 2017-06-16 | 中国科学院计算机网络信息中心 | 基于预取机制的dns资源记录缓存和响应方法及系统 |
-
2014
- 2014-05-05 CN CN201410186376.6A patent/CN103929509B/zh active Active
- 2014-12-26 WO PCT/CN2014/095165 patent/WO2015169094A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643694B1 (en) * | 2000-02-09 | 2003-11-04 | Michael A. Chernin | System and method for integrating a proxy server, an e-mail server, and a DHCP server, with a graphic interface |
CN103701957A (zh) * | 2014-01-14 | 2014-04-02 | 互联网域名系统北京市工程研究中心有限公司 | Dns递归方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2015169094A1 (zh) | 2015-11-12 |
CN103929509A (zh) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103929509B (zh) | 基于预取机制的dns资源记录缓存和响应方法及系统 | |
US9832141B1 (en) | Routing based request correlation | |
Bolot et al. | Performance engineering of the World Wide Web: Application to dimensioning and cache design | |
CN104079534B (zh) | 一种http缓存实现方法和系统 | |
US7849202B2 (en) | System and method for tracking unique visitors to a website | |
US20180262564A1 (en) | Using resource timing data for server push in multiple web page transactions | |
CN103973834B (zh) | 一种基于家庭网关的dns域名解析加速方法及装置 | |
CN103914568B (zh) | 调度http代理的方法和装置 | |
CN105472056B (zh) | Dns递归服务器分层缓存方法和系统 | |
CN105187396A (zh) | 识别网络爬虫的方法及装置 | |
CN107196968B (zh) | 一种爬虫识别方法 | |
CN109218090A (zh) | 一种物联网节点信任度评估方法 | |
Poojary et al. | An asymptotic approximation for TCP CUBIC | |
CN107665235A (zh) | 缓存处理方法、装置、计算机设备和存储介质 | |
CN109565453A (zh) | 用于扩充网络流量报告的方法及系统 | |
JP6734804B2 (ja) | キャッシュサーバおよびキャッシュ方法 | |
CN106331205B (zh) | 域名资源记录缓存的集中管控方法、装置和相关设备 | |
WO2000026743B1 (en) | Computer network size growth forecasting method and system | |
Dai et al. | Analysis of tandem PIT and CS with non-zero download delay | |
CN108259198B (zh) | 一种域名缓存命中率的预判方法、装置及设备 | |
Hasslinger et al. | Evaluation of caching strategies based on access statistics of past requests | |
Bahat et al. | Measuring consistency in TTL-based caches | |
EP3800833B1 (en) | Deep packet inspection application classification systems and methods | |
Krishnamurthy et al. | Evaluation of sip proxy server performance: Packet-level measurements and queuing model | |
Cetin et al. | Toward a proper statistical description of defects |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210204 Address after: 100190 room 506, building 2, courtyard 4, South 4th Street, Zhongguancun, Haidian District, Beijing Patentee after: CHINA INTERNET NETWORK INFORMATION CENTER Address before: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun Patentee before: Computer Network Information Center, Chinese Academy of Sciences |