一种多协议主动探测型智能DNS及其方法与流程

文档序号:21272781发布日期:2020-06-26 23:02阅读:443来源:国知局
一种多协议主动探测型智能DNS及其方法与流程

本发明涉及通信技术领域,具体涉及一种多协议主动探测型智能dns及其方法。



背景技术:

互联网发展到目前阶段,cdn(内容缓存服务)的使用已经非常广泛。网址域名使用了cdn服务后,每个域名都会对应很多cdn节点,而cdn服务商不可能做到每次更新cdn服务节点后都及时通知所有dns服务商,这就导致互联网终端设备使用不同dns服务商的dns服务器查询域名得到的cdn节点ip地址不一定相同,这些cdn节点ip地址对互联网终端的响应时间有的快有的慢,这就产生了由于dns服务器查询返回ip地址的不同而访问网站速度不同的问题。

目前大量互联网终端仅支持udp协议53端口的dns服务器提供的域名解析服务,支持tcp、tls、https等新协议的dns服务器的也已经大量出现,传统互联网终端设备无法直接使用这些新型dns也已经成为一个问题。

在拥有多运营商出口的大型多网段网络中,出口路由器、防火墙的流量策略通常会要求不同内部网段优先使用不同的运营商网络,这就要求内部dns服务器可以选择切换上游运营商dns组,从而更高效的配合防火墙和出口设备路由策略使用运营商网络,传统方式是部署多台适配流量策略和运营商网络的dns服务器,这种方式在增加使用成本的同时也增加后期维护成本。



技术实现要素:

针对现有技术的不足,本发明旨在提供一种多协议主动探测型智能dns及其方法,解决最短响应时间cdn节点ip选择,提升传统终端设备对新型dns解析协议兼容性和内网多dns服务器合并。

为了实现上述技术目的,本发明采用如下技术方案:

本发明提供一种多协议主动探测型智能dns,包括:

可自定义智能dns端口:用于对接客户端和多种协议的dns上游服务器,接收客户端的域名查询请求并并行转发至各个dns上游服务器,以及将域名解析结果返回给客户端;所述可自定义智能dns端口可支持的dns上游服务器包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个;可自定义智能dns端口允许自定义可支持的dns上游服务器类型;

响应时间分析模块:用于通过tcp协议主动探测各个dns上游服务器解析得到的每组ip地址的tcp协议80端口和443端口响应时间,从而找出响应时间最短的ip地址作为域名解析结果返回给可自定义智能dns端口,供可自定义智能dns端口返回给客户端。

本发明还提供一种利用上述多协议主动探测型智能dns的方法,包括如下步骤:

s1、完成可自定义智能dns端口的配置,定义可自定义智能dns端口支持的dns上游服务器类型;所述可自定义智能dns端口可支持的dns上游服务器包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个;

s2、客户端通过udp协议、tcp协议、tls协议和https协议中的一种或多种向可自定义智能dns端口发出域名查询请求;

s3、可自定义智能dns端口并行向各个dns上游服务器转发步骤s2中收到的域名查询请求;

s4、各个dns上游服务器根据域名查询请求进行域名解析并返回得到的ip地址,响应时间分析模块通过tcp协议主动探测各个dns上游服务器解析得到的ip地址的tcp协议80和443端口响应时间,从而找出响应时间最短的ip地址作为域名解析结果返回给可自定义智能dns端口;

s5、可自定义智能dns端口根据客户端发出的域名查询请求的协议类型,将域名解析结果通过udp协议、tcp协议、tls协议和https协议中的一种或多种返回至客户端。

进一步地,步骤s4中,响应时间分析模块通过tcp协议主动检测ip结果组中每个ip地址的tcp80和443端口响应时间并保存,以每个ip地址80端口和443端口中的其中一个的响应时间为主值,另外一个的响应时间为次值,首先比较主值的大小,选择主值较小的ip地址作为域名解析结果,如果主值相同,则比较次值,选择次值较小的ip地址作为域名解析结果。

作为另一种方案,本发明提供另一种多协议主动探测型智能dns,包括:

可自定义智能dns端口:用于对接客户端、可自定义子智能dns端口,接收客户端的域名查询请求并并行转发至各个可自定义子智能dns端口,以及将域名解析结果返回给客户端;

可自定义子智能dns端口:各个可自定义子智能dns端口均与所述可自定义智能dns端口对接,并与客户端对接,从可自定义智能dns端口或客户端接收域名查询请求;每个可自定义子智能dns端口分别对接有多种协议的dns上游服务器;所述可自定义子智能dns端口可支持的dns上游服务器包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个;可自定义子智能dns端口允许自定义可支持的dns上游服务器类型;

响应时间分析模块:用于通过tcp协议主动探测各个dns上游服务器解析得到的ip地址的tcp协议80端口和443端口响应时间,从而找出响应时间最短的ip地址作为域名解析结果,返回至可自定义智能dns端口或可自定义子智能dns端口。

进一步地,上述多协议主动探测型智能dns中,所述可自定义智能dns端口还可独立对接多种协议的dns上游服务器,接收客户端的域名查询请求并并行转发至所对接的各个dns上游服务器,以及将域名查询结果返回至客户端;所述可自定义智能dns端口可支持的dns上游服务器包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个;可自定义智能dns端口允许自定义可支持的dns上游服务器类型。

本发明还提供一种利用上述多协议主动探测型智能dns的方法,包括如下步骤:

s1、完成可自定义智能dns端口和各个可自定义子智能dns端口的配置,定义各个可自定义子智能dns端口支持的dns上游服务器类型;所述可自定义子智能dns端口可支持的dns上游服务器包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个;

s2、客户端通过udp协议、tcp协议、tls协议和https协议中的一种或多种向可自定义智能dns端口或可自定义子智能dns端口发出域名查询请求;

s3、当客户端向可自定义智能dns端口发出域名查询请求时,可自定义智能dns端口将域名查询请求并行发送至各个可自定义子智能dns端口,各个可自定义子智能dns端口将域名查询请求并行发送至自身对接的各个dns上游服务器;

s4、各个dns上游服务器根据域名查询请求进行域名解析并返回解析得到的ip地址,响应时间分析模块通过tcp协议主动探测各个dns上游服务器解析得到的ip地址的tcp协议80端口和443端口响应时间,从而找出响应时间最短的ip地址作为域名解析结果;

s5、如果域名查询请求是客户端向可自定义子智能dns端口直接发送的,由可自定义子智能dns端口将域名解析结果返回至客户端;如果域名查询请求是客户端向可自定义智能dns端口发送的,则域名解析结果由可自定义智能dns端口将域名解析结果返回至客户端;

可自定义智能dns端口或可自定义子智能dns端口根据客户端发出的域名查询请求的协议类型,将域名解析结果通过udp协议、tcp协议、tls协议和https协议中的一种或多种返回至客户端。

进一步地,步骤s1还包括定义可自定义智能dns端口支持的dns上游服务器类型;所述可自定义智能dns端口可支持的dns上游服务器包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个。

更进一步地,当可自定义智能dns端口独立对接有多种类型的dns上游服务器时,步骤s3中,当客户端向可自定义智能dns端口发出域名查询请求时,可自定义智能dns端口将域名查询请求并行发送至所对接的各个dns上游服务器和/或并行发送至各个可自定义子智能dns端口,各个可自定义子智能dns端口将域名查询请求并行发送至自身对接的各个dns上游服务器。

进一步地,步骤s4中,响应时间分析模块通过tcp协议主动检测ip结果组中每个ip地址的tcp80和443端口响应时间并保存,以每个ip地址80端口和443端口中的其中一个的响应时间为主值,另外一个的响应时间为次值,首先比较主值的大小,选择主值较小的ip地址作为域名解析结果,如果主值相同,则比较次值,选择次值较小的ip地址作为域名解析结果。

本发明的有益效果在于:与现有技术相比,本发明在支持多种dns协议的同时,可以对域名解析得到的ip地址主动判断,返回给客户端响应时间最短的ip节点,提高了web的响应时间;通过使用不同端口的内部dns服务分组,实现了传统dns的简化部署。在降低使用成本和后期维护量的同时提高了解析地址的质量,具有推广应用的价值。

附图说明

图1为本发明实施例1的结构示意图;

图2为本发明实施例2的结构示意图。

具体实施方式

以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。

实施例1

本实施例提供一种多协议主动探测型智能dns,如图1所示,包括:

可自定义智能dns端口101:用于对接客户端102和多种协议的dns上游服务器103,接收客户端102的域名查询请求并并行转发至各个dns上游服务器103,以及将域名解析结果返回给客户端102;所述可自定义智能dns端口101可支持的dns上游服务器103包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个;可自定义智能dns端口101允许自定义可支持的dns上游服务器103类型;

响应时间分析模块104:用于通过tcp协议主动探测各个dns上游服务器103解析得到的ip地址的tcp协议80端口和443端口响应时间,从而找出响应时间最短的ip地址作为域名解析结果返回给可自定义智能dns端口101,供可自定义智能dns端口101返回给客户端102。

实施例2

本实施例提供另一种多协议主动探测型智能dns,如图2所示,包括:

可自定义智能dns端口201:用于对接客户端202、可自定义子智能dns端口203,接收客户端202的域名查询请求并并行转发至各个可自定义子智能dns端口203,以及将域名解析结果返回给客户端202;

可自定义子智能dns端口203:各个可自定义子智能dns端口203均与所述可自定义智能dns端口201对接,并与客户端202对接,从可自定义智能dns端口201或客户端202接收域名查询请求;每个可自定义子智能dns端口203分别对接有多种协议的dns上游服务器204;所述可自定义子智能dns端口203可支持的dns上游服务器204包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个;可自定义子智能dns端口允许自定义可支持的dns上游服务器类型;

