CN114268605A - 一种智能dns实现方法、装置及计算机存储介质 - Google Patents
一种智能dns实现方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN114268605A CN114268605A CN202111542849.8A CN202111542849A CN114268605A CN 114268605 A CN114268605 A CN 114268605A CN 202111542849 A CN202111542849 A CN 202111542849A CN 114268605 A CN114268605 A CN 114268605A
- Authority
- CN
- China
- Prior art keywords
- address
- information
- network
- dns
- request information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000007246 mechanism Effects 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims description 29
- 238000013507 mapping Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000013475 authorization Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000009977 dual effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例涉及一种智能DNS实现方法、装置及计算机存储介质,通过根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得第一DNS请求信息对应的来源IP地址;当来源IP地址不属于第二网络的地址时,获得来源IP地址对应的互联网服务提供商区域信息,以及互联网服务提供商区域信息对应的第二网络的代表IP地址;根据第二网络的代表IP地址,构造第二资源记录OPT子信息,将第一DNS请求信息修改为第二DNS请求信息;将第二DNS请求信息发送至第二网络的授权DNS服务器。使得当第一网络的授权DNS服务器不支持实现智能DNS时,也可通过第二网络的授权DNS服务器实现智能DNS,从而提高了双栈网络环境下的访问调度精准度,用户体验好且成本低。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种智能DNS实现方法、装置及计算机存储介质。
背景技术
DNS(域名系统,英文全称“DomainNameSystem”)是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。DNS服务器分为两种,一是本地DNS(即LocalDNS,用户电脑、手机等配置的DNS服务器),代理用户去互联网获取用户访问域名的IP地址;二是授权DNS或权威DNS,拥有域名对应的IP地址,由域名归属的网站、云业务提供商配置修改授权DNS的域名解析IP地址。
由于IPv4(互联网协议第4版,英文全称“Internet Protocol Version 4”)最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展,IPv6(互联网协议第6版,英文全称“Internet Protocol Version 6”)是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
目前IPv4向IPv6迁移依然存在着诸多难题,其中众多授权DNS还存在着仅支持IPv4的情况。虽然有现有技术通过将IPv6的IP端口映射到IPv4的IP端口的方法进行解决,但是该方法无法实现按照地理位置区域实现智能DNS解析。
发明内容
有鉴于此,本发明实施例所解决的技术问题之一在于提供一种智能DNS实现方法、装置及计算机存储介质,用以克服现有技术在双栈网络环境下访问调度精准度偏低的问题。
本申请实施例第一方面公开一种智能DNS实现方法,包括:
根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得所述第一DNS请求信息对应的来源IP地址;
当所述来源IP地址不属于第二网络的地址时,获得所述来源IP地址对应的互联网服务提供商区域信息,以及所述互联网服务提供商区域信息对应的第二网络的代表IP地址;
根据所述第二网络的所述代表IP地址,构造第二资源记录OPT子信息;
将所述第一DNS请求信息修改为第二DNS请求信息,其中所述第二DNS请求信息中包括所述第二资源记录OPT子信息;
将所述第二DNS请求信息发送至所述第二网络的授权DNS服务器,以使得所述第二网络的所述授权DNS服务器根据所述第二资源记录OPT子信息,返回与所述互联网服务提供商区域信息对应的授权响应信息。
本申请实施例第二方面公开一种智能DNS实现装置,包括:
地址获取模块,用于根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得所述第一DNS请求信息对应的来源IP地址;
线路确定模块,用于当所述来源IP地址不属于第二网络的地址时,获得所述来源IP地址对应的互联网服务提供商区域信息,以及所述互联网服务提供商区域信息对应的第二网络的代表IP地址;
OPT构造模块,用于根据所述第二网络的所述代表IP地址,构造第二资源记录OPT子信息;
信息修改模块,用于将所述第一DNS请求信息修改为第二DNS请求信息,其中所述第二DNS请求信息中包括所述第二资源记录OPT子信息;
数据发送模块,用于将所述第二DNS请求信息发送至所述第二网络的授权DNS服务器,以使得所述第二网络的所述授权DNS服务器根据所述第二资源记录OPT子信息,返回与所述互联网服务提供商区域信息对应的授权响应信息。
本申请实施例第三方面公开一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序包括用于执行前述智能DNS实现方法的部分或全部步骤。
与现有技术相比,本申请实施例通过根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得第一DNS请求信息对应的来源IP地址;当来源IP地址不属于第二网络的地址时,获得来源IP地址对应的互联网服务提供商区域信息,以及互联网服务提供商区域信息对应的第二网络的代表IP地址;根据第二网络的代表IP地址,构造第二资源记录OPT子信息,并将第一DNS请求信息修改为第二DNS请求信息,其中第二DNS请求信息中包括第二资源记录OPT子信息;最后将第二DNS请求信息发送至第二网络的授权DNS服务器,以使得第二网络的授权DNS服务器根据第二资源记录OPT子信息,返回与互联网服务提供商区域信息对应的授权响应信息,使得当第一网络的授权DNS服务器不支持实现智能DNS时,也可让第一网络的客户端通过第二网络的授权DNS服务器实现智能DNS,只需要在一个具备IPv6/IPv4双栈网络环境下部署一个应用本实施例所公开方法的代理服务即可,用户体验好且成本低。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一公开的一种智能DNS实现方法的流程示意图;
图2是本申请实施例二公开的一种智能DNS实现方法的流程示意图;
图3是本申请实施例三公开的一种智能DNS实现方法的流程示意图;
图4是本申请实施例四公开的一种智能DNS实现装置的结构示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同的对象,而不是用于描述特定顺序。本申请实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请的说明书和权利要求书中的术语“智能DNS”最基本的功能是可以根据请求进行域名解析的用户地址所处的地理区域,确定出与域名对应的IP地址。例如,如果请求解析某一域名的用户是网通武汉用户,智能DNS服务器可将该域名对应的网通武汉IP地址响应给用户;如果用户是电信长沙用户,智能DNS服务器可将该域名对应的电信长沙IP地址响应给用户。利用智能DNS可实现就近访问机制或者将实现多个主机的负载均衡。
需要说明的是,本申请实施例公开的智能DNS实现方法、装置及计算机存储介质应用场景不限,可应用于的任何用于实现智能DNS实现场景或系统中。例如,通常可应用于内容分发网络或者云WAF全局负载均衡系统中。
其中,内容分发网络(英文全称“Content Delivery Network”,简写“CDN”)通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,从而解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
WAF(英文全拼为“Web Application Firewall”)是针对Web端的防火墙。云Waf为Web应用防火墙的云模式,让用户不需要在自己的网络中安装软件程序或部署硬件设备,就可以对网站实施安全防护,它的主要实现方式是利用DNS技术,通过移交域名解析权来实现安全防护。用户的请求首先发送到云端节点进行检测,如存在异常请求则进行拦截否则将请求转发至真实服务器。
实施例一
如图1所示,图1为本申请实施例一公开的一种智能DNS实现方法的示意性流程图。该智能DNS实现方法应用于包括第一网络和第二网络的双栈网络环境中,包括:
步骤S101,根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得第一DNS请求信息对应的来源IP地址。
本实施例中,第一DNS请求信息至少用于请求对指定域名进行DNS解析,以获得解析出的包括与指定域名对应的IP地址的响应信息。
本实施例中,第一网络与第二网络属于不同的两种网络,例如,可以是IPv4网络或者IPv6网络中的一种,即当第一网络为IPv4网络时,第二网络为IPv6网络;当第一网络为IPv6网络时,第二网络为IPv4网络。其中,优选第一网络为IPv6网络,第二网络为IPv4网络。
本实施例中,至少第二网络的授权DNS服务器需要支持ECS协议(英文全称“EDNSCLIENTSUBNET”)。ECS协议允许将客户端的IP地址传输给授权DNS服务器,当授权DNS服务器支持该协议时,就可以根据客户端的IP地址进行DNS解析及按照地理位置进行准确的调度。
本实施例中,扩展DNS机制是指EDNS(英文全称“Extension Mechanisms forDNS”)。随着业务的复杂化和多样化,RFC1035中定义的DNS消息格式和它支持的消息内容已经不足以满足一些DNS服务器的需求,于是,RFC2671中提出了一种扩展DNS机制EDNS(英文全称“Extension Mechanisms for DNS”),在遵循已有的DNS消息格式的基础上增加一些字段,来支持更多的DNS请求业务,并在其中推荐了一种传递包大小的EDNS0。EDNS0扩展了DNS使用UDP传输时的最大报文限制,可以超过512字节;扩展RCODE,由4为增加到12位。
EDNS中引入了一种新的资源记录OPT(Resource Record),它不包含任何DNS数据,OPT RR不能被cache、不能被转发、不能被存储在zone文件中。OPT被放在DNS通信双方(requestor和responsor)DNS消息的Additional data区域中。本实施例中的第一资源记录OPT子信息和第二资源记录OPT子信息即为该中类型的数据。
本实施例中,第一资源记录OPT子信息中包括用于标识客户端IP地址的信息,故根据第一资源记录OPT子信息可获得客户端的IP地址,从而确定来源IP地址。
本实施例中,客户端可以处于第一网络中,也可处于第二网络中。客户端的硬件类型不限,可以是连接至因特网的任意硬件终端,例如手机、台式电脑、平板电脑等。
步骤S102,当来源IP地址不属于第二网络的地址时,获得来源IP地址对应的互联网服务提供商区域信息,以及互联网服务提供商区域信息对应的第二网络的代表IP地址。
本实施例中,对来源IP地址是否属于第二网络的地址的判断方法不限,在实际应用中可灵活进行设定。
本实施例中,互联网服务提供商区域信息用于标识来源IP地址的互联网服务提供商(英文简称“ISP”,全称为“Internet Service Provider”)的地理区域,例如,联通武汉、联通长沙、联通北京等。其中,互联网服务提供商的地理区域的大小和标识方法不限,一个地理区域中所包括的线路数量也不限,在实际应用中可根据需求灵活进行设定。
本实施例中,代表IP地址为第二网络中的一个预设地址,代表IP地址所属的互联网服务提供商所处地理区域与来源IP地址相同或者相近,本实施例在此不做限定。例如,代表IP地址可以是与来源IP地址属于同一互联网服务提供商的同一地理区域;也可以是同一互联网服务提供商的不同地理区域,但是地理区域的位置较为接近;或者是不同互联网服务提供商的相同或者位置接近的地理区域。
本实施例中,为了实现智能DNS,即按照客户端所处的地理区域解析获得域名对应的相同或者相近地理区域的IP地址,可先通过确定来源IP地址对应的互联网服务提供商区域信息,再根据互联网服务提供商区域信息确定与之对应的第二网络的代表IP地址。
步骤S103,根据第二网络的代表IP地址,构造第二资源记录OPT子信息。
本实施例中,可根据扩展DNS机制的资源记录OPT子信息的构造规则,利用第二网络的代表IP地址构造出第二资源记录OPT子信息,以使得授权DNS服务器可根据第二资源记录OPT子信息确定出第二网络的代表IP地址。
步骤S104,将第一DNS请求信息修改为第二DNS请求信息,其中第二DNS请求信息中包括第二资源记录OPT子信息。
本实施例中,由于第一资源记录OPT子信息中没有包括用于标识第二网络的IP地址的信息,因此可根据第二网络的代表IP地址,将第一DNS请求信息修改为第二DNS请求信息,即使得第二DNS请求信息中包括第二资源记录OPT子信息。
本实施例中,由于第一DNS请求信息中还包括其他多种子信息,为了实现智能DNS,第二DNS请求信息中至少需要包括第二资源记录OPT子信息。将第一DNS请求信息修改为第二DNS请求信息的修改方式不限。
步骤S105,将第二DNS请求信息发送至第二网络的授权DNS服务器,以使得第二网络的授权DNS服务器根据第二资源记录OPT子信息,返回与互联网服务提供商区域信息对应的授权响应信息。
本实施例中,授权响应信息为第二网络的授权DNS服务器对第二DNS请求信息进行相应的响应后生成。由于第二网络的授权DNS服务器支持ECS协议,因此该授权DNS服务器收到第二DNS请求信息后,可根据其中的第二资源记录OPT子信息确定出第二网络的代表IP地址,从而进一步利用ECS协议的EDNS-CLIENT-SUBNET特性实现针对第二DNS请求信息的智能DNS解析,获得与互联网服务提供商区域信息对应的授权响应信息。
本实施例中,在收到授权响应信息后,可将授权响应信息转发至客户端,从而使得即便第一网络的授权DNS服务器不支持实现智能DNS,也可使得该网络中的客户端获得智能DNS解析服务。
由以上本发明实施例可见,本发明实施例通过根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得第一DNS请求信息对应的来源IP地址;当来源IP地址不属于第二网络的地址时,获得来源IP地址对应的互联网服务提供商区域信息,以及互联网服务提供商区域信息对应的第二网络的代表IP地址;根据第二网络的代表IP地址,构造第二资源记录OPT子信息,并将第一DNS请求信息修改为第二DNS请求信息,其中第二DNS请求信息中包括第二资源记录OPT子信息;最后将第二DNS请求信息发送至第二网络的授权DNS服务器,以使得第二网络的授权DNS服务器根据第二资源记录OPT子信息,返回与互联网服务提供商区域信息对应的授权响应信息,使得当第一网络的授权DNS服务器不支持实现智能DNS时,也可让客户端通过第二网络的授权DNS服务器实现智能DNS,不仅可提高访问调度精准度,而且只需要在一个具备IPv6/IPv4双栈网络环境下部署一个应用本实施例所公开方法的代理服务即可,用户体验好且成本低。
实施例二
如图2所示,图2为本申请实施例二公开的一种智能DNS实现方法的示意性流程图,该智能DNS实现方法应用于包括第一网络和第二网络的双栈网络环境中,该方法包括:
步骤S201,根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得第一DNS请求信息对应的来源IP地址。
本实施例中,实施主体可以为具有代理服务功能的软件、系统、装置或设备等,为实现双栈网络环境下的智能DNS,可通过监听服务端口,获取客户端发送的第一DNS请求信息,即在步骤S201之前还可包括:监听服务端口,以接收客户端发送的第一DNS请求信息。
可选地,服务端口可以是协议默认的端口,例如IPv6网络TCP/UDP协议中默认的53端口;也可以是网络中自行设定的端口,本实施例在此不做限制。
步骤S202,判断来源IP地址属于第一网络的地址或第二网络地址。
本实施例中,由于第二网络与第一网络中对IP地址的标识方法有所不同,故获得来源IP地址后,可根据两种网络的IP地址标识规则,区分出来源IP地址属于第二网络的地址还是第一网络的地址。其中,当确定来源IP地址属于第二网络的地址时,执行后续步骤S203和步骤S208;当确定来源IP地址属于第一网络的地址时,执行后续步骤S204至步骤S208。
步骤S203,当来源IP地址属于第二网络的地址时,将第一DNS请求信息发送至第二网络的授权DNS服务器,以使得第二网络的授权DNS服务器根据第一资源记录OPT子信息返回授权响应信息。
本实施例中,当来源IP地址属于第二网络的地址时,表明客户端位于第二网络中,因此可直接将第一DNS请求信息转发至第二网络的授权DNS服务器,以使得第二网络的授权DNS服务器根据第一资源记录OPT子信息,对第一DNS请求信息实现智能DNS解析。
步骤S204,当来源IP地址属于第一网络的地址时,获得来源IP地址对应的互联网服务提供商区域信息,以及互联网服务提供商区域信息对应的第二网络的代表IP地址。
本实施例中,步骤S204还可包括:根据预设的地址映射规则,获得互联网服务提供商区域信息对应的第二网络的代表IP地址。
其中,预设的地址映射规则至少用于标识互联网服务提供商区域信息与第二网络的代表IP地址的对应关系,预设的地址映射规则的具体设定方式不限,在实际应用中可灵活预先进行设定。当获得第二网络的某一代表IP地址时,可根据预设的地址映射规则查询获得对应的一互联网服务提供商区域信息;当获得某一互联网服务提供商区域信息时,同样也可根据预设的地址映射规则查询获得对应的一第二网络的代表IP地址。
可选地,在步骤S201之前,还可包括:创建至少一互联网服务提供商区域信息与第二网络的至少一代表IP地址之间的哈希映射,以获得预设的地址映射规则。
由于本实施例的实施主体具有代理服务功能,因此会存储有至少部分第二网络的代表IP地址及互联网服务提供商区域信息的已有数据,故可根据已有数据预设互联网服务提供商区域信息与第二网络的代表IP地址之间的对应关系,以获得预设的地址映射规则。
可选地,由于某一互联网服务提供商线路中可能包括多个第二网络的IP地址,为了减少数据处理量,可建立较为简单的一一对应关系,即从一个互联网服务提供商线路对应的全部第二网络的IP地址中,仅选取出一个作为第二网络的代表IP地址,使得一个互联网服务提供商区域信息仅对应一个第二网络的代表IP地址。其中,从全部第二网络的IP地址中选取第二网络的代表IP地址选取方式不限,例如可以是随机选取,也可以是按照一定规律进行选取,不实施例在此不做限制。
本实施例中,可根据第一网络的IP地址库确定来源IP地址对应的互联网服务提供商区域信息,即步骤S204可包括:从第一网络的IP地址库中,查询并确定来源IP地址对应的互联网服务提供商区域信息。其中,IP地址库是包含IP段及对应的所属互联网服务提供商及地理区域信息的数据库。
可选地,为了缩短对第一DNS请求信息的响应时间,在步骤S201之前可包括:加载第一网络的IP地址库。
步骤S205,根据第二网络的代表IP地址,构造第二资源记录OPT子信息。
本实施例中,步骤S205与实施例一中的步骤S103基本相同,本实施例在此不再赘述。
步骤S206,将第一DNS请求信息中的第一资源记录OPT子信息替换为第二资源记录OPT子信息,以获得第二DNS请求信息。
本实施例中,由于第一资源记录OPT子信息中没有包括用于标识第二网络的IP地址的信息,而第二资源记录OPT子信息中包括该信息,因此为了提高处理效率,可直接将第一DNS请求信息中的第一资源记录OPT子信息替换为第二资源记录OPT子信息,以获得第二DNS请求信息。
步骤S207,将第二DNS请求信息发送至第二网络的授权DNS服务器,以使得第二网络的授权DNS服务器根据第二资源记录OPT子信息,返回与互联网服务提供商区域信息对应的授权响应信息。
本实施例中,步骤S207与实施例一中的步骤S105基本相同,本实施例在此不再赘述。
步骤S208,接收第二网络的授权DNS服务器发送的授权响应信息,并将授权响应信息发送至客户端。
由以上本发明实施例可见,本发明实施例通过监听服务端口,可及时且全面接收客户端发送的第一DNS请求信息;当确定来源IP地址属于第二网络的地址时,将第一DNS请求信息发送至第二网络的授权DNS服务器,可提高整体流程的处理时间;通过预先创建预设的地址映射规则,可快速确定互联网服务提供商区域信息对应的第二网络的代表IP地址;通过预先加载第一网络的IP地址库,可缩短对第一DNS请求信息的响应时间。
实施例三
如图3所示,图3为本申请实施例三公开的一种智能DNS实现方法的示意性流程图,该智能DNS实现方法应用于包括第一网络和第二网络的双栈网络环境中,包括:
步骤S301,当第一DNS请求信息中不包括第一资源记录OPT子信息时,将客户端的远程IP地址确定为来源IP地址。
本实施例中,当客户端发送的第一DNS请求信息中没有包括扩展DNS机制的第一资源记录OPT子信息时,则无法利用ECS协议实现智能DNS,因此为了实现智能DNS,需要根据第一DNS请求信息执行后续相应的处理。
本实施例中,可根据第一DNS请求信息获得客户端的远程IP地址(Remote IP),将客户端的远程IP地址作为来源IP地址。
步骤S302,获得来源IP地址对应的互联网服务提供商区域信息,以及互联网服务提供商区域信息对应的第二网络的代表IP地址。
本实施例中,步骤S302与前述实施例一中的步骤S102和/或实施例二中的步骤S204基本相同或者相似,在此不再赘述。
步骤S303,根据第二网络的代表IP地址,构造第二资源记录OPT子信息。
本实施例中,步骤S303与前述实施例一中的步骤S103基本相同或者相似,在此不再赘述。
步骤S304,将第二资源记录OPT子信息添加至第一DNS请求信息中,以获得第二DNS请求信息。
本实施例中,由于第一DNS请求信息中没有包括扩展DNS机制的第一资源记录OPT子信息,因此可将构造出的第二资源记录OPT子信息直接添加至第一DNS请求信息中,以获得第二DNS请求信息。
步骤S305,将第二DNS请求信息发送至第二网络的授权DNS服务器,以使得第二网络的授权DNS服务器根据第二资源记录OPT子信息,返回与互联网服务提供商区域信息对应的授权响应信息。
本实施例中,步骤S305与前述实施例一中的步骤S105基本相同或者相似,在此不再赘述。
步骤S306,接收第二网络的授权DNS服务器发送的授权响应信息,并将授权响应信息发送至客户端。
由以上本发明实施例可见,本发明实施例当客户端发送的第一DNS请求信息中没有包括扩展DNS机制的第一资源记录OPT子信息时,将客户端的远程IP地址作为来源IP地址,并获得对应的第二网络的代表IP地址;根据第二网络的代表IP地址,构造出第二资源记录OPT子信息,将第二资源记录OPT子信息添加至第一DNS请求信息中,获得第二DNS请求信息;发送第二DNS请求信息至第二网络的授权DNS服务器,以将第二网络的授权DNS服务器的授权响应信息发送至客户端。从而使得无论第一DNS请求信息中是否包括第一资源记录OPT子信息,均可实现智能DNS,扩大了应用范围。
实施例四
本申请实施例四提供一种智能DNS实现装置,图4为本申请实施例四公开的一种智能DNS实现装置的结构示意图,该智能DNS实现装置应用于包括第一网络和第二网络的双栈网络环境中,包括:
地址获取模块401,用于根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得第一DNS请求信息对应的来源IP地址。
线路确定模块402,用于当来源IP地址不属于第二网络的地址时,获得来源IP地址对应的互联网服务提供商区域信息,以及互联网服务提供商区域信息对应的第二网络的代表IP地址。
本实施例中,线路确定模块402进一步用于根据预设的地址映射规则,获得互联网服务提供商区域信息对应的第二网络的代表IP地址。
可选地,还包括规则创建模块,用于创建至少一互联网服务提供商区域信息与第二网络的至少一代表IP地址之间的哈希映射,以获得预设的地址映射规则。
实施例中,线路确定模块402进一步用于从第一网络的IP地址库中,查询并确定来源IP地址对应的互联网服务提供商区域信息。
本实施例中,当来源IP地址属于第二网络的地址时,还包括转发模块,用于将第一DNS请求信息发送至第二网络的授权DNS服务器,以使得第二网络的授权DNS服务器根据第一资源记录OPT子信息返回授权响应信息。
OPT构造模块403,用于根据第二网络的代表IP地址,构造第二资源记录OPT子信息。
信息修改模块404,用于将第一DNS请求信息修改为第二DNS请求信息,其中第二DNS请求信息中包括第二资源记录OPT子信息。
本实施例中,当第一DNS请求信息中包括第一资源记录OPT子信息,且来源IP地址属于第一网络的地址时,信息修改模块404进一步用于将第一DNS请求信息中的第一资源记录OPT子信息替换为第二资源记录OPT子信息,获得第二DNS请求信息。
本实施例中,当第一DNS请求信息中不包括第一资源记录OPT子信息时,地址获取模块401进一步用于将客户端的远程IP地址确定为来源IP地址;
对应的,信息修改模块404进一步用于将第二资源记录OPT子信息添加至第一DNS请求信息中,以获得第二DNS请求信息。
数据发送模块405,用于将第二DNS请求信息发送至第二网络的授权DNS服务器,以使得第二网络的授权DNS服务器根据第二资源记录OPT子信息,返回与互联网服务提供商区域信息对应的授权响应信息。
本实施例中,还包括监听模块,用于监听服务端口,以接收客户端发送的第一DNS请求信息。
通过本实施例的智能DNS实现装置,可以实现前述多个方法实施例中相应的智能DNS实现方法,并具有相应方法实施例的有益效果,在此不再赘述。
实施例五
本发明实施例还提供了一种计算机存储介质,计算机存储介质中存储有用于执行前述多个方法实施例中相应的方法的计算机程序。具体的,该计算机程序应用于包括第一网络和第二网络的双栈网络环境中,计算机程序包括:
用于执行根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得第一DNS请求信息对应的来源IP地址的指令。
用于执行当来源IP地址不属于第二网络的地址时,获得来源IP地址对应的互联网服务提供商区域信息,以及互联网服务提供商区域信息对应的第二网络的代表IP地址的指令。
用于执行根据第二网络的代表IP地址,构造第二资源记录OPT子信息的指令。
用于执行将第一DNS请求信息修改为第二DNS请求信息,其中第二DNS请求信息中包括第二资源记录OPT子信息的指令。
用于执行将第二DNS请求信息发送至第二网络的授权DNS服务器,以使得第二网络的授权DNS服务器根据第二资源记录OPT子信息,返回与互联网服务提供商区域信息对应的授权响应信息的指令。
本实施例中,当第一DNS请求信息中包括第一资源记录OPT子信息,且来源IP地址属于第一网络的地址时,还包括用于执行将第一DNS请求信息中的第一资源记录OPT子信息替换为第二资源记录OPT子信息,获得第二DNS请求信息的指令。
本实施例中,还包括用于执行当第一DNS请求信息中不包括第一资源记录OPT子信息时,将客户端的远程IP地址确定为来源IP地址的指令;对应的,将第一DNS请求信息修改为第二DNS请求信息包括:将第二资源记录OPT子信息添加至第一DNS请求信息中,以获得第二DNS请求信息。
本实施例中,还包括用于执行将第一DNS请求信息发送至第二网络的授权DNS服务器,以使得第二网络的授权DNS服务器根据第一资源记录OPT子信息返回授权响应信息的指令。
本实施例中,还包括用于执行根据预设的地址映射规则,获得互联网服务提供商区域信息对应的第二网络的代表IP地址的指令。
本实施例中,还包括用于执行创建至少一互联网服务提供商区域信息与第二网络的至少一代表IP地址之间的哈希映射,以获得预设的地址映射规则的指令。
本实施例中,还包括用于执行监听服务端口,以接收客户端发送的第一DNS请求信息的指令。
本实施例中,当来源IP地址不属于第二网络的地址时,还包括用于执行从第一网络的IP地址库中,查询并确定来源IP地址对应的互联网服务提供商区域信息的指令。
通过本实施例的计算机存储介质,可以实现前述多个方法实施例中相应的智能DNS实现方法,并具有相应方法实施例的有益效果,在此不再赘述。
至此,已经对本申请的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
本申请是参照根据本申请实施例的方法的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、装置或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种智能DNS实现方法,其特征在于,所述方法包括:
根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得所述第一DNS请求信息对应的来源IP地址;
当所述来源IP地址不属于第二网络的地址时,获得所述来源IP地址对应的互联网服务提供商区域信息,以及所述互联网服务提供商区域信息对应的第二网络的代表IP地址;
根据所述第二网络的所述代表IP地址,构造第二资源记录OPT子信息;
将所述第一DNS请求信息修改为第二DNS请求信息,其中所述第二DNS请求信息中包括所述第二资源记录OPT子信息;
将所述第二DNS请求信息发送至所述第二网络的授权DNS服务器,以使得所述第二网络的所述授权DNS服务器根据所述第二资源记录OPT子信息,返回与所述互联网服务提供商区域信息对应的授权响应信息。
2.根据权利要求1所述的方法,其特征在于,当所述第一DNS请求信息中包括所述第一资源记录OPT子信息,且所述来源IP地址属于第一网络的地址时,所述将所述第一DNS请求信息修改为第二DNS请求信息包括:
将所述第一DNS请求信息中的所述第一资源记录OPT子信息替换为所述第二资源记录OPT子信息,获得所述第二DNS请求信息。
3.根据权利要求1所述的方法,其特征在于,所述根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得所述第一DNS请求信息对应的来源IP地址包括:
当所述第一DNS请求信息中不包括所述第一资源记录OPT子信息时,将所述客户端的远程IP地址确定为所述来源IP地址;
对应的,所述将所述第一DNS请求信息修改为第二DNS请求信息包括:
将所述第二资源记录OPT子信息添加至所述第一DNS请求信息中,以获得所述第二DNS请求信息。
4.根据权利要求1所述的方法,其特征在于,当所述第一DNS请求信息中包括所述第一资源记录OPT子信息,且所述来源IP地址属于所述第二网络的地址时,所述方法还包括:
将所述第一DNS请求信息发送至所述第二网络的所述授权DNS服务器,以使得所述第二网络的所述授权DNS服务器根据所述第一资源记录OPT子信息返回授权响应信息。
5.根据权利要求1所述的方法,其特征在于,所述当所述来源IP地址不属于第二网络的地址时,获得所述来源IP地址对应的互联网服务提供商区域信息,以及所述互联网服务提供商区域信息对应的第二网络的代表IP地址包括:
根据预设的地址映射规则,获得所述互联网服务提供商区域信息对应的所述第二网络的所述代表IP地址。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
创建至少一所述互联网服务提供商区域信息与所述第二网络的至少一代表IP地址之间的哈希映射,以获得所述预设的地址映射规则。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监听服务端口,以接收所述客户端发送的所述第一DNS请求信息。
8.根据权利要求1所述的方法,其特征在于,所述当所述来源IP地址不属于第二网络的地址时,获得所述来源IP地址对应的互联网服务提供商区域信息,以及所述互联网服务提供商区域信息对应的第二网络的代表IP地址包括:
从第一网络的IP地址库中,查询并确定所述来源IP地址对应的所述互联网服务提供商区域信息。
9.一种智能DNS实现装置,其特征在于,包括:
地址获取模块,用于根据客户端发送的第一DNS请求信息中包括的扩展DNS机制的第一资源记录OPT子信息,获得所述第一DNS请求信息对应的来源IP地址;
线路确定模块,用于当所述来源IP地址不属于第二网络的地址时,获得所述来源IP地址对应的互联网服务提供商区域信息,以及所述互联网服务提供商区域信息对应的第二网络的代表IP地址;
OPT构造模块,用于根据所述第二网络的所述代表IP地址,构造第二资源记录OPT子信息;
信息修改模块,用于将所述第一DNS请求信息修改为第二DNS请求信息,其中所述第二DNS请求信息中包括所述第二资源记录OPT子信息;
数据发送模块,用于将所述第二DNS请求信息发送至所述第二网络的授权DNS服务器,以使得所述第二网络的所述授权DNS服务器根据所述第二资源记录OPT子信息,返回与所述互联网服务提供商区域信息对应的授权响应信息。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序用于执行权利要求1-8中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111542849.8A CN114268605B (zh) | 2021-12-16 | 2021-12-16 | 一种智能dns实现方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111542849.8A CN114268605B (zh) | 2021-12-16 | 2021-12-16 | 一种智能dns实现方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114268605A true CN114268605A (zh) | 2022-04-01 |
CN114268605B CN114268605B (zh) | 2023-11-24 |
Family
ID=80827520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111542849.8A Active CN114268605B (zh) | 2021-12-16 | 2021-12-16 | 一种智能dns实现方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114268605B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530329A (zh) * | 2015-12-03 | 2016-04-27 | 中国互联网络信息中心 | 一种支持名字搜索的新型域名解析服务方法和装置 |
CN106060180A (zh) * | 2016-08-24 | 2016-10-26 | 电子科技大学 | 一种针对IPv6的基于地理位置和应用信息的寻址方法 |
CN106068639A (zh) * | 2014-03-04 | 2016-11-02 | 思科技术公司 | 通过dns处理的透明代理认证 |
CN108886525A (zh) * | 2016-03-09 | 2018-11-23 | 动态网络服务股份有限公司 | 智能域名系统转发的方法和装置 |
CN108989487A (zh) * | 2018-09-06 | 2018-12-11 | 北京泰策科技有限公司 | 基于本地dns的cdn优化调度方法 |
CN110602264A (zh) * | 2019-09-02 | 2019-12-20 | 中国移动通信集团江苏有限公司 | 传递域名解析地址权重信息的方法、装置、设备和介质 |
WO2020254766A1 (fr) * | 2019-06-20 | 2020-12-24 | Orange | Procede et dispositif d'obtention d'une adresse ip |
WO2021078281A1 (zh) * | 2019-10-25 | 2021-04-29 | 新华三信息安全技术有限公司 | 报文转发及域名地址查询 |
-
2021
- 2021-12-16 CN CN202111542849.8A patent/CN114268605B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106068639A (zh) * | 2014-03-04 | 2016-11-02 | 思科技术公司 | 通过dns处理的透明代理认证 |
CN105530329A (zh) * | 2015-12-03 | 2016-04-27 | 中国互联网络信息中心 | 一种支持名字搜索的新型域名解析服务方法和装置 |
CN108886525A (zh) * | 2016-03-09 | 2018-11-23 | 动态网络服务股份有限公司 | 智能域名系统转发的方法和装置 |
CN106060180A (zh) * | 2016-08-24 | 2016-10-26 | 电子科技大学 | 一种针对IPv6的基于地理位置和应用信息的寻址方法 |
CN108989487A (zh) * | 2018-09-06 | 2018-12-11 | 北京泰策科技有限公司 | 基于本地dns的cdn优化调度方法 |
WO2020254766A1 (fr) * | 2019-06-20 | 2020-12-24 | Orange | Procede et dispositif d'obtention d'une adresse ip |
CN110602264A (zh) * | 2019-09-02 | 2019-12-20 | 中国移动通信集团江苏有限公司 | 传递域名解析地址权重信息的方法、装置、设备和介质 |
WO2021078281A1 (zh) * | 2019-10-25 | 2021-04-29 | 新华三信息安全技术有限公司 | 报文转发及域名地址查询 |
Also Published As
Publication number | Publication date |
---|---|
CN114268605B (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10212124B2 (en) | Facilitating content accessibility via different communication formats | |
EP2695358B1 (en) | Selection of service nodes for provision of services | |
CN103051740B (zh) | 域名解析方法、dns服务器及域名解析系统 | |
JP5150769B2 (ja) | 要求ルーティングおよびクライアントロケーション情報を利用したルーティング情報の更新 | |
CN105323173B (zh) | 网络规则条目的设置方法及装置 | |
US10263950B2 (en) | Directing clients based on communication format | |
KR20170057357A (ko) | 고립된 가상 네트워크에 대한 사설 별칭 종단점 | |
RU2464722C2 (ru) | Способ, устройство и система для распределения сообщений | |
WO2021017161A1 (zh) | 一种资源获取方法及边缘计算调度服务器 | |
CN108848205B (zh) | 一种区分IPv4、IPv6的CNAME域名解析方法 | |
WO2012063099A1 (en) | Method and apparatus for enabling dns redirection in mobile telecommunication systems | |
WO2017161965A1 (zh) | 一种动态域名系统dns重定向方法、装置及系统 | |
KR101682513B1 (ko) | 다중-코어 플랫폼들을 위한 dns 프록시 서비스 | |
CN105610930A (zh) | 一种基于dns的数据优选方法 | |
CN115190107B (zh) | 基于泛域名多子系统管理方法、管理终端及可读存储介质 | |
CN115396398B (zh) | 衍生域名访问方法、系统、设备、存储介质及程序产品 | |
CN114268605B (zh) | 一种智能dns实现方法、装置及计算机存储介质 | |
CN101945144A (zh) | 一种ip地址重分配的方法和服务节点 | |
JP2019087908A (ja) | IPv6ネットワークシステム、ホームゲートウェイ装置、マイグレーション技術適用方法、同適用プログラム | |
Li et al. | Artemis: A Latency-Oriented Naming and Routing System | |
Li et al. | Artemis: A practical low-latency naming and routing system | |
JP6487870B2 (ja) | 名前解決装置、名前解決方法及び名前解決プログラム | |
JP2008206081A (ja) | マルチホーミング通信システムに用いられるデータ中継装置およびデータ中継方法 | |
CN110572486A (zh) | 一种基于mac地址的域名解析系统 | |
CN116155857A (zh) | 一种云内通信方法、装置、系统及设备、介质和产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |