CN109391703A - 域名解析方法、装置、设备和计算机存储介质 - Google Patents
域名解析方法、装置、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN109391703A CN109391703A CN201710682139.2A CN201710682139A CN109391703A CN 109391703 A CN109391703 A CN 109391703A CN 201710682139 A CN201710682139 A CN 201710682139A CN 109391703 A CN109391703 A CN 109391703A
- Authority
- CN
- China
- Prior art keywords
- domain name
- parsing
- address
- information
- server
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供给了一种域名解析方法、装置、设备和计算机存储介质,其中方法包括:获取要解析的域名和解析需求信息;向域名服务器发送包含所述域名和解析需求信息的域名解析请求;接收域名服务器返回的针对所述域名的解析结果,所述解析结果包括符合所述解析需求信息的IP地址。本发明通过在域名解析请求中携带解析需求信息,以使得域名服务器能够依据解析需求信息针对域名返回符合该解析需求信息的IP地址,从而满足终端设备的个性化解析需求。
Description
【技术领域】
本发明涉及网络通讯技术领域,特别涉及一种域名解析方法、装置、设备和计算机存储介质。
【背景技术】
域名解析是将域名指向网络空间IP地址,让人们通过简单的网络域名就可以方便地访问站点(提供服务或资源的服务设备)。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点服务器的地址。域名解析就是域名到IP地址的转换过程,由DNS服务器完成。如图1中所示,终端设备要访问某个站点时,将包含要访问站点域名的域名解析请求发送给DNS服务器,由DNS服务器进行域名解析,确定该域名对应的IP地址并返回给终端设备,然后终端设备依据该IP地址访问对应的站点服务器。
然而,随着互联网规模的逐渐扩大,互联网上设备数量越来越多,同一个域名下往往有很多台站点服务器能够为终端设备提供服务,而且出于提高网络服务质量、负载均衡、多点容灾等目的,这些站点服务器通常会分布在不同地域、接入不同的网络运营商、有着不同的网络带宽和网络处理能力,与此同时,互联网上的网络链接与架构越来越复杂。现有域名解析的方式仅仅由DNS服务器依据域名返回该域名对应的其中一个IP地址,则往往很难满足终端设备端的个性化需求。例如若DNS服务器针对某域名所返回的IP地址对应的链路中断,DNS服务器并不知晓,终端设备再次请求域名解析时,希望排除该IP地址,则现有方式就无法实现。再例如,终端设备希望能够访问在地理位置上最近的站点服务器,但DNS服务器返回的IP地址并不一定就是地理位置上最近的站点服务器。
【发明内容】
有鉴于此,本发明提供了一种域名解析方法、装置、设备和计算机存储介质,以便于域名解析能够满足终端设备的个性化解析需求。
具体技术方案如下:
本发明提供了一种域名解析方法,该方法包括:
获取要解析的域名和解析需求信息;
向域名服务器发送包含所述域名和解析需求信息的域名解析请求;
接收域名服务器返回的针对所述域名的解析结果,所述解析结果包括符合所述解析需求信息的IP地址。
本发明提供了另一种域名解析方法,该方法包括:
向代理解析设备发送包含要解析的域名以及解析需求信息;
从代理解析设备接收域名服务器返回的针对所述域名的解析结果,所述解析结果包括符合所述解析需求信息的IP地址。
本发明还提供了一种域名解析方法,该方法包括:
接收包含域名和解析需求信息的域名解析请求;
确定所述域名对应的IP地址;
从确定的IP地址中,获取符合所述解析需求信息的IP地址;
返回包含符合所述解析需求信息的IP地址的解析结果。
本发明提供了一种域名解析装置,该装置包括:
第一交互单元,用于获取要解析的域名和解析需求信息;
第二交互单元,用于向域名服务器发送包含所述域名和解析需求信息的域名解析请求;接收域名服务器返回的针对所述域名的解析结果,所述解析结果包括符合所述解析需求信息的IP地址。
本发明还提供了一种域名解析装置,设置于终端设备,该装置包括:
发送单元,用于向代理解析设备发送包含要解析的域名以及解析需求信息;
接收单元,用于从代理解析设备接收域名服务器返回的针对所述域名的解析结果,所述解析结果包括符合所述解析需求信息的IP地址。
本发明还提供了一种域名解析装置,设置于域名服务器,该装置包括:
接收单元,用于接收包含域名和解析需求信息的域名解析请求;
确定单元,用于确定所述域名对应的IP地址;
获取单元,用于从所述确定单元确定的IP地址中,获取符合所述解析需求信息的IP地址;
发送单元,用于返回包含符合所述解析需求信息的IP地址的解析结果。
本发明提供了一种设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现上述方法中执行的操作。
本发明还提供了一种计算机存储介质,所述计算机存储介质被编码有计算机程序,所述程序在被一个或多个计算机执行时,使得所述一个或多个计算机执行上述方法中执行的操作。
由以上技术方案可以看出,本发明通过在域名解析请求中携带解析需求信息,以使得域名服务器能够依据解析需求信息针对域名返回符合该解析需求信息的IP地址,从而满足终端设备的个性化解析需求。
【附图说明】
图1为现有域名解析的示意图;
图2为本发明实施例提供的一域名解析方法流程图;
图3a和图3b为本发明实施例基于图2提供的两种域名解析请求的发送路径示意图;
图4为本发明实施例提供的一种多通道系统结构示意图;
图5为本发明实施例提供的另一域名解析方法流程图;
图6a和图6b为本发明实施例基于图5提供的两种域名解析请求的发送路径示意图;
图7为本发明实施例提供的另一种多通道系统结构示意图;
图8为本发明实施例提供的一域名解析装置的结构图;
图9为本发明实施例提供的另一种装置结构图;
图10为本发明实施例提供的再一种装置结构图;
图11为本发明实施例提供的一种设备结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
为了实现针对终端设备的个性化解析域名解析,本发明在向域名服务器发送的域名解析请求中携带域名和解析需求信息,以便域名服务器针对所述域名返回包括符合该解析需求信息的IP地址的解析结果。上述包含域名和解析需求信息的域名解析请求的发送,以及上述解析结果的接收由本发明实施例提供的一域名解析装置实现,该域名解析装置可以设置为一个独立的设备(本发明实施例中称为代理解析设备)实现,也可以设置于终端设备实现。下面结合具体实施例,对本发明提供的域名解析方法进行详述。
图2为本发明实施例提供的一域名解析方法流程图,在该实施例中,上述域名解析装置通过代理解析设备实现。如图2所示,该方法可以包括以下步骤:
在201中,终端设备将要解析的域名和解析需求信息发送给代理解析设备。
在本实施例中,代理解析设备可以是网络中具备信息处理、转发能力的终端设备、服务器等独立设备。该代理解析设备的信息预先配置于终端设备,例如在终端设备上预先配置代理解析设备的IP地址,终端设备需要进行域名解析时,可以将要解析的域名和解析需求信息发送给代理解析设备。
在本发明实施例中,终端设备和代理解析设备之间可以预先约定信息发送的格式,使得终端设备可以采用该格式将要解析的域名和解析需求信息发送给代理解析设备。
其中,解析需求信息可以看做是终端设备对本次域名解析的个性化定制需求,可以包括但不限于以下信息中的至少一种:
1)白名单信息。用户可以通过终端设备限制域名服务器返回的解析结果中,仅包含白名单所限制的IP地址,实际上实现了域名解析结果基于白名单的过滤。
2)黑名单信息。用户可以通过终端设备限制域名服务器返回的解析结果中,排除黑名单所限制的IP地址,实际上实现了域名解析结果基于黑名单的过滤。例如,用户在之前进行该域名解析时,已经获知该域名对应的某些IP地址不可用,那么在本次域名解析请求时,为了提高该域名的访问成功率,可以将不可用IP地址设置为黑名单,以避免本次域名解析的解析结果中包含这些不可用IP地址。
3)解析结果中IP地址的数量信息。用户可以通过终端设备限制域名服务器返回的解析结果中IP地址的数量,例如用户可以限制解析结果中包含多个IP地址而并非一个,这样即便一个IP地址不可用(例如该IP地址对应的站点服务器或链路出现故障),还可以尝试其他IP地址来访问站点。
4)解析结果中IP地址的排序规则信息。用户可以通过终端设备设置域名服务器所返回解析结果中IP地址的排序规则,这样用户就可以按照该排序规则进行IP地址的优先选取。例如用户可以设置排序规则为:按照IP地址所对应站点服务器的性能从高到低进行排序。
5)解析结果中IP地址所对应站点服务器的属性信息。用户可以通过终端设备设置域名服务器所返回解析结果中IP地址所对应站点服务器的属性信息,例如若用户所使用的移动设备接入的是联通运营商,用户可以设置仅返回属于联通运营商的站点服务器。
另外,上述解析需求信息可以组合进行使用,例如同时设置解析结果中IP地址的数量和排序规则,等等。
除了要解析的域名和解析需求信息之外,移动设备还可以向代理解析设备提供终端设备的网络属性信息,例如终端设备的IP地址信息、接入网络的运营商信息、网络带宽信息、网络延迟信息等中的至少一种。该网络属性信息可以用于域名服务器进行域名解析时,将解析得到的IP地址与网络属性信息进行匹配,从而得到更加精准的域名解析结果。该部分将在后续进行详述。
终端设备与代理解析设备之间通信的协议可以采用预先约定的私有协议,也可以采用诸如HTTP(HyperText Transfer Protocol,超文本传输协议)等已有协议,在此不做特别限制。
在202中,代理解析设备向域名服务器发送包含上述域名和解析需求信息的域名解析请求。
代理解析设备接收到终端设备发送的域名和解析需求信息后,可以基于预先与域名服务器约定的协议封装域名解析请求,将域名和解析需求信息携带在封装后的域名解析请求中发送给域名服务器。
在本实施例中,代理解析设备与域名服务器约定的协议可以采用私有协议,也可以采用EDNS-Client-Subnet,EDNS是谷歌(google)公司提出的一份DNS扩展协议,该协议允许通过扩展字段的方式携带除了域名之外的信息,例如IP地址信息。在本发明实施例中,可以采用EDNS-Client-Subnet协议通过扩展字段的方式,在域名解析请求中携带解析需求信息和网络属性信息。
在本发明实施例中,对该域名进行管理并最终对域名进行解析的域名服务器可以称为权威域名服务器。以域名为“a.b.com”为例,代理解析设备发送的域名解析请求可能会经由根域名服务器(Root-DNS)、顶级域名服务器(本例中为.com域名服务器)、一级域名服务器(本例中为b.com域名服务器),最终发送给二级域名服务器(a.b.com域名服务器),由二级域名服务器负责对域名“a.b.com”进行解析,那么本例中二级域名服务器就是权威域名服务器。
上述域名解析请求经由根域名服务器(Root-DNS)、顶级域名服务器(本例中为.com域名服务器)、一级域名服务器(本例中为b.com域名服务器),最终发送给二级域名服务器的过程可以采用两种方式:
第一种方式:如图3a所示,代理解析设备将域名解析请求发送给根域名服务器,根域名服务器将该域名解析请求所包含域名对应的顶级域名服务器的IP地址返回给代理解析设备。代理解析设备依据顶级域名服务器的IP地址,将域名解析请求发送给顶级域名服务器。顶级域名服务器将该域名解析请求所包含域名对应的一级域名服务器的IP地址返回给代理解析设备。代理解析设备依据一级域名服务器的IP地址,将域名解析请求发送给二级域名服务器(即权威域名服务器)。
第二种方式:如图3b所示,代理解析设备将域名解析请求发送给根域名服务器,根域名服务器将该域名解析请求发送给该域名对应的顶级域名服务器。顶级域名服务器再将该域名解析请求转发给该域名对应的一级域名服务器,一级域名服务器将该域名解析请求转发给该域名对应的二级域名服务器(权威域名服务器)。
在203中,域名服务器从域名解析请求中获取域名和解析需求信息,确定该域名对应的IP地址,并从确定的IP地址中,获取符合解析需求信息的IP地址。
域名服务器依据预先与代理解析设备之间约定的协议,对域名解析请求进行解封装,从中获取域名和解析需求信息,还可以进一步获取终端设备的网络属性信息。
首先确定该域名对应的IP地址,域名服务器从管理的所有域名中,确定域名解析请求所包含域名对应的所有IP地址。然后从确定的IP地址中,获取符合解析需求信息的IP地址。例如,若解析需求信息包含白名单信息,则从确定的IP地址中获取包含在白名单中的IP地址作为解析结果。若解析需求信息包含黑名单信息,则从确定的IP地址中删除包含在黑名单中的IP地址,将剩余的IP地址作为解析结果。若解析需求信息包含IP地址的数量信息,则从确定的IP地址中选择该数量的IP地址作为解析结果。若解析需求信息包含IP地址的排序规则信息,则将确定的IP地址按照该排序规则信息进行排序后,作为解析结果。若解析需求信息包含IP地址所对应站点服务器的属性信息,则从确定的IP地址中选择与该属性信息匹配的站点服务器的IP地址作为解析结果。
若域名解析请求中包括网络属性信息,则可以首先确定该域名对应的IP地址,然后确定与网络属性信息匹配且符合解析需求的IP地址。例如从确定的IP地址中进一步确定与网络属性信息匹配的IP地址,以针对域名进行精确解析;然后再进一步从中确定符合解析需求的IP地址。
其中在确定与网络属性信息匹配的IP地址时,可以依据预设的匹配策略,在此分别举例说明:
若网络属性信息包括终端设备的IP地址信息,则可以依据该IP地址对应的终端设备的地理位置信息,匹配该域名对应的IP地址中对应地理位置与终端设备的地理位置距离较近的IP地址,或者属于同一区域的IP地址,等等。
若网络属性信息包括终端设备接入网络的运营商信息,则可以匹配该域名对应的IP地址中,对应站点服务器与终端设备接入同一运营商的IP地址。
若网络属性信息包括终端设备的网络带宽信息,则可以匹配该域名对应的IP地址中,对应站点服务器的网络带宽符合终端设备网络带宽的IP地址,例如终端设备的网络带宽为2KB,则可以选择域名对应的站点服务器中赌赢的网络带宽与终端设备网络带宽接近的IP地址,从而尽量充分的利用终端设备的网络能力。
若网络属性信息包括网络延迟信息,则可以依据终端设备当前的网络延迟信息匹配该域名对应的IP地址,选择IP地址对应的站点服务器对应的网络类型能够降低终端设备的网络延迟。例如,终端设备当前接入移动网络,但网络延迟很大,那么可以选择联通网络的站点服务器的IP地址,从而降低终端设备的网络延迟。
在204中,域名服务器向代理解析设备返回包含符合解析需求信息的IP地址的解析结果。
域名服务器依据预先与代理解析设备之间约定的协议,对解析结果进行封装,然后返回给代理解析设备。
该解析结果在如图3a所示的方式中,由权威域名服务器直接返回给代理解析设备。在如图3b所示的方式中,由权威域名服务器返回给一级域名服务器,再由一级域名服务器返回给顶级域名服务器,再由顶级域名服务器返回给根域名服务器,再由根域名服务器返回给代理解析设备。
在205中,代理解析设备将符合解析需求信息的IP地址返回给终端设备。
代理解析设备依据预先与代理解析设备之间约定的协议,对解析结果进行解封装,然后返回给终端设备。同样终端设备与代理解析设备之间通信的协议可以采用预先约定的私有协议,也可以采用诸如HTTP(HyperText Transfer Protocol,超文本传输协议)等已有协议,在此不做特别限制。
这样终端设备接收到的解析结果中包含的就是符合解析需求信息的IP地址,从而实现了解析结果的个性化定制,甚至其中的IP地址是与终端设备的网络属性信息匹配的精确解析结果。
由于网络中针对域名的解析非常频繁,因此代理解析设备在接收到解析结果后,可以将针对域名且符合域名解析请求的IP地址缓存于本地,即缓存域名、解析需求信息和IP地址之间的对应关系。那么在执行图2中所示步骤202之前,可以先判断代理解析设备本地是否缓存有针对该域名的且符合域名解析需求信息的IP地址,如果是,则将本地缓存的针对该域名的且符合域名解析需求的IP地址发送给终端设备;否则继续执行202。
若终端设备除了发送域名、解析需求信息之外,还发送网络属性信息,则代理解析设备接收到域名服务器返回的解析结果后,可以在本地保存域名、解析需求信息、网络属性信息与IP地址之间的对应关系。代理解析设备在接收到终端设备发送的包括域名、解析需求信息和网络属性信息的域名解析请求后,判断本地是否缓存有该域名、解析需求信息和网络属性信息对应的IP地址,如果存在,则将本地缓存的该域名、解析需求信息和网络属性信息对应的IP地址返回给终端设备。
另外,代理解析设备本地缓存的IP地址存在老化时间,对于到达老化时间的IP地址,代理解析设备可以及时进行删除。
除了图2所示实现方式之外,在本实施例中除了采用域名服务器依据解析需求信息进行域名解析之外,也可以兼容其他域名解析方式,从而实现多通道的域名解析。如图4所示,代理解析设备可以通过三个通道实现域名解析,图2中所示能够根据解析需求信息进行域名解析的域名服务器(图4中以权威域名服务器为例)对应通道1,还可以存在通过LDNS(Local DNS,本地域名服务器)实现域名解析的系统对应的通道2以及第三方域名解析系统对应的通道3。例如,在步骤202之前,代理解析设备可以首先探测是否存在能够依据解析需求信息进行域名解析的权威域名服务器,如果存在,则执行上述步骤202,向权威域名服务器发送包含域名和解析需求信息的域名解析请求。
如果不存在,则可以通过通道2或者通道3将包含域名的域名解析请求发送给LDNS或第三方域名解析系统。优选地,若存在第三方域名解析系统,则将包含有域名的域名解析请求发送给第三方域名解析系统,否则将包含有域名的域名解析请求发送给LDNS。
其中在探测是否存在能够依据解析需求信息进行域名解析的权威域名服务器时,代理解析设备可以利用预先与权威域名服务器约定的协议,向权威域名服务器发送探测报文,如果在设定时长内收到权威域名服务器的响应,则确定该权威域名服务器能够依据解析需求信息进行域名解析,否则确定该权威域名服务器不能够依据解析需求信息进行域名解析。
还可以存在这样一种实现方式:
若代理解析设备在步骤202之后,即发送包含域名和解析需求信息的域名解析请求后,在设定时长内未接收到权威域名服务器返回的解析结果,则可能是图4所示通道1无法实现域名解析,此时可以通过通道2对应的LDNS或通道3对应的第三方域名解析系统实现域名解析。优选地,若存在第三方域名解析系统,则将包含有域名的域名解析请求发送给第三方域名解析系统,否则将包含有域名的域名解析请求发送给LDNS。
LNDS接收到域名解析请求后,可以按照已有技术中的方式进行域名解析,即LNDS可以经由根域名服务器、顶级域名服务器、一级域名服务器等将域名解析请求发送至权威域名服务器,由权威域名服务器实现域名解析后将解析结果返回给LDNS。该过程与图3a和图3b中所示过程类似,只是采用LDNS替换解析代理设备,在此不再赘述。LDNS获取到解析结果后,将解析结果返回给解析代理设备,由解析代理设备将解析结果包含的IP地址返回给终端设备。
第三方域名解析系统指的是采用其他第三方私有协议或机制实现域名解析的系统,对于第三方域名解析系统的协议和机制本发明实施例不做限制。第三方域名解析系统可能独立实现域名解析,也可能与权威域名服务器进行交互实现域名解析,这种情况在图4中并未示出。
图5为本发明实施例提供的另一域名解析方法流程图,在该实施例中,域名解析装置通过终端设备实现。如图5所示,该方法可以包括以下步骤:
在501中,终端设备将包含要解析的域名和解析需求信息的域名解析请求发送给域名服务器。
与图2所示实施例类似的,终端设备发送的域名解析请求中还可以包含终端设备的网络属性信息。其中解析需求信息和网络属性信息可以参见图2所示实施例中的描述,在本实施例中不再赘述。
终端设备可以基于预先与域名服务器约定的协议封装域名解析请求,将域名和解析需求信息携带在封装后的域名解析请求中发送给域名服务器。其中,终端设备与域名服务器约定的协议可以采用私有协议,也可以采用EDNS-Client-Subnet。在本发明实施例中,可以采用EDNS-Client-Subnet协议通过扩展字段的方式,在域名解析请求中携带解析需求信息和网络属性信息。
在本实施例中,域名服务器同样指的是对该域名进行管理并最终对域名进行解析的域名服务器,可以称之为权威域名服务器。以域名为“a.b.com”为例,终端设备发送的域名解析请求可能会经由根域名服务器(Root-DNS)、顶级域名服务器(本例中为.com域名服务器)、一级域名服务器(本例中为b.com域名服务器),最终发送给二级域名服务器(a.b.com域名服务器),由二级域名服务器负责对域名“a.b.com”进行解析,那么本例中二级域名服务器就是权威域名服务器。
上述域名解析请求经由根域名服务器(Root-DNS)、顶级域名服务器(本例中为.com域名服务器)、一级域名服务器(本例中为b.com域名服务器),最终发送给二级域名服务器的过程可以采用两种方式:
第一种方式:如图6a所示,终端设备将域名解析请求发送给根域名服务器,根域名服务器将该域名解析请求所包含域名对应的顶级域名服务器的IP地址返回给终端设备。终端设备依据顶级域名服务器的IP地址,将域名解析请求发送给顶级域名服务器。顶级域名服务器将该域名解析请求所包含域名对应的一级域名服务器的IP地址返回给终端设备。终端设备依据一级域名服务器的IP地址,将域名解析请求发送给二级域名服务器(即权威域名服务器)。
第二种方式:如图6b所示,终端设备将域名解析请求发送给根域名服务器,根域名服务器将该域名解析请求发送给该域名对应的顶级域名服务器。顶级域名服务器再将该域名解析请求转发给该域名对应的一级域名服务器,一级域名服务器将该域名解析请求转发给该域名对应的二级域名服务器(权威域名服务器)。
因此,可以预先在终端设备上配置根域名服务器的IP地址,从而使得终端设备能够将域名解析请求发送给根域名服务器,并最终发送给权威域名服务器。
在502中,域名服务器从域名解析请求中获取域名和解析需求信息,确定该域名对应的IP地址,并从确定的IP地址中,获取符合解析需求信息的IP地址。
本步骤与图2所示实施例中步骤203的实现类似,在此不再赘述。
在503中,域名服务器向终端设备返回包含符合解析需求信息的IP地址的解析结果。
域名服务器依据预先与终端设备之间约定的协议,对解析结果进行封装,然后返回给终端设备。
该解析结果在如图6a所示的方式中,由权威域名服务器直接返回给终端设备。在如图6b所示的方式中,由权威域名服务器返回给一级域名服务器,再由一级域名服务器返回给顶级域名服务器,再由顶级域名服务器返回给根域名服务器,再由根域名服务器返回给终端设备。
终端设备接收到解析结果后,利用预先与域名服务器约定的协议对解析结果进行解封装,得到针对上述域名的且符合解析需求信息的IP地址,从而实现了解析结果的个性化定制,甚至其中的IP地址是与终端设备的网络属性信息匹配的精确解析结果。
同样,除了图5所示实现方式之外,在本实施例中除了采用域名服务器依据解析需求信息进行域名解析之外,也可以兼容其他域名解析方式,从而实现多通道的域名解析。如图7所示,终端设备可以通过三个通道实现域名解析,图5中所示能够根据解析需求信息进行域名解析的域名服务器(图7中以权威域名服务器为例)对应通道1,还可以存在通过LDNS(Local DNS,本地域名服务器)实现域名解析的系统对应的通道2以及第三方域名解析系统对应的通道3。例如,在步骤501之前,终端设备可以首先探测是否存在能够依据解析需求信息进行域名解析的权威域名服务器,如果存在,则执行上述步骤501,向权威域名服务器发送包含域名和解析需求信息的域名解析请求。
如果不存在,则可以通过通道2或者通道3将包含域名的域名解析请求发送给LDNS或第三方域名解析系统。优选地,若存在第三方域名解析系统,则将包含有域名的域名解析请求发送给第三方域名解析系统,否则将包含有域名的域名解析请求发送给LDNS。
其中在探测是否存在能够依据解析需求信息进行域名解析的权威域名服务器时,终端设备可以利用预先与权威域名服务器约定的协议,向权威域名服务器发送探测报文,如果在设定时长内收到权威域名服务器的响应,则确定该权威域名服务器能够依据解析需求信息进行域名解析,否则确定该权威域名服务器不能够依据解析需求信息进行域名解析。
还可以存在这样一种实现方式:
若终端设备在步骤501之后,即发送包含域名和解析需求信息的域名解析请求后,在设定时长内未接收到权威域名服务器返回的解析结果,则可能是图7所示通道1无法实现域名解析,此时可以通过通道2对应的LDNS或通道3对应的第三方域名解析系统实现域名解析。优选地,若存在第三方域名解析系统,则将包含有域名的域名解析请求发送给第三方域名解析系统,否则将包含有域名的域名解析请求发送给LDNS。
LNDS接收到域名解析请求后,可以按照已有技术中的方式进行域名解析,即LNDS可以经由根域名服务器、顶级域名服务器、一级域名服务器等将域名解析请求发送至权威域名服务器,由权威域名服务器实现域名解析后将解析结果返回给LDNS。该过程与图3a和图3b中所示过程类似,只是采用LDNS替换解析代理设备,在此不再赘述。LDNS获取到解析结果后,将解析结果返回给终端设备。
第三方域名解析系统指的是采用其他第三方私有协议或机制实现域名解析的系统,对于第三方域名解析系统的协议和机制本发明实施例不做限制。第三方域名解析系统可能独立实现域名解析,也可能与权威域名服务器进行交互实现域名解析,这种情况在图7中并未示出。
在上面方法所述实施例中,终端设备可以向用户提供交互界面,用户在该交互界面上除了可以输入要解析的域名之外,还可以输入解析需求信息、网络属性信息。其中解析需求信息可以完全由用户手工输入,也可以通过交互界面向用户提供可选择的解析需求信息以供用户选择输入。同样,网络属性信息可以完全由用户手工输入,也可以通过交互界面向用户提供可选择的网络属性信息以供用户选择输入,还可以通过特定的检测单元进行网络属性信息的检测后自动获取(例如自动检测终端设备接入的运营商、网速等信息)。
当然,上述解析需求信息除了通过提供给用户的交互界面获取之外,还可以通过其他方式获取,例如获取预先由域名服务器配置的解析需求信息,等等。
对于终端设备接收到的解析结果所包含的IP地址,也可以通过交互界面提供给用户。例如,终端设备针对域名返回了符合解析需求信息的3个IP地址,则可以将这3个IP地址都展现在交互界面上,用户可以从中选择一个发送访问请求以进行站点访问。
以上是对本发明所提供方法进行的详细描述,下面结合实施例对本发明提供的域名解析装置进行详述。
图8为本发明实施例提供的一域名解析装置的结构图,如图8所示,该装置可以包括:第一交互单元01和第二交互单元02,还可以包括协议适配单元03、探测单元04和缓存维护单元05。其中各组成单元的主要功能如下:
第一交互单元01负责获取要解析的域名和解析需求信息。
第二交互单元02负责向域名服务器发送包含域名和解析需求信息的域名解析请求;接收域名服务器返回的针对域名的解析结果,解析结果包括符合解析需求信息的IP地址。
该装置可以设置于终端设备,以实现图5所示实施例中终端设备所具备的功能。
上述第一交互单元01可以通过提供给用户的交互界面获取要解析的域名和解析需求信息;将解析结果包括的IP地址通过提供给用户的交互界面展示。
该装置也可以设置于代理解析设备,以实现图2所示实施例中代理解析设备所具备的功能。此时,第一交互单元01接收终端设备发送的要解析的域名和解析需求信息;将域名服务器返回的解析结果发送给终端设备。
协议适配单元03负责基于预先与域名服务器约定的协议封装域名解析请求,将封装后的域名解析请求提供给第二交互单元02;在第二交互单元02接收到解析结果后,基于预先与域名服务器约定的协议对解析结果进行解封装。
其中,终端设备与域名服务器约定的协议可以采用私有协议,也可以采用EDNS-Client-Subnet。在本发明实施例中,可以采用EDNS-Client-Subnet协议通过扩展字段的方式,在域名解析请求中携带解析需求信息。
本发明实施例中,上述解析需求信息包括以下至少一种:白名单信息、黑名单信息、解析结果中IP地址的数量信息、解析结果中IP地址的排序规则信息、或者解析结果中IP地址所对应站点服务器的属性信息。
上述域名解析请求还可以包含终端设备的网络属性信息;对应的解析结果包括的IP地址为与网络属性信息匹配的IP地址。其中,网络属性信息可以包括以下至少一种:终端设备的IP地址信息、接入网络的运营商信息、网络带宽信息或网络延迟信息。
探测单元04负责在第一交互单元01获取到要解析的域名和解析需求信息后,探测是否存在能够依据解析需求信息进行域名解析的域名服务器,如果是,则触发第二交互单元02执行向域名服务器发送包含域名和解析需求信息的域名解析请求。
第二交互单元02在探测单元04探测出不存在能够依据解析需求信息进行域名解析的域名服务器时,执行:
将包含域名的域名解析请求发送给本地域名服务器,接收本地域名服务器返回的针对域名的解析结果;或者,
将包含域名的域名解析请求发送给第三方域名解析系统,接收第三方域名解析系统返回的针对域名的解析结果;或者,
若存在第三方域名解析系统,则将包含域名的域名解析请求发送给第三方域名解析系统,接收第三方域名解析系统返回的针对域名的解析结果;否则,将包含域名的域名解析请求发送给本地域名服务器,接收本地域名服务器返回的针对域名的解析结果。
具体地,探测单元04在探测是否存在能够依据解析需求信息进行域名解析的域名服务器时,可以利用预先与域名服务器约定的协议,向域名服务器发送探测报文,如果在设定时长内收到域名服务器的响应,则确定该域名服务器能够依据解析需求信息进行域名解析;否则确定该域名服务器不能够依据解析需求信息进行域名解析。
还存在另外一种实现方式,第二交互单元02在发送域名解析请求后的设定时长内,若未接收到解析结果,则:
将包含域名的域名解析请求发送给本地域名服务器,接收本地域名服务器返回的针对域名的解析结果;或者,
将包含域名的域名解析请求发送给第三方域名解析系统,接收第三方域名解析系统返回的针对域名的解析结果;或者,
若存在第三方域名解析系统,则将包含域名的域名解析请求发送给第三方域名解析系统,接收第三方域名解析系统返回的针对域名的解析结果;否则,将包含域名的域名解析请求发送给本地域名服务器,接收本地域名服务器返回的针对域名的解析结果。
缓存维护单元05负责在第一交互单元01获取到要解析的域名和解析需求信息后,判断代理解析设备本地是否缓存有针对域名的且符合解析需求信息的IP地址,如果是,则触发第一交互单元01将本地缓存的针对域名的且符合解析需求信息的IP地址发送给终端设备;否则,触发第二交互单元02执行向域名服务器发送包含域名和解析需求信息的域名解析请求;在第二交互单元02接收到解析结果后,在代理解析设备本地缓存针对域名的且符合解析需求信息的IP地址。
另外,代理解析设备本地缓存的IP地址存在老化时间,缓存维护单元05可以删除代理解析设备本地缓存的IP地址中到达老化时间的IP地址。
需要说明的是,上述协议适配单元03、探测单元04和缓存维护单元05可以仅存在其中一个,也可以以任意组合的形式存在。在图8中以各单元同时存在为例给出了一种结构示意图,在该结构下,第一交互单元01可以获取要解析的域名和解析需求信息后,首先通过缓存维护单元05判断本地是否存储有该域名、解析需求信息对应的IP地址,如果有,则由缓存维护单元05向第一交互单元01提供对应的IP地址;否则,探测单元04进行图4或图7中通道1的探测,如果探测存在通道1对应的域名服务器,则触发协议适配单元03采用与域名服务器约定的协议,即通道1的协议对包含域名和解析需求信息的域名解析请求进行封装,然后由第二交互单元02通过通道1发送给域名服务器。如果探测出不存在通道1对应的域名服务器,则触发协议适配单元03采用通道2对应的协议或通道3对应的协议,对包含域名的域名解析请求进行封装,然后由第二交互单元02通过通道2或通道3进行发送。对于第二交互单元02接收到的解析结果,由协议适配单元03进行解封装,然后一方面将得到的IP地址提供给缓存维护单元05进行本地缓存,另一方面将得到的IP地址提供给第一交互单元01。
图9为本发明实施例提供的另一种装置结构图,该装置设置于终端设备,用以实现图2所示实施例中终端设备的功能。如图9所示,该装置可以包括:发送单元11和接收单元12。其中各组成单元的主要功能如下:
发送单元11负责向代理解析设备发送包含要解析的域名以及解析需求信息。
接收单元12负责从代理解析设备接收域名服务器返回的针对域名的解析结果,解析结果包括符合解析需求信息的IP地址。
其中,上述解析需求信息可以包括以下至少一种:白名单信息、黑名单信息、解析结果中IP地址的数量信息、解析结果中IP地址的排序规则信息、或者解析结果中IP地址所对应站点服务器的属性信息。
发送单元11在向代理解析设备发送包含要解析的域名以及解析需求信息时,还可以向代理解析设备发送终端设备的网络属性信息;相应地,解析结果包括的IP地址为与网络属性信息匹配的IP地址。
其中,网络属性信息可以包括以下至少一种:终端设备的IP地址信息、接入网络的运营商信息、网络带宽信息或网络延迟信息。
上述发送单元11可以通过终端设备向用户提供的交互界面,获取用户输入的域名和解析需求信息,还可以获取网络属性信息。接收单元12还可以通过交互界面将接收到的解析结果中包含的IP地址展现给用户。
图10为本发明实施例提供的再一种装置结构图,该装置设置于域名服务器,已完成图2以及图5所示实施例中域名服务器的功能。如图10所示,该装置可以包括:接收单元21、确定单元22、获取单元23和发送单元24。其中各组成单元的主要功能包括:
接收单元21负责接收包含域名和解析需求信息的域名解析请求。其中,接收单元21可以基于预先与发送域名解析请求的设备约定的协议,解封装域名解析请求,获取域名和解析需求信息。
确定单元22负责确定域名对应的IP地址。
获取单元23负责从确定单元22确定的IP地址中,获取符合解析需求信息的IP地址。
发送单元24负责返回包含符合解析需求信息的IP地址的解析结果。具体地,发送单元24可以基于预先与发送域名解析请求的设备约定的协议,封装解析结果,将封装后的解析结果返回给发送域名解析请求的设备。
其中发送域名解析请求的设备可以是终端设备或代理解析设备。
上述预先与发送域名解析请求的设备约定的协议可以采用私有协议,也可以采用诸如EDNS-CLIENT-SUBNET协议。
上述解析需求信息可以包括以下至少一种:白名单信息、黑名单信息、解析结果中IP地址的数量信息、解析结果中IP地址的排序规则信息、或者解析结果中IP地址所对应站点服务器的属性信息。
例如,若解析需求信息包含白名单信息,则获取单元23可以从确定单元22确定的IP地址中获取包含在白名单中的IP地址作为解析结果。若解析需求信息包含黑名单信息,则获取单元23可以从确定单元22确定的IP地址中删除包含在黑名单中的IP地址,将剩余的IP地址作为解析结果。若解析需求信息包含IP地址的数量信息,则获取单元23可以从确定单元22确定的IP地址中选择该数量的IP地址作为解析结果。若解析需求信息包含IP地址的排序规则信息,则获取单元23可以将确定单元22确定的IP地址按照该排序规则信息进行排序后,作为解析结果。若解析需求信息包含IP地址所对应站点服务器的属性信息,则获取单元23从确定单元22确定的IP地址中选择与该属性信息匹配的站点服务器的IP地址作为解析结果。
另外,域名解析请求还可以包含终端设备的网络属性信息,此时获取单元23可以从确定的IP地址中,确定与网络属性信息匹配且符合解析需求的IP地址。
其中,网络属性信息可以包括以下至少一种:终端设备的IP地址信息、接入网络的运营商信息、网络带宽信息或网络延迟信息。
其中在确定与网络属性信息匹配的IP地址时,可以依据预设的匹配策略,在此分别举例说明:
若网络属性信息包括终端设备的IP地址信息,则可以依据该IP地址对应的终端设备的地理位置信息,匹配该域名对应的IP地址中对应地理位置与终端设备的地理位置距离较近的IP地址,或者属于同一区域的IP地址,等等。
若网络属性信息包括终端设备接入网络的运营商信息,则可以匹配该域名对应的IP地址中,对应站点服务器与终端设备接入同一运营商的IP地址。
若网络属性信息包括终端设备的网络带宽信息,则可以匹配该域名对应的IP地址中,对应站点服务器的网络带宽符合终端设备网络带宽的IP地址,例如终端设备的网络带宽为2KB,则可以选择域名对应的站点服务器中赌赢的网络带宽与终端设备网络带宽接近的IP地址,从而尽量充分的利用终端设备的网络能力。
若网络属性信息包括网络延迟信息,则可以依据终端设备当前的网络延迟信息匹配该域名对应的IP地址,选择IP地址对应的站点服务器对应的网络类型能够降低终端设备的网络延迟。例如,终端设备当前接入移动网络,但网络延迟很大,那么可以选择联通网络的站点服务器的IP地址,从而降低终端设备的网络延迟。
图11示例性地示出了根据各种实施例的示例设备800。设备800可包括一个或多个处理器802,系统控制逻辑801耦合于至少一个处理器802,非易失性存储器(non-volatilememory,NMV)/存储器804耦合于系统控制逻辑801,网络接口806耦合于系统控制逻辑801。
处理器802可包括一个或多个单核处理器或多核处理器。处理器802可包括任何一般用途处理器或专用处理器(如图像处理器、应用处理器基带处理器等)的组合。
一个实施例中的系统控制逻辑801,可包括任何适当的接口控制器,以提供到处理器802中的至少一个的任何合适的接口,和/或提供到与系统控制逻辑801通信的任何合适的设备或组件的任何合适的接口。
一个实施例中的系统控制逻辑801,可包括一个或多个内存控制器,以提供到系统内存803的接口。系统内存803用来加载以及存储数据和/或指令。例如,对应设备800,在一个实施例中,系统内存803可包括任何合适的易失性存储器。
NVM/存储器804可包括一个或多个有形的非暂时的计算机可读介质,用于存储数据和/或指令。例如,NVM/存储器804可包括任何合适的非易失性存储装置,如一个或多个硬盘(hard disk device,HDD),一个或多个光盘(compact disk,CD),和/或一个或多个数字通用盘(digital versatile disk,DVD)。
NVM/存储器804可包括存储资源,该存储资源物理上是该系统所安装的或者可以被访问的设备的一部分,但不一定是设备的一部分。例如,NVM/存储器804可经由网络接口806被网络访问。
系统内存803以及NVM/存储器804可分别包括临时的或持久的指令810的副本。指令810可包括当由处理器802中的至少一个执行时导致设备800实现图2或图5描述任意设备所执行方法之一或组合的指令。各实施例中,指令810或硬件、固件,和/或软件组件可另外地/可替换地被置于系统控制逻辑801,网络接口806和/或处理器802。
网络接口806可包括一个接收器来为设备800提供无线接口来与一个或多个网络和/或任何合适的设备进行通信。网络接口806可包括任何合适的硬件和/或固件。网络接口806可包括多个天线来提供多输入多输出无线接口。在一个实施例中,网络接口806可包括一个网络适配器、一个无线网络适配器、一个电话调制解调器,和/或无线调制解调器。
在一个实施例中,处理器802中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑一起封装。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑一起封装以形成系统级封装。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑集成在相同的管芯上。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑集成在相同的管芯上以形成系统芯片。
设备800可进一步包括输入/输出装置805。输入/输出装置805可包括用户接口旨在使用户与设备800进行交互,可包括外围组件接口,其被设计为使得外围组件能够与系统交互,和/或,可包括传感器,旨在确定环境条件和/或有关设备800的位置信息。
在此列举一个应用场景:
假设用户要访问一个域名“a.b.com”,则通过终端设备提供的交互界面输入域名,另外假设之前尝试过访问该域名,但使用的IP地址对应的链路中断或速度很慢,则可以将这些IP地址设置为黑名单,另外可以定制针对该域名返回与终端设备的属性信息最匹配的10个IP地址,将这些作为解析需求信息。另外,终端设备可以自动检测网络属性,然后将要解析的域名、解析需求信息和网络属性信息通过HTTP协议发送给代理解析设备。例如下所示:
然后代理解析设备将域名、解析需求信息和网络属性信息基于EDNS-CLIENT-SUBNET协议进行封装得到域名解析请求后发送给域名服务器。
域名服务器基于EDNS-CLIENT-SUBNET协议对域名解析请求进行解封装,确定a.b.com对应的IP地址。然后将确定出的IP地址与终端设备的网络属性信息进行匹配,例如匹配IP地址对应的站点服务器与北京的距离,是否属于移动运营商、网络带宽是否大于2K等等,然后综合各因素对IP地址进行排序,排除黑名单中包含的IP地址之后,选择排在前10个的IP地址。然后将这10个IP地址基于EDNS-CLIENT-SUBNET协议进行封装,将封装后得到的解析结果返回给代理解析设备。
代理解析设备基于EDNS-CLIENT-SUBNET协议对解析结果进行解封装,然后通过HTTP协议将解析结果包含的IP地址返回给终端设备,例如下所示:
由以上描述可以看出,本发明提供的上述方法、装置、设备和计算机存储介质可以具备以下优点:
1)本发明通过在域名解析请求中携带解析需求信息,以使得域名服务器能够依据解析需求信息针对域名返回符合该解析需求信息的IP地址,从而满足终端设备的个性化解析需求。
2)域名解析请求中还可以携带终端设备的网络属性信息,以使得域名服务器能够依据该网络属性信息实现精确域名解析,从而返回与该网络属性信息匹配的IP地址。
3)本发明还可以同时兼容第三方域名解析和现有基于LDNS的域名解析,从而实现多通道域名解析方案。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (58)
1.一种域名解析方法,其特征在于,该方法包括:
获取要解析的域名和解析需求信息;
向域名服务器发送包含所述域名和解析需求信息的域名解析请求;
接收域名服务器返回的针对所述域名的解析结果,所述解析结果包括符合所述解析需求信息的IP地址。
2.根据权利要求1所述的方法,其特征在于,该方法由终端设备执行。
3.根据权利要求2所述的方法,其特征在于,所述获取要解析的域名和解析需求信息包括:通过提供给用户的交互界面获取要解析的域名和解析需求信息;
该方法还包括:将解析结果包括的IP地址通过提供给用户的交互界面展示。
4.根据权利要求1所述的方法,其特征在于,该方法由代理解析设备执行。
5.根据权利要求4所述的方法,其特征在于,所述获取要解析的域名和解析需求信息包括:接收终端设备发送的要解析的域名和解析需求信息;
该方法还包括:将所述解析结果发送给所述终端设备。
6.根据权利要求1所述的方法,其特征在于,在向域名服务器发送域名解析请求时,基于预先与所述域名服务器约定的协议封装所述域名解析请求;
在接收到所述解析结果时,基于预先与所述域名服务器约定的协议对所述解析结果进行解封装。
7.根据权利要求6所述的方法,其特征在于,所述预先与所述域名服务器约定的协议包括:EDNS-CLIENT-SUBNET协议。
8.根据权利要求1所述的方法,其特征在于,所述解析需求信息包括以下至少一种:
白名单信息、黑名单信息、解析结果中IP地址的数量信息、解析结果中IP地址的排序规则信息、或者解析结果中IP地址所对应站点服务器的属性信息。
9.根据权利要求1所述的方法,其特征在于,所述域名解析请求还包含所述终端设备的网络属性信息;
所述解析结果包括的IP地址为与所述网络属性信息匹配的IP地址。
10.根据权利要求9所述的方法,其特征在于,所述网络属性信息包括以下至少一种:
所述终端设备的IP地址信息、接入网络的运营商信息、网络带宽信息或网络延迟信息。
11.根据权利要求1所述的方法,其特征在于,在所述向域名服务器发送包含所述域名和解析需求信息的域名解析请求之前,还包括:
探测是否存在能够依据解析需求信息进行域名解析的域名服务器,如果是,则继续执行所述向域名服务器发送包含所述域名和解析需求信息的域名解析请求。
12.根据权利要求11所述的方法,其特征在于,如果不存在能够依据解析需求信息进行域名解析的域名服务器,则:
将包含所述域名的域名解析请求发送给本地域名服务器,接收所述本地域名服务器返回的针对所述域名的解析结果;或者,
将包含所述域名的域名解析请求发送给第三方域名解析系统,接收所述第三方域名解析系统返回的针对所述域名的解析结果;或者,
若存在第三方域名解析系统,则将包含所述域名的域名解析请求发送给第三方域名解析系统,接收所述第三方域名解析系统返回的针对所述域名的解析结果;否则,将包含所述域名的域名解析请求发送给本地域名服务器,接收所述本地域名服务器返回的针对所述域名的解析结果。
13.根据权利要求11所述的方法,其特征在于,所述探测是否存在能够依据解析需求信息进行域名解析的域名服务器包括:
利用预先与所述域名服务器约定的协议,向所述域名服务器发送探测报文,如果在设定时长内收到所述域名服务器的响应,则确定该域名服务器能够依据解析需求信息进行域名解析;否则确定该域名服务器不能够依据解析需求信息进行域名解析。
14.根据权利要求1所述的方法,其特征在于,该方法还包括:
在发送所述域名解析请求后的设定时长内,若未接收到所述解析结果,则:
将包含所述域名的域名解析请求发送给本地域名服务器,接收所述本地域名服务器返回的针对所述域名的解析结果;或者,
将包含所述域名的域名解析请求发送给第三方域名解析系统,接收所述第三方域名解析系统返回的针对所述域名的解析结果;或者,
若存在第三方域名解析系统,则将包含所述域名的域名解析请求发送给第三方域名解析系统,接收所述第三方域名解析系统返回的针对所述域名的解析结果;否则,将包含所述域名的域名解析请求发送给本地域名服务器,接收所述本地域名服务器返回的针对所述域名的解析结果。
15.根据权利要求5所述的方法,其特征在于,在所述向域名服务器发送包含所述域名和解析需求信息的域名解析请求之前,还包括:
判断代理解析设备本地是否缓存有针对所述域名的且符合所述解析需求信息的IP地址,如果是,则将本地缓存的针对所述域名的且符合所述解析需求信息的IP地址发送给所述终端设备;否则,继续执行所述向域名服务器发送包含所述域名和解析需求信息的域名解析请求;
在接收域名服务器返回的针对所述域名的解析结果后,还包括:在代理解析设备本地缓存针对所述域名的且符合所述解析需求信息的IP地址。
16.根据权利要求15所述的方法,其特征在于,该方法还包括:
删除所述代理解析设备本地缓存的IP地址中到达老化时间的IP地址。
17.一种域名解析方法,其特征在于,该方法包括:
向代理解析设备发送包含要解析的域名以及解析需求信息;
从代理解析设备接收域名服务器返回的针对所述域名的解析结果,所述解析结果包括符合所述解析需求信息的IP地址。
18.根据权利要求17所述的方法,其特征在于,所述解析需求信息包括以下至少一种:
白名单信息、黑名单信息、解析结果中IP地址的数量信息、解析结果中IP地址的排序规则信息、或者解析结果中IP地址所对应站点服务器的属性信息。
19.根据权利要求17所述的方法,其特征在于,在所述向代理解析设备发送包含要解析的域名以及解析需求信息时,还向所述代理解析设备发送终端设备的网络属性信息;
所述解析结果包括的IP地址为与所述网络属性信息匹配的IP地址。
20.根据权利要求19所述的方法,其特征在于,所述网络属性信息包括以下至少一种:
所述终端设备的IP地址信息、接入网络的运营商信息、网络带宽信息或网络延迟信息。
21.一种域名解析方法,其特征在于,该方法包括:
接收包含域名和解析需求信息的域名解析请求;
确定所述域名对应的IP地址;
从确定的IP地址中,获取符合所述解析需求信息的IP地址;
返回包含符合所述解析需求信息的IP地址的解析结果。
22.根据权利要求21所述的方法,其特征在于,所述接收包含域名和解析需求信息的域名解析请求包括:
基于预先与发送所述域名解析请求的设备约定的协议,解封装所述域名解析请求,获取域名和解析需求信息;
所述返回包含符合所述解析需求信息的IP地址的解析结果包括:
基于预先与发送所述域名解析请求的设备约定的协议,封装所述解析结果,将封装后的解析结果返回给发送所述域名解析请求的设备;
其中发送所述域名解析请求的设备包括:终端设备或代理解析设备。
23.根据权利要求22所述的方法,其特征在于,所述预先与发送所述域名解析请求的设备约定的协议包括:EDNS-CLIENT-SUBNET协议。
24.根据权利要求21所述的方法,其特征在于,所述解析需求信息包括以下至少一种:
白名单信息、黑名单信息、解析结果中IP地址的数量信息、解析结果中IP地址的排序规则信息、或者解析结果中IP地址所对应站点服务器的属性信息。
25.根据权利要求21所述的方法,其特征在于,所述域名解析请求还包含终端设备的网络属性信息;
所述从确定的IP地址中,获取符合所述解析需求信息的IP地址包括:
从确定的IP地址中,确定与所述网络属性信息匹配且符合所述解析需求的IP地址。
26.根据权利要求25所述的方法,其特征在于,所述网络属性信息包括以下至少一种:
所述终端设备的IP地址信息、接入网络的运营商信息、网络带宽信息或网络延迟信息。
27.一种域名解析装置,其特征在于,该装置包括:
第一交互单元,用于获取要解析的域名和解析需求信息;
第二交互单元,用于向域名服务器发送包含所述域名和解析需求信息的域名解析请求;接收域名服务器返回的针对所述域名的解析结果,所述解析结果包括符合所述解析需求信息的IP地址。
28.根据权利要求27所述的装置,其特征在于,该装置设置于终端设备。
29.根据权利要求28所述的装置,其特征在于,所述第一交互单元通过提供给用户的交互界面获取要解析的域名和解析需求信息;还用于将解析结果包括的IP地址通过提供给用户的交互界面展示。
30.根据权利要求27所述的装置,其特征在于,该装置设置于代理解析设备。
31.根据权利要求30所述的装置,其特征在于,所述第一交互单元,具体用于接收终端设备发送的要解析的域名和解析需求信息;还用于将所述解析结果发送给所述终端设备。
32.根据权利要求27所述的装置,其特征在于,该装置还包括:
协议适配单元,用于基于预先与所述域名服务器约定的协议封装所述域名解析请求,将封装后的域名解析请求提供给所述第二交互单元;在所述第二交互单元接收到所述解析结果后,基于预先与所述域名服务器约定的协议对所述解析结果进行解封装。
33.根据权利要求32所述的装置,其特征在于,所述预先与所述域名服务器约定的协议包括:EDNS-CLIENT-SUBNET协议。
34.根据权利要求27所述的装置,其特征在于,所述解析需求信息包括以下至少一种:
白名单信息、黑名单信息、解析结果中IP地址的数量信息、解析结果中IP地址的排序规则信息、或者解析结果中IP地址所对应站点服务器的属性信息。
35.根据权利要求27所述的装置,其特征在于,所述域名解析请求还包含所述终端设备的网络属性信息;
所述解析结果包括的IP地址为与所述网络属性信息匹配的IP地址。
36.根据权利要求35所述的装置,其特征在于,所述网络属性信息包括以下至少一种:
所述终端设备的IP地址信息、接入网络的运营商信息、网络带宽信息或网络延迟信息。
37.根据权利要求27所述的装置,其特征在于,该装置还包括:
探测单元,用于在所述第一交互单元获取到要解析的域名和解析需求信息后,探测是否存在能够依据解析需求信息进行域名解析的域名服务器,如果是,则触发所述第二交互单元执行所述向域名服务器发送包含所述域名和解析需求信息的域名解析请求。
38.根据权利要求37所述的装置,其特征在于,所述第二交互单元,还用于在所述探测单元探测出不存在能够依据解析需求信息进行域名解析的域名服务器时,执行:
将包含所述域名的域名解析请求发送给本地域名服务器,接收所述本地域名服务器返回的针对所述域名的解析结果;或者,
将包含所述域名的域名解析请求发送给第三方域名解析系统,接收所述第三方域名解析系统返回的针对所述域名的解析结果;或者,
若存在第三方域名解析系统,则将包含所述域名的域名解析请求发送给第三方域名解析系统,接收所述第三方域名解析系统返回的针对所述域名的解析结果;否则,将包含所述域名的域名解析请求发送给本地域名服务器,接收所述本地域名服务器返回的针对所述域名的解析结果。
39.根据权利要求37所述的装置,其特征在于,所述探测单元在探测是否存在能够依据解析需求信息进行域名解析的域名服务器时,具体执行:
利用预先与所述域名服务器约定的协议,向所述域名服务器发送探测报文,如果在设定时长内收到所述域名服务器的响应,则确定该域名服务器能够依据解析需求信息进行域名解析;否则确定该域名服务器不能够依据解析需求信息进行域名解析。
40.根据权利要求27所述的装置,其特征在于,所述第二交互单元,还用于在发送所述域名解析请求后的设定时长内,若未接收到所述解析结果,则:
将包含所述域名的域名解析请求发送给本地域名服务器,接收所述本地域名服务器返回的针对所述域名的解析结果;或者,
将包含所述域名的域名解析请求发送给第三方域名解析系统,接收所述第三方域名解析系统返回的针对所述域名的解析结果;或者,
若存在第三方域名解析系统,则将包含所述域名的域名解析请求发送给第三方域名解析系统,接收所述第三方域名解析系统返回的针对所述域名的解析结果;否则,将包含所述域名的域名解析请求发送给本地域名服务器,接收所述本地域名服务器返回的针对所述域名的解析结果。
41.根据权利要求31所述的装置,其特征在于,该装置还包括:
缓存维护单元,用于在所述第一交互单元获取到要解析的域名和解析需求信息后,判断代理解析设备本地是否缓存有针对所述域名的且符合所述解析需求信息的IP地址,如果是,则触发所述第一交互单元将本地缓存的针对所述域名的且符合所述解析需求信息的IP地址发送给所述终端设备;否则,触发所述第二交互单元执行所述向域名服务器发送包含所述域名和解析需求信息的域名解析请求;在所述第二交互单元接收到所述解析结果后,在代理解析设备本地缓存针对所述域名的且符合所述解析需求信息的IP地址。
42.根据权利要求41所述的装置,其特征在于,所述缓存维护单元,还用于删除所述代理解析设备本地缓存的IP地址中到达老化时间的IP地址。
43.一种域名解析装置,设置于终端设备,其特征在于,该装置包括:
发送单元,用于向代理解析设备发送包含要解析的域名以及解析需求信息;
接收单元,用于从代理解析设备接收域名服务器返回的针对所述域名的解析结果,所述解析结果包括符合所述解析需求信息的IP地址。
44.根据权利要求43所述的装置,其特征在于,所述解析需求信息包括以下至少一种:
白名单信息、黑名单信息、解析结果中IP地址的数量信息、解析结果中IP地址的排序规则信息、或者解析结果中IP地址所对应站点服务器的属性信息。
45.根据权利要求43所述的装置,其特征在于,所述发送单元在所述向代理解析设备发送包含要解析的域名以及解析需求信息时,还向所述代理解析设备发送终端设备的网络属性信息;
所述解析结果包括的IP地址为与所述网络属性信息匹配的IP地址。
46.根据权利要求45所述的装置,其特征在于,所述网络属性信息包括以下至少一种:
所述终端设备的IP地址信息、接入网络的运营商信息、网络带宽信息或网络延迟信息。
47.一种域名解析装置,设置于域名服务器,其特征在于,该装置包括:
接收单元,用于接收包含域名和解析需求信息的域名解析请求;
确定单元,用于确定所述域名对应的IP地址;
获取单元,用于从所述确定单元确定的IP地址中,获取符合所述解析需求信息的IP地址;
发送单元,用于返回包含符合所述解析需求信息的IP地址的解析结果。
48.根据权利要求47所述的装置,其特征在于,所述接收单元,具体用于基于预先与发送所述域名解析请求的设备约定的协议,解封装所述域名解析请求,获取域名和解析需求信息;
所述发送单元,具体用于基于预先与发送所述域名解析请求的设备约定的协议,封装所述解析结果,将封装后的解析结果返回给发送所述域名解析请求的设备;
其中发送所述域名解析请求的设备包括:终端设备或代理解析设备。
49.根据权利要求48所述的装置,其特征在于,所述预先与发送所述域名解析请求的设备约定的协议包括:EDNS-CLIENT-SUBNET协议。
50.根据权利要求47所述的装置,其特征在于,所述解析需求信息包括以下至少一种:
白名单信息、黑名单信息、解析结果中IP地址的数量信息、解析结果中IP地址的排序规则信息、或者解析结果中IP地址所对应站点服务器的属性信息。
51.根据权利要求47所述的装置,其特征在于,所述域名解析请求还包含终端设备的网络属性信息;
所述获取单元,具体用于从确定的IP地址中,确定与所述网络属性信息匹配且符合所述解析需求的IP地址。
52.根据权利要求51所述的装置,其特征在于,所述网络属性信息包括以下至少一种:
所述终端设备的IP地址信息、接入网络的运营商信息、网络带宽信息或网络延迟信息。
53.一种设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现如权利要求1至16任一权项所述方法中执行的操作。
54.一种设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现如权利要求17至20任一权项所述方法中执行的操作。
55.一种设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现如权利要求21至26任一权项所述方法中执行的操作。
56.一种计算机存储介质,所述计算机存储介质被编码有计算机程序,所述程序在被一个或多个计算机执行时,使得所述一个或多个计算机执行如权利要求1至16任一权项所述方法中执行的操作。
57.一种计算机存储介质,所述计算机存储介质被编码有计算机程序,所述程序在被一个或多个计算机执行时,使得所述一个或多个计算机执行如权利要求17至20任一权项所述方法中执行的操作。
58.一种计算机存储介质,所述计算机存储介质被编码有计算机程序,所述程序在被一个或多个计算机执行时,使得所述一个或多个计算机执行如权利要求21至26任一权项所述方法中执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710682139.2A CN109391703B (zh) | 2017-08-10 | 2017-08-10 | 域名解析方法、装置、设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710682139.2A CN109391703B (zh) | 2017-08-10 | 2017-08-10 | 域名解析方法、装置、设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109391703A true CN109391703A (zh) | 2019-02-26 |
CN109391703B CN109391703B (zh) | 2021-11-23 |
Family
ID=65414444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710682139.2A Active CN109391703B (zh) | 2017-08-10 | 2017-08-10 | 域名解析方法、装置、设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109391703B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981766A (zh) * | 2019-03-19 | 2019-07-05 | 广州华多网络科技有限公司 | Http请求处理方法、处理系统、服务器及存储介质 |
CN110933177A (zh) * | 2019-12-04 | 2020-03-27 | 国家计算机网络与信息安全管理中心 | 一种域名请求处理方法及装置 |
CN111064821A (zh) * | 2019-12-23 | 2020-04-24 | 北京达佳互联信息技术有限公司 | 边缘节点的ip地址的确定方法和装置 |
CN111371914A (zh) * | 2020-02-25 | 2020-07-03 | 网宿科技股份有限公司 | Ip库生成方法、域名解析方法、电子设备和可读存储介质 |
CN113067909A (zh) * | 2020-01-02 | 2021-07-02 | 中国移动通信有限公司研究院 | 边缘节点寻址方法、装置、设备及存储介质 |
CN113067781A (zh) * | 2020-01-02 | 2021-07-02 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及其装置 |
CN113301074A (zh) * | 2020-04-26 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据请求负载调度方法、装置、电子设备及可读存储介质 |
CN113316926A (zh) * | 2019-05-16 | 2021-08-27 | 深圳市欢太科技有限公司 | 域名处理方法、装置、电子设备以及存储介质 |
CN114051016A (zh) * | 2022-01-12 | 2022-02-15 | 满金坝(深圳)科技有限公司 | 移动终端在http请求时ip智能匹配方法以及移动终端 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087253A (zh) * | 2007-04-04 | 2007-12-12 | 华为技术有限公司 | 保存域名系统记录的方法、装置、域名解析方法及装置 |
CN101282368A (zh) * | 2007-04-04 | 2008-10-08 | 华为技术有限公司 | 保存域名系统记录的方法、装置、域名解析方法及装置 |
CN101834910A (zh) * | 2007-04-04 | 2010-09-15 | 华为技术有限公司 | 域名解析方法及装置 |
CN102045411A (zh) * | 2009-10-13 | 2011-05-04 | 中国移动通信集团公司 | 一种域名解析方法、服务器和系统 |
CN102624939A (zh) * | 2011-01-28 | 2012-08-01 | 株式会社Ntt都科摩 | 用于确定应当响应服务请求的服务器的方法与装置 |
CN103002070A (zh) * | 2012-12-25 | 2013-03-27 | 上海牙木通讯技术有限公司 | 一种域名解析方法及装置 |
CN103491201A (zh) * | 2013-08-27 | 2014-01-01 | 北京蓝汛通信技术有限责任公司 | 一种域名解析的方法和域名服务器 |
CN104168340A (zh) * | 2014-07-24 | 2014-11-26 | 深圳市腾讯计算机系统有限公司 | 域名解析的方法、服务器、终端及系统 |
CN104243627A (zh) * | 2014-08-29 | 2014-12-24 | 华为技术有限公司 | 一种域名解析方法、装置及系统 |
CN105491173A (zh) * | 2014-09-18 | 2016-04-13 | 中国电信股份有限公司 | 一种dns解析方法、服务器及网络系统 |
CN106790530A (zh) * | 2016-12-21 | 2017-05-31 | 北京云端智度科技有限公司 | 域名服务的跟踪和聚合方法 |
-
2017
- 2017-08-10 CN CN201710682139.2A patent/CN109391703B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087253A (zh) * | 2007-04-04 | 2007-12-12 | 华为技术有限公司 | 保存域名系统记录的方法、装置、域名解析方法及装置 |
CN101282368A (zh) * | 2007-04-04 | 2008-10-08 | 华为技术有限公司 | 保存域名系统记录的方法、装置、域名解析方法及装置 |
CN101834910A (zh) * | 2007-04-04 | 2010-09-15 | 华为技术有限公司 | 域名解析方法及装置 |
CN102045411A (zh) * | 2009-10-13 | 2011-05-04 | 中国移动通信集团公司 | 一种域名解析方法、服务器和系统 |
CN102624939A (zh) * | 2011-01-28 | 2012-08-01 | 株式会社Ntt都科摩 | 用于确定应当响应服务请求的服务器的方法与装置 |
CN103002070A (zh) * | 2012-12-25 | 2013-03-27 | 上海牙木通讯技术有限公司 | 一种域名解析方法及装置 |
CN103491201A (zh) * | 2013-08-27 | 2014-01-01 | 北京蓝汛通信技术有限责任公司 | 一种域名解析的方法和域名服务器 |
CN104168340A (zh) * | 2014-07-24 | 2014-11-26 | 深圳市腾讯计算机系统有限公司 | 域名解析的方法、服务器、终端及系统 |
CN104243627A (zh) * | 2014-08-29 | 2014-12-24 | 华为技术有限公司 | 一种域名解析方法、装置及系统 |
CN105491173A (zh) * | 2014-09-18 | 2016-04-13 | 中国电信股份有限公司 | 一种dns解析方法、服务器及网络系统 |
CN106790530A (zh) * | 2016-12-21 | 2017-05-31 | 北京云端智度科技有限公司 | 域名服务的跟踪和聚合方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981766A (zh) * | 2019-03-19 | 2019-07-05 | 广州华多网络科技有限公司 | Http请求处理方法、处理系统、服务器及存储介质 |
CN113316926A (zh) * | 2019-05-16 | 2021-08-27 | 深圳市欢太科技有限公司 | 域名处理方法、装置、电子设备以及存储介质 |
CN113316926B (zh) * | 2019-05-16 | 2023-12-05 | 深圳市欢太科技有限公司 | 域名处理方法、装置、电子设备以及存储介质 |
CN110933177A (zh) * | 2019-12-04 | 2020-03-27 | 国家计算机网络与信息安全管理中心 | 一种域名请求处理方法及装置 |
CN111064821A (zh) * | 2019-12-23 | 2020-04-24 | 北京达佳互联信息技术有限公司 | 边缘节点的ip地址的确定方法和装置 |
CN113067909A (zh) * | 2020-01-02 | 2021-07-02 | 中国移动通信有限公司研究院 | 边缘节点寻址方法、装置、设备及存储介质 |
CN113067781A (zh) * | 2020-01-02 | 2021-07-02 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及其装置 |
CN111371914A (zh) * | 2020-02-25 | 2020-07-03 | 网宿科技股份有限公司 | Ip库生成方法、域名解析方法、电子设备和可读存储介质 |
CN113301074A (zh) * | 2020-04-26 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据请求负载调度方法、装置、电子设备及可读存储介质 |
CN114051016A (zh) * | 2022-01-12 | 2022-02-15 | 满金坝(深圳)科技有限公司 | 移动终端在http请求时ip智能匹配方法以及移动终端 |
CN114051016B (zh) * | 2022-01-12 | 2022-04-12 | 满金坝(深圳)科技有限公司 | 移动终端在http请求时ip智能匹配方法以及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109391703B (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109391703A (zh) | 域名解析方法、装置、设备和计算机存储介质 | |
EP3232710B1 (en) | Method, device and system for processing traffic of mobile terminal based on content delivery network | |
EP3550892A1 (en) | Method for network slice selection, user equipment, and network device | |
CN101904135B (zh) | 为全局流量负载均衡确定客户端位置和解析器负载的dns通配符信标 | |
CN107896241A (zh) | 网络访问速度的探测方法、装置、存储介质和电子设备 | |
CN110061993B (zh) | 一种包含公网出口地址的日志生成方法、装置及接入设备 | |
CN110635965B (zh) | 一种IPv6网络质量监测方法、设备及存储介质 | |
CN103581351B (zh) | 网络访问的方法和装置 | |
CN106507419A (zh) | 连接WiFi热点的方法及装置 | |
CN110392123B (zh) | 检测出口ip地址的方法、装置和系统 | |
CN108259642A (zh) | 基于私有云的公共服务虚拟机访问方法和装置 | |
CN104301444A (zh) | 网络ip获取方法、装置、应用平台、客户端及系统 | |
CN106507414B (zh) | 报文转发方法及装置 | |
CN110392069B (zh) | Cdn业务调度处理方法及cdn服务器 | |
CN105407068B (zh) | 网络数据获取方法、装置和系统 | |
CN111106983A (zh) | 一种检测网络连通性的方法及装置 | |
CN106549989A (zh) | 一种数据传输方法及其系统、用户终端、应用服务器 | |
CN108345606A (zh) | 网页资源的获取方法和装置 | |
CN106792895B (zh) | 一种确定数据包大小的方法及设备 | |
CN108566446A (zh) | 局域网域名解析方法、装置和系统 | |
CN110166518B (zh) | 会话信息的传输方法、装置、存储介质及电子装置 | |
CN115021831B (zh) | 弱网测试方法、装置、系统、设备及存储介质 | |
JP2009503972A (ja) | 端末装置のトラフィックを傍受及び分析する装置 | |
CN113382093B (zh) | 域名解析的方法、电子装置以及系统 | |
CN105263127B (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 |