信息处理方法及DNS缓存服务器技术

技术编号:12063073 阅读:66 留言:0更新日期:2015-09-17 14:05
本发明专利技术公开一种信息处理方法,包括:在内核层截取DNS请求报文,对DNS请求报文进行解析;在内核层查询第一缓存空间,在查询到有效应答记录的情况下,将有效应答记录发送至用户设备,否则向用户层发送DNS请求报文;在用户层接收内核层发送的DNS请求报文,向递归服务器发送DNS请求报文,接收响应结果;在用户层查询第二缓存空间,获取与域名和IP地址匹配的智能策略,利用智能策略对响应结果进行处理,将处理后的响应结果发送至内核层;在内核层将接收到的响应结果发送至用户设备,将接收到的响应结果存储至第一缓存空间。本发明专利技术公开的信息处理方法,使得DNS缓存服务器具有较佳的处理性能,同时能够支持多样智能策略。本发明专利技术还公开了DNS缓存服务器。

【技术实现步骤摘要】

本专利技术属于域名解析
,尤其涉及信息处理方法及DNS (域名系统)缓存服务器。
技术介绍
DNS提供的服务是将域名转换为IP地址,从而使得用户能够通过域名去访问互联网,而不用记住IP地址。通过对域名进行解析最终得到与该域名对应的IP地址的过程叫做域名解析。目前出现了智能DNS服务,当用户请求进行域名解析时,能够根据用户的来源对该域名所对应的多个IP地址进行处理,将最适用于该用户的IP地址优先返回给用户,而不是不加选择的将IP地址返回给用户。例如:某一企业在移动网络、电信网络和联通网络都建有站点,当电信用户访问该企业网址时,优先将电信网络中企业站点的IP地址返回给用户,当联通用户访问该企业网址时,优先将联通网络中企业站点的IP地址返回给用户。现在的智能DNS服务主要有以下两种方式:一是在操作系统的用户层(指的是会话层、表示层和应用层)构建DNS缓存服务器,二是在操作系统的内核层(指的是物理层、数据链路层和网络层)构建DNS缓存服务器。DNS缓存服务器在获取到DNS请求报文后,如果内部缓存有相应的应答记录,则将该应答记录返回给用户,如果内部未存储相应的应答记录,则向递归服务器发送DNS请求报文,之后利用智能策略对递归服务器返回的IP地址进行处理后返回给用户。但是,上述两种DNS服务器存在缺陷:在用户层构建的DNS缓存服务器能够支持较多的智能策略,但其处理性能较低,一般只能支持十万左右的OPS (每秒查询率);在内核层构建的DNS缓存服务器处理性能较高,但其只能支持简单的智能策略,局限性较大。因此,如何解决现有的DNS缓存服务器无法兼顾处理性能和支持多样智能策略的问题,是本领域技术人员亟待解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种信息处理方法及DNS缓存服务器,具有较佳的处理性能,同时能够支持多样智能策略。为实现上述目的,本专利技术提供如下技术方案:一种信息处理方法,应用于域名系统DNS缓存服务器,所述方法包括:在内核层截取DNS请求报文,对所述DNS请求报文进行解析,获得所述DNS请求报文携带的待解析的域名、记录类型和用户设备的IP地址;在内核层根据所述域名、记录类型和用户设备的IP地址查询第一缓存空间,在查询到与所述域名、记录类型和所述用户设备的IP地址匹配的有效应答记录的情况下,将所述有效应答记录发送至所述用户设备,在未查询到与所述域名、记录类型和所述用户设备的IP地址匹配的有效应答记录的情况下,向用户层发送所述DNS请求报文;在用户层接收内核层发送的DNS请求报文,向递归服务器发送所述DNS请求报文,接收所述递归服务器返回的响应结果;在用户层根据所述域名和所述用户设备的IP地址查询第二缓存空间,获取与所述域名和所述用户设备的IP地址匹配的智能策略,利用所述智能策略对所述响应结果进行处理,将处理后的响应结果发送至内核层,所述处理后的响应结果包括用户设备的IP地址、域名、记录类型和应答记录;在内核层将接收到的响应结果发送至所述用户设备,将接收到的响应结果存储至所述第一缓存空间。优选的,上述信息处理方法中,所述第一缓存空间以两层哈希表结构存储应答记录,其中,第一层哈希表的关键字为集合标识、数据为第二层哈希表的存储地址,第二层哈希表的关键字为域名和记录类型、数据为应答记录;在内核层根据所述域名、记录类型和用户设备的IP地址查询第一缓存空间,包括:确定所述用户设备的IP地址所属的第一集合;利用所述第一集合的标识在第一层哈希表中进行查找,确定目标哈希表的存储地址;利用所述域名和记录类型在所述目标哈希表中进行查找,获得相应的应答记录。优选的,上述信息处理方法中,所述将接收到的响应结果存储至第一缓存空间,包括:对接收到的响应结果进行解析,获得用户设备的IP地址、域名、记录类型和应答记录;确定解析得到的用户设备的IP地址所属的第二集合;利用所述第二集合的标识在第一层哈希表中查找,确定待处理哈希表的存储地址;如果所述待处理哈希表中存在以解析得到的域名和记录类型作为关键字的数据结构,则利用解析得到的应答记录对该数据结构中的数值进行更新;如果所述待处理哈希表中不存在以解析得到的域名和记录类型作为关键字的数据结构,则在所述待处理哈希表中添加以解析得到的域名和记录类型作为关键字、以解析得到的应答记录为数值的数据结构。优选的,上述信息处理方法中,所述第二缓存空间以两层树结构存储智能策略,其中,第一层树的索引为域名后缀、数据为第二层树的存储地址,第二层树的索引为集合标识、数据为智能策略;在用户层根据所述域名和所述用户设备的IP地址查询第二缓存空间,包括:利用所述域名在第一层树中进行查找,确定目标树的存储地址;确定所述用户设备的IP地址所属的第三集合;利用所述第三集合的标识在所述目标树中进行查找,获得相应的智能策略。优选的,上述信息处理方法中,在用户层接收内核层发送的DNS请求报文之后还包括:对所述DNS请求报文进行解析,获得所述DNS请求报文携带的待解析的域名;判断所述待解析的域名是否属于预存的黑名单以及预存的域名强解名单;如果所述待解析的域名属于预存的黑名单,则向内核层发送第一响应信息,在内核层将第一响应信息发送至所述用户设备,如果所述待解析的域名属于预存的域名强解名单,则向内核层发送第二响应信息,在内核层将第二响应信息发送至用户设备,如果所述待解析的域名不属于预存的黑名单和预存的域名强解名单,则向递归服务器发送所述DNS请求报文。本专利技术还公开一种DNS缓存服务器,包括运行在内核层的缓存处理子系统和运行在用户层的智能策略处理子系统;所述缓存处理子系统包括:DNS请求截获模块,用于截取DNS请求报文;DNS请求报文处理模块,用于对所述DNS请求报文进行解析,获得所述DNS请求报文携带的待解析的域名、记录类型和用户设备的IP地址,之后根据所述域名、记录类型和用户设备的IP地址查询第一缓存空间,在查询到与所述域名、记录类型和所述用户设备的IP地址匹配的有效应答记录的情况下,将所述有效应答记录发送至所述用户设备,在未查询到与所述域名、记录类型和所述用户设备的IP地址匹配的有效应答记录的情况下,向所述智能策略处理子单元发送所述DNS请求报文;应答处理模块,用于接收所述智能策略处理子单元发送的响应结果,将接收到的响应结果发送至用户设备,并将接收到的响应结果存储至第一缓存空间;所述智能策略处理子系统包括:DNS请求接收模块,用于接收所述缓存处理子系统发送的DNS请求报文;数据收发模块,用于向递归服务器发送所述DNS请求接收模块接收到的DNS请求报文,接收所述递归服务器返回的响应结果;智能策略处理模块,用于根据所述域名和所述用户设备的IP地址查询第二缓存空间,获取与所述域名和所述用户设备的IP地址匹配的智能策略,利用所述智能策略对所述数据收发模块接收到的响应结果进行处理,将处理后的响应结果发送至所述缓存处理子系统,所述处理后的响应结果包括用户设备的IP地址、域名、记录类型和应答记录。优选的,上述DNS缓存服务器中,所述第一缓存空间以两层哈希表结构存储应答记录,其中,第一层哈希表的关键字为集合标识、数据为第二层哈希表的存储地址,第二层哈希表的关键字为域名和记录类型、数据为应答记录;所述DNS请求报文处理本文档来自技高网
...

