CN110392123A - 检测出口ip地址的方法、装置和系统 - Google Patents
检测出口ip地址的方法、装置和系统 Download PDFInfo
- Publication number
- CN110392123A CN110392123A CN201810366182.2A CN201810366182A CN110392123A CN 110392123 A CN110392123 A CN 110392123A CN 201810366182 A CN201810366182 A CN 201810366182A CN 110392123 A CN110392123 A CN 110392123A
- Authority
- CN
- China
- Prior art keywords
- domain name
- address
- system server
- outlet
- name system
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种检测出口IP地址的方法、装置和系统。其中,该方法包括:接收终端的本地域名系统服务器发送的域名解析请求,其中,域名解析请求包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址;从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中;向本地域名系统服务器返回域名解析应答。本发明解决了由于本地域名系统服务器的出口IP地址设置不正确导致内容分发网络调度错误的技术问题。
Description
技术领域
本发明涉及信息通信领域,具体而言,涉及一种检测出口IP地址的方法、装置和系统。
背景技术
随着信息通信技术在人们日常生活中的广泛应用,人们的生活、工作以及学习已经离不开网络。其中,CDN(Content Delivery Network,即内容分发网络)是一种新型网络内容服务体系,其基于IP网络而构建,基于内容访问与应用的效率要求、质量要求和内容秩序而提供内容的分发和服务。然而,在人们访问网络的过程中,有时候会发现网络质量比较差。除了当前时间段服务器的访问量较大造成上述问题外,还有可能是由于在CDN调度过程中由于运营商的本地域名系统服务器的配置设置错误导致CDN调度错误,进而影响用户访问网站的体验。
需要说明的是,造成运营商的本地域名系统服务器的出口IP地址配置不正确主要是因为本地域名系统服务器的出口IP地址与实际发起域名解析请求的用户的IP地址不在同一个地理区域内,例如,同一个省份。或者,本地域名系统服务器的出口IP地址与实际发起域名解析请求的用户的IP地址属于不同的运营商。例如,如图1所示的域名解析的示意图,黑龙江的联通用户A发起访问www.abc.com的请求,此时,黑龙江联通的本地缓存域名系统(即Cache DNS)服务器检测到本地无域名www.abc.com对应的记录,于是,Cache DNS服务器向本地域名系统服务器(即图1中的辽宁联通DNS服务器)发起请求。本地域名系统服务器通过一系列处理得到域名www.abc.com对应的远端域名系统(即权威DNS)服务器,并向权威DNS服务器发起解析请求。由于解析请求中具有指示权威DNS服务器返回辽宁联通递归DNS服务器的出口IP地址,因此,权威DNS服务器可从解析请求中得到出口IP地址,并将出口IP地址封装在域名解析应答中,然后将域名解析应答发送给辽宁联通递归DNS服务器将域名解析应答返回至黑龙江联通的Cache DNS服务器中,黑龙江联通的Cache DNS服务器再将得到的域名解析应答发送至黑龙江联通用户A的终端上,并显示域名解析应答中的出口IP地址,该出口IP地址即为www.abc.com对应的IP地址。在上述过程中,黑龙江的联通用户所请求的出口IP地址是由辽宁联通递归DNS服务器所提供的,即黑龙江的联通用户与其所请求的访问的IP地址不在同一个省份,黑龙江的联通用户得到的并不是最优的出口IP地址。
此外,由于CDN调度是基于用户IP地址所在的地理位置以及运营商信息进行域名解析处理的,因此,CDN无法将用户调度到距离用户最近的边缘服务器上,即用户访问的是距离自身较远的服务节点,而不是最优的服务节点,从而导致用户在访问内容分发网络时出现丢包、延迟现象,导致网页加载速度变慢,视频卡顿等,甚至导致用户无法访问网络资源。
针对上述由于本地域名系统服务器的出口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地址的系统,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:接收终端的本地域名系统服务器发送的域名解析请求,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址;从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中;向本地域名系统服务器返回域名解析应答。
在本发明实施例中,采用对域名解析请求进行配置的方式,通过接收终端的本地域名系统服务器发送的域名解析请求,然后,从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中,最后向本地域名系统服务器返回域名解析应答,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址,达到了为本地域名系统服务器分配最优的出口IP地址的目的,从而实现了提高用户访问体验的技术效果,进而解决了由于本地域名系统服务器的出口IP地址设置不正确导致内容分发网络调度错误的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种域名解析的示意图;
图2是根据本发明实施例的一种检测出口IP地址的方法的流程图;
图3是根据本发明实施例的一种检测出口IP地址的方法的流程图;
图4是根据本发明实施例的一种检测出口IP地址的方法的流程图;
图5是根据本发明实施例的一种优选的检测出口IP地址的方法的流程图;
图6是根据本发明实施例的一种检测出口IP地址的装置的结构示意图;
图7是根据本发明实施例的一种检测出口IP地址的装置的结构示意图;
图8是根据本发明实施例的一种检测出口IP地址的装置的结构示意图;以及
图9是根据本发明实施例的一种计算机终端的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
(1)CDN(Content Delivery Network),即内容分发网络,指通过部署在各地的服务器以及负载均衡、内容分发、调度等技术,使用户能够就近获取所需内容,以降低网络拥堵,提供用户的访问响应速度以及命中率。
(2)Local DNS(Local Domain Name System),即本地区的域名服务器,用于向用户提供缓存和递归服务。
(3)Local DNS出口IP,指本地域名系统服务器的出口IP地址,即出口互联网协议地址。
(4)权威DNS,指经过上一级授权并对域名进行解析的服务器,在本申请中,权威DNS为权威域名系统服务器。
实施例1
根据本申请实施例,还提供了一种检测出口IP地址的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
此外,还需要说明的是,本申请所提供的检测出口IP地址的方法可应用到人们日常访问网络的过程中。例如,当黑龙江的联通用户A发起访问www.abc.com的请求时,黑龙江联通的本地缓存域名系统(即Cache DNS)服务器检测到本地无域名www.abc.com对应的记录,此时,Cache DNS服务器向本地域名系统服务器(例如,与黑龙江的联通用户A距离最近的黑龙江联通递归DNS服务器,而并非图1中的辽宁联通递归DNS服务器)发起请求。本地域名系统服务器通过一系列处理得到域名www.abc.com对应的远端域名系统(即权威DNS)服务器,并向权威DNS服务器发起解析请求。由于解析请求的中具有指示权威DNS服务器返回黑龙江联通递归DNS服务器的出口IP地址,因此,权威DNS服务器可从解析请求的中得到出口IP地址,并将出口IP地址封装在域名解析应答中,然后将域名解析应答发送给黑龙江联通递归DNS服务器将域名解析应答返回至黑龙江联通的Cache DNS服务器中,黑龙江联通的Cache DNS服务器再将得到的域名解析应答发送至黑龙江联通用户A的终端上,并显示域名解析应答中的出口IP地址,该出口IP地址即为www.abc.com对应的IP地址。
由上述内容可知,CDN调度是建立在DNS解析之上的,通过DNS服务器可将用户请求访问的域名解析得到最适合用户的IP地址,其中,上述DNS服务器至少包括本地缓存域名系统服务器以及本地域名系统服务器。
具体的,图2是本申请所提供的检测出口IP地址的方法的流程图,由图2可知,检测出口IP地址的方法具体包括如下步骤:
步骤S202,接收终端的本地域名系统服务器发送的域名解析请求,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址。
需要说明的是,权威域名系统服务器,即权威DNS服务器可接收域名解析请求,其中,权威DNS服务器的配置文件中包含域名与主机的对应关系,因此,权威DNS服务器在接收到域名解析请求之后,根据域名解析请求从配置文件中即可得到本地域名系统服务器所请求的出口IP地址与主机的对应关系。另外,本地域名系统服务器,即本地DNS服务器用于将本地缓存域名系统服务器发送的域名解析请求发送至权威DNS服务器,并将权威DNS服务器得到的出口IP地址反馈给本地缓存域名系统服务器。其中,本地缓存域名系统服务器,即Cache DNS服务器用于存储终端所请求访问的IP地址,其中,终端与本地缓存域名系统服务器位于同一地理区域且属于同一运营商。
此外,还需要说明的是,域名由标号组成,例如,域名www.abc.com,由三个标号组成,其中,com是顶级域名,abc为二级域名,www为三级域名。其中,域名中的标号由英文和数字组成,每一个标号一般不超过63个字符,字母不区分大小写。本申请采用检测域名中是否包含预设标号来确定权威DNS服务器是否能够返回本地DNS服务器的出口IP地址(即本地DNS服务器的IP地址),其中,预设标号可以为但不限于debug,此时,域名的格式可以为:debug.abc.com或*.debug.abc.com。容易注意到的是,预设标号用来触发权威域名系统服务器返回出口IP地址,即在得到域名解析请求之后,权威域名系统服务器不会根据预设标号从本地域名系统服务器中查找出口IP地址,而是在确定解析请求包含预设标号之后,在权威域名系统服务器中查找出口IP地址,并向本地域名系统服务器返回出口IP地址,即出口IP地址是从权威域名系统服务器中获取到的,并不是从本地域名系统服务器中得到的。
步骤S204,从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中。
具体的,权威DNS服务器从域名解析请求中得到源地址字段,并根据源地址字段得到出口IP地址,最后将得到的出口IP地址封装在域名解析应答中。
步骤S206,向本地域名系统服务器返回域名解析应答。
需要说明的是,在得到域名解析应答之后,权威DNS服务器将域名解析应答发送至本地DNS服务器,本地DNS服务器再将域名解析应答发送给Cache DNS服务器,然后由CacheDNS服务器将域名解析应答发送给终端。终端在对域名解析应答进行解析之后,得到解析得到的出口IP地址。
基于上述步骤S202至步骤S206所限定的步骤,可以获知,通过接收终端的本地域名系统服务器发送的域名解析请求,然后,从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中,最后向本地域名系统服务器返回域名解析应答,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址。
容易注意到的是,由于域名解析请求中的域名包含预设标号,因此,权威DNS服务器在接收到域名解析请求之后,根据域名解析请求中的域名是否包含预设标号来确定在CDN调度过程中,出口IP地址是否正确设置,从而保证权威DNS能够返回正确的出口IP地址,进而保证内容分发网络的正确调度。
由上述内容可知,本申请所提供的检测出口IP地址的方法可以达到为本地域名系统服务器分配最优的出口IP地址的目的,从而实现了提高用户访问体验的技术效果,进而解决了由于本地域名系统服务器的出口IP地址设置不正确导致内容分发网络调度错误的技术问题。
需要说明的是,权威DNS服务器在接收到域名解析请求之后,需要从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中,具体步骤如下:
步骤S2040,对域名解析请求的源地址字段进行解析,得到出口IP地址;
步骤S2042,将出口IP地址封装在域名解析应答的回答字段中。
在一种可选的实施例中,当终端向包含预设标号(例如,debug)的域名发起A记录解析请求时,权威DNS服务器对域名解析请求进行解析,得到域名请求的源地址字段,并对源地址字段进行解析得到出口IP地址,然后将出口IP地址封装在域名解析应答的回答字段中,由此,终端在接收到域名解析应答之后,对域名解析应答进行解析,即可得到出口IP地址。
需要说明的是,A记录,即Address记录,用于指定主机名或域名对应的IP地址记录。通过A记录,用户可将域名下的网站服务器指向自己的网页服务器上。
此外,还需要说明的是,在将出口IP地址封装在域名解析应答中之后,还可对域名解析应答的生存时间字段进行设置,主要通过如下步骤:
步骤S2044,将域名解析应答的生存时间字段的取值设置为0。
需要说明的是,生存时间(TTL,即Time to Live)用来确定域名缓存的最长时间。例如,如果将生存时间设置为10分钟,则本地缓存域名系统服务器(即Cache DNS服务器)对域名的缓存时间是10分钟,在10分钟之后,Cache DNS服务器将删除盖条记录。另外,将域名解析应答的生存时间字段的取值设置为0,此时,Cache DNS服务器不会对回答字段中的信息进行缓存,因此,当终端向包含预设标号(例如,debug)的域名发起域名解析请求时,该域名解析请求均会直接递归到权威DNS服务器上,即使本地DNS服务器的出口IP地址发生改变,权威DNS服务器也能够及时发现。
此外,还需要说明的是,在实际应用中,生存时间字段的取值可能会被更改,从而导致Cache DNS服务器缓存上一次包含预设标号的域名的结果,而在缓存期间,即在生存时间的范围之内,如果本地DNS服务器的出口IP地址发生改变,当终端再次请求包含预设标号的域名时,Cache DNS服务器返回的是缓存结果,而并非最新的结果。对此,在将生存时间字段的取值设置为0之后,终端从预设字符集合中选取多个字符,生成随机字符串,然后将随机字符串设置为随机标号,将随机标号与域名解析请求组合成新的域名解析请求,其中,随机标号的域名级别低于预设标号的域名级别,新的域名解析请求经由本地域名系统服务器转发至权威域名系统服务器并请求权威域名系统服务器返回出口IP地址。
需要说明的是,上述随机字符串的长度小于63字节,并且随机字符串仅由a-z、A-Z以及0-9组成。此时,终端请求的域名为<s>.debug域名,该域名不会被缓存,Cache DNS服务器将该请求发送至权威DNS服务器上,权威DNS服务器即可返回本地DNS服务器的出口IP地址了。
在一种可选的实施例中,在权威DNS服务器接收本地域名系统服务器发送的域名解析请求之前,在权威域名系统服务器本地为本地域名系统服务器归属的区配置一个或多个域名,其中,一个或多个域名中每个域名至少包含预设标号。例如,在本地DNS服务器对应的区配置两个域名,分别为debug.abc.com和*.debug.abc.com,这两个域名均包含预设标号debug。
在一种应用场景中,权威DNS服务器配置如下两个域名,即debug.abc.com和*.debug.abc.com,上述两个域名均标记为debug,并执行如下步骤:
步骤S1,确定本地DNS服务器所请求的域名是否存在,如果不存在,则执行步骤S2,否则,执行步骤S3。
步骤S2,确定本地DNS服务器所请求的域名是否与泛域名*.debug.abc.com相匹配,如果不匹配,则权威DNS服务器返回NXDOMAIN;如果匹配,则执行步骤S3。
步骤S3,权威DNS服务器判断域名是否包含预设标号,如果不包含预设标号,则执行标准的DNS处理流程;如果包含预设标号,则执行步骤S4。
步骤S4,权威DNS服务器判断本地DNS服务器的请求类型是否为A记录,还是为AAAA记录。如果本地DNS服务器的请求类型既不是A记录,也不是AAAA记录,则返回NXDOMAIN;否则,执行步骤S5。
步骤S5,权威DNS服务器确定请求类型为A记录,则从域名解析请求中得到源地址字段,并确定源地址是否属于IPv4。如果源地址属于IPv4,则生成<请求域名,TYPE_A,CLASS_IN,0,4,IP>的记录,并将该记录封装在域名解析应答的回答字段中,同时将域名解析应答的recode字段设置为NOERROR;如果源地址不属于IPv4,则返回NXDOMAIN。
步骤S6,权威DNS服务器确定请求类型为AAAA记录,则从域名解析请求中得到源地址字段,并确定源地址是否属于IPv6。如果源地址属于IPv6,则生成<请求域名,TYPE_AAAA,CLASS_IN,0,rdlength,IP>的记录,并将该记录封装在域名解析应答的回答字段中,同时将域名解析应答的recode字段设置为NOERROR;如果源地址不属于IPv6,则返回NXDOMAIN。
需要说明的是,AAAA记录(即AAAA record)用于将域名解析到IPv6地址的DNS记录。
此外,还需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的检测出口IP地址的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种检测出口IP地址的方法的实施例,其中,图3示出了一种检测出口IP地址的方法的流程图,由图3可知,检测出口IP地址的方法具体包括如下步骤:
步骤S302,接收来自于终端的域名解析请求,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址。
需要说明的是,本地缓存域名系统服务器,即Cache DNS服务器可接收来自终端的域名解析请求,并将域名解析请求发送至本地域名系统服务器,即本地DNS服务器。其中,终端与本地缓存域名系统服务器位于同一地理区域且属于同一运营商。
此外,还需要说明的是,在域名解析请求中设置预设标号,权威域名系统服务器,即权威DNS服务器在接收到域名解析请求之后,通过判断域名中是否包含预设标号来确定是否将本地DNS服务器的出口IP地址进行返回,即只有在域名中包含预设标号时,才返回本地DNS服务器的出口IP地址。容易注意到的是,预设标号用来触发权威域名系统服务器返回出口IP地址,即在得到域名解析请求之后,权威域名系统服务器不会根据预设标号从本地域名系统服务器中查找出口IP地址,而是在确定解析请求包含预设标号之后,在权威域名系统服务器中查找出口IP地址,并向本地域名系统服务器返回出口IP地址,即出口IP地址是从权威域名系统服务器中获取到的,并不是从本地域名系统服务器中得到的。
步骤S304,经由本地域名系统服务器将域名解析请求发送至权威域名系统服务器。
需要说明的是,本地DNS服务器在得到域名解析请求后,根据域名解析请求确定域名所对应的权威DNS服务器。在确定了权威DNS服务器之后,本地DNS服务器将域名解析请求发送至权威DNS服务器,由权威DNS服务器进一步对域名解析请求进行处理。
步骤S306,经由本地域名系统服务器接收权威域名系统服务器返回的域名解析应答,其中,域名解析应答中携带有出口IP地址。
具体的,在权威DNS服务器接收到域名解析请求之后,权威DNS服务器从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中。此时,权威DNS服务器将域名解析应答通过本地DNS服务器发送至Cache DNS服务器中。同时,权威DNS服务器还将域名解析应答的生存时间字段的取值设置为0,以保证Cache DNS服务器不会缓存域名解析应答的回答字段中的信息,进而保证能够及时发现本地DNS服务器的公网网址发生改变。
步骤S308,根据出口IP地址检测终端的本地缓存域名系统服务器与本地域名系统服务器是否相匹配。
具体的,Cache DNS服务器在从域名解析应答中解析得到出口IP地址之后,可通过如下至少之一来确定本地缓存域名系统服务器(即Cache DNS服务器)与本地域名系统服务器(即本地DNS服务器)是否匹配:
方式一:根据本地缓存域名系统服务器的出口IP地址与出口IP地址确定本地缓存域名系统服务器与本地域名系统服务器是否位于同一地理区域,其中,如果确定本地缓存域名系统服务器与本地域名系统服务器位于同一地理区域,则确定本地缓存域名系统服务器与本地域名系统服务器相匹配。
方式二:根据本地缓存域名系统服务器的出口IP地址与出口IP地址确定本地缓存域名系统服务器与本地域名系统服务器是否属于同一运营商,其中,如果本地缓存域名系统服务器与本地域名系统服务器属于同一运营商,例如,均属于中国联通,则确定本地域名系统服务器与本地域名系统服务器相匹配。
另外,在确定本地缓存系统服务器与本地域名系统服务器位于同一地理区域之后,继续判断本地缓存域名系统服务器与本地域名系统服务器是否属于同一运营商,如果本地缓存域名系统服务器与本地域名系统服务器也属于同一运营商,则确定本地域名系统服务器与本地域名系统服务器相匹配。即只有同时满足上述两个条件,才确定本地域名系统服务器与本地域名系统服务器相匹配。
基于上述步骤S302至步骤S308所限定的步骤,可以获知,通过接收来自于终端的域名解析请求,并经由本地域名系统服务器将域名解析请求发送至权威域名系统服务器,然后经由本地域名系统服务器接收权威域名系统服务器返回的域名解析应答,最后根据出口IP地址检测终端的本地缓存域名系统服务器与本地域名系统服务器是否相匹配,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址,域名解析应答中携带有出口IP地址。
容易注意到的是,由于域名解析请求中的域名包含预设标号,因此,权威DNS服务器在接收到域名解析请求之后,根据域名解析请求中的域名是否包含预设标号来确定是否将出口IP地址返回至本地DNS服务器,从而使得权威DNS能够返回正确的出口IP地址,进而保证内容分发网络的正确调度。
由上述内容可知,本申请所提供的检测出口IP地址的方法可以达到为本地域名系统服务器分配最优的出口IP地址的目的,从而实现了提高用户访问体验的技术效果,进而解决了由于本地域名系统服务器的出口IP地址设置不正确导致内容分发网络调度错误的技术问题。
在一种可选的实施例中,在接收权威域名系统服务器返回的域名解析应答之后,本地缓存域名系统服务器需要对域名解析应答进行解析,具体步骤如下:
步骤S3080,从域名解析应答的回答字段中解析得到出口IP地址;
步骤S3082,从域名解析应答的生存时间字段中解析出预设数值,并根据预设数值确定出口IP地址用于本次应答而无需缓存至本地缓存域名系统服务器。
需要说明的是,上述预设数值可设置为0,以使终端向包含预设标号(例如,debug)的域名发起域名解析请求时,该域名解析请求均会直接递归到权威DNS服务器上,即使本地DNS服务器的出口IP地址发生改变,权威DNS服务器也能够及时发现。
另外,为避免生存时间字段的取值更改为其他数值,导致终端再次请求包含预设标号的域名时,本地缓存域名系统服务器返回的是缓存结果,而并非最新的结果,可从预设字符集合中选取多个字符,生成随机字符串,然后将随机字符串设置为随机标号,将随机标号与域名解析请求组合成新的域名解析请求,其中,随机标号的域名级别低于预设标号的域名级别。
实施例3
根据本发明实施例,还提供了一种检测出口IP地址的方法的实施例,其中,图4示出了一种检测出口IP地址的方法的流程图,由图4可知,检测出口IP地址的方法具体包括如下步骤:
步骤S402,向终端的本地缓存域名系统服务器发送域名解析请求,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址。
需要说明的是,终端可向本地缓存域名系统服务器发送域名解析请求,其中,终端能够访问网络的设备,例如,手机、平板、笔记本电脑等。另外,终端与本地缓存域名系统服务器位于同一地理区域且属于同一运营商,例如,终端位于黑龙江省,且属于联通运营商,与该终端对应的本地缓存域名系统服务器(即Cache DNS服务器)也位于黑龙江省,并且属于联通运营商。
此外,还需要说明的是,上述域名中所包含的预设标号可以为但不限于debug,此时,对应域名的根式可以为debug.abc.com或*.debug.abc.com。另外,在域名解析请求中设置预设标号,权威域名系统服务器,即权威DNS服务器在接收到域名解析请求之后,通过判断域名中是否包含预设标号来确定是否将本地DNS服务器的出口IP地址进行返回,即只有在域名中包含预设标号时,才返回本地DNS服务器的出口IP地址。
容易注意到的是,预设标号用来触发权威域名系统服务器返回出口IP地址,即在得到域名解析请求之后,权威域名系统服务器不会根据预设标号从本地域名系统服务器中查找出口IP地址,而是在确定解析请求包含预设标号之后,在权威域名系统服务器中查找出口IP地址,并向本地域名系统服务器返回出口IP地址,即出口IP地址是从权威域名系统服务器中获取到的,并不是从本地域名系统服务器中得到的。
步骤S404,接收本地缓存域名系统服务器返回的域名解析应答,其中,域名解析应答中携带有出口IP地址。
具体的,终端在向Cache DNS服务器发送域名解析请求之后,Cache DNS服务器将域名解析请求发送至本地域名系统服务器,本地域名系统服务器通过对域名解析请求进行处理,确定与域名解析请求中的域名对应的权威DNS服务器,并将域名解析请求发送至确定的权威DNS服务器中。权威DNS服务器在接收到解析请求之后,权威DNS服务器从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中。此时,权威DNS服务器将域名解析应答通过本地DNS服务器发送至Cache DNS服务器中,由Cache DNS服务器将域名解析应答发送至终端。
步骤S406,确定从本地缓存域名系统服务器的缓存中得到出口IP地址。
具体的,终端在接收到本地缓存域名系统服务器的域名解析应答之后,对该域名解析应答进行解析,进而得到出口IP地址。
步骤S408,构造新的域名解析请求,并将新的域名解析请求发送至本地缓存域名系统服务器,其中,新的域名解析请求中包含预设标号和随机标号。
需要说明的是,上述预设标号可以为但不限于debug,随机标号的长度小于63字节,并且随机标号仅由a-z、A-Z以及0-9组成。此时,新的域名解析请求对应的域名为:<s>.debug域名。其中,s表示随机标号。由于新的域名解析请求中的域名与本地缓存域名系统服务器中缓存的域名不匹配,因此,本地缓存域名系统服务器不会对新的域名解析请求进行缓存,而是直接将新的域名解析请求发送至本地域名系统服务器中进行处理,从而可以有效保证Cache DNS服务器不会缓存域名解析应答的回答字段中的信息,进而保证能够及时发现本地DNS服务器的公网网址发生改变。
基于上述步骤S402至步骤S408所限定的步骤,可以获知,通过向终端的本地缓存域名系统服务器发送域名解析请求,并接收本地缓存域名系统服务器返回的域名解析应答,然后确定从本地缓存域名系统服务器的缓存中得到出口IP地址,最后,构造新的域名解析请求,并将新的域名解析请求发送至本地缓存域名系统服务器,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址,新的域名解析请求中包含预设标号和随机标号。
容易注意到的是,由于域名解析请求中的域名包含预设标号,因此,权威DNS服务器在接收到域名解析请求之后,根据域名解析请求中的域名是否包含预设标号来确定是否将出口IP地址返回至本地DNS服务器,从而使得权威DNS能够返回正确的出口IP地址,进而保证内容分发网络的正确调度。
由上述内容可知,本申请所提供的检测出口IP地址的方法可以达到为本地域名系统服务器分配最优的出口IP地址的目的,从而实现了提高用户访问体验的技术效果,进而解决了由于本地域名系统服务器的出口IP地址设置不正确导致内容分发网络调度错误的技术问题。
在一种可选的实施例中,终端确定从本地缓存域名系统服务器的缓存中得到出口IP地址具体包括如下步骤:
步骤S4060,对域名解析应答的响应标记字段中解析出出口IP地址对应的状态信息。其中,状态信息至少包括如下之一:授权状态和未授权状态。
步骤S4062,若状态信息表示出口IP地址处于未授权状态,则确定从本地缓存域名系统服务器的缓存中得到出口IP地址。
具体的,终端在得到出口IP地址之后,进一步确定出口IP地址的状态信息,如果出口IP地址处于授权状态,则终端将使用该处于授权状态的出口IP地址进行网络访问。如果出口IP地址处于未授权状态,则终端将使用缓存在本地缓存域名系统服务器中的出口IP地址进行网络访问,但缓存在本地缓存域名系统服务器中的出口IP地址并不一定是最优的出口IP地址。
需要说明的是,上述步骤S4060至步骤S4062使得在存在最优的出口IP地址时,优先使用最优的出口IP地址;而在无法得到最优的出口IP地址时,仍为终端分配出口IP地址,从而使得终端可正常访问网络。
在一种可选的实施例中,构造新的域名解析请求具体包括如下步骤:
步骤S4080,从预设字符集合中选取多个字符,生成随机字符串;
步骤S4082,将随机字符串设置为随机标号,将随机标号与域名解析请求组合成新的域名解析请求,其中,随机标号的域名级别低于预设标号的域名级别。
需要说明的是,预设字符集合包括a-z、A-Z以及0-9等字符,其中,随机字符串的长度小于63字节。以s表示随机字符串,则新的域名为:<s>.debug.abc.com,其中,com为顶级域名,abc为二级域名,预设标号的域名debug为三级域名,而随机标号的域名<s>为四级域名,由此可见,随机标号的域名级别低于预设标号的域名级别。
在一种优选的实施例中,如图5所示的一种优选的检测出口IP地址的方法的流程图。具体的,首先终端得到域名,并随机生成一个字符串s,生成新的域名<s>.debug.abc.com,并发起A记录解析请求。此时,与终端位于同一地理区域,并属于同一运营商的本地缓存域名系统服务器将A记录解析请求发送至本地域名系统服务器,本地域名系统服务器根据A记录解析请求确定权威DNS服务器,并获取到权威DNS服务器发送的包含出口IP地址的域名解析应答报文。本地域名系统服务器通过本地缓存域名系统服务器将域名解析应答发送至终端,终端输出出口IP地址。此时,终端可继续获取下一条请求,并重复上述过程。
实施例4
根据本申请实施例,还提供了一种用于实施上述检测出口IP地址的方法的检测出口IP地址的装置,如图6所示,该装置包括:接收模块601、封装模块603以及返回模块605。
其中,接收模块601,用于接收终端的本地域名系统服务器发送的域名解析请求,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址;封装模块603,用于从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中;返回模块605,用于向本地域名系统服务器返回域名解析应答。
此处需要说明的是,上述接收模块601、封装模块603以及返回模块605对应于实施例1中的步骤S202至步骤S206,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的实施例中,封装模块包括:解析模块以及第一封装模块。其中,解析模块,用于对域名解析请求的源地址字段进行解析,得到出口IP地址;第一封装模块,用于将出口IP地址封装在域名解析应答的回答字段中。
此处需要说明的是,上述解析模块以及第一封装模块对应于实施例1中的步骤S2040至步骤S2042,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的实施例中,检测出口IP地址的装置还包括:第一配置模块。其中,第一配置模块,用于将域名解析应答的生存时间字段的取值设置为0。
此处需要说明的是,上述第一配置模块对应于实施例1中的步骤S2044,该模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的实施例中,检测出口IP地址的装置还包括:生成模块以及组合模块。其中,生成模块,用于从预设字符集合中选取多个字符,生成随机字符串;组合模块,用于将随机字符串设置为随机标号,将随机标号与域名解析请求组合成新的域名解析请求,其中,随机标号的域名级别低于预设标号的域名级别,新的域名解析请求经由本地域名系统服务器转发至权威域名系统服务器并请求权威域名系统服务器返回出口IP地址。
在一种可选的实施例中,检测出口IP地址的装置还包括:第二配置模块。其中,第二配置模块,用于在权威域名系统服务器本地为本地域名系统服务器归属的区配置一个或多个域名,其中,一个或多个域名中每个域名至少包含预设标号。
实施例5
根据本申请实施例,还提供了一种用于实施上述检测出口IP地址的方法的检测出口IP地址的装置,如图7所示,该装置包括:第一接收模块701、发送模块703、第二接收模块705以及检测模块707。
其中,第一接收模块701,用于接收来自于终端的域名解析请求,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址;发送模块703,用于经由本地域名系统服务器将域名解析请求发送至权威域名系统服务器;第二接收模块705,用于经由本地域名系统服务器接收权威域名系统服务器返回的域名解析应答,其中,域名解析应答中携带有出口IP地址;检测模块707,用于根据出口IP地址检测终端的本地缓存域名系统服务器与本地域名系统服务器是否相匹配。
此处需要说明的是,上述第一接收模块701、发送模块703、第二接收模块705以及检测模块707对应于实施例2中的步骤S302至步骤S308,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例二所公开的内容。
在一种可选的实施例中,根据出口IP地址检测本地缓存域名系统服务器与本地域名系统服务器是否相匹配包括以下至少之一:根据本地缓存域名系统服务器的出口IP地址与出口IP地址确定本地缓存域名系统服务器与本地域名系统服务器是否位于同一地理区域;根据本地缓存域名系统服务器的出口IP地址与出口IP地址确定本地缓存域名系统服务器与本地域名系统服务器是否属于同一运营商。
需要说明的是,终端与本地缓存域名系统服务器位于同一地理区域且属于同一运营商。
在一种可选的实施例中,检测出口IP地址的装置还包括:解析模块以及确定模块。其中,解析模块,用于从域名解析应答的回答字段中解析得到出口IP地址;确定模块,用于从域名解析应答的生存时间字段中解析出预设数值,并根据预设数值确定出口IP地址用于本次应答而无需缓存至本地缓存域名系统服务器。
此处需要说明的是,上述解析模块以及确定模块对应于实施例2中的步骤S3080至步骤S3082,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例二所公开的内容。
实施例6
根据本申请实施例,还提供了一种用于实施上述检测出口IP地址的方法的检测出口IP地址的装置,如图8所示,该装置包括:发送模块801、接收模块803、确定模块805以及构造模块807。
其中,发送模块801,用于向终端的本地缓存域名系统服务器发送域名解析请求,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址;接收模块803,用于接收本地缓存域名系统服务器返回的域名解析应答,其中,域名解析应答中携带有出口IP地址;确定模块805,用于确定从本地缓存域名系统服务器的缓存中得到出口IP地址;构造模块807,用于构造新的域名解析请求,并将新的域名解析请求发送至本地缓存域名系统服务器,其中,新的域名解析请求中包含预设标号和随机标号。
此处需要说明的是,上述发送模块801、接收模块803、确定模块805以及构造模块807对应于实施例3中的步骤S402至步骤S408,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例三所公开的内容。
在一种可选的实施例中,确定模块包括:解析模块以及第一确定模块。其中,解析模块,用于对域名解析应答的响应标记字段中解析出出口IP地址对应的状态信息;第一确定模块,用于若状态信息表示出口IP地址处于未授权状态,则确定从本地缓存域名系统服务器的缓存中得到出口IP地址。
此处需要说明的是,上述解析模块以及第一确定模块对应于实施例3中的步骤S4060至步骤S4062,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例三所公开的内容。
在一种可选的实施例中,构造模块包括:生成模块以及组合模块。其中生成模块,用于从预设字符集合中选取多个字符,生成随机字符串;组合模块,用于将随机字符串设置为随机标号,将随机标号与域名解析请求组合成新的域名解析请求,其中,随机标号的域名级别低于预设标号的域名级别。
此处需要说明的是,上述生成模块以及组合模块对应于实施例3中的步骤S4080至步骤S4082,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例三所公开的内容。
实施例7
根据本申请实施例,还提供了一种用于实施上述实施例1至3中的检测出口IP地址的方法的检测出口IP地址的系统,该系统包括:处理器;以及存储器。
其中,存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:接收终端的本地域名系统服务器发送的域名解析请求,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址;从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中;向本地域名系统服务器返回域名解析应答。
实施例8
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
图9示出了一种计算机终端的硬件结构框图。如图9所示,计算机终端A可以包括一个或多个(图中采用902a、902b,……,902n来示出)处理器902(处理器902可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器904、以及用于通信功能的传输装置906。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
应当注意到的是上述一个或多个处理器902和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端A中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
处理器902可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:检测触发指令;在检测到触发指令时,获取待解锁设备的状态信息;依据状态信息获取与状态信息对应的编码图像,其中,编码图像用于记录数据符号信息;以及展示编码图像。
存储器904可用于存储应用软件的软件程序以及模块,如本申请实施例中的检测出口IP地址的方法对应的程序指令/数据存储装置,处理器902通过运行存储在存储器904内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的检测出口IP地址的方法。存储器904可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器904可进一步包括相对于处理器902远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端A的通信供应商提供的无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置906可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端A的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图9所示的计算机终端A可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图9仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机终端A中的部件的类型。
在本实施例中,上述计算机终端A可以执行应用程序的检测出口IP地址的方法中以下步骤的程序代码:接收终端的本地域名系统服务器发送的域名解析请求,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址;从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中;向本地域名系统服务器返回域名解析应答。
可选的,上述处理器还可以执行如下步骤的程序代码:对域名解析请求的源地址字段进行解析,得到出口IP地址;将出口IP地址封装在域名解析应答的回答字段中。
可选的,上述处理器还可以执行如下步骤的程序代码:将域名解析应答的生存时间字段的取值设置为0。
可选的,上述处理器还可以执行如下步骤的程序代码:从预设字符集合中选取多个字符,生成随机字符串;将随机字符串设置为随机标号,将随机标号与域名解析请求组合成新的域名解析请求,其中,随机标号的域名级别低于预设标号的域名级别,新的域名解析请求经由本地域名系统服务器转发至权威域名系统服务器并请求权威域名系统服务器返回出口IP地址。
可选的,上述处理器还可以执行如下步骤的程序代码:在权威域名系统服务器本地为本地域名系统服务器归属的区配置一个或多个域名,其中,一个或多个域名中每个域名至少包含预设标号。
本领域普通技术人员可以理解,图9所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例9
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的检测出口IP地址的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收终端的本地域名系统服务器发送的域名解析请求,其中,域名解析请求中包含预设标号,预设标号用于触发权威域名系统服务器返回终端的本地域名系统服务器的出口IP地址;从域名解析请求中获取出口IP地址,并将出口IP地址封装在域名解析应答中;向本地域名系统服务器返回域名解析应答。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对域名解析请求的源地址字段进行解析,得到出口IP地址;将出口IP地址封装在域名解析应答的回答字段中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将域名解析应答的生存时间字段的取值设置为0。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:从预设字符集合中选取多个字符,生成随机字符串;将随机字符串设置为随机标号,将随机标号与域名解析请求组合成新的域名解析请求,其中,随机标号的域名级别低于预设标号的域名级别,新的域名解析请求经由本地域名系统服务器转发至权威域名系统服务器并请求权威域名系统服务器返回出口IP地址。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在权威域名系统服务器本地为本地域名系统服务器归属的区配置一个或多个域名,其中,一个或多个域名中每个域名至少包含预设标号。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (18)
1.一种检测出口IP地址的方法,其特征在于,包括:
接收终端的本地域名系统服务器发送的域名解析请求,其中,所述域名解析请求中包含预设标号,所述预设标号用于触发权威域名系统服务器返回所述终端的本地域名系统服务器的出口IP地址;
从所述域名解析请求中获取所述出口IP地址,并将所述出口IP地址封装在域名解析应答中;
向所述本地域名系统服务器返回所述域名解析应答。
2.根据权利要求1所述的方法,其特征在于,从所述域名解析请求中获取所述出口IP地址,并将所述出口IP地址封装在域名解析应答中包括:
对所述域名解析请求的源地址字段进行解析,得到所述出口IP地址;
将所述出口IP地址封装在所述域名解析应答的回答字段中。
3.根据权利要求2所述的方法,其特征在于,在将所述出口IP地址封装在域名解析应答中之后,还包括:
将所述域名解析应答的生存时间字段的取值设置为0。
4.根据权利要求3所述的方法,其特征在于,在将所述生存时间字段的取值设置为0之后,还包括:
从预设字符集合中选取多个字符,生成随机字符串;
将所述随机字符串设置为随机标号,将所述随机标号与所述域名解析请求组合成新的域名解析请求,其中,所述随机标号的域名级别低于所述预设标号的域名级别,所述新的域名解析请求经由所述本地域名系统服务器转发至所述权威域名系统服务器并请求所述权威域名系统服务器返回所述出口IP地址。
5.根据权利要求1所述的方法,其特征在于,在接收所述本地域名系统服务器发送的所述域名解析请求之前,还包括:
在权威域名系统服务器本地为所述本地域名系统服务器归属的区配置一个或多个域名,其中,所述一个或多个域名中每个域名至少包含所述预设标号。
6.一种检测出口IP地址的方法,其特征在于,包括:
接收来自于终端的域名解析请求,其中,所述域名解析请求中包含预设标号,所述预设标号用于触发权威域名系统服务器返回所述终端的本地域名系统服务器的出口IP地址;
经由所述本地域名系统服务器将所述域名解析请求发送至所述权威域名系统服务器;
经由所述本地域名系统服务器接收所述权威域名系统服务器返回的域名解析应答,其中,所述域名解析应答中携带有所述出口IP地址;
根据所述出口IP地址检测所述终端的本地缓存域名系统服务器与所述本地域名系统服务器是否相匹配。
7.根据权利要求6所述的方法,其特征在于,根据所述出口IP地址检测所述本地缓存域名系统服务器与所述本地域名系统服务器是否相匹配包括以下至少之一:
根据所述本地缓存域名系统服务器的出口IP地址与所述出口IP地址确定所述本地缓存域名系统服务器与所述本地域名系统服务器是否位于同一地理区域;
根据所述本地缓存域名系统服务器的出口IP地址与所述出口IP地址确定所述本地缓存域名系统服务器与所述本地域名系统服务器是否属于同一运营商。
8.根据权利要求6所述的方法,其特征在于,所述终端与所述本地缓存域名系统服务器位于同一地理区域且属于同一运营商。
9.根据权利要求6所述的方法,其特征在于,在接收所述权威域名系统服务器返回的所述域名解析应答之后,还包括:
从所述域名解析应答的回答字段中解析得到所述出口IP地址;
从所述域名解析应答的生存时间字段中解析出预设数值,并根据所述预设数值确定所述出口IP地址用于本次应答而无需缓存至所述本地缓存域名系统服务器。
10.一种检测出口IP地址的方法,其特征在于,包括:
向终端的本地缓存域名系统服务器发送域名解析请求,其中,所述域名解析请求中包含预设标号,所述预设标号用于触发权威域名系统服务器返回所述终端的本地域名系统服务器的出口IP地址;
接收所述本地缓存域名系统服务器返回的域名解析应答,其中,所述域名解析应答中携带有所述出口IP地址;
确定从所述本地缓存域名系统服务器的缓存中得到所述出口IP地址;
构造新的域名解析请求,并将所述新的域名解析请求发送至所述本地缓存域名系统服务器,其中,所述新的域名解析请求中包含所述预设标号和随机标号。
11.根据权利要求10所述的方法,其特征在于,确定从所述本地缓存域名系统服务器的缓存中得到所述出口IP地址包括:
对所述域名解析应答的响应标记字段中解析出所述出口IP地址对应的状态信息;
若所述状态信息表示所述出口IP地址处于未授权状态,则确定从所述本地缓存域名系统服务器的缓存中得到所述出口IP地址。
12.根据权利要求10所述的方法,其特征在于,构造所述新的域名解析请求包括:
从预设字符集合中选取多个字符,生成随机字符串;
将所述随机字符串设置为所述随机标号,将所述随机标号与所述域名解析请求组合成所述新的域名解析请求,其中,所述随机标号的域名级别低于所述预设标号的域名级别。
13.一种检测出口IP地址的装置,其特征在于,包括:
接收模块,用于接收终端的本地域名系统服务器发送的域名解析请求,其中,所述域名解析请求中包含预设标号,所述预设标号用于触发权威域名系统服务器返回所述终端的本地域名系统服务器的出口IP地址;
封装模块,用于从所述域名解析请求中获取所述出口IP地址,并将所述出口IP地址封装在域名解析应答中;
返回模块,用于向所述本地域名系统服务器返回所述域名解析应答。
14.一种检测出口IP地址的装置,其特征在于,包括:
第一接收模块,用于接收来自于终端的域名解析请求,其中,所述域名解析请求中包含预设标号,所述预设标号用于触发权威域名系统服务器返回所述终端的本地域名系统服务器的出口IP地址;
发送模块,用于经由所述本地域名系统服务器将所述域名解析请求发送至所述权威域名系统服务器;
第二接收模块,用于经由所述本地域名系统服务器接收所述权威域名系统服务器返回的域名解析应答,其中,所述域名解析应答中携带有所述出口IP地址;
检测模块,用于根据所述出口IP地址检测所述终端的本地缓存域名系统服务器与所述本地域名系统服务器是否相匹配。
15.一种检测出口IP地址的装置,其特征在于,包括:
发送模块,用于向终端的本地缓存域名系统服务器发送域名解析请求,其中,所述域名解析请求中包含预设标号,所述预设标号用于触发权威域名系统服务器返回所述终端的本地域名系统服务器的出口IP地址;
接收模块,用于接收所述本地缓存域名系统服务器返回的域名解析应答,其中,所述域名解析应答中携带有所述出口IP地址;
确定模块,用于确定从所述本地缓存域名系统服务器的缓存中得到所述出口IP地址;
构造模块,用于构造新的域名解析请求,并将所述新的域名解析请求发送至所述本地缓存域名系统服务器,其中,所述新的域名解析请求中包含所述预设标号和随机标号。
16.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行以下步骤:
接收终端的本地域名系统服务器发送的域名解析请求,其中,所述域名解析请求中包含预设标号,所述预设标号用于触发权威域名系统服务器返回所述终端的本地域名系统服务器的出口IP地址;
从所述域名解析请求中获取所述出口IP地址,并将所述出口IP地址封装在域名解析应答中;
向所述本地域名系统服务器返回所述域名解析应答。
17.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行以下步骤:
接收终端的本地域名系统服务器发送的域名解析请求,其中,所述域名解析请求中包含预设标号,所述预设标号用于触发权威域名系统服务器返回所述终端的本地域名系统服务器的出口IP地址;
从所述域名解析请求中获取所述出口IP地址,并将所述出口IP地址封装在域名解析应答中;
向所述本地域名系统服务器返回所述域名解析应答。
18.一种检测出口IP地址的系统,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
接收终端的本地域名系统服务器发送的域名解析请求,其中,所述域名解析请求中包含预设标号,所述预设标号用于触发权威域名系统服务器返回所述终端的本地域名系统服务器的出口IP地址;
从所述域名解析请求中获取所述出口IP地址,并将所述出口IP地址封装在域名解析应答中;
向所述本地域名系统服务器返回所述域名解析应答。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810366182.2A CN110392123B (zh) | 2018-04-23 | 2018-04-23 | 检测出口ip地址的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810366182.2A CN110392123B (zh) | 2018-04-23 | 2018-04-23 | 检测出口ip地址的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110392123A true CN110392123A (zh) | 2019-10-29 |
CN110392123B CN110392123B (zh) | 2022-06-14 |
Family
ID=68284288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810366182.2A Active CN110392123B (zh) | 2018-04-23 | 2018-04-23 | 检测出口ip地址的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110392123B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111082977A (zh) * | 2019-11-29 | 2020-04-28 | 北京金山云网络技术有限公司 | Ip地址的获取方法、装置和终端设备 |
CN111327495A (zh) * | 2020-02-25 | 2020-06-23 | 网宿科技股份有限公司 | 一种访客ip服务区域探测方法及设备 |
CN113422723A (zh) * | 2021-05-13 | 2021-09-21 | 新华三信息安全技术有限公司 | 一种转发报文的方法及设备 |
CN114124893A (zh) * | 2021-11-24 | 2022-03-01 | 广州方硅信息技术有限公司 | 域名缓存方法、装置、系统、存储介质以及计算机设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168340A (zh) * | 2014-07-24 | 2014-11-26 | 深圳市腾讯计算机系统有限公司 | 域名解析的方法、服务器、终端及系统 |
CN104363313A (zh) * | 2014-12-02 | 2015-02-18 | 网宿科技股份有限公司 | 使用内容分发网络的网站的资源使用率保障方法和系统 |
CN104468859A (zh) * | 2014-11-27 | 2015-03-25 | 中国科学院计算机网络信息中心 | 支持携带服务地址信息的dane扩展查询方法和系统 |
CN104519146A (zh) * | 2013-09-29 | 2015-04-15 | 中国电信股份有限公司 | 基于用户位置进行域名解析服务的方法与系统 |
CN106470251A (zh) * | 2015-08-19 | 2017-03-01 | 互联网域名系统北京市工程研究中心有限公司 | 域名解析方法及虚拟dns权威服务器 |
US20170126616A1 (en) * | 2015-11-02 | 2017-05-04 | Nominum, Inc. | Delegation of Content Delivery to a Local Service |
CN107786678A (zh) * | 2016-08-24 | 2018-03-09 | 北京金山云网络技术有限公司 | 域名解析方法、装置及系统 |
CN107888714A (zh) * | 2017-10-31 | 2018-04-06 | 贵州白山云科技有限公司 | 一种选择本地缓存dns的方法及装置 |
-
2018
- 2018-04-23 CN CN201810366182.2A patent/CN110392123B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104519146A (zh) * | 2013-09-29 | 2015-04-15 | 中国电信股份有限公司 | 基于用户位置进行域名解析服务的方法与系统 |
CN104168340A (zh) * | 2014-07-24 | 2014-11-26 | 深圳市腾讯计算机系统有限公司 | 域名解析的方法、服务器、终端及系统 |
CN104468859A (zh) * | 2014-11-27 | 2015-03-25 | 中国科学院计算机网络信息中心 | 支持携带服务地址信息的dane扩展查询方法和系统 |
CN104363313A (zh) * | 2014-12-02 | 2015-02-18 | 网宿科技股份有限公司 | 使用内容分发网络的网站的资源使用率保障方法和系统 |
CN106470251A (zh) * | 2015-08-19 | 2017-03-01 | 互联网域名系统北京市工程研究中心有限公司 | 域名解析方法及虚拟dns权威服务器 |
US20170126616A1 (en) * | 2015-11-02 | 2017-05-04 | Nominum, Inc. | Delegation of Content Delivery to a Local Service |
CN107786678A (zh) * | 2016-08-24 | 2018-03-09 | 北京金山云网络技术有限公司 | 域名解析方法、装置及系统 |
CN107888714A (zh) * | 2017-10-31 | 2018-04-06 | 贵州白山云科技有限公司 | 一种选择本地缓存dns的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111082977A (zh) * | 2019-11-29 | 2020-04-28 | 北京金山云网络技术有限公司 | Ip地址的获取方法、装置和终端设备 |
CN111327495A (zh) * | 2020-02-25 | 2020-06-23 | 网宿科技股份有限公司 | 一种访客ip服务区域探测方法及设备 |
CN111327495B (zh) * | 2020-02-25 | 2021-08-27 | 网宿科技股份有限公司 | 一种访客ip服务区域探测方法及设备 |
CN113422723A (zh) * | 2021-05-13 | 2021-09-21 | 新华三信息安全技术有限公司 | 一种转发报文的方法及设备 |
CN113422723B (zh) * | 2021-05-13 | 2023-05-16 | 新华三信息安全技术有限公司 | 一种转发报文的方法及设备 |
CN114124893A (zh) * | 2021-11-24 | 2022-03-01 | 广州方硅信息技术有限公司 | 域名缓存方法、装置、系统、存储介质以及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110392123B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110392123A (zh) | 检测出口ip地址的方法、装置和系统 | |
CN103780715B (zh) | 域名解析实现方法、客户端和云服务器 | |
CN103685583B (zh) | 一种域名解析的方法和系统 | |
CN106850710A (zh) | 一种数据云存储系统、客户终端、存储服务器及应用方法 | |
CN103716398B (zh) | Cdn服务器的监控方法和监控系统 | |
CN108259425A (zh) | 攻击请求的确定方法、装置及服务器 | |
CN108270882A (zh) | 域名的解析方法和装置、存储介质、电子装置 | |
CN108173976A (zh) | 域名解析方法及装置 | |
CN103475682B (zh) | 文件迁移方法及设备 | |
CN106341438A (zh) | 请求处理方法和装置 | |
CN107181779A (zh) | 访问请求的处理方法、装置和系统 | |
CN109391703A (zh) | 域名解析方法、装置、设备和计算机存储介质 | |
CN103109517A (zh) | 一种双栈终端访问服务器的方法、终端和系统 | |
CN107613037A (zh) | 一种域名重定向方法和系统 | |
CN102045403A (zh) | 分布式网络数据处理方法和装置及系统 | |
CN107800603A (zh) | 内网用户基于vpn 访问前端设备的方法和存储介质 | |
CN106470251A (zh) | 域名解析方法及虚拟dns权威服务器 | |
CN106302384A (zh) | Dns报文处理方法及装置 | |
CN108965036A (zh) | 配置跨公网设备互访方法、系统、服务器及存储介质 | |
CN103607410B (zh) | 一种内容访问方法和设备 | |
CN106549989A (zh) | 一种数据传输方法及其系统、用户终端、应用服务器 | |
CN102752411A (zh) | 重定向方法及设备 | |
CN110191131A (zh) | 一种文件共享方法、装置、系统、服务器及存储介质 | |
CN108207012A (zh) | 一种流量控制方法、装置、终端及系统 | |
CN102970391B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40015692 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |