首页> 中国专利> 一种缓存域名系统服务范围分析方法及装置

一种缓存域名系统服务范围分析方法及装置

摘要

本发明提供一种缓存域名系统服务范围分析方法及装置,所述方法包括:对用户人群行为数据进行分析,分类别构建本地化域名字典;解析获取到的域名记录,获取权威TTL;基于时间轮盘算法嗅探缓存域名服务器;测量缓存域名系统的背景噪声,并过滤所述背景噪声;基于预设的容忍度,判断所述缓存域名系统返回结果是否为已有的缓存记录;对于通过判断的全部域名缓存解析记录,基于预设统计阈值,确定所述缓存域名系统的服务范围。根据本发明的方法,实现对缓存域名系统解析记录嗅探;实现对域名解析记录格式化分析、存储、使用,能够分析缓存域名系统的服务范围。

著录项

  • 公开/公告号CN113286016A

    专利类型发明专利

  • 公开/公告日2021-08-20

    原文格式PDF

  • 申请/专利权人 中国人民解放军国防科技大学;

    申请/专利号CN202110815966.0

  • 申请日2021-07-20

  • 分类号H04L29/12(20060101);H04L12/26(20060101);

  • 代理机构11215 中国和平利用军工技术协会专利中心;

  • 代理人刘光德

  • 地址 410073 湖南省长沙市开福区德雅路109号

  • 入库时间 2023-06-19 12:16:29

说明书

技术领域

本发明涉及域名系统测量领域,尤其涉及一种缓存域名系统服务范围分析方法与装置。

背景技术

域名系统(Domain Name System,DNS)作为全球最大的分布式数据库系统之一,通过向用户提供域名与网络IP地址之间的转换服务,将用户与互联网路由基础架构联系起来,是当前互联网的重要基础部分。缓存域名系统是指对用户提供递归查询服务且实现缓存机制的域名系统。这类域名系统在域名解析过程中会将解析得到的资源记录保存在自身缓存中,采用基于TTL的缓存机制。资源记录中的TTL是指指生存时间,表示解析记录在域名服务器中的缓存时间,TTL的时间长度单位是秒。

掌握域名系统服务范围有助于优化缓存域名系统部署,降低解析延迟,提高用户解析体验;有助于分析缓存域名系统故障或失效造成的影响范围;有助于帮助管理员完成域名系统建设,促进域名系统安全。因此,研究域名系统服务范围在此类系统中具有十分重要的作用。当前,国内外对于域名系统的研究主要在集中在域名服务器性能和安全的测量与分析等方面。对于研究如何高效精准确定域名系统服务范围还没有系统的研究成果。

目前确定域名系统服务范围的方式主要是通过域名系统IP地址定位的方法得到域名服务器所在地理位置来推测域名系统服务范围。但是,采用IP地址定位的方法来推测域名系统服务范围存在诸多问题。首先,域名系统所在地理位置并不代表域名系统服务范围只限于该地理位置所属范围。其次,现在广泛使用的基于推测与基于时延的IP定位算法都不能精确获得IP地址所在位置。再次,由于IP地址所在的地理位置处于动态变化过程中,虽然可以对IP地址进行大致定位,但是由于更新不及时或标注错误导致定位位置不准确是普遍现象。

发明内容

为解决上述技术问题,本发明提出了一种缓存域名系统服务范围分析方法与装置,能够不依赖于IP地址定位对域名系统进行服务范围分析。

根据本发明的第一方面,提供一种缓存域名系统服务范围分析方法,所述方法包括以下步骤:

步骤S101:对用户人群行为数据进行分析,分类别构建本地化域名字典;

步骤S102:针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;

步骤S103:基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;

步骤S104:测量缓存域名系统的背景噪声,并过滤所述背景噪声;

步骤S105:基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;

步骤S106:对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围。

根据本发明第二方面,提供一种缓存域名系统服务范围分析装置,所述装置包括:

构建字典模块:配置为对用户人群行为数据进行分析,分类别构建本地化域名字典;

权威TTL获取模块:配置为针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;

嗅探模块:配置为基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;

过滤模块:配置为测量缓存域名系统的背景噪声,并过滤所述背景噪声;

判断模块:配置为基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;

服务范围确定模块:配置为对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围围。

根据本发明第三方面,提供一种缓存域名系统服务范围分析系统,包括:

处理器,用于执行多条指令;

存储器,用于存储多条指令;

其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的缓存域名系统服务范围分析方法。

根据本发明第四方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的缓存域名系统服务范围分析方法。

根据本发明的上述方案,解决现有技术对域名系统服务范围分析不准确和不科学的问题。本发明所述方法通过构建本地化域名字典,采用主动测量获得域名权威TTL值与缓存域名服务器中的缓存TTL值的方式,实现了缓存域名系统服务范围分析与确定。给定一个缓存域名系统服务器IP地址,确定这个缓存域名系统服务器为哪些区域提供服务。实现如下效果:(1)利用所述方法可以实现域名权威解析记录获取;(2)利用所述方法可以实现对缓存域名系统服务器解析记录嗅探;(3)利用所述方法可以实现对缓存域名记录格式化分析、存储、使用;(4)利用所述方法可以筛选出遵循TTL机制的缓存域名系统服务器;(5)利用所述方法可以实现本地化域名字典库构建;(6)利用所述方法可以实现网络中域名系统非正常请求解析背景噪声测量。(7)利用所述方法可以实现遵循TTL机制的缓存域名系统服务器服务范围分析。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明提供如下附图进行说明。在附图中:

图1为本发明一个实施方式的缓存域名系统服务范围分析方法流程图;

图2为本发明一个实施方式的获取权威TTL的流程图;

图3为本发明一个实施方式的基于时间轮与域名记录TTL值的缓存域名服务器嗅探原理示意图;

图4为本发明一个实施方式的基于时间轮与域名记录TTL值的缓存域名服务器嗅探方法流程图;

图5为本发明一个实施方式的对域名缓存解析记录进行判断的方法流程图;

图6为本发明一个实施方式的基于统计阈值的缓存域名系统提供服务的判断方法流程图;

图7为本发明一个实施方式的缓存域名系统服务范围分析装置结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

首先结合图1说明为本发明一个实施方式的缓存域名系统服务范围分析方法。所述方法包括以下步骤:

步骤S101:对用户人群行为数据进行分析,分类别构建本地化域名字典;

步骤S102:针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;

步骤S103:基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;

步骤S104:测量缓存域名系统的背景噪声,并过滤所述背景噪声;

步骤S105:基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;

步骤S106:对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围。

所述步骤S101:对用户人群行为数据进行分析,分类别构建本地化域名字典,其中:

用户在访问域名时具有地域特征,将域名分为本地化域名和非本地化域名,本地化域名是指访问该域名的都是该域名对应的区域的本地人群;将通过数据分析得到的本地化域名进行整理,形成与区域对应的本地化域名的整合,即构成代表该区域的本地化域名字典。

本实施例中,通过跟踪调查普通用户群体日常使用网络所访问的域名,对调查数据格式化处理后进行对用户行为分析,可以判断普通用户在访问域名时具有很强的地域特性。普通用户人群在访问互联网中的域名时除了会访问一些大网站以外,还会访问本地区的特有的一些网站,如本地区的小学、小型医院、本地的论坛等。但是这个地区的小学、小型医院、本地论坛等网站域名在合格区域以外的人群是很少或基本不会有人来访问的。可以根据这样的一种用户人去日常使用网络时所访问域名的特点与一般规律,将域名分为本地化域名和非本地化域名。本地化域名指在日常运行中,访问他的对象基本都是这个区域本地人群,很少或基本不可能有这个区域以外的人群来访问的域名。

本地化域名的搜集方法可以现将日常访问的域名分为教育、医疗、社区、服务等类别,然后再从这些类别中找出本地化的域名,如教育类的当地小学、幼儿园、小型培训机构,医疗类的当地小型医院、卫生所,社区类的本地论坛,服务类的本地驾校的域名等。通过对与该地区本地化域名的提炼整理,完成一个地区的本地化域名的整合,构成一个能代表一个地区的本地化域名字典。按照此方法收集各个地区的本地化域名字典,构成一个能够识别各个地区的本地化域名字典库。

