著录项信息
专利名称 | 一种域名解析方法、装置及系统 |
申请号 | CN201610187729.3 | 申请日期 | 2016-03-29 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2016-11-02 | 公开/公告号 | CN106067890A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 北京肇煜宏泰信息科技有限公司 | 申请人地址 | 北京市海淀区清河小营(雄狮机械厂)一层077室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京肇煜宏泰信息科技有限公司 | 当前权利人 | 北京肇煜宏泰信息科技有限公司 |
发明人 | 李明 |
代理机构 | 北京律诚同业知识产权代理有限公司 | 代理人 | 陈红 |
摘要
本申请实施例中提供了一种域名解析方法、装置及系统,该方法包括:本地域名解析DNS服务器接收域名解析请求,该域名解析请求包括请求访问的域名;在未保存该域名对应的地址时,将该域名解析请求经相应的ISP链路分别发送至各互联网服务提供商ISP对应的DNS服务器;并接收和保存各ISP对应的DNS服务器返回的各解析地址,并将各解析地址作为该域名对应的地址;在保存该域名对应的地址时,根据预定策略确定相应的解析结果,并返回该解析结果。采用本申请中的方案,能够根据预定策略将负载均衡至多个ISP链路,实现多个ISP链路的负载均衡。
1.一种域名解析方法,其特征在于,该域名解析方法包括:
本地DNS服务器接收域名解析请求,所述域名解析请求包括请求访问的域名;
在未保存所述域名对应的地址时,将所述域名解析请求经多个ISP链路分别发送至相应的互联网服务提供商ISP对应的DNS服务器及根服务器;并接收和保存所有的DNS服务器返回的各解析地址,并将各解析地址作为所述域名对应的地址;其中,所有的DNS服务器包括所有ISP对应的DNS服务器,并包括与各ISP对应的递归DNS服务器,且该递归DNS服务器在接收到所述域名解析请求时,是从该根服务器进行递归解析,并将解析结果返回给所述本地DNS服务器;
在保存所述域名对应的地址时,根据预定策略确定相应的解析结果,并返回所述解析结果;
其中,根据预定策略确定相应的解析结果,具体包括:
所述本地DNS服务器查询所述域名对应的多个目标地址,其中,所述多个目标地址对应于多个ISP链路;
根据预定策略在所述多个ISP链路中确定第一ISP链路;
并将所述第一ISP链路对应的目标地址,作为相应的解析结果。
2.根据权利要求1所述的方法,其特征在于,将所述域名解析请求经多个ISP链路分别发送至相应的ISP对应的DNS服务器,具体包括:
分别将对应于各ISP对应的DNS服务器的域名解析请求发送至网关设备;
触发网关设备将分别对应于各ISP对应的DNS服务器的域名解析请求,路由至相应的ISP链路,以使对应于各ISP对应的DNS服务器的域名解析请求经相应的ISP链路发送至各ISP对应的DNS服务器。
3.根据权利要求1所述的方法,其特征在于,将所述域名解析请求经多个ISP链路分别发送至相应的ISP对应的DNS服务器,具体包括:
分别将对应于各ISP对应的DNS服务器的域名解析请求发送至防火墙;
触发防火墙将分别对应于各ISP对应的DNS服务器的域名解析请求,路由至相应的ISP链路,以使对应于各ISP对应的DNS服务器的域名解析请求经相应的ISP链路发送至各ISP对应的DNS服务器。
4.根据权利要求1所述的方法,其特征在于,所有的DNS服务器包括各ISP部署的专用DNS服务器。
5.根据权利要求1所述的方法,其特征在于,所有的DNS服务器包括与各ISP对应的递归DNS服务器时,所述方法还包括:
递归DNS服务器接收到所述域名解析请求时,判断所述域名解析请求对应的根服务器的IP地址满足预定条件;
将所述域名解析请求经预先设置的专用隧道发送至所述根服务器,其中,所述预定条件包括所述根服务器的IP地址位于预定的IP地址范围内。
6.根据权利要求5所述的方法,其特征在于,将所述域名解析请求经预先设置的专用隧道发送至所述根服务器,具体包括:
递归DNS服务器将所述域名解析请求经预先设置的专用隧道发送至预先设置的专用服务器;其中,所述专用服务器的IP地址位于所述预定的IP地址范围内;
触发所述专用服务器根据所述根服务器的IP地址,将所述域名解析请求发送至所述根服务器。
7.根据权利要求1所述的方法,其特征在于,所述预定策略包括:各ISP链路的连接数量、各ISP链路的接入带宽比例、或者各ISP链路的接入价格。
8.一种域名解析装置,其特征在于,该域名解析装置包括:
第一接收模块,位于本地DNS服务器,用于接收域名解析请求,所述域名解析请求包括请求访问的域名;
第一发送模块,用于在未保存所述域名对应的地址时,将所述域名解析请求经多个ISP链路分别发送至相应的互联网服务提供商ISP对应的DNS服务器及根服务器;其中,所有的DNS服务器包括所有ISP对应的DNS服务器,并包括与各ISP对应的递归DNS服务器,且该递归DNS服务器在接收到所述域名解析请求时,是从该根服务器进行递归解析,并将解析结果返回给所述本地DNS服务器;
接收和保存模块,用于接收和保存所有的DNS服务器返回的各解析地址,并将各解析地址作为所述域名对应的地址;
确定模块,用于在保存所述域名对应的地址时,根据预定策略确定相应的解析结果,并返回所述解析结果,其中该确定模块具体包括:查询子模块,用于查询所述域名对应的多个目标地址,其中,所述多个目标地址对应于所述多个ISP链路;链路确定子模块,用于根据预定策略在所述多个ISP链路中确定第一ISP链路;确定子模块,用于将所述第一ISP链路对应的目标地址,确定为相应的解析结果。
9.根据权利要求8所述的装置,其特征在于,第一发送模块具体用于分别将对应于各ISP对应的DNS服务器的域名解析请求发送至网关设备;触发网关设备将分别对应于各ISP对应的DNS服务器的域名解析请求,路由至相应的ISP链路,以使对应于各ISP对应的DNS服务器的域名解析请求经相应的ISP链路发送至各ISP对应的DNS服务器。
10.根据权利要求8所述的装置,其特征在于,第一发送模块具体用于:分别将对应于各ISP对应的DNS服务器的域名解析请求发送至防火墙;触发防火墙将分别对应于各ISP对应的DNS服务器的域名解析请求,路由至相应的ISP链路,以使对应于各ISP对应的DNS服务器的域名解析请求经相应的ISP链路发送至各ISP对应的DNS服务器。
11.根据权利要求8所述的装置,其特征在于,所有的DNS服务器包括各ISP部署的DNS服务器。
12.根据权利要求8所述的装置,其特征在于,所有的DNS服务器包括与各ISP对应的递归DNS服务器时,所述装置还包括:
判断模块,位于递归DNS服务器,用于在接收到所述域名解析请求时,判断所述域名解析请求对应的根服务器的IP地址满足预定条件;
第二发送模块,位于递归DNS服务器,用于将所述域名解析请求经预先设置的专用隧道发送至所述根服务器,其中,所述预定条件包括所述根服务器的IP地址位于预定的IP地址范围内。
13.根据权利要求12所述的装置,其特征在于,第二发送模块具体包括:
发送子模块,用于将所述域名解析请求经预先设置的专用隧道发送至预先设置的专用服务器;其中,所述专用服务器的IP地址位于所述预定的IP地址范围内;
触发子模块,用于触发所述专用服务器根据所述根服务器的IP地址,将所述域名解析请求发送至所述根服务器。
14.根据权利要求8所述的装置,其特征在于,所述预定策略包括:各ISP链路的连接数量、各ISP链路的接入带宽比例、或者各ISP链路的接入价格。
15.一种域名解析系统,其特征在于,该域名解析系统包括:
本地DNS服务器,用于接收域名解析请求,该域名解析请求包括请求访问的域名;在未保存该域名对应的地址时,将该域名解析请求经多个ISP链路分别发送至相应的互联网服务提供商ISP对应的DNS服务器及根服务器;并接收和保存所有的DNS服务器返回的各解析地址,并将各解析地址作为该域名对应的地址;在保存该域名对应的地址时,根据预定策略确定相应的解析结果,并返回该解析结果;其中,根据预定策略确定相应的解析结果,具体包括:所述本地DNS服务器查询所述域名对应的多个目标地址,其中,所述多个目标地址对应于所述多个ISP链路;根据预定策略在所述多个ISP链路中确定第一ISP链路;并将所述第一ISP链路对应的目标地址,作为相应的解析结果;
网关设备或防火墙,用于将分别对应于各ISP对应的DNS服务器的域名解析请求,路由至相应的ISP链路,以使对应于各ISP对应的DNS服务器的域名解析请求经相应的ISP链路发送至各ISP对应的DNS服务器;
各ISP对应的DNS服务器,用于对来自本地DNS服务器的域名解析请求进行域名解析,并返回相应的解析结果,其中,各ISP对应的DNS服务器包括与各ISP对应的递归DNS服务器,且该递归DNS服务器在接收到所述域名解析请求时,是从该根服务器进行递归解析,并将解析结果返回给所述本地DNS服务器。
16.根据权利要求15所述的系统,其特征在于,各ISP对应的DNS服务器还用于判断所述域名解析请求对应的根服务器的IP地址是否满足预定条件;并在满足时,将所述域名解析请求经预先设置的专用隧道发送至所述根服务器,其中,所述预定条件包括所述根服务器的IP地址位于预定的IP地址范围内。
17.根据权利要求15所述的系统,其特征在于,还包括:
专用服务器,与所述各ISP对应的DNS服务器通过专用隧道连接,用于接收来自各ISP对应的DNS服务器的域名解析请求,并转发至相应的根服务器。
一种域名解析方法、装置及系统\n技术领域\n[0001] 本申请涉及域名解析技术,特别涉及一种域名解析方法、装置及系统。\n背景技术\n[0002] 在现代的办公环境下,网络是现代办公的必不可少的基础设施之一。很多商业机构搭建比较复杂的办公网络,并部署商业机构内部专用的软件服务,其中就包括本地DNS(Domain Name System,域名系统)服务,简称为Local DNS。\n[0003] 为保证服务质量和网络的高可用性,一些企业,例如,金融机构、高等院校、高级酒店等通常部署多ISP(Internet Service Provider,互联网服务提供商)链路接入。\n[0004] 为实现多ISP链路的负载均衡,现有技术中常用的方案是,在网关设备或者防火墙中设置静态路由表,该表中存储本地设备的多个IP范围、以及该多个IP范围分别对应的ISP链路,在网关设备或者防火墙接收到域名解析请求时,根据发送域名解析请求的源设备的IP所属的IP范围,确定对应的ISP链路,并将域名解析请求经该ISP链路路由至相应的ISP的DNS服务器。\n[0005] 在实现本申请的过程中,发明人发现,众多网站域名都使用了CDN(Content Delivery Network,内容分发网络)服务,即,在解析域名时,针对不同的ISP,返回不同的解析地址,即,DNS服务器的解析IP就是针对发送解析请求的ISP的链路而分配的;采用现有技术中的域名解析方法,在某一源设备发送大量域名解析请求时,将造成了一条ISP链路负载较高,其余链路负载较低的情况,导致多ISP链路的负载不均衡。\n发明内容\n[0006] 本申请实施例中提供了一种域名解析方法、装置及系统,用于解决现有技术中的多ISP链路负载不均衡的问题。\n[0007] 根据本申请实施例中的一个方面,提供了一种域名解析方法,包括:本地域名解析DNS服务器接收域名解析请求,该域名解析请求包括请求访问的域名;在未保存该域名对应的地址时,将该域名解析请求经相应的ISP链路分别发送至各互联网服务提供商ISP对应的DNS服务器;并接收和保存各ISP对应的DNS服务器返回的各解析地址,并将各解析地址作为该域名对应的地址;在保存该域名对应的地址时,根据预定策略确定相应的解析结果,并返回该解析结果。\n[0008] 根据本申请实施例中的另一个方面,还提供了一种域名解析装置,包括:第一接收模块,用于接收域名解析请求,该域名解析请求包括请求访问的域名;第一发送模块,用于在未保存该域名对应的地址时,将该域名解析请求发送至各互联网服务提供商ISP对应的DNS服务器;接收和保存模块,用于接收和保存各ISP对应的DNS服务器返回的各解析地址,并将各解析地址作为该域名对应的地址;确定模块,用于在保存该域名对应的地址时,根据预定策略确定相应的解析结果,并返回该解析结果。\n[0009] 根据本申请实施例中的另一个方面,还提供了一种域名解析系统,包括:本地DNS服务器,用于接收域名解析请求,该域名解析请求包括请求访问的域名;在未保存该域名对应的地址时,将该域名解析请求经相应的ISP链路分别发送至各互联网服务提供商ISP对应的DNS服务器;并接收和保存各ISP对应的DNS服务器返回的各解析地址,并将各解析地址作为该域名对应的地址;在保存该域名对应的地址时,根据预定策略确定相应的解析结果,并返回该解析结果;网关设备或防火墙,用于将分别对应于各ISP对应的DNS服务器的域名解析请求,路由至相应的ISP链路,以使对应于各ISP对应的DNS服务器的域名解析请求经相应的ISP链路发送至各ISP对应的DNS服务器;各ISP对应的DNS服务器,用于对来自本地DNS服务器的域名解析请求进行域名解析,并返回相应的解析结果。\n[0010] 采用本申请实施例中的域名解析方法、装置及系统,将域名解析请求经相应的ISP链路分别发送至多个ISP对应的DNS服务器,并根据预定策略从该多个ISP对应的DNS服务器返回的地址中确定解析结果,从而能够根据预定策略将负载均衡至多个ISP链路,实现多个ISP链路的负载均衡。\n附图说明\n[0011] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:\n[0012] 图1为本申请实施例一所示的域名解析系统的结构示意图;\n[0013] 图2为本申请实施例二所示的域名解析方法的流程图;\n[0014] 图3为本申请实施例三所示域名解析装置的结构示意图。\n具体实施方式\n[0015] 在实现本申请的过程中,发明人发现,采用现有技术中的域名解析方法,在某一源设备发送大量域名解析请求时,将造成了一条ISP链路负载较高,其余链路负载较低的情况,导致多ISP链路的负载不均衡。\n[0016] 针对上述问题,本申请实施例中提供了一种域名解析方法、装置及系统,将域名解析请求经相应的ISP链路分别发送至多个ISP对应的DNS服务器,并根据预定策略从该多个ISP对应的DNS服务器返回的地址中确定解析结果,从而能够根据预定策略将负载均衡至多个ISP链路,实现多个ISP链路的负载均衡。\n[0017] 为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。\n[0018] 实施例一\n[0019] 本申请实施例一所示的域名解析方法可以应用于如图1所示的域名解析系统中。\n如图1所示,在该系统中包括多台设备101a、101b;一本地DNS服务器102,网关设备或防火墙\n103,分别对应于各ISP的多台DNS服务器104a、104b;一专用服务器105;一根服务器106。\n[0020] 在具体实施时,该设备101a、101b可以是具有上网功能的多种设备,例如,计算机、手机、PAD、机器人等,也可以是某一业务服务器,例如,邮件服务器、办公服务器等;本申请对此均不作限制。\n[0021] 在具体实施时,本地DNS服务器102可以提供两个功能,即,域名解析功能和DNS代理功能。\n[0022] 具体地,域名解析功能用于接收源设备的域名解析请求,并查询本地缓存中是否存在相应的解析结果,如果存在,就根据预先设置的预定策略,选择其中一个域名解析结果返回给源设备。如果缓存中不存在相应的解析结果,就转发域名解析请求到DNS代理功能,并接收DNS代理功能的解析结果,并根据预定策略选择一个返回给源设备。具体地,该预先设置的预定策略可以是由网络管理人员预先设置的,该预定策略可以包括:各ISP链路的连接数量、各ISP链路的接入带宽比例、或者各ISP链路的接入价格等;还可以是针对各域名的各ISP链路的性能、或者是网络管理人员设置的其他均衡策略等;本申请对此不作限制。\n[0023] 例如,该预定策略可以是选取当前连接数量最少的ISP链路对应的DNS服务器返回的解析结果、可以是选择当前接入带宽占比最小的ISP链路对应的DNS服务器返回的解析结果,也可以是选择接入价格最低的ISP链路对应的DNS服务器返回的解析结果等。\n[0024] 具体地,DNS代理功能用于接收域名解析功能转发的域名解析请求,并异步生成分别对应于不同ISP链路的多个域名解析请求,并发送至预先设定的多个DNS服务器以解析域名,并接收多个DNS服务器返回的解析结果,并将解析结果返回给域名解析功能;并将域名解析结果更新到域名解析功能的缓存中。\n[0025] 应当理解,为实现本申请,本地DNS服务器可以进一步具备获取预定策略中所对应的参数的功能。例如,当预定策略为各ISP链路的连接数量时,该本地DNS服务器可以以实时或以预定周期获取各ISP链路的连接数量;当预定策略为各ISP链路的接入带宽比例时,该本地DNS服务器可以实时或以预定周期获取各ISP链路的接入带宽比例;或者,当预定策略为各ISP链路的接入价格时,本地DNS服务器可以实时或以预定周期获取各ISP链路的接入价格。\n[0026] 具体地,当预定策略为各ISP链路的连接数量或者为各ISP链路的接入带宽比例时,可以在网关设备或者防火墙中增加实时或以预定周期采集各ISP链路的连接数量的功能、或者各ISP链路的接入带宽比例的功能,并将网关设备或者防火墙实时或以预定周期采集到的各ISP链路的连接数量的功能、或者各ISP链路的接入带宽比例发送至本地DNS服务器。当预定策略为各ISP链路的接入价格时,还可以在本地DNS服务器中设置各ISP链路的接入价格。\n[0027] 在具体实施时,网关设备或防火墙103可以将分别对应于各ISP对应的DNS服务器的域名解析请求,路由至相应的ISP链路,以使对应于各ISP对应的DNS服务器的域名解析请求经相应的ISP链路发送至各ISP对应的DNS服务器。\n[0028] 在具体实施时,网关设备或防火墙103可以与本地DNS服务器合设,也可以分设;应当理解,虽然图1中仅示出了合设的场景,但本领域技术人员在实施时,可以将其分开设置,本申请对此不作限制。\n[0029] 在具体实施时,各ISP对应的DNS服务器104a、104b可以是各ISP部署的DNS服务器;\n为避免域名劫持,运营商或者网络所有者还可以在各ISP网络中自建递归DNS服务器,并将该递归DNS服务器作为各ISP对应的DNS服务器。具体地,该递归DNS服务器在接收到域名解析请求时,递归DNS服务器从根服务器进行递归解析;并将解析结果返回给本地DNS服务器。\n[0030] 在具体实施时,各ISP对应的DNS服务器104a、104b还可以具有判断所述域名解析请求对应的根服务器的IP地址是否满足预定条件的功能;并在满足时,将所述域名解析请求经预先设置的专用隧道发送至所述根服务器,其中,所述预定条件包括所述根服务器的IP地址位于预定的IP地址范围内。具体地,可以在DNS服务器104a、104b中增加一IP地址与预定条件的对应关系列表,并在接收到相应的域名解析请求时,根据该对应关系列表判断该域名解析请求对应的根服务器的IP地址是否满足预定条件。\n[0031] 例如,在DNS服务器104a、104b中将某一IP地址范围对应为“海外IP”;在接收到目标地址为该范围内的IP地址的域名解析请求时,将相应的域名解析请求经专用隧道发送至专用服务器。\n[0032] 该专用服务器105与所述各ISP对应的DNS服务器通过专用隧道连接,用于接收来自各ISP对应的DNS服务器的域名解析请求,并转发至相应的根服务器,在具体实施时,可以采用本领域技术人员常用的服务器;本申请对此不作限制。\n[0033] 应当理解,虽然本申请实施例中示出的是两条ISP链路的情况,但在具体实施时,本申请中的方案也可以应用于一条ISP链路或者两条以上链路的情况,这些应用场景均在本申请的保护范围之内,本申请对此不作限制。\n[0034] 上述实施例中示出了根据本申请实施例一的域名解析系统的结构示意图。下面将结合上述域名解析系统,对本申请实施例二所示的域名解析方法进行详细描述。\n[0035] 实施例二\n[0036] 图2为本申请实施例二所示的域名解析方法的流程图。如图2所示,根据本申请实施例二所示的域名解析方法包括以下步骤:\n[0037] S201,设备向本地DNS服务器发送域名解析请求,该域名解析请求包括请求访问的域名;\n[0038] 在具体实施时,该设备可以是如图1所示的计算机101a或者101b,也可以是其他可接入网络的设备,本申请对此不作限制。\n[0039] S202,本地DNS服务器判断本地缓存中是否存在所述域名对应的地址;如果存在,则执行S203;如果不存在,则执行S204-S207;\n[0040] 在具体实施时,本地DNS服务器中可以缓存各域名与IP地址的对应关系。具体地,可以以列表的形式存储,也可以以其他形式存储,本申请对此不作限制。\n[0041] 例如,本地DNS服务器中缓存的各域名与IP地址的对应关系列表可以如下:\n[0042]\n[0043] 在上表中,域名www.sina.com对应的IP地址为223.121.23.2,www.baidu.com对应的IP地址为220.181.18.155和220.181.18.145。\n[0044] 更具体地,本地DNS服务器中可以缓存各域名与IP地址的对应关系时,可以进一步缓存各域名与IP地址、ISP链路的对应关系。\n[0045] 例如,本地DNS服务器缓存各域名与IP地址、ISP链路的对应关系表可以如下:\n[0046]\n[0047]\n[0048] 在上表中,域名www.sina.com对应的电信链路的IP地址为223.121.23.2,www.baidu.com对应的电信链路的IP地址为220.181.18.155,对应的网通链路的IP地址为\n220.181.18.145。\n[0049] 在具体实施时,本地DNS服务器在接收到本地设备发送的域名解析请求时,首先在本地缓存中查询与该域名解析请求中携带的域名;如果查询到,则判断本地缓存中存在所述域名对应的地址,如果未查询到,则判断本地缓存中不存在所述域名对应的地址。\n[0050] S203,根据预定策略确定相应的解析结果,并返回解析结果。\n[0051] 在本地DNS服务器中存在所述域名对应的地址时,本地DNS服务器可以进一步根据预定策略确定相应的解析结果。具体地,该预定策略可以包括多种策略,例如,该预定策略可以是选取当前连接数量最少的ISP链路对应的DNS服务器返回的解析结果、可以是选择当前接入带宽占比最小的ISP链路对应的DNS服务器返回的解析结果,也可以是选择接入价格最低的ISP链路对应的DNS服务器返回的解析结果等。\n[0052] 应当理解,在S203之前,还可以进一步包括接收用户设置预定策略的步骤。在具体实施时,可以向用户提供预定策略的设置界面供用户选择,也可以接收用户通过脚本文件设置的预定策略。\n[0053] 应当理解,在S203之前,还可以进一步包括实时采集或者以预定周期采集该预定策略相关的参数的步骤。例如,当预定策略为各ISP链路的连接数量时,该本地DNS服务器可以以实时或以预定周期获取各ISP链路的连接数量;当预定策略为各ISP链路的接入带宽比例时,该本地DNS服务器可以实时或以预定周期获取各ISP链路的接入带宽比例;或者,当预定策略为各ISP链路的接入价格时,本地DNS服务器可以实时或以预定周期获取各ISP链路的接入价格。\n[0054] 在具体实施时,本地DNS服务器可以查询域名对应的多个目标地址,其中,多个目标地址对应于多个ISP链路;然后根据预定策略在多个ISP链路中确定第一ISP链路;并将所述第一ISP链路对应的目标地址,作为相应的解析结果。\n[0055] 例如,当本地DNS服务器接收到用户发送的,携带www.baidu.com的域名解析请求时,查询至本地缓存有相应的IP地址,并根据预先设置的策略,判断出网通链路连接数量最少,则向用户返回相应的网通链路对应的IP地址220.181.18.145。\n[0056] 至此,本地DNS服务器中存在待解析的域名的解析流程已经结束。\n[0057] S204,将域名解析请求经相应的ISP链路分别发送至各ISP对应的递归DNS服务器;\n[0058] 在S204的一种具体实施方式中,可以分别将对应于各ISP对应的DNS服务器的域名解析请求发送至网关设备;触发网关设备将分别对应于各ISP对应的DNS服务器的域名解析请求,路由至相应的ISP链路,以使对应于各ISP对应的DNS服务器的域名解析请求经相应的ISP链路发送至各ISP对应的解析服务器。\n[0059] 在具体实施时,本地DNS服务器可以针对各ISP分别生成相应的域名解析请求,并异步发送至网关设备;再由网关设备将这些域名解析请求分别路由至各ISP对应的DNS服务器。具体地,该各ISP对应的DNS服务器可以分别设置于各ISP链路中,更进一步地,网关设备可以将这些域名解析请求分别经相应的ISP链路路由至各ISP对应的DNS服务器。\n[0060] 在S204的另一种具体实施方式中,可以分别将对应于各ISP对应的DNS服务器的域名解析请求发送至防火墙;触发防火墙将分别对应于各ISP对应的DNS服务器的域名解析请求,路由至相应的ISP链路,以使对应于各ISP对应的DNS服务器的域名解析请求经相应的ISP链路发送至各ISP对应的DNS服务器。\n[0061] 在具体实施时,本地DNS服务器可以针对各ISP分别生成相应的域名解析请求,并异步发送至防火墙;再由防火墙将这些域名解析请求分别路由至各ISP对应的DNS服务器。\n具体地,该各ISP对应的DNS服务器可以分别设置于各ISP链路中,更进一步地,防火墙可以将这些域名解析请求分别经相应的ISP链路路由至各ISP对应的DNS服务器。\n[0062] 在具体实施时,各ISP对应的DNS服务器可以是各ISP部署的专用DNS服务器。但是,发明人发现,如果采用各ISP部署的专用DNS服务器,可能会出现域名访问被劫持向ISP广告页面的情况,此时,可以在各ISP链路中设置各ISP对应的递归DNS服务器来对域名进行解析。具体地,可以分别在各ISP链路中设置一台或多台递归DNS服务器。例如,在网通链路中设置递归DNS服务器103a,在电信链路中设置递归服务器103b等。\n[0063] S205,各递归DNS服务器向相应的根服务器发送域名解析请求,直至得到解析结果;\n[0064] 在具体实施时,各递归DNS服务器可以采用现有技术中的常用域名解析技术向根服务器递归查询域名对应的IP地址,本申请在此不赘述。\n[0065] 在具体实施时,递归DNS服务器103a、103b还可以具有分流的功能,即,在接收到域名解析请求时,可以判断域名解析请求对应的根服务器的IP地址是否满足预定条件,例如,域名解析请求对应的根服务器的IP地址是否位于海外;并将目标IP为海外IP的域名解析请求通过专用隧道发送到专用服务器104,由专用服务器104转发到目标根服务器;将目标IP为国内IP的域名解析请求通过本地网卡发送到根服务器。在具体实施时,专用服务器104可以是位于海外的服务器。\n[0066] 在具体实施时,递归DNS服务器接收到域名解析请求时,可以进一步判断所述域名解析请求对应的根服务器的IP地址是否满足预定条件;如果满足,则将所述域名解析请求经预先设置的专用隧道发送至所述根服务器;具体地,所述预定条件包括所述根服务器的IP地址位于预定的IP地址范围内。如果不满足,则将该域名解析请求经本地网卡发送至该根服务器。\n[0067] 具体地,递归DNS服务器可以将所述域名解析请求经预先设置的专用隧道发送至预先设置的专用服务器;其中,所述专用服务器的IP地址位于所述预定的IP地址范围内;触发所述专用服务器根据所述根服务器的IP地址,将所述域名解析请求发送至所述根服务器。在具体实施时,该专用服务器可以用于将该域名解析请求转发到根服务器。\n[0068] S206,各递归DNS服务器将解析结果返回本地DNS服务器;\n[0069] S207,本地DNS服务器在接收到各递归DNS服务器返回的解析结果后,根据预定策略确定相应的解析结果,并向设备返回解析结果。\n[0070] 在接收到各递归DNS服务器返回的解析结果后,本地DNS服务器可以进一步根据预定策略确定相应的解析结果。具体地,该预定策略可以包括多种策略,例如,该预定策略可以是选取当前连接数量最少的ISP链路对应的DNS服务器返回的解析结果、可以是选择当前接入带宽占比最小的ISP链路对应的DNS服务器返回的解析结果,也可以是选择接入价格最低的ISP链路对应的DNS服务器返回的解析结果等。\n[0071] 应当理解,在S207之前,还可以进一步包括接收用户设置预定策略的步骤。在具体实施时,可以向用户提供预定策略的设置界面供用户选择,也可以接收用户通过脚本文件设置的预定策略。\n[0072] 应当理解,在S207之前,还可以进一步包括实时采集或者以预定周期采集该预定策略相关的参数的步骤。例如,当预定策略为各ISP链路的连接数量时,该本地DNS服务器可以以实时或以预定周期获取各ISP链路的连接数量;当预定策略为各ISP链路的接入带宽比例时,该本地DNS服务器可以实时或以预定周期获取各ISP链路的接入带宽比例;或者,当预定策略为各ISP链路的接入价格时,本地DNS服务器可以实时或以预定周期获取各ISP链路的接入价格。\n[0073] 例如,当本地DNS服务器接收到用户发送的,携带www.baidu.com的域名解析请求时,分别向电信链路和网通链路中的递归DNS服务器发送域名解析请求,并分别接收到来自电信链路的递归DNS服务器返回的解析结果220.181.18.155,和网通链路中的递归DNS服务器返回的解析结果220.181.18.145;然后并根据预先设置的策略,判断出网通链路连接数量最少,则向用户返回相应的网通链路对应的IP地址220.181.18.145。\n[0074] 在具体实施时,本地DNS服务器可以进一步保存本次的解析结果。具体地,可以将该域名与对应的各条ISP链路的解析结果增加至各域名与IP地址、ISP链路的对应关系。\n[0075] 至此,本地DNS服务器中不存在待解析的域名的解析流程已经结束。\n[0076] 采用本申请实施例中的域名解析方法,将域名解析请求经相应的ISP链路分别发送至多个ISP对应的DNS服务器,并根据预定策略从该多个ISP对应的DNS服务器返回的地址中确定解析结果,从而能够根据预定策略将负载均衡至多个ISP链路,实现多个ISP链路的负载均衡。\n[0077] 基于同一发明构思,本申请实施例中还提供了一种域名解析装置,由于该装置解决问题的原理与本申请实施例二所提供的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。\n[0078] 实施例三\n[0079] 图3为本申请实施例三所示域名解析装置的结构示意图。\n[0080] 如图3所示,根据本申请实施例三所示域名解析装置300,包括:第一接收模块301,用于接收域名解析请求,该域名解析请求包括请求访问的域名;第一发送模块302,用于在未保存该域名对应的地址时,将该域名解析请求发送至各互联网服务提供商ISP对应的DNS服务器;接收和保存模块303,用于接收和保存各ISP对应的DNS服务器返回的各解析地址,并将各解析地址作为该域名对应的地址;确定模块304,用于在保存该域名对应的地址时,根据预定策略确定相应的解析结果,并返回该解析结果。\n[0081] 在具体实施时,该第一接收模块301、接收和保存模块303和确定模块304可以对应于本地DNS服务器的域名解析功能,第一发送模块302可以对应于本地DNS服务器的DNS代理功能。\n[0082] 可选地,第一发送模块具体可以用于分别将对应于各ISP对应的DNS服务器的域名解析请求发送至网关设备;触发网关设备将分别对应于各ISP对应的DNS服务器的域名解析请求,路由至相应的ISP链路,以使对应于各ISP对应的DNS服务器的域名解析请求经相应的ISP链路发送至各ISP对应的DNS服务器。\n[0083] 可选地,第一发送模块具体用于:分别将对应于各ISP对应的DNS服务器的域名解析请求发送至防火墙;触发防火墙将分别对应于各ISP对应的DNS服务器的域名解析请求,路由至相应的ISP链路,以使对应于各ISP对应的DNS服务器的域名解析请求经相应的ISP链路发送至各ISP对应的DNS服务器。\n[0084] 可选地,各ISP对应的DNS服务器包括各ISP部署的DNS服务器,或者,与各ISP对应的递归DNS服务器。\n[0085] 可选地,各ISP对应的DNS服务器包括与各ISP对应的递归DNS服务器时,根据本申请实施例的装置还包括:判断模块,位于递归DNS服务器,用于在接收到域名解析请求时,判断域名解析请求对应的根服务器的IP地址满足预定条件;第二发送模块,位于递归DNS服务器,用于将域名解析请求经预先设置的专用隧道发送至根服务器,其中,预定条件包括所述根服务器的IP地址位于预定的IP地址范围内。\n[0086] 在具体实施时,该第二发送模块具体可以包括:发送子模块,用于将域名解析请求经预先设置的专用隧道发送至预先设置的专用服务器;其中,专用服务器的IP地址位于预定的IP地址范围内;触发子模块,用于触发专用服务器根据根服务器的IP地址,将域名解析请求发送至根服务器。\n[0087] 可选地,确定模块,具体包括:查询子模块,用于查询该域名对应的多个目标地址,其中,该多个目标地址对应于多个ISP链路;链路确定子模块,用于根据预定策略在该多个ISP链路中确定第一ISP链路;确定子模块,用于将该第一ISP链路对应的目标地址,确定为相应的解析结果。\n[0088] 可选地,该预定策略包括:各ISP链路的连接数量、各ISP链路的接入带宽比例、或者各ISP链路的接入价格。\n[0089] 采用本申请实施例中的域名解析装置,将域名解析请求经相应的ISP链路分别发送至多个ISP对应的DNS服务器,并根据预定策略从该多个ISP对应的DNS服务器返回的地址中确定解析结果,从而能够根据预定策略将负载均衡至多个ISP链路,实现多个ISP链路的负载均衡。\n[0090] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。\n[0091] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。\n[0092] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。\n[0093] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。\n[0094] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。\n[0095] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
法律信息
- 2017-11-14
- 2016-11-30
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201610187729.3
申请日: 2016.03.29
- 2016-11-02
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |