DNS缓存的解析加速方法及解析加速装置与流程

文档序号:16314601发布日期:2018-12-19 05:25阅读:1578来源:国知局
DNS缓存的解析加速方法及解析加速装置与流程

本发明涉及互联网技术领域,具体而言,涉及一种dns缓存的解析加速方法和一种dns缓存的解析加速装置。

背景技术

目前,dns服务作为互联网上的一个基础的服务,在我国多运营商,多cdn的模式下,显得更为重要。目前主流的dns服务主要是软件实现,包括isc的bind软件和windowsserver带的dns服务器软件,但这两个软件都相对比较简单,比较适合做授权域的解析,对于非授权域,cache的优化、加速、动态解析方面,显得尤为不足。



技术实现要素:

本发明正是基于上述技术问题至少之一,提出了一种新的dns缓存的解析加速方案,大幅提升了dns解析的速度,扩展dns解析的功能,弥补了传统dns服务器软件的不足。

有鉴于此,根据本发明提出了一种dns缓存的解析加速方法,适用于嵌入式linux系统,包括:在接收到dns报文时,判断所述dns报文是否存在需要进行缓存加速的域名;在确定所述dns报文存在需要进行缓存加速的域名时,控制内核态的dns缓存服务器对dns缓存进行解析;在确定所述dns报文不存在需要进行缓存加速的域名时,控制内核态的dns缓存服务器对dns缓存进行解析,控制bind服务器对dns缓存进行解析。

在该技术方案中,在内核态收到一手报文后,先进行判断分析,对于需要进行缓存加速的域名,直接交给内核态的dns缓存服务器进行处理,而不需要进行cache加速的域名,依然可以交给传统的bind服务器进行处理,保持能兼容bind这一互联网标准dns系统,另外对于内核态直接处理的缓存域名,由于在内存中已经缓存过了,并且不经过整个os的协议栈,所以处理效率大幅提升,其可以具备处理百万级的qps的dns请求,而传统的bind只能处理数万左右的qps请求,相对大幅提升了dns解析的速度,扩展dns解析的功能,弥补了传统dns服务器软件的不足。

在上述技术方案中,优选地,在所述判断所述dns报文是否存在需要进行缓存加速的域名的步骤之前,还包括:预先向内核内存中存储域名与ip地址之间的对应关系。

在上述任一项技术方案中,优选地,还包括:统计内核内存中存储所述域名与ip地址之间的对应关系的时长;将存储时间达到预定时长、且无活动报文的域名与ip地址之间的对应关系进行清理。

根据本发明的第二方面,提出了一种dns缓存的解析加速装置,适用于嵌入式linux系统,包括:判断单元,用于在接收到dns报文时,判断所述dns报文是否存在需要进行缓存加速的域名;第一处理单元,用于在确定所述dns报文存在需要进行缓存加速的域名时,控制内核态的dns缓存服务器对dns缓存进行解析;第二处理单元,用于在确定所述dns报文不存在需要进行缓存加速的域名时,控制内核态的dns缓存服务器对dns缓存进行解析,控制bind服务器对dns缓存进行解析。

在该技术方案中,在内核态收到一手报文后,先进行判断分析,对于需要进行缓存加速的域名,直接交给内核态的dns缓存服务器进行处理,而不需要进行cache加速的域名,依然可以交给传统的bind服务器进行处理,保持能兼容bind这一互联网标准dns系统,另外对于内核态直接处理的缓存域名,由于在内存中已经缓存过了,并且不经过整个os的协议栈,所以处理效率大幅提升,其可以具备处理百万级的qps的dns请求,而传统的bind只能处理数万左右的qps请求,相对大幅提升了dns解析的速度,扩展dns解析的功能,弥补了传统dns服务器软件的不足。

在上述技术方案中,优选地,还包括:存储单元,用于预先向内核内存中存储域名与ip地址之间的对应关系。

在上述任一项技术方案中,优选地,还包括:统计单元,用于统计内核内存中存储所述域名与ip地址之间的对应关系的时长;清理单元,用于将存储时间达到预定时长、且无活动报文的域名与ip地址之间的对应关系进行清理。