【技术保护点】
一种信息处理方法,其特征在于,应用于域名系统DNS缓存服务器,所述方法包括:在内核层截取DNS请求报文,对所述DNS请求报文进行解析,获得所述DNS请求报文携带的待解析的域名、记录类型和用户设备的IP地址;在内核层根据所述域名、记录类型和用户设备的IP地址查询第一缓存空间,在查询到与所述域名、记录类型和所述用户设备的IP地址匹配的有效应答记录的情况下,将所述有效应答记录发送至所述用户设备,在未查询到与所述域名、记录类型和所述用户设备的IP地址匹配的有效应答记录的情况下,向用户层发送所述DNS请求报文;在用户层接收内核层发送的DNS请求报文,向递归服务器发送所述DNS请求报文,接收所述递归服务器返回的响应结果;在用户层根据所述域名和所述用户设备的IP地址查询第二缓存空间,获取与所述域名和所述用户设备的IP地址匹配的智能策略,利用所述智能策略对所述响应结果进行处理,将处理后的响应结果发送至内核层,所述处理后的响应结果包括用户设备的IP地址、域名、记录类型和应答记录;在内核层将接收到的响应结果发送至所述用户设备,将接收到的响应结果存储至所述第一缓存空间。

【技术特征摘要】

【专利技术属性】
技术研发人员:缪治中顾杰黄林赵涛
申请(专利权)人:亚信科技南京有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1