响应时间分析模块205:用于通过tcp协议主动探测各个dns上游服务器204解析得到的ip地址的tcp协议80端口和443端口响应时间,从而找出响应时间最短的ip地址作为域名解析结果,返回至可自定义智能dns端口201或可自定义子智能dns端口203。

进一步地,所述可自定义智能dns端口201还可独立对接多种协议的dns上游服务器(图2仅示出可自定义智能dns端口对接可自定义子智能dns端口203的情况,可自定义智能dns端口对接dns上游服务器的实例可以参见实施例1),接收客户端的域名查询请求并并行转发至所对接的各个dns上游服务器,以及将域名查询结果返回至客户端;所述可自定义智能dns端口201可支持的dns上游服务器204包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个;可自定义智能dns端口允许自定义可支持的dns上游服务器类型。

实施例3

本实施例提供一种利用实施例1所述多协议主动探测型智能dns的方法,包括如下步骤:

s1、完成可自定义智能dns端口的配置,定义可自定义智能dns端口支持的dns上游服务器类型;所述可自定义智能dns端口可支持的dns上游服务器包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个;

s2、客户端通过udp协议、tcp协议、tls协议和https协议中的一种或多种向可自定义智能dns端口发出域名查询请求;

s3、可自定义智能dns端口并行向各个dns上游服务器转发步骤s2中收到的域名查询请求;

s4、各个dns上游服务器根据域名查询请求进行域名解析并返回得到的ip地址,响应时间分析模块通过tcp协议主动探测各个dns上游服务器解析得到的ip地址的tcp协议80和443端口响应时间,从而找出响应时间最短的ip地址作为域名解析结果返回给可自定义智能dns端口;

s5、可自定义智能dns端口根据客户端发出的域名查询请求的协议类型,将域名解析结果通过udp协议、tcp协议、tls协议和https协议中的一种或多种返回至客户端。

进一步地,步骤s4中,响应时间分析模块通过tcp协议主动检测ip结果组中每个ip地址的tcp80和443端口响应时间并保存,以每个ip地址80端口和443端口中的其中一个的响应时间为主值,另外一个的响应时间为次值,首先比较主值的大小,选择主值较小的ip地址作为域名解析结果,如果主值相同,则比较次值,选择次值较小的ip地址作为域名解析结果。可自定义选择以80端口或443端口的哪一个为主。

实施例4

本实施例提供一种利用实施例2所述多协议主动探测型智能dns的方法,包括如下步骤:

s1、完成可自定义智能dns端口和各个可自定义子智能dns端口的配置,定义各个可自定义子智能dns端口支持的dns上游服务器类型;所述可自定义子智能dns端口可支持的dns上游服务器包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个;

s2、客户端通过udp协议、tcp协议、tls协议和https协议中的一种或多种向可自定义智能dns端口或可自定义子智能dns端口发出域名查询请求;

s3、当客户端向可自定义智能dns端口发出域名查询请求时,可自定义智能dns端口将域名查询请求并行发送至各个可自定义子智能dns端口,各个可自定义子智能dns端口将域名查询请求并行发送至自身对接的各个dns上游服务器;

s4、各个dns上游服务器根据域名查询请求进行域名解析并返回解析得到的ip地址,响应时间分析模块通过tcp协议主动探测各个dns上游服务器解析得到的ip地址的tcp协议80端口和443端口响应时间,从而找出响应时间最短的ip地址作为域名解析结果;

s5、如果域名查询请求是客户端向可自定义子智能dns端口直接发送的,由可自定义子智能dns端口将域名解析结果返回至客户端;如果域名查询请求是客户端向可自定义智能dns端口发送的,则域名解析结果由可自定义智能dns端口将域名解析结果返回至客户端;

可自定义智能dns端口或可自定义子智能dns端口根据客户端发出的域名查询请求的协议类型,将域名解析结果通过udp协议、tcp协议、tls协议和https协议中的一种或多种返回至客户端。

进一步地,步骤s1还包括定义可自定义智能dns端口支持的dns上游服务器类型;所述可自定义智能dns端口可支持的dns上游服务器包括udp协议dns上游服务器、tcp协议dns上游服务器、tls协议dns上游服务器和https协议dns上游服务器中的一个或多个。

进一步地,当可自定义智能dns端口独立对接有多种类型的dns上游服务器时,步骤s3中,当客户端向可自定义智能dns端口发出域名查询请求时,可自定义智能dns端口将域名查询请求并行发送至所对接的各个dns上游服务器和/或并行发送至各个可自定义子智能dns端口,各个可自定义子智能dns端口将域名查询请求并行发送至自身对接的各个dns上游服务器。

进一步地,步骤s4中,响应时间分析模块通过tcp协议主动检测ip结果组中每个ip地址的tcp80和443端口响应时间并保存,以每个ip地址80端口和443端口中的其中一个的响应时间为主值,另外一个的响应时间为次值,首先比较主值的大小,选择主值较小的ip地址作为域名解析结果,如果主值相同,则比较次值,选择次值较小的ip地址作为域名解析结果。

对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。

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