通过以上技术方案,大幅提升了dns解析的速度,扩展dns解析的功能,弥补了传统dns服务器软件的不足。

附图说明

图1示出了根据本发明的实施例的dns缓存的解析加速方法的流程示意图;

图2示出了根据本发明的实施例的dns缓存的解析加速装置的示意框图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附

是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

图1示出了根据本发明的实施例的dns缓存的解析加速方法的流程示意图。

如图1所示,根据本发明的实施例的dns缓存的解析加速方法,适用于嵌入式linux系统,包括以下步骤:

步骤102,在接收到dns报文时,判断所述dns报文是否存在需要进行缓存加速的域名。

步骤104,在确定所述dns报文存在需要进行缓存加速的域名时,控制内核态的dns缓存服务器对dns缓存进行解析。

步骤106,在确定所述dns报文不存在需要进行缓存加速的域名时,控制内核态的dns缓存服务器对dns缓存进行解析,控制bind服务器对dns缓存进行解析。

进一步地,在所述步骤102之前,还包括:预先向内核内存中存储域名与ip地址之间的对应关系。

进一步地,还包括:统计内核内存中存储所述域名与ip地址之间的对应关系的时长;将存储时间达到预定时长、且无活动报文的域名与ip地址之间的对应关系进行清理。

在该技术方案中,在内核态收到一手报文后,先进行判断分析,对于需要进行缓存加速的域名,直接交给内核态的dns缓存服务器进行处理,而不需要进行cache加速的域名,依然可以交给传统的bind服务器进行处理,保持能兼容bind这一互联网标准dns系统,另外对于内核态直接处理的缓存域名,由于在内存中已经缓存过了,并且不经过整个os的协议栈,所以处理效率大幅提升,其可以具备处理百万级的qps的dns请求,而传统的bind只能处理数万左右的qps请求,相对大幅提升了dns解析的速度,扩展dns解析的功能,弥补了传统dns服务器软件的不足。

图2示出了根据本发明的实施例的dns缓存的解析加速装置的示意框图。

如图2所示,根据本发明的实施例的dns缓存的解析加速装置200,适用于嵌入式linux系统,包括:判断单元202、第一处理单元204和第二处理单元206、统计单元208和清理单元210。

其中,判断单元202用于在接收到dns报文时,判断所述dns报文是否存在需要进行缓存加速的域名;第一处理单元204用于在确定所述dns报文存在需要进行缓存加速的域名时,控制内核态的dns缓存服务器对dns缓存进行解析;第二处理单元206用于在确定所述dns报文不存在需要进行缓存加速的域名时,控制内核态的dns缓存服务器对dns缓存进行解析,控制bind服务器对dns缓存进行解析。

在该技术方案中,在内核态收到一手报文后,先进行判断分析,对于需要进行缓存加速的域名,直接交给内核态的dns缓存服务器进行处理,而不需要进行cache加速的域名,依然可以交给传统的bind服务器进行处理,保持能兼容bind这一互联网标准dns系统,另外对于内核态直接处理的缓存域名,由于在内存中已经缓存过了,并且不经过整个os的协议栈,所以处理效率大幅提升,其可以具备处理百万级的qps的dns请求,而传统的bind只能处理数万左右的qps请求,相对大幅提升了dns解析的速度,扩展dns解析的功能,弥补了传统dns服务器软件的不足。

在上述技术方案中,优选地,还包括:存储单元,用于预先向内核内存中存储域名与ip地址之间的对应关系。

进一步地,还包括:统计单元208,用于统计内核内存中存储所述域名与ip地址之间的对应关系的时长;清理单元210,用于将存储时间达到预定时长、且无活动报文的域名与ip地址之间的对应关系进行清理。

以上结合附图详细说明了本发明的技术方案,本发明的技术方案提出了一种新的dns缓存的解析加速方案,大幅提升了dns解析的速度,扩展dns解析的功能,弥补了传统dns服务器软件的不足。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于

本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1