一种缓存域名系统服务范围分析方法及装置转让专利
申请号 : CN202110815966.0
文献号 : CN113286016B
文献日 : 2021-09-28
发明人 : 许成喜 , 施凡 , 马慧敏 , 薛鹏飞 , 李继鹏 , 李振汉
申请人 : 中国人民解放军国防科技大学
摘要 :
权利要求 :
1.一种缓存域名系统服务范围分析方法,其特征在于,包括以下步骤:步骤S101:对用户人群行为数据进行分析,分类别构建本地化域名字典;所述本地化域名字典,是对某地区本地化域名的提炼整理,完成该地区的本地化域名的整合,即构成一个能代表该地区的本地化域名字典;
步骤S102:针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;其中,为了得到某域名的权威TTL,通过向公共的域名系统请求该域名的权威域名服务器的域名,然后向公共的域名系统请求解析待解析记录得到权威域名服务器的IP,再向权威域名服务器请求该域名的解析,得到该域名的权威TTL值;
步骤S103:基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;
步骤S104:测量缓存域名系统的背景噪声,并过滤所述背景噪声;
步骤S105:基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;其中,通过分析历史嗅探结果,统计各个缓存域名系统服务器的缓存中没有缓存记录的域名的TTL值与域名权威TTL值的差值,对统计的结果取平均值,该平均值即为预设容忍度Δt;
步骤S106:对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围,其中:
经过前期探测得到本地化域名在缓存域名系统中非正常请求的背景噪声,进行若干次探测,将探测得到的背景噪声取平均值,得到的数值作为预设统计阈值;向待确定缓存域名系统服务范围的域名服务器发送若干个嗅探请求,获取所述缓存域名服务器对某地区对应的本地化域名字典的解析命中率,计算命中率的方法为嗅探命中次数与总嗅探次数的比值,即:
其中,hit_rate为命中率,n本地域名字典域名数量,m为缓存嗅探的次数,hit_counti为第i个域名的嗅探命中次数,1≤i≤n;将该解析命中率 与所述预设统计阈值比较,如果命中率小于所述预设统计阈值,则确定出该缓存域名服务器不为该地区提供服务;如果命中率大于或等于所述预设统计阈值,则判断该缓存域名服务器为该地区提供服务。
2.如权利要求1所述的缓存域名系统服务范围分析方法,其特征在于,所述步骤S103,其中,当前嗅探时刻为T,则在当前探测后,对于域名Di,假定缓存域名系统返回的应答记录的TTL为 域名Di的权威TTL为 则其下一次最佳的嗅探时机T’为:
3.如权利要求2所述的缓存域名系统服务范围分析方法,其特征在于,所述步骤S103:基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录,包括:步骤S1031:设置本地化域名字典中的各个域名的嗅探次数;第一次嗅探时对本地化域名字典中的所有域名都发起嗅探,在时间轮盘上记录下每个域名第一次被嗅探的时间last_time;将全部域名均作为待处理域名;
步骤S1032:对缓存DNS进行嗅探,得到域名的缓存TTL;
步骤S1033:对每个待处理域名,均执行以下操作:将从缓存域名服务器中得到的域名缓存TTL与该域名上一次在时间轮盘上的时间进行求和,得到该域名下一次在时间轮盘上允许被嗅探的最小时间min_time;再将该域名下一次在时间轮盘上允许被嗅探的最小时间加上该域名的权威TTL值,得到该域名下一次在时间轮盘上允许被嗅探的最大时间max_time;
步骤S1034:若时间轮盘上已经没有待处理域名,则完成所有嗅探任务,方法结束;否则,进入步骤S1035;
步骤S1035:对每个待处理域名,均执行以下操作:在每次嗅探完成后,计算该域名的剩余嗅探次数,如果该域名的剩余嗅探次数已经为0,则在时间轮盘中不加入该域名的任务,该域名不再作为待处理域名;如果剩余嗅探次数大于0,将该域名作为待处理域名;
步骤S1036:获取全部待处理域名,进入步骤S1033。
4.一种缓存域名系统服务范围分析装置,其特征在于,所述装置包括:构建字典模块:配置为对用户人群行为数据进行分析,分类别构建本地化域名字典;所述本地化域名字典,是对某地区本地化域名的提炼整理,完成该地区的本地化域名的整合,即构成一个能代表该地区的本地化域名字典;
权威TTL获取模块:配置为针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;其中,为了得到某域名的权威TTL,通过向公共的域名系统请求该域名的权威域名服务器的域名,然后向公共的域名系统请求解析待解析记录得到权威域名服务器的IP,再向权威域名服务器请求该域名的解析,得到该域名的权威TTL值;
嗅探模块:配置为基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;
过滤模块:配置为测量缓存域名系统的背景噪声,并过滤所述背景噪声;
判断模块:配置为基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;其中,通过分析历史嗅探结果,统计各个缓存域名系统服务器的缓存中没有缓存记录的域名的TTL值与域名权威TTL值的差值,对统计的结果取平均值,该平均值即为预设容忍度Δt;
服务范围确定模块:配置为对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围,其中:经过前期探测得到本地化域名在缓存域名系统中非正常请求的背景噪声,进行若干次探测,将探测得到的背景噪声取平均值,得到的数值作为预设统计阈值;向待确定缓存域名系统服务范围的域名服务器发送若干个嗅探请求,获取所述缓存域名服务器对某地区对应的本地化域名字典的解析命中率,计算命中率的方法为嗅探命中次数与总嗅探次数的比值,即:
其中,hit_rate为命中率,n本地域名字典域名数量,m为缓存嗅探的次数,hit_counti为第i个域名的嗅探命中次数,1≤i≤n;将该解析命中率 与所述预设统计阈值比较,如果命中率小于所述预设统计阈值,则确定出该缓存域名服务器不为该地区提供服务;如果命中率大于或等于所述预设统计阈值,则判断该缓存域名服务器为该地区提供服务。
5.如权利要求4所述的缓存域名系统服务范围分析装置,其特征在于,所述嗅探模块,其中:当前嗅探时刻为T,则在当前探测后,对于域名Di,假定缓存域名系统返回的应答记录的TTL为 域名Di的权威TTL为 则其下一次最佳的嗅探时机T’为:
6.如权利要求5所述的缓存域名系统服务范围分析装置,其特征在于,所述嗅探模块,包括:
初始化子模块:配置为设置本地化域名字典中的各个域名的嗅探次数;第一次嗅探时对本地化域名字典中的所有域名都发起嗅探,在时间轮盘上记录下每个域名第一次被嗅探的时间last_time;将全部域名均作为待处理域名;
缓存嗅探子模块:配置为对缓存DNS进行嗅探,得到域名的缓存TTL;
第一处理子模块:配置为对每个待处理域名,均执行以下操作:将从缓存域名服务器中得到的域名缓存TTL与该域名上一次在时间轮盘上的时间进行求和,得到该域名下一次在时间轮盘上允许被嗅探的最小时间min_time;再将该域名下一次在时间轮盘上允许被嗅探的最小时间加上该域名的权威TTL值,得到该域名下一次在时间轮盘上允许被嗅探的最大时间max_time;
第一判断子模块:配置为若时间轮盘上已经没有待处理域名,则完成所有嗅探任务;
嗅探次数更新子模块:配置为对每个待处理域名,均执行以下操作:在每次嗅探完成后,计算该域名的剩余嗅探次数,如果该域名的剩余嗅探次数已经为0,则在时间轮盘中不加入该域名的任务,该域名不再作为待处理域名;如果剩余嗅探次数大于0,将该域名作为待处理域名;
待处理域名获取子模块:配置为获取全部待处理域名。
7.一种缓存域名系统服务范围分析系统,其特征在于,包括:处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如权利要求
1‑3之任一项所述的缓存域名系统服务范围分析方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如权利要求1‑3之任一项所述的缓存域名系统服务范围分析方法。
说明书 :
一种缓存域名系统服务范围分析方法及装置
技术领域
背景技术
来,是当前互联网的重要基础部分。缓存域名系统是指对用户提供递归查询服务且实现缓
存机制的域名系统。这类域名系统在域名解析过程中会将解析得到的资源记录保存在自身
缓存中,采用基于TTL的缓存机制。资源记录中的TTL是指指生存时间,表示解析记录在域名
服务器中的缓存时间,TTL的时间长度单位是秒。
域名系统建设,促进域名系统安全。因此,研究域名系统服务范围在此类系统中具有十分重
要的作用。当前,国内外对于域名系统的研究主要在集中在域名服务器性能和安全的测量
与分析等方面。对于研究如何高效精准确定域名系统服务范围还没有系统的研究成果。
域名系统服务范围存在诸多问题。首先,域名系统所在地理位置并不代表域名系统服务范
围只限于该地理位置所属范围。其次,现在广泛使用的基于推测与基于时延的IP定位算法
都不能精确获得IP地址所在位置。再次,由于IP地址所在的地理位置处于动态变化过程中,
虽然可以对IP地址进行大致定位,但是由于更新不及时或标注错误导致定位位置不准确是
普遍现象。
发明内容
方法。
存域名服务器中的缓存TTL值的方式,实现了缓存域名系统服务范围分析与确定。给定一个
缓存域名系统服务器IP地址,确定这个缓存域名系统服务器为哪些区域提供服务。实现如
下效果:(1)利用所述方法可以实现域名权威解析记录获取;(2)利用所述方法可以实现对
缓存域名系统服务器解析记录嗅探;(3)利用所述方法可以实现对缓存域名记录格式化分
析、存储、使用;(4)利用所述方法可以筛选出遵循TTL机制的缓存域名系统服务器;(5)利用
所述方法可以实现本地化域名字典库构建;(6)利用所述方法可以实现网络中域名系统非
正常请求解析背景噪声测量。(7)利用所述方法可以实现遵循TTL机制的缓存域名系统服务
器服务范围分析。
附图说明
具体实施方式
部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做
出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
化域名进行整理,形成与区域对应的本地化域名的整合,即构成代表该区域的本地化域名
字典。
性。普通用户人群在访问互联网中的域名时除了会访问一些大网站以外,还会访问本地区
的特有的一些网站,如本地区的小学、小型医院、本地的论坛等。但是这个地区的小学、小型
医院、本地论坛等网站域名在合格区域以外的人群是很少或基本不会有人来访问的。可以
根据这样的一种用户人去日常使用网络时所访问域名的特点与一般规律,将域名分为本地
化域名和非本地化域名。本地化域名指在日常运行中,访问他的对象基本都是这个区域本
地人群,很少或基本不可能有这个区域以外的人群来访问的域名。
医疗类的当地小型医院、卫生所,社区类的本地论坛,服务类的本地驾校的域名等。通过对
与该地区本地化域名的提炼整理,完成一个地区的本地化域名的整合,构成一个能代表一
个地区的本地化域名字典。按照此方法收集各个地区的本地化域名字典,构成一个能够识
别各个地区的本地化域名字典库。
名的权威记录,然后将该域名的权威记录存放在自身缓存中,并将结果返还给用户;
请求该域名的权威域名服务器的域名,然后向公共的域名系统请求解析待解析记录得到权
威域名服务器的IP,再向权威域名服务器请求该域名的解析,得到该域名的权威TTL值。
的探测解析记录所湮没。如果间隔时间过长,可能导致用户通过该缓存域名服务器请求的
解析记录过期而没有被探测到。但是本地化域名字典中的每个域名都拥有独立的域名解析
记录,导致每个域名的解析记录在缓存域名服务器中的缓存时间都可能不同。采用时间轮
盘算法与前一次在缓存域名服务器中嗅探到的TTL值结合的思想,就可以精确控制每次嗅
探缓存域名服务器的时间,既能保证用户的解析记录被嗅探到又能尽量少的被嗅探请求湮
没,同时在探测实现上可以避免繁琐的多线程实现。图3为时间轮与权威TTL结合的缓存域
名服务器嗅探原理。
秒,每一轮表示1小时。每一份时间窗格维护一个任务列表,表明当前时刻需要执行的任务,
当前任务执行完之后,根据任务执行时间间隔,即可计算任务下次执行的时刻,将任务添加
到对应时刻的任务列表中。
问记录,造成时间窗口浪费。
last_time;将全部域名均作为待处理域名;
盘上允许被嗅探的最小时间min_time;再将该域名下一次在时间轮盘上允许被嗅探的最小
时间加上该域名的权威TTL值,得到该域名下一次在时间轮盘上允许被嗅探的最大时间
max_time;
务,该域名不再作为待处理域名;如果剩余嗅探次数大于0,将该域名作为待处理域名;
可支配探测时间t。
这样的缓存域名服务器用一定不在该缓存域名服务器服务范围地区的本地化域名字典来
发起主动解析请求,这样的请求对于该缓存域名服务器来说可以认为是异常的,因为在正
常情况是不会有这样的域名来向该缓存域名服务器请求解析的。通过发起这样的探测,从
理论上得到的结果应该是该缓存域名服务器里都没有这个地区本地化域名的解析记录。如
果在主动测量中发现该缓存域名服务器中有这个地区本地化域名的解析记录,则判定这样
的解析记录是其他异常请求带来的干扰噪声。通过使用此方法用不同地区的本地化域名字
典进行多次探测,即可测量出缓存域名系统背景噪声的大小。
服务器服务范围地区的本地化域名字典来测量,得到在这样情况下本地化域名字典中域名
被解析频率。按照此方法进行测量,将每次测量得到的解析频率经过统计分析即可得到缓
存域名系统背景噪声。
由于网络时延等原因导致部分缓存域名服务器实际上并没有给用户提供过解析,即缓存域
名服务器的缓存记录里并没有该域名解析记录,但实际探测得到的缓存TTL也比权威TTL略
小。因此,不能简单地认为:若缓存TTL<权威TTL,则必然为命中。在判断缓存域名系统的缓
存中是否拥有域名缓存解析记录时应该采用具有一定容忍度的判断方法。
预设容忍度 。
域名的解析记录不存在缓存域名系统的缓存记录中,记为未命中。
域名系统服务范围的域名服务器发送若干个嗅探请求,获取所述缓存域名服务器对某地区
对应的本地化域名字典的解析命中率,计算命中率的方法为嗅探命中次数与总嗅探次数的
比值,即:
果命中率小于所述预设统计阈值,则确定出该缓存域名服务器不为该地区提供服务;如果
命中率大于或等于所述预设统计阈值,则判断该缓存域名服务器为该地区提供服务。
法。
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组
件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示
或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接
耦合或通信连接,可以是电性,机械或其它的形式。
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
装置(可以是个人计算机,实体机服务器,或者网络云服务器等,需安装Windows或者
Windows Server操作系统)执行本发明各个实施例所述方法的部分步骤。而前述的存储介
质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random
Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
明技术方案的范围内。