所述步骤S102:针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL,其中:

如图2所示,获取域名记录,在域名解析过程中,缓存域名系统的缓存记录中如果没有待解析域名的解析记录,缓存域名系统首先向该域名的权威域名服务器请求得到该域名的权威记录,然后将该域名的权威记录存放在自身缓存中,并将结果返还给用户;

在探测过程中,需要得到每个域名的权威TTL为后期判断该域名记录是否已经在缓存域名系统的缓存中确定一个标准。为了得到某域名的权威TTL,通过向公共的域名系统请求该域名的权威域名服务器的域名,然后向公共的域名系统请求解析待解析记录得到权威域名服务器的IP,再向权威域名服务器请求该域名的解析,得到该域名的权威TTL值。

所述步骤S103:基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录,其中:

对缓存域名服务器进行嗅探时,要注意每次嗅探的时间间隔。如果时间间隔过短则留给用户的访问的窗口时间过短,导致用户通过该缓存域名服务器请求的解析记录被我的探测解析记录所湮没。如果间隔时间过长,可能导致用户通过该缓存域名服务器请求的解析记录过期而没有被探测到。但是本地化域名字典中的每个域名都拥有独立的域名解析记录,导致每个域名的解析记录在缓存域名服务器中的缓存时间都可能不同。采用时间轮盘算法与前一次在缓存域名服务器中嗅探到的TTL值结合的思想,就可以精确控制每次嗅探缓存域名服务器的时间,既能保证用户的解析记录被嗅探到又能尽量少的被嗅探请求湮没,同时在探测实现上可以避免繁琐的多线程实现。图3为时间轮与权威TTL结合的缓存域名服务器嗅探原理。

时间轮盘算法(time wheel),又称时间轮算法,是一种定时器算法。

本实施例中,需要嗅探本地化域名列表在不同缓存域名系统中的应答记录,是一个典型的定时任务问题。采用时间轮盘的思想,将一个时间轮盘设置为3600份,每份代表1秒,每一轮表示1小时。每一份时间窗格维护一个任务列表,表明当前时刻需要执行的任务,当前任务执行完之后,根据任务执行时间间隔,即可计算任务下次执行的时刻,将任务添加到对应时刻的任务列表中。

假定当前嗅探时刻为

若早于

嗅探缓存域名服务器的方式如图4所示,包括:

步骤S1031:设置本地化域名字典中的各个域名的嗅探次数;第一次嗅探时对本地化域名字典中的所有域名都发起嗅探,在时间轮盘上记录下每个域名第一次被嗅探的时间last_time;将全部域名均作为待处理域名;

步骤S1032:对缓存DNS进行嗅探,得到域名的缓存TTL;

步骤S1033:对每个待处理域名,均执行以下操作:将从缓存域名服务器中得到的域名缓存TTL与该域名上一次在时间轮盘上的时间进行求和,得到该域名下一次在时间轮盘上允许被嗅探的最小时间min_time;再将该域名下一次在时间轮盘上允许被嗅探的最小时间加上该域名的权威TTL值,得到该域名下一次在时间轮盘上允许被嗅探的最大时间max_time;

步骤S1034:若时间轮盘上已经没有待处理域名,则完成所有嗅探任务,方法结束;否则,进入步骤S1035;

步骤S1035:对每个待处理域名,均执行以下操作:在每次嗅探完成后,计算该域名的剩余嗅探次数,如果该域名的剩余嗅探次数已经为0,则在时间轮盘中不加入该域名的任务,该域名不再作为待处理域名;如果剩余嗅探次数大于0,将该域名作为待处理域名;

步骤S1036:获取全部待处理域名,进入步骤S1033。

在理论上启动探测的时间越逼近max_time越能保证用户的解析记录被嗅探到又能尽量少的被嗅探请求湮没,但是在实际中由于探测时延等影响,还需要留给探测器一个可支配探测时间t。

进一步地,用max_time-t即可得出该域名在时间轮盘上下一次被探测的时间。

所述步骤S104:测量缓存域名系统的背景噪声,并过滤所述背景噪声,其中:

在实际网络中,由于各种黑盒因素导致对缓存域名系统的测量中存在很多干扰噪声。为了探测出背景噪声大小,可以通过使用一些已知大致服务范围的缓存域名服务器,向这样的缓存域名服务器用一定不在该缓存域名服务器服务范围地区的本地化域名字典来发起主动解析请求,这样的请求对于该缓存域名服务器来说可以认为是异常的,因为在正常情况是不会有这样的域名来向该缓存域名服务器请求解析的。通过发起这样的探测,从理论上得到的结果应该是该缓存域名服务器里都没有这个地区本地化域名的解析记录。如果在主动测量中发现该缓存域名服务器中有这个地区本地化域名的解析记录,则判定这样的解析记录是其他异常请求带来的干扰噪声。通过使用此方法用不同地区的本地化域名字典进行多次探测,即可测量出缓存域名系统背景噪声的大小。

在实际网络中,由于各种黑盒因素导致对域名系统的测量中存在很多干扰噪声。通过用若干已知服务范围的缓存域名服务器,向缓存域名服务器使用一定不在该缓存域名服务器服务范围地区的本地化域名字典来测量,得到在这样情况下本地化域名字典中域名被解析频率。按照此方法进行测量,将每次测量得到的解析频率经过统计分析即可得到缓存域名系统背景噪声。

所述步骤S105:基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断,如图5所示,其中:

通过从缓存域名系统嗅探得到的数据,如果嗅探时发现缓存域名系统为用户提供过本地化域名字典中的域名解析,即缓存TTL<权威TTL,称为命中。但是在实际测量过程中,由于网络时延等原因导致部分缓存域名服务器实际上并没有给用户提供过解析,即缓存域名服务器的缓存记录里并没有该域名解析记录,但实际探测得到的缓存TTL也比权威TTL略小。因此,不能简单地认为:若缓存TTL<权威TTL,则必然为命中。在判断缓存域名系统的缓存中是否拥有域名缓存解析记录时应该采用具有一定容忍度的判断方法。

本实施例中,通过历史的嗅探结果,统计各个缓存域名系统服务器的缓存中没有缓存记录的域名的TTL值与域名权威TTL值的差值,对统计的结果取平均值,该平均值即为预设容忍度

在添加了容忍度

在实际测量中,通过提前对大量缓存域名服务器进行测量,得到由于延迟造成的缓存TTL比真实缓存中的TTL小的偏差平均值为2秒以内,因此可以将容忍度

所述步骤S106:对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围,如图6所示,其中:

经过前期探测得到本地化域名在缓存域名系统中非正常请求的背景噪声,进行若干次探测,将探测得到的背景噪声取平均值,得到的数值作为预设统计阈值;向待确定缓存域名系统服务范围的域名服务器发送若干个嗅探请求,获取所述缓存域名服务器对某地区对应的本地化域名字典的解析命中率,计算命中率的方法为嗅探命中次数与总嗅探次数的比值,即:

其中,

本发明实施例进一步给出一种缓存域名系统服务范围分析装置,如图7所示,所述装置包括:

构建字典模块:配置为对用户人群行为数据进行分析,分类别构建本地化域名字典;

权威TTL获取模块:配置为针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;

嗅探模块:配置为基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;

过滤模块:配置为测量缓存域名系统的背景噪声,并过滤所述背景噪声;

判断模块:配置为基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;

服务范围确定模块:配置为对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围。

本发明实施例进一步给出一种缓存域名系统服务范围分析系统,包括:

处理器,用于执行多条指令;

存储器,用于存储多条指令;

其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的缓存域名系统服务范围分析方法。

本发明实施例进一步给出一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的缓存域名系统服务范围分析方法。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,实体机服务器,或者网络云服务器等,需安装Windows或者Windows Server操作系统)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号