CN109347998B - 一种DNS出口服务器ip地址的探测方法及系统 - Google Patents
一种DNS出口服务器ip地址的探测方法及系统 Download PDFInfo
- Publication number
- CN109347998B CN109347998B CN201811612908.2A CN201811612908A CN109347998B CN 109347998 B CN109347998 B CN 109347998B CN 201811612908 A CN201811612908 A CN 201811612908A CN 109347998 B CN109347998 B CN 109347998B
- Authority
- CN
- China
- Prior art keywords
- domain name
- detection
- server
- address
- probe
- 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.)
- Active
Links
Images
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/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)
Abstract
本发明公开了一种DNS出口服务器ip地址的探测方法及系统,其中,该方法包括:客户端向本地DNS发送包括探测域名的域名解析请求;在本地DNS中的DNS出口服务器确定无法解析探测域名之后,向探测服务器发送包含探测域名的探测请求;探测服务器基于探测请求获取DNS出口服务器的出口ip地址;探测服务器向本地DNS发送探测服务器的ip地址;本地DNS接收到ip地址之后,向客户端发送ip地址;客户端基于ip地址向探测服务器发送包含探测域名的访问请求;探测服务器基于访问请求,向客户端发送包括出口ip地址的探测结果。在本发明中,用户在客户端只需用特定命令执行预设的域名,即可得到出口ip地址,操作方便快捷,能够降低沟通成本,提高出口ip地址的探测效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种DNS出口服务器ip地址的探测方法及系统。
背景技术
客户端通过域名访问某个网站时,首先需要通过本地DNS(Domain Name System,域名系统)进行域名解析得到网站的ip地址,再去访问该ip地址。本地DNS通常是一个集群,包括很多DNS服务器,在为用户进行域名解析时,真正提供服务的DNS服务器,即DNS出口服务器并不一定。
在实际操作中,如果本地DNS配置错误,例如A区域的客户端配置的本地DNS为B区域的DNS,会出现网站无法访问或访问慢等问题。所以在针对该问题进行运维故障排查时,需要找到DNS出口服务器的ip地址,以判断本地DNS是否配置错误。而目前查询DNS出口服务器的ip地址需要用户配合,通常的做法是用户在客户端上执行ping命令,再把得到的ip地址截图返回给运维人员。目前DNS出口服务器的ip地址的查询方式比较复杂,如果用户对于这类操作不熟悉,通常会花费较大的沟通成本,运维故障排查效率低。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种DNS出口服务器ip地址的探测方法及系统。所述技术方案如下:
第一方面,提供了一种DNS出口服务器ip地址的探测方法,该方法包括:
客户端向本地DNS发送包括探测域名的域名解析请求,所述探测域名为所述本地DNS无法解析的域名;
在所述本地DNS中的DNS出口服务器确定无法解析所述探测域名之后,向探测服务器发送包含所述探测域名的探测请求;
所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址;
所述探测服务器向所述本地DNS发送所述探测服务器的ip地址;
所述本地DNS接收到所述ip地址之后,向所述客户端发送所述ip地址;
所述客户端基于所述ip地址向所述探测服务器发送包含所述探测域名的第一访问请求;
所述探测服务器基于所述第一访问请求,向所述客户端发送包括所述出口ip地址的探测结果。
可选的,所述方法还包括:
在所述本地DNS中不保存所述探测域名对应的ip地址,并预先设置所述探测域名的解析结果的缓存时间为0。
可选的,所述客户端向所述本地DNS发送包括所述探测域名的域名解析请求的步骤,包括:
所述客户端向所述探测服务器发送包括http域名的第二访问请求;
所述探测服务器在接收到所述第二访问请求之后,基于所述http域名构造所述探测域名,并向所述客户端发送所述探测域名;
所述客户端在接收到所述探测域名之后,向所述本地DNS发送包含所述探测域名的域名解析请求。
可选的,所述客户端向所述探测服务器发送包括http域名的第二访问请求的步骤,包括:
所述客户端向所述本地DNS发送包括所述http域名的域名解析请求;
所述本地DNS对所述http域名进行解析,得到所述探测服务器的ip地址,并向所述客户端发送所述ip地址;
所述客户端基于所述ip地址向探测服务器发送包括所述http域名的第二访问请求。
可选的,所述http域名包括探测次数参数、归属信息参数或数据格式参数中的一种或多种;
相应的,基于所述http域名构造的所述探测域名也包括所述探测次数参数、所述归属信息参数或所述数据格式参数中的一种或多种。
可选的,所述客户端利用http工具向所述本地DNS发送所述域名解析请求,并且利用所述http工具向所述探测服务器发送所述第一访问请求以及所述第二访问请求;
所述http工具包括浏览器、wget命令或者curl命令。
可选的,所述探测服务器在接收到所述第二访问请求之后,基于所述http域名构造所述探测域名的步骤,包括:
确定所述第二访问请求中客户端标识对应的UUID;
基于所述http域名增加所述UUID字段构造随机域名,并将该随机域名作为所述探测域名。
可选的,所述http域名包括探测次数参数;
相应的,基于所述http域名增加所述UUID字段构造随机域名,并将该随机域名作为所述探测域名的步骤,包括:
基于所述http域名增加所述UUID字段以及探测次数字段构造随机域名,并将该随机域名作为所述探测域名,其中所述探测次数字段所表示的次数值等于所述探测次数参数。
可选的,在所述本地DNS中的DNS出口服务器确定无法解析所述探测域名之后,向探测服务器发送包含所述探测域名的探测请求的步骤,包括:
在所述本地DNS中的DNS出口服务器确定无法解析所述探测域名之后,通过迭代式地向各级权威域名服务器发送包含所述探测域名的域名解析请求,获取所述探测服务器的ip地址;
所述DNS出口服务器基于所述探测服务器的ip地址向所述探测服务器发送包含所述探测域名的探测请求。
可选的,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址的步骤之后,还包括:
所述探测服务器判断当前已执行的探测次数是否达到数量阈值;
如果没达到,所述探测服务器基于当前接收到的域名构造随机域名,向所述本地DNS发送所述随机域名,所述本地DNS中的DNS出口服务器向所述探测服务器发送包含所述随机域名的探测请求,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址,转上一步,直至当前已执行的探测次数达到所述数量阈值。
可选的,所述探测域名还包括探测次数参数;
判断当前已执行的探测次数是否达到数量阈值的步骤,包括:
如果所述探测域名中的探测次数参数大于1,则判断当前已执行的探测次数是否达到数量阈值,其中,所述数量阈值等于所述探测次数参数。
可选的,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址的步骤之后,还包括:
所述探测服务器确定所述探测请求对应的UUID;
所述探测服务器将所述出口ip地址存入以所述UUID作为关键字的关联容器中,其中,所述出口ip地址为所述关键字的值。
可选的,所述探测服务器基于当前接收到的域名构造随机域名的步骤,包括:
如果当前接收到的域名不是随机域名,则基于当前域名增加所述UUID字段和探测次数字段,得到随机域名;
如果当前接收到的域名是随机域名,则基于当前随机域名改变探测次数字段,得到新的随机域名。
可选的,如果当前接收到的域名是随机域名,则基于当前随机域名改变探测次数字段,得到新的随机域名的步骤包括:
如果当前接收到的域名是随机域名,则基于当前随机域名通过递增或递减的方式改变探测次数字段,得到新的随机域名。
可选的,判断当前已执行的探测次数是否达到数量阈值的步骤,包括:
根据当前接收到随机域名的探测次数字段,判断当前已执行的探测次数是否达到数量阈值。
可选的,所述方法还包括:预先将多个UUID保存在所述探测服务器的内存中。
可选的,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址的步骤之后,包括:
所述探测服务器将所述出口ip地址存入内存中;
在当前已执行的探测次数达到数量阈值之后,包括:
所述探测服务器将所述内存中的所述出口ip地址存入redis数据库;
所述探测服务器向所述客户端发送包括所述出口ip地址的探测结果的步骤,包括:
所述探测服务器从所述redis数据库中获取所述出口ip地址,并向所述客户端发送包括所述出口ip地址的探测结果。
可选的,所述探测域名还包括归属信息参数;
所述探测服务器向所述本地DNS发送包括所述出口ip地址的探测结果的步骤,包括:
所述探测服务器基于所述归属信息参数获取相应的归属信息;
所述探测服务器向所述本地DNS发送包括所述出口ip地址和所述归属信息的探测结果。
可选的,所述探测域名还包括数据格式参数;
所述探测服务器向所述本地DNS发送所述探测结果的步骤,包括:
所述探测服务器基于所述数据格式参数所指示的格式构造所述探测结果;
所述探测服务器向所述本地DNS发送所述格式的探测结果。
可选的,所述本地DNS中的DNS出口服务器向探测服务器发送包含所述探测域名的探测请求的步骤之后,包括:
所述探测服务器利用接收线程接收所述探测请求,并将所述探测请求存入消息队列中,其中,所述接收线程与所述消息队列的比值为1:n,其中n为正整数,每个所述消息队列对应一个处理线程,所述处理线程用于从对应的消息队列中获取所述探测请求,并对所述探测请求进行后续的处理。
可选的,所述探测服务器接收到所述第一访问请求或所述第二访问请求之后,包括:
所述探测服务器利用Nginx系统的多进程模型处理所述第一访问请求或所述第二访问请求。
第二方面,提供了一种DNS出口服务器ip地址的探测系统,该系统包括:包括客户端、本地DNS以及探测服务器;
所述客户端,用于向所述本地DNS发送包括探测域名的域名解析请求,所述探测域名为所述本地DNS无法解析的域名;
所述本地DNS,用于在所述本地DNS中的DNS出口服务器确定无法解析所述探测域名之后,向探测服务器发送包含所述探测域名的探测请求;
所述探测服务器,用于基于所述探测请求获取所述DNS出口服务器的出口ip地址,并向所述本地DNS发送所述探测服务器的ip地址;
所述本地DNS,还用于在接收到所述ip地址之后,向所述客户端发送所述ip地址;
所述客户端,还用于基于所述ip地址向所述探测服务器发送包含所述探测域名的第一访问请求;
所述探测服务器,还用于基于所述第一访问请求,向所述客户端发送包含所述出口ip地址的探测结果。
可选的,在所述本地DNS中不保存所述探测域名对应的ip地址,并预先设置所述探测域名的解析结果的缓存时间为0。
可选的,所述客户端,用于向所述探测服务器发送包括http域名的第二访问请求;
所述探测服务器,用于在接收到所述第二访问请求之后,基于所述http域名构造所述探测域名,并向所述客户端发送所述探测域名;
所述客户端,用于在接收到所述探测域名之后,向所述本地DNS发送包含所述探测域名的域名解析请求。
可选的,所述客户端,用于向所述本地DNS发送包括所述http域名的域名解析请求;
所述本地DNS,用于对所述http域名进行解析,得到所述探测服务器的ip地址,并向所述客户端发送所述ip地址;
所述客户端,用于基于所述ip地址向探测服务器发送包括所述http域名的第二访问请求。
可选的,所述http域名包括探测次数参数、归属信息参数或数据格式参数中的一种或多种;
相应的,基于所述http域名构造的所述探测域名也包括所述探测次数参数、所述归属信息参数或所述数据格式参数中的一种或多种。
可选的,所述客户端利用http工具向所述本地DNS发送所述域名解析请求,并且利用所述http工具向所述探测服务器发送所述第一访问请求以及所述第二访问请求;
所述http工具包括浏览器、wget命令或者curl命令。
可选的,所述探测服务器,用于:
确定所述第二访问请求中客户端标识对应的UUID;
基于所述http域名增加所述UUID字段构造随机域名,并将该随机域名作为所述探测域名。
可选的,所述http域名包括探测次数参数;
相应的,所述探测服务器,用于:
基于所述http域名增加所述UUID字段以及探测次数字段构造随机域名,并将该随机域名作为所述探测域名,其中所述探测次数字段所表示的次数值等于所述探测次数参数。
可选的,所述本地DNS,用于在确定无法解析所述探测域名之后,通过迭代式地向各级权威域名服务器发送包含所述探测域名的域名解析请求,获取所述探测服务器的ip地址;并基于所述探测服务器的ip地址向所述探测服务器发送包含所述探测域名的探测请求。
可选的,所述探测服务器,用于:
判断当前已执行的探测次数是否达到数量阈值;
如果没达到,基于当前接收到的域名构造随机域名,向所述本地DNS发送所述随机域名,所述本地DNS中的DNS出口服务器向所述探测服务器发送包含所述随机域名的探测请求,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址,转上一步,直至当前已执行的探测次数达到所述数量阈值。
可选的,所述探测域名还包括探测次数参数;
所述探测服务器,用于:
如果所述探测域名中的探测次数参数大于1,则判断当前已执行的探测次数是否达到数量阈值,其中,所述数量阈值等于所述探测次数参数。
可选的,所述探测服务器,用于:
确定所述探测请求对应的UUID;
将所述出口ip地址存入以所述UUID作为关键字的关联容器中,其中,所述出口ip地址为所述关键字的值。
可选的,所述探测服务器,用于:
如果当前接收到的域名不是随机域名,则基于当前域名增加所述UUID字段和探测次数字段,得到随机域名;
如果当前接收到的域名是随机域名,则基于当前随机域名改变探测次数字段,得到新的随机域名。
可选的,所述探测服务器,用于:
如果当前接收到的域名是随机域名,则基于当前随机域名通过递增或递减的方式改变探测次数字段,得到新的随机域名。
可选的,所述探测服务器,用于:
根据当前接收到随机域名的探测次数字段,判断当前已执行的探测次数是否达到数量阈值。
可选的,所述探测服务器的内存中预先保存有多个UUID。
可选的,所述探测服务器,用于所述探测服务器将所述出口ip地址存入内存中;
所述探测服务器,用于将所述内存中的所述出口ip地址存入redis数据库;
所述探测服务器,用于从所述redis数据库中获取所述出口ip地址,并向所述客户端发送包括所述出口ip地址的探测结果。
可选的,所述探测域名还包括归属信息参数;
所述探测服务器,用于:
基于所述归属信息参数获取相应的归属信息;
向所述本地DNS发送包括所述出口ip地址和所述归属信息的探测结果。
可选的,所述探测域名还包括数据格式参数;
所述探测服务器,用于:
基于所述数据格式参数所指示的格式构造所述探测结果;
向所述本地DNS发送所述格式的探测结果。
可选的,所述探测服务器,用于利用接收线程接收所述探测请求,并将所述探测请求存入消息队列中,其中,所述接收线程与所述消息队列的比值为1:n,其中n为正整数,每个所述消息队列对应一个处理线程,所述处理线程用于从对应的消息队列中获取所述探测请求,并对所述探测请求进行后续的处理。
可选的,所述探测服务器,用于利用Nginx系统的多进程模型处理所述第一访问请求或所述第二访问请求。
在本发明实施例中,用户在客户端只需用特定命令执行预设的域名,即可得到DNS出口服务器ip地址,操作方便快捷,能够降低与用户的沟通成本,提高出口ip地址的探测效率,并且通过在该预设的域名中设置不同的请求参数,可以得到不同类型的探测结果,例如出口ip地址、出口ip地址及归属、客户端ip地址、客户端ip地址及归属等等,从而使用户可以按需选择,满足不同场景的需求,使探测项目功能更加多样化;特别是利用浏览器进行探测的方式,用户可以很方便地在浏览器中输入相应的域名,访问该域名后即可返回包括探测结果的页面,即使用户不太熟悉命令工具,也能够轻松地查询得到出口ip地址,专业性要求较低,所适用的用户范围更广,操作也更加方便快捷。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种网络框架示意图;
图2是本发明实施例提供的一种DNS出口服务器ip地址的探测方法的流程图;
图3是本发明实施例提供的一种探测服务器中用于接收以及处理探测请求的线程图;
图4是本发明实施例提供的一种探测服务器中用于接收以及处理访问请求的线程图;
图5是本发明实施例提供的另一种DNS出口服务器ip地址的探测方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种DNS出口服务器ip地址的探测方法,该方法可以应用于图1所示的网络框架中。该网络框架包括客户端、本地DNS以及探测服务器。本发明实施例支持多种探测方式,其中包括域名查询探测方式以及http(hypertext transfer protocol,超文本传输协议)探测方式。具体探测过程如下所述。客户端用于向本地DNS发送包括探测域名的域名解析请求,该探测域名为本地DNS无法解析的域名,该探测域名为域名查询探测域名或http探测域名。其中,域名查询探测域名适用于域名查询探测方式,http探测域名适用于http探测方式。本地DNS用于接收客户端发送的域名解析请求,并在所述本地DNS中的DNS出口服务器确定无法解析所述域名解析请求中的探测域名之后,向探测服务器发送包含所述探测域名的探测请求,从而使探测服务器获得该DNS出口服务器的出口ip地址。对于域名查询探测方式,探测服务器在结束出口ip地址的探测之后,向本地DNS发送包括所述出口ip地址的探测结果,本地DNS接收到探测结果之后,向客户端发送探测结果。对于http探测方式,探测服务器在结束出口ip地址的探测之后,向本地DNS发送探测服务器的ip地址,本地DNS接收到该ip地址之后,向客户端发送该ip地址,客户端基于该ip地址向探测服务器发送访问请求,探测服务器基于该访问请求向客户端发送包括出口ip地址的探测结果。
在本发明实施例中,用户在客户端只需用特定命令执行预设的域名,即可得到DNS出口服务器ip地址,操作方便快捷,能够降低与用户的沟通成本,提高出口ip地址的探测效率,并且通过在该预设的域名中设置不同的请求参数,可以得到不同类型的探测结果,例如出口ip地址、出口ip地址及归属、客户端ip地址、客户端ip地址及归属等等,从而使用户可以按需选择,满足不同场景的需求,使探测项目功能更加多样化;另外本发明实施例支持多种探测方式,例如基于域名查询工具的探测方式或者基于http工具的探测方式,用户可以根据自己的需求选择相应的探测方式,更加方便用户使用,在http探测方式中用户可以很方便地在浏览器中输入相应的域名,访问该域名后即可返回包括探测结果的页面,即使用户不太熟悉命令工具,也能够轻松地查询得到出口ip地址,专业性要求较低,所适用的用户范围更广,操作也更加方便快捷。
需要说明的是,为与其他服务器的ip地址进行区分,DNS出口服务器的ip地址使用出口ip地址进行替代,所以,本发明实施例中所述的出口ip地址即指DNS出口服务器的ip地址。
上述探测服务器包括处理器、存储器、收发器,处理器用于进行下述流程中探测出口ip地址的处理,存储器用于存储下述处理过程中需要的数据以及产生的数据,收发器用于接收和发送下述处理过程中的相关数据。
本发明实施例支持多种探测方式,其中包括http探测方式以及域名查询探测方式。以下,首先参照图2详细说明http探测方式。
参见图2,为本发明实施例提供的一种DNS出口服务器ip地址的探测方法的流程图,该方法具体可以包括以下步骤。
步骤201,客户端向探测服务器发送包括http域名的第二访问请求。
所述客户端可以利用http工具执行出口ip地址的探测过程,具体的,利用http工具向所述本地DNS发送所述域名解析请求,并且利用所述http工具向所述探测服务器发送所述第一访问请求以及所述第二访问请求。所述http工具包括浏览器、wget命令或者curl命令。其中,wget是一个从网络上自动下载文件的自由工具,curl是利用URL(UniformResource Locator,统一资源定位符)语法在命令行方式下工作的开源文件传输工具。用户在客户端进行操作时,可以在浏览器或相应的命令行中输入预设的http域名,例如who.abc.com,然后确定发送包含该http域名的访问请求。该http域名对应ip地址为探测服务器的ip地址,客户端向探测服务器发送包括http域名的第二访问请求的过程具体可以包括:所述客户端向所述本地DNS发送包括所述http域名的域名解析请求;所述本地DNS对所述http域名进行解析,得到所述探测服务器的ip地址,并向所述客户端发送所述ip地址;所述客户端基于所述ip地址向探测服务器发送包括所述http域名的第二访问请求。
步骤202,所述探测服务器在接收到所述第二访问请求之后,基于所述http域名构造探测域名,并向所述客户端发送所述探测域名。
在实施中,可以预先设置本地DNS无权解析的域名作为该探测域名,并将该探测域名的解析权授予探测服务器。这里所采用的探测域名具体为http探测域名。该探测域名可以为非随机域名,也可以为随机域名。当该探测域名为非随机域名时,可以是任一结构形式的域名,本实施例不对该探测域名的结构形式进行具体限定。当该探测域名是随机域名时,构造该探测域名的可以过程为:确定所述第二访问请求中客户端标识对应的UUID(Universally Unique Identifier,通用唯一识别码),基于所述http域名增加所述UUID字段构造随机域名,并将该随机域名作为所述探测域名。例如,作为探测域名的随机域名为11110431eb84406988c2c3dd59462cc845c6achttp1.dns.abc.com,其中11110431eb84406988c2c3dd59462cc845c6ac即表示UUID字段。
步骤203,所述客户端在接收到所述探测域名之后,向所述本地DNS发送包含所述探测域名的域名解析请求。
探测服务器在构造完探测域名之后,可以通过302跳转地址的方式向所述客户端发送所述探测域名,从而使客户端利用http工具直接跳转到该探测域名的网页上。http工具在跳转到探测域名的网页之前,需要先向本地DNS发送包含所述探测域名的域名解析请求,以对探测域名进行解析。
步骤204,在所述本地DNS中的DNS出口服务器确定无法解析所述探测域名之后,向探测服务器发送包含所述探测域名的探测请求。
由于已经设置本地DNS无权解析该探测域名,所以本地DNS会继续向有解析权的探测服务器发送包含所述探测域名的探测请求,用以请求探测服务器解析该探测域名。为实现本地DNS无法解析该探测域名,本地DNS中不保存探测域名对应的ip地址,并设置探测域名解析结果的缓存时间为0,也就是说,本地DNS在接收到探测服务器发送的域名解析结果之后,不会缓存该域名解析结果,因为需要获取的域名解析结果没有缓存,所以负责每次域名解析的DNS出口服务器均会向探测服务器包含所述探测域名的探测请求。
在具体实施中,DNS出口服务器可能无法直接得知探测服务器的ip地址,而是通过迭代式地向各级权威域名服务器发送包含所述探测域名的域名解析请求,获取所述探测服务器的ip地址,再基于所述探测服务器的ip地址向所述探测服务器发送包含所述探测域名的探测请求。具体过程为:DNS出口服务器确定无法解析所述探测域名之后,向第一级权威域名服务器发送包含所述探测域名的域名解析请求,由于该权威域名服务器无权解析该探测域名,于是向DNS出口服务器返回下一级权威域名服务器的ip地址,DNS出口服务器再向下一级权威域名服务器发送包含所述探测域名的域名解析请求,如此迭代循环,直至获取到探测服务器的ip地址,最后向该探测服务器发送包含探测域名的域名解析请求,也即探测请求。由于探测服务器有权解析该探测域名,能够向DNS出口服务器返回解析结果,从而结束该迭代过程。其中,探测服务器可以看作是最后一级权威域名服务器。
步骤205,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址。
由于该探测请求为负责这次域名解析的DNS出口服务器发送的请求,所以可以通过对该探测请求的数据包进行解析,获取发送该探测请求的ip地址,即负责这次域名解析的DNS出口服务器的ip地址,从而完成一次探测。
在具体实施中,探测服务器可以在执行一次探测,也即获取到一次出口ip地址之后,即可返回给客户端,也可以执行至少两次探测之后,才返回给客户端。当规定探测服务器执行一次探测之后即可返回给客户端时,可以在基于包含探测域名的探测请求获取出口ip地址之后,结束探测。当规定探测服务器执行至少两次探测之后,才返回给客户端时,可以在基于包含探测域名的探测请求获取出口ip地址,即执行完一次探测之后,执行以下过程:所述探测服务器判断当前已执行的探测次数是否达到数量阈值;如果没达到,所述探测服务器基于当前接收到的域名构造随机域名,并向所述本地DNS发送所述随机域名,所述本地DNS中的DNS出口服务器向所述探测服务器发送包含所述随机域名的探测请求,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址,转上一步,直至当前已执行的探测次数达到数量阈值。从而实现通过构造随机域名,迭代式地向探测服务器发送探测请求,能够获取至少一个出口ip地址,从而利用获取到的出口ip地址更加准确地确定本地DNS的信息,提高运维故障排查的准确度。
上述数量阈值可以为固定的预设数值,也可以通过客户端进行设置。在数量阈值通过客户端进行设置的方式中,客户端向本地DNS发送的域名解析请求中包括探测次数参数,也即构造的探测域名中包括探测次数参数,该探测次数参数的数值即为数量阈值。例如,探测次数参数为2,说明需要执行两次探测。当探测服务器解析到探测请求中的探测域名中包括探测次数参数,并且探测次数参数大于1时,需要每执行完一次探测,即每次获取到出口ip地址之后,判断当前已执行的探测次数是否达到该探测次数参数所规定的数值。当所述探测域名中的探测次数参数为1时,可以不进行判断,并结束探测。
在实施中,在客户端输入的http域名中包括探测次数参数,所以在基于该http域名构造探测域名时,可以使探测域名中包括相应的探测次数参数。例如,包括探测次数参数的http域名为who.abc.com?num=2,其中num的值即为探测次数参数,也就是说本次探测需要执行两次探测。当基于http域名构造随机域名作为探测域名时,该探测域名可以包括UUID字段和探测次数字段,并且该探测次数字段等于http域名中的探测次数参数,该探测次数字段也可以称之为探测域名的探测次数参数。例如,探测域名为11110431eb84406988c2c3dd59462cc845c6achttp2.dns.abc.com,其中http2中的“2”即表示探测次数字段。
探测服务器每次基于探测请求获取出口ip地址之后,可以确定该探测请求对应的UUID,并将所述出口ip地址存入以所述UUID作为关键字(key)的关联容器中,其中,所述出口ip地址为所述关键字的值(value)。该关联容器可以为map容器。在探测服务器第一次基于包含探测域名的探测请求获取出口ip地址之后,如果该探测域名为随机域名,则可以直接根据该探测域名中的UUID字段确定对应的UUID;如果该探测域名不是随机域名,则可以根据该探测域名对应的客户端标识确定对应的UUID。
当探测服务器需要获取多个出口ip地址,而基于探测域名构造随机域名时,并且该探测域名不是随机域名时,可以基于当前域名,即探测域名增加UUID字段和探测次数字段,得到随机域名。探测服务器在基于随机域名构造新的随机域名时,可以基于当前随机域名改变探测次数字段,得到新的随机域名,例如,将上一个随机域名中的http1字段替换为http2,从而得到新的随机域名。可见,在同一迭代循环中构造的每个随机域名的UUID字段均相同,所以可以将在同一迭代循环中获取到的全部出口ip地址,均保存到当前UUID作为关键字的关联容器中。
由于UUID需要调用外部接口生成,若要用时再调用会耗时较长,为降低耗时,可以预先一次性大批量生成UUID并存储于内存中,用的时候直接从内存调取即可,从而提高出口ip地址探测效率。
探测服务器在迭代式地构造随机域名时,可以通过递增或递减的方式改变随机域名中的探测次数字段,从而可以根据随机域名中的探测次数字段判断当前已执行的探测次数是否达到数量阈值。例如,当通过递增方式改变随机域名中的探测次数字段时,设置基于探测域名构造的首个随机域名探测次数字段为1,数量阈值为3,当探测服务器基于当前探测请求获取出口ip地址之后,并且判断出当前探测请求中随机域名的探测次数字段为2时,说明当前已执行的探测次数已经达到数量阈值。再例如,当通过递减方式改变随机域名中的探测次数字段时,设置基于探测域名构造的首个随机域名探测次数字段为3,数量阈值为3,当探测服务器基于当前探测请求获取出口ip地址之后,并且判断出当前探测请求中随机域名的探测次数字段为2时,说明当前已执行的探测次数已经达到数量阈值。
在一种实施方式中,当探测域名为随机域名时,并且探测域名中的探测次数字段等于http域名中的探测次数字段,即等于数量阈值时,可以通过递减方式改变迭代过程中随机域名中的探测次数字段,从而根据当前探测请求中随机域名的探测次数字段,判断当前已执行的探测次数是否已经达到数量阈值。
进一步的,探测服务器每次获得出口ip地址之后,可以将出口ip地址存入内存的关联容器中。
由于探测服务器同时支持域名查询探测方式以及http探测方式,并且两种探测方式的探测结果返回方式不同,所以在返回探测结果之前,需要判断当前的探测方式。在判断当前的探测方式时,可以根据最后一次接收到的域名进行判断,如果该域名为http探测域名或者为其随机域名,说明当前的探测方式为http探测方式,否则为域名查询探测方式。当探测方式为http探测方式时,执行以下步骤。
本地DNS可以利用udp(user datagram protocol,用户数据报协议)向探测服务器发送探测请求。并且探测服务器可以采用线程池加消息队列组技术处理本地DNS发送的探测请求。线程池中可以包括监听线程、接收线程、处理线程以及日志线程,并且各个线程分别独立进行,互不干扰。其中,接收线程和处理线程通过消息队列进行通讯,日志线程独占消息队列,从而实现高并发接收、无阻塞处理并快速返回探测结果。
在实施中,可以根据接收探测请求和处理探测请求的耗时情况合理分配两种线程的数量,使得高并发情况下能达到如下最佳平衡:尽可能多得接入探测请求,使得消息队列处于近似满的状态,但又不会因消息队列满而导致接收线程阻塞;尽可能快得处理,不让消息队列存满。例如,当接收探测请求和处理探测请求的时间之比接近1:2时,可以设置接收线程和处理线程的比值为1:2。当前采用的负载均衡策略方案如下:接收线程非阻塞接收请求,并且阻塞插入消息队列。假设接收探测请求和处理探测请求的速度比为n,其中n为正整数,则一个接收线程绑定n个消息队列,均衡地插入探测请求;每个消息队列对应一个处理线程,非阻塞读取消息。用于执行负载均衡策略方案的负载模块可以采用接口设计,从而方便后续进行扩展。
如图3所示,所述探测服务器利用接收线程接收所述探测请求,并将所述探测请求存入消息队列中,其中,所述接收线程与所述消息队列的比值为1:n,其中n为正整数,每个所述消息队列对应一个处理线程,所述处理线程用于从对应的消息队列中获取所述探测请求,并对所述探测请求进行后续的处理。在探测服务器中,接收线程接收到的探测请求为数据包的形式,所以需要对该数据包进行解析,得到有用的中间消息,例如待解析的域名,出口ip地址等,然后将得到的中间消息存入消息队列中,处理线程再从消息队列中读取中间信息进行处理,例如将出口ip地址存入内存,或者构造随机域名等等。
步骤206,所述探测服务器向所述本地DNS发送所述探测服务器的ip地址。
步骤207,所述本地DNS接收到所述ip地址之后,向所述客户端发送所述ip地址。
步骤208,所述客户端基于所述ip地址向所述探测服务器发送包含所述探测域名的第一访问请求。
步骤209,所述探测服务器基于所述第一访问请求,向所述客户端发送包含所述出口ip地址的探测结果。
由于本实施例通过http工具进行探测,所以不能使探测服务器直接将出口ip地址返回给客户端,否则http工具会继续访问该出口ip地址,也就无法在客户端的网页上展示出口ip地址,即探测结果。所以,需要探测服务器将自己的ip地址返回给客户端,客户端再访问探测服务器,探测服务器将出口ip地址以网页内容的形式返回给客户端。
探测服务器每次获取出口ip地址之后,可以将出口ip地址存入内存的相应关联容器中,该关联容器的关键字为探测域名对应的UUID。在已执行的探测次数满足预设要求之后,探测服务器可以将该关联容器中全部的出口ip地址存入redis数据库。探测服务器接收到包含所述探测域名的访问请求之后,从所述redis数据库中获取本次迭代循环中探测到的全部出口ip地址,并向所述客户端发送包含所述出口ip地址的探测结果。出口ip地址及其对应的UUID可以存入redis数据库的关联容器中,UUID作为该关联容器的关键字,出口ip地址作为该关键字的值。在从redis数据库中获取出口ip地址时,先确定探测域名对应的UUID,然后在redis数据库中查找关键字为该UUID的关联容器,该关联容器中的值即为待获取的出口ip地址。当探测域名为随机域名时,可以根据其包含的UUID字段确定其对应的UUID;当探测域名不是随机域名时,可以根据第一访问请求中的客户端标识确定对应的UUID。由于获取到的出口ip地址需存放在数据库中,如果每获取一个出口ip地址,就立即存入数据库,这样比较耗时,所以本实施例将每次获取到的出口ip地址先预存在内存中,待探测结束后,再将全部的出口ip地址插入数据库,从而节约探测时间。
本发明实施例的探测服务器灵活支持多种返回数据,如出口ip、出口ip及归属、客户端ip、客户端ip及归属,以及上述各种组合。为支持多种返回数据,客户端发送的第二访问请求所包含的请求参数还可以包括归属信息参数或者数据格式参数。归属信息参数用于规定返回给客户端的探测结果是否要包括DNS出口服务器的归属信息或者客户端的归属信息,其中,归属信息包括运营商信息和地理位置。数据格式参数用于规定返回给客户端的探测结果的数据格式,包括json格式和非json格式,例如,探测结果的json格式为﹛〝dns〞:[〝36.251.248.175〞],〝cli〞:〝36.251.248.186〞,〝proxy〞:〝〞﹜。又例如,探测结果的非json格式,即普通格式为“dns:36.251.248.175cli:36.251.248.186proxy:”。第二访问请求中所包括的请求参数,可以根据预设格式写入的http域名中,构成http域名的部分字段,也就是说,http域名包括这些请求参数,该请求参数可以包括探测次数参数、归属信息参数或数据格式参数中的一种或多种。当基于包含请求参数的http域名构造探测域名时,构造的探测域名中也包括相应的请求参数。本发明实施例不对http域名以及探测域名中各个请求参数所采用的格式进行具体限定。
在接收到客户端发送的包含探测域名的第二访问请求之后,探测服务器对接收到的探测域名进行结构分析,当所述探测域名包括归属信息参数时,所述探测服务器基于该归属信息参数获取相应的归属信息,并向客户端同时发送包括出口ip地址和归属信息的探测结果。当所述探测域名包括数据格式参数时,所述探测服务器基于该数据格式参数所指示的格式构造所述探测结果,并向客户端发送该格式的探测结果。用户在设置http域名的请求参数时,可以根据需要选择所包含的请求参数类型,以及具体的参数值,用户按需选择,从而满足不同场景的需求,使探测项目功能更加多样化。
客户端可以利用tcp(transmission control protocol,传输控制协议)向探测服务器发送访问请求,该访问请求包括第一访问请求以及第二访问请求。探测服务器接收到访问请求之后,可以利用Nginx系统的多进程模型处理所述访问请求,其中,Nginx(enginex)是一个高性能的htttp和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx系统采用多进程模型,即采用单管理进程加多工作进程的模型,由管理进程处理外部信号、配置文件的读取以及工作进程的初始化,工作进程采用单线程、非阻塞的事件模型(event loop,事件循环)来实现端口的监听及客户端请求的处理和响应,从而能够应对高并发的访问,并能够避免通常采用Apache(阿帕奇)系统处理访问请求所导致的问题,例如,当大量访问请求过来时,Apache系统需要创建大量的线程或者进程来满足需求,cpu忙于进程间或者线程间的调度,做有用功的机会就变少,这会导致流进的请求数量和流出的处理数量越来越不匹配,Apche又会创建更多的进程或者线程,结果往往容易形成恶性循环,直到无法响应客户端新的请求,并且Apache处理高并发请求时,需要开辟较多的进程或线程,会直接导致内存浪费问题或者内存共享问题。在具体实施中,可以采用基于Nginx与Lua的高性能平台,即OpenResty,使得访问请求直接跑在Nginx服务内部,充分利用Nginx的非阻塞I/O模型,不仅仅能够对http客户端的访问请求进行高性能响应,也能够对远程后端诸如MySQL、PostgreSQL、Memcached以及redis等都进行一致的高性能响应。
如图4所示,由于探测服务器接收到的访问请求量较小,从资源合理利用的角度出发,可以只为访问请求的业务分配一个监听线程、一个消息队列、一个处理线程。由程序主线程充当监听线程,进行监听、接收连接、监测请求、接收请求、插入消息队列等操作,由处理线程进行业务处理及回复。该处理线程进行的业务处理包括基于http域名构造探测域名,从redis数据库中获取出口ip地址,对http域名或者探测域名进行结构分析等等。
在本发明实施例中,用户在客户端只需用特定命令执行预设的域名,即可得到DNS出口服务器ip地址,操作方便快捷,能够降低与用户的沟通成本,提高出口ip地址的探测效率,并且通过在该预设的域名中设置不同的请求参数,可以得到不同类型的探测结果,例如出口ip、出口ip及归属、客户端ip、客户端ip及归属等等,从而使用户可以按需选择,满足不同场景的需求,使探测项目功能更加多样化,而且通过采用http探测方式,用户可以很方便地在浏览器中输入相应的域名,访问该域名后即可返回包括探测结果的页面,即使用户不太熟悉命令工具,也能够轻松地查询得到出口ip地址,专业性要求较低,所适用的用户范围更广,操作也更加方便快捷。
如图5所示,基于与上述实施例相同的发明构思,本发明实施例还提供另一种DNS出口服务器ip地址的探测方法的流程图,该方法适用于域名查询探测方式,具体可以包括以下步骤。
步骤501,客户端向本地DNS发送包括探测域名的域名解析请求。
所述客户端可以利用域名查询工具,例如dig(domain information groper,域信息搜索器)命令或者nslookup(name server lookup,域名查询)命令向所述本地DNS发送包括探测域名的域名解析请求,相应的,该探测域名具体为域名查询探测域名,也即为域名查询工具所能识别的域名。用户在客户端进行操作时,可以在命令输入窗口中输入预设的探测域名,例如dns.abc.com,然后确定发送包含该探测域名的域名解析请求。为使本地DNS能够继续向探测服务器发送解析该探测域名的探测请求,需要预先设置该本地DNS无权解析该探测域名,而是将该探测域名的解析权授予探测服务器。
步骤502,在所述本地DNS中的DNS出口服务器确定无法解析所述探测域名之后,向探测服务器发送包含所述探测域名的探测请求。
在实施中,本地DNS中不存储探测域名对应的ip地址,并设置探测域名解析结果的缓存时间为0,也就是说,本地DNS在接收到探测服务器发送的域名解析结果之后,不会缓存该域名解析结果,因为需要获取的域名解析结果没有缓存,所以负责每次域名解析的DNS出口服务器均会向探测服务器包含所述探测域名的探测请求,请求探测服务器解析该探测域名。
在具体实施中,DNS出口服务器可能无法直接得知探测服务器的ip地址,而是通过迭代式地向各级权威域名服务器发送包含所述探测域名的域名解析请求,获取所述探测服务器的ip地址,再基于所述探测服务器的ip地址向所述探测服务器发送包含所述探测域名的探测请求,具体过程为:DNS出口服务器确定无法解析所述探测域名之后,向第一级权威域名服务器发送包含所述探测域名的域名解析请求,由于该权威域名服务器无权解析该探测域名,则向DNS出口服务器返回下一级权威域名服务器的ip地址,DNS出口服务器再向下一级权威域名服务器发送包含所述探测域名的域名解析请求,如此迭代循环,直至获取到探测服务器的ip地址,最后向该探测服务器发送包含探测域名的域名解析请求,也即探测请求。由于探测服务器有权解析该探测域名,能够向DNS出口服务器返回解析结果,从而结束该迭代过程。其中,探测服务器可以看做是最后一级权威域名服务器。
步骤503,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址。
由于该探测请求为负责这次域名解析的DNS出口服务器发送的请求,所以可以通过对该探测请求的数据包进行解析,获取发送该探测请求的ip地址,即负责这次域名解析的DNS出口服务器的ip地址,从而完成一次探测。
在具体实施中,探测服务器可以在执行一次探测,也即获取一次出口ip地址之后,即可返回给客户端,也可以执行至少两次探测之后,才返回给客户端。当规定探测服务器执行一次探测之后即可返回给客户端时,可以在基于包含探测域名的探测请求获取出口ip地址之后,结束探测。当规定探测服务器执行至少两次探测之后,才返回给客户端时,可以在基于包含探测域名的探测请求获取出口ip地址,即执行完一次探测之后,执行以下过程:所述探测服务器判断当前已执行的探测次数是否达到数量阈值;如果没达到,所述探测服务器基于当前接收到的域名构造随机域名,并向所述本地DNS发送所述随机域名,所述本地DNS中的DNS出口服务器向所述探测服务器发送包含所述随机域名的探测请求,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址,转上一步,直至当前已执行的探测次数达到数量阈值。从而实现通过构造随机域名,迭代式地向探测服务器发送探测请求,探测服务器经过多次探测之后,能够获取至少一个出口ip地址,从而利用获取到的出口ip地址更加准确地确定本地DNS的信息,提高运维故障排查的准确度。
上述数量阈值可以为固定的预设数值,也可以通过客户端进行设置。在数量阈值通过客户端进行设置的方式中,客户端向本地DNS发送的域名解析请求中包括探测次数参数,也即输入的探测域名中包括探测次数参数,该探测次数参数的数值即为数量阈值。例如,探测次数参数为2,说明需要执行两次探测。当探测服务器解析到探测请求中的探测域名中包括探测次数参数,并且探测次数参数大于1时,需要每执行完一次探测,即每次获取到出口ip地址之后,判断当前已执行的探测次数是否达到该探测次数参数所规定的数值。当所述探测域名中的探测次数参数为1时,可以不进行判断,并结束探测。本发明实施例不对包括探测次数参数的探测域名的结构进行具体限定。
探测服务器每次基于探测请求获取出口ip地址之后,可以确定该探测请求对应的UUID(Universally Unique Identifier,通用唯一识别码),并将所述出口ip地址存入以所述UUID作为关键字的关联容器中,其中,所述出口ip地址为所述关键字的值。该关联容器可以为map容器。在探测服务器第一次基于包含探测域名的探测请求获取出口ip地址之后,可以根据该探测请求中的客户端标识确定对应的UUID。探测服务器在基于探测域名构造随机域名时,并且该探测域名不是随机域名时,可以基于当前域名,即探测域名增加所述UUID字段和探测次数字段,得到随机域名。例如,当客户端利用dig命令探测出口ip时,得到的随机域名为11110431eb84406988c2c3dd59462cc845c6acdig1.dns.abc.com。其中,11110431eb84406988c2c3dd59462cc845c6ac为UUID字段,dig1中的“1”为探测次数字段。探测服务器在基于随机域名构造新的随机域名时,可以基于当前随机域名改变探测次数字段,得到新的随机域名,例如,将上述随机域名举例中的dig1字段替换为dig2,从而得到新的随机域名。可见,基于同一探测域名构造的每个随机域名的UUID字段均相同,所以可以将基于同一探测域名获取到的全部出口ip地址,均保存到当前UUID作为关键字的关联容器中。
由于UUID需要调用外部接口生成,若要用时再调用会耗时较长,为降低耗时,可以预先一次性大批量生成UUID并存储于内存中,用的时候直接从内存调取即可,从而提高出口ip地址探测效率。
探测服务器在迭代式地构造随机域名时,可以通过递增或递减的方式改变随机域名中的探测次数字段,从而可以根据随机域名中的探测次数字段判断当前获取到的出口ip地址的数量是否达到数量阈值。例如,当通过递增方式改变随机域名中的探测次数字段时,设置首个构造的随机域名探测次数字段为1,数量阈值为3,当探测服务器基于当前探测请求获取出口ip地址之后,并且判断出当前探测请求中随机域名的探测次数字段为2时,说明当前获取到的出口ip地址的数量已经达到数量阈值。再例如,当通过递减方式改变随机域名中的探测次数字段时,设置首个构造的随机域名探测次数字段为3,数量阈值为3,当探测服务器基于当前探测请求获取出口ip地址之后,并且判断出当前探测请求中随机域名的探测次数字段为2时,说明当前获取到的出口ip地址的数量已经达到数量阈值。
进一步的,探测服务器每次获得出口ip地址之后,可以将出口ip地址存入内存的关联容器中。
由于探测服务器同时支持域名查询探测方式以及http探测方式,并且两种探测方式的探测结果返回方式不同,所以在返回探测结果之前,需要判断当前的探测方式。在判断当前的探测方式时,可以根据最后一次接收到的域名进行判断,如果该域名为域名查询探测域名或者为其随机域名,说明当前的探测方式为域名查询探测方式,否则为http探测方式。当探测方式为域名查询探测方式时,执行以下步骤。
步骤504,所述探测服务器向所述本地DNS发送包括所述出口ip地址的探测结果。
步骤505,所述本地DNS接收到所述探测结果之后,向所述客户端发送所述探测结果。
探测服务器在结束出口ip地址的探测之后,可以基于当前接收到域名,即最后一次接收到的域名对应的UUID从内存的相应关联容器中获取出口ip地址,并向所述本地DNS发送包括所述出口ip地址的探测结果。当没有设置数量阈值,或数量阈值为1时,探测服务器可以根据探测请求中的客户端标识确定UUID,从而从关键字为该的UUID的关联容器中获取出口ip地址。当数量阈值大于1时,探测服务器可以根据最后一次接收到的随机域名的UUID字段确定UUID,从而从关键字为该UUID的关联容器中获取出口ip地址。
本发明实施例的探测服务器灵活支持多种返回数据,如出口ip地址、出口ip地址及归属、客户端ip地址、客户端ip地址及归属,以及上述各种组合。例如,探测结果为"dns=36.250.240.21cli=218.92.100.1"。为支持多种返回数据,客户端发送的域名解析请求所包含的请求参数还可以包括归属信息参数。归属信息参数用于规定返回给客户端的探测结果是否要包括DNS出口服务器的归属信息或者客户端的归属信息,其中,归属信息包括运营商信息和地理位置。域名解析请求中包括的各个参数,可以根据预设格式写入的探测域名中,构成探测域名的部分字段。例如,当域名解析请求中包括探测次数参数时,探测域名的格式可以为dig+short[<num>.]dns.abc.com,其中,“num”表示探测次数参数。本发明实施例不对探测域名中各个参数所采用的格式进行具体限定。
在出口ip地址探测结束后,探测服务器对接收到的探测域名进行结构分析,当所述探测域名包括归属信息参数时,所述探测服务器基于该归属信息参数获取相应的归属信息,并向本地DNS同时发送包括出口ip地址和归属信息的探测结果。当所述探测域名包括数据格式参数时,所述探测服务器基于该数据格式参数所指示的格式构造所述探测结果,并向本地DNS发送该格式的探测结果。当需要探测多个出口ip地址时,如果探测域名中包括请求参数,则构造的随机域名中也包括相应的请求参数,那么,在出口ip地址探测结束后,探测服务器可以对当前接收到的随机域名进行结构分析,并根据该随机域名所包含的请求参数,对探测结果进行相应的处理。用户在设置域名解析请求的参数时,可以根据需要选择所包含的参数类型,以及具体的参数值,用户按需选择,从而满足不同场景的需求,使探测项目功能更加多样化。
本地DNS可以利用udp(user datagram protocol,用户数据报协议)向探测服务器发送探测请求。并且探测服务器可以采用线程池加消息队列组技术处理本地DNS发送的探测请求。线程池中可以包括监听线程、接收线程、处理线程以及日志线程,并且各个线程分别独立进行,互不干扰。其中,接收线程和处理线程通过消息队列进行通讯,日志线程独占消息队列,从而实现高并发接收、无阻塞处理并快速返回探测结果。
在实施中,可以根据接收探测请求和处理探测请求的耗时情况合理分配两种线程的数量,使得高并发情况下能达到如下最佳平衡:尽可能多得接入探测请求,使得消息队列处于近似满的状态,但又不会因消息队列满而导致接收线程阻塞;尽可能快得处理,不让消息队列存满。例如,当接收探测请求和处理探测请求的时间之比接近1:2时,可以设置接收线程和处理线程的比值为1:2。当前采用的负载均衡策略方案如下:接收线程非阻塞接收请求,并且阻塞插入消息队列。假设接收探测请求和处理探测请求的速度比为n,其中n为正整数,则一个接收线程绑定n个消息队列,均衡地插入探测请求;每个消息队列对应一个处理线程,非阻塞读取消息。用于执行负载均衡策略方案的负载模块可以采用接口设计,从而方便后续进行扩展。
如图3所示,所述探测服务器利用接收线程接收所述探测请求,并将所述探测请求存入消息队列中,其中,所述接收线程与所述消息队列的比值为1:n,其中n为正整数,每个所述消息队列对应一个处理线程,所述处理线程用于从对应的消息队列中获取所述探测请求,并对所述探测请求进行后续的处理。在探测服务器中,接收线程接收到的探测请求为数据包的形式,所以需要对该数据包进行解析,得到有用的中间消息,例如待解析的域名,出口ip地址等,然后将得到的中间消息存入消息队列中,处理线程再从消息队列中读取中间信息进行处理,例如将出口ip地址存入内存,或者构造随机域名等等,最终得到并返回探测结果。
本发明实施例预先设置本地DNS无法解析的域名,用户只需在域名查询工具的命令行中输入该预设的域名,即可得到DNS出口服务器ip地址,操作方便快捷,能够降低沟通成本,提高出口ip地址的探测效率,并且通过在该预设的域名中设置不同的请求参数,可以得到不同类型的探测结果,例如出口ip地址、出口ip地址及归属、客户端ip地址、客户端ip地址及归属等等,从而使用户可以按需选择,满足不同场景的需求,使探测项目功能更加多样化。
基于与上述方法实施例相同的发明构思,本发明实施例还提供的一种DNS出口服务器ip地址的探测系统,该系统可以包括客户端、本地DNS以及探测服务器。
所述客户端,用于向所述本地DNS发送包括探测域名的域名解析请求,所述探测域名为所述本地DNS无法解析的域名;
所述本地DNS,用于在所述本地DNS中的DNS出口服务器确定无法解析所述探测域名之后,向探测服务器发送包含所述探测域名的探测请求;
所述探测服务器,用于基于所述探测请求获取所述DNS出口服务器的出口ip地址,并向所述本地DNS发送所述探测服务器的ip地址;
所述本地DNS,还用于在接收到所述ip地址之后,向所述客户端发送所述ip地址;
所述客户端,还用于基于所述ip地址向所述探测服务器发送包含所述探测域名的第一访问请求;
所述探测服务器,还用于基于所述第一访问请求,向所述客户端发送包含所述出口ip地址的探测结果。
可选的,在所述本地DNS中不保存所述探测域名对应的ip地址,并预先设置所述探测域名的解析结果的缓存时间为0。
可选的,所述客户端,用于向所述探测服务器发送包括http域名的第二访问请求;
所述探测服务器,用于在接收到所述第二访问请求之后,基于所述http域名构造所述探测域名,并向所述客户端发送所述探测域名;
所述客户端,用于在接收到所述探测域名之后,向所述本地DNS发送包含所述探测域名的域名解析请求。
可选的,所述客户端,用于向所述本地DNS发送包括所述http域名的域名解析请求;
所述本地DNS,用于对所述http域名进行解析,得到所述探测服务器的ip地址,并向所述客户端发送所述ip地址;
所述客户端,用于基于所述ip地址向探测服务器发送包括所述http域名的第二访问请求。
可选的,所述http域名包括探测次数参数、归属信息参数或数据格式参数中的一种或多种;
相应的,基于所述http域名构造的所述探测域名也包括所述探测次数参数、所述归属信息参数或所述数据格式参数中的一种或多种。
可选的,所述客户端利用http工具向所述本地DNS发送所述域名解析请求,并且利用所述http工具向所述探测服务器发送所述第一访问请求以及所述第二访问请求;
所述http工具包括浏览器、wget命令或者curl命令。
可选的,所述探测服务器,用于:
确定所述第二访问请求中客户端标识对应的UUID;
基于所述http域名增加所述UUID字段构造随机域名,并将该随机域名作为所述探测域名。
可选的,所述http域名包括探测次数参数;
相应的,所述探测服务器,用于:
基于所述http域名增加所述UUID字段以及探测次数字段构造随机域名,并将该随机域名作为所述探测域名,其中所述探测次数字段所表示的次数值等于所述探测次数参数。
可选的,所述本地DNS,用于在确定无法解析所述探测域名之后,通过迭代式地向各级权威域名服务器发送包含所述探测域名的域名解析请求,获取所述探测服务器的ip地址;并基于所述探测服务器的ip地址向所述探测服务器发送包含所述探测域名的探测请求。
可选的,所述探测服务器,用于:
判断当前已执行的探测次数是否达到数量阈值;
如果没达到,基于当前接收到的域名构造随机域名,向所述本地DNS发送所述随机域名,所述本地DNS中的DNS出口服务器向所述探测服务器发送包含所述随机域名的探测请求,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址,转上一步,直至当前已执行的探测次数达到所述数量阈值。
可选的,所述探测域名还包括探测次数参数;
所述探测服务器,用于:
如果所述探测域名中的探测次数参数大于1,则判断当前已执行的探测次数是否达到数量阈值,其中,所述数量阈值等于所述探测次数参数。
可选的,所述探测服务器,用于:
确定所述探测请求对应的UUID;
将所述出口ip地址存入以所述UUID作为关键字的关联容器中,其中,所述出口ip地址为所述关键字的值。
可选的,所述探测服务器,用于:
如果当前接收到的域名不是随机域名,则基于当前域名增加所述UUID字段和探测次数字段,得到随机域名;
如果当前接收到的域名是随机域名,则基于当前随机域名改变探测次数字段,得到新的随机域名。
可选的,所述探测服务器,用于:
如果当前接收到的域名是随机域名,则基于当前随机域名通过递增或递减的方式改变探测次数字段,得到新的随机域名。
可选的,所述探测服务器,用于:
根据当前接收到随机域名的探测次数字段,判断当前已执行的探测次数是否达到数量阈值。
可选的,所述探测服务器的内存中预先保存有多个UUID。
可选的,所述探测服务器,用于所述探测服务器将所述出口ip地址存入内存中;
所述探测服务器,用于将所述内存中的所述出口ip地址存入redis数据库;
所述探测服务器,用于从所述redis数据库中获取所述出口ip地址,并向所述客户端发送包括所述出口ip地址的探测结果。
可选的,所述探测域名还包括归属信息参数;
所述探测服务器,用于:
基于所述归属信息参数获取相应的归属信息;
向所述本地DNS发送包括所述出口ip地址和所述归属信息的探测结果。
可选的,所述探测域名还包括数据格式参数;
所述探测服务器,用于:
基于所述数据格式参数所指示的格式构造所述探测结果;
向所述本地DNS发送所述格式的探测结果。
可选的,所述探测服务器,用于利用接收线程接收所述探测请求,并将所述探测请求存入消息队列中,其中,所述接收线程与所述消息队列的比值为1:n,其中n为正整数,每个所述消息队列对应一个处理线程,所述处理线程用于从对应的消息队列中获取所述探测请求,并对所述探测请求进行后续的处理。
可选的,所述探测服务器,用于利用Nginx系统的多进程模型处理所述第一访问请求或所述第二访问请求。
在本发明实施例中,用户在客户端只需用特定命令执行预设的域名,即可得到DNS出口服务器ip地址,操作方便快捷,能够降低与用户的沟通成本,提高出口ip地址的探测效率,并且通过在该预设的域名中设置不同的请求参数,可以得到不同类型的探测结果,例如出口ip、出口ip及归属、客户端ip、客户端ip及归属等等,从而使用户可以按需选择,满足不同场景的需求,使探测项目功能更加多样化,而且通过采用http探测方式,用户可以很方便地在浏览器中输入相应的域名,访问该域名后即可返回包括探测结果的页面,即使用户不太熟悉命令工具,也能够轻松地查询得到出口ip地址,专业性要求较低,所适用的用户范围更广,操作也更加方便快捷。
需要说明的是:上述实施例提供的DNS出口服务器ip地址的探测系统与图2所示的DNS出口服务器ip地址的探测方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述实施例提供的DNS出口服务器ip地址的探测系统还用于实现上述图5所示的DNS出口服务器ip地址的探测方法,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (28)
1.一种DNS出口服务器ip地址的探测方法,其特征在于,所述方法包括:
客户端向本地DNS发送包括探测域名的域名解析请求,所述探测域名为所述本地DNS无法解析的域名;
在所述本地DNS中的DNS出口服务器确定无法解析所述探测域名之后,向探测服务器发送包含所述探测域名的探测请求;
所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址,具体包括:所述探测服务器判断当前已执行的探测次数是否达到数量阈值;如果没达到,所述探测服务器基于当前接收到的域名构造随机域名,向所述本地DNS发送所述随机域名,所述本地DNS中的DNS出口服务器向所述探测服务器发送包含所述随机域名的探测请求,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址,转上一步,直至当前已执行的探测次数达到所述数量阈值;
所述探测服务器向所述本地DNS发送所述探测服务器的ip地址;
所述本地DNS接收到所述ip地址之后,向所述客户端发送所述ip地址;
所述客户端基于所述ip地址向所述探测服务器发送包含所述探测域名的第一访问请求;
所述探测服务器基于所述第一访问请求,向所述客户端发送包括所述出口ip地址的探测结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述本地DNS中不保存所述探测域名对应的ip地址,并预先设置所述探测域名的解析结果的缓存时间为0。
3.根据权利要求1所述的方法,其特征在于,所述客户端向所述本地DNS发送包括所述探测域名的域名解析请求的步骤,包括:
所述客户端向所述探测服务器发送包括http域名的第二访问请求;
所述探测服务器在接收到所述第二访问请求之后,基于所述http域名构造所述探测域名,并向所述客户端发送所述探测域名;
所述客户端在接收到所述探测域名之后,向所述本地DNS发送包含所述探测域名的域名解析请求。
4.根据权利要求3所述的方法,其特征在于,所述客户端向所述探测服务器发送包括http域名的第二访问请求的步骤,包括:
所述客户端向所述本地DNS发送包括所述http域名的域名解析请求;
所述本地DNS对所述http域名进行解析,得到所述探测服务器的ip地址,并向所述客户端发送所述ip地址;
所述客户端基于所述ip地址向探测服务器发送包括所述http域名的第二访问请求。
5.根据权利要求3所述的方法,其特征在于,所述http域名包括探测次数参数、归属信息参数或数据格式参数中的一种或多种;
相应的,基于所述http域名构造的所述探测域名也包括所述探测次数参数、所述归属信息参数或所述数据格式参数中的一种或多种。
6.根据权利要求4所述的方法,其特征在于,所述客户端利用http工具向所述本地DNS发送所述域名解析请求,并且利用所述http工具向所述探测服务器发送所述第一访问请求以及所述第二访问请求;
所述http工具包括浏览器、wget命令或者curl命令。
7.根据权利要求3所述的方法,其特征在于,所述探测服务器在接收到所述第二访问请求之后,基于所述http域名构造所述探测域名的步骤,包括:
确定所述第二访问请求中客户端标识对应的UUID;
基于所述http域名增加所述UUID字段构造随机域名,并将该随机域名作为所述探测域名。
8.根据权利要求7所述的方法,其特征在于,所述http域名包括探测次数参数;
相应的,基于所述http域名增加所述UUID字段构造随机域名,并将该随机域名作为所述探测域名的步骤,包括:
基于所述http域名增加所述UUID字段以及探测次数字段构造随机域名,并将该随机域名作为所述探测域名,其中所述探测次数字段所表示的次数值等于所述探测次数参数。
9.根据权利要求1所述的方法,其特征在于,在所述本地DNS中的DNS出口服务器确定无法解析所述探测域名之后,向探测服务器发送包含所述探测域名的探测请求的步骤,包括:
在所述本地DNS中的DNS出口服务器确定无法解析所述探测域名之后,通过迭代式地向各级权威域名服务器发送包含所述探测域名的域名解析请求,获取所述探测服务器的ip地址;
所述DNS出口服务器基于所述探测服务器的ip地址向所述探测服务器发送包含所述探测域名的探测请求。
10.根据权利要求1所述的方法,其特征在于,所述探测域名还包括探测次数参数;
判断当前已执行的探测次数是否达到数量阈值的步骤,包括:
如果所述探测域名中的探测次数参数大于1,则判断当前已执行的探测次数是否达到数量阈值,其中,所述数量阈值等于所述探测次数参数。
11.根据权利要求1所述的方法,其特征在于,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址的步骤之后,还包括:
所述探测服务器确定所述探测请求对应的UUID;
所述探测服务器将所述出口ip地址存入以所述UUID作为关键字的关联容器中,其中,所述出口ip地址为所述关键字的值。
12.根据权利要求11所述的方法,其特征在于,所述探测服务器基于当前接收到的域名构造随机域名的步骤,包括:
如果当前接收到的域名不是随机域名,则基于当前域名增加所述UUID字段和探测次数字段,得到随机域名;
如果当前接收到的域名是随机域名,则基于当前随机域名改变探测次数字段,得到新的随机域名。
13.根据权利要求12所述的方法,其特征在于,如果当前接收到的域名是随机域名,则基于当前随机域名改变探测次数字段,得到新的随机域名的步骤包括:
如果当前接收到的域名是随机域名,则基于当前随机域名通过递增或递减的方式改变探测次数字段,得到新的随机域名。
14.根据权利要求13所述的方法,其特征在于,判断当前已执行的探测次数是否达到数量阈值的步骤,包括:
根据当前接收到随机域名的探测次数字段,判断当前已执行的探测次数是否达到数量阈值。
15.根据权利要求7或12所述的方法,其特征在于,所述方法还包括:预先将多个UUID保存在所述探测服务器的内存中。
16.根据权利要求1所述的方法,其特征在于,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址的步骤之后,包括:
所述探测服务器将所述出口ip地址存入内存中;
在当前已执行的探测次数达到数量阈值之后,包括:
所述探测服务器将所述内存中的所述出口ip地址存入redis数据库;
所述探测服务器向所述客户端发送包括所述出口ip地址的探测结果的步骤,包括:
所述探测服务器从所述redis数据库中获取所述出口ip地址,并向所述客户端发送包括所述出口ip地址的探测结果。
17.根据权利要求3所述的方法,其特征在于,所述探测域名还包括归属信息参数;
所述在接收到客户端发送的包含探测域名的第二访问请求之后,还包括:
所述探测服务器基于该归属信息参数获取相应的归属信息;
所述探测服务器向客户端同时发送包括出口ip地址和归属信息的探测结果。
18.根据权利要求3所述的方法,其特征在于,所述探测域名还包括数据格式参数;
所述在接收到客户端发送的包含探测域名的第二访问请求之后,还包括:
所述探测服务器基于所述数据格式参数所指示的格式构造所述探测结果;
所述探测服务器向客户端发送所述格式的探测结果。
19.根据权利要求1所述的方法,其特征在于,所述本地DNS中的DNS出口服务器向探测服务器发送包含所述探测域名的探测请求的步骤之后,包括:
所述探测服务器利用接收线程接收所述探测请求,并将所述探测请求存入消息队列中,其中,所述接收线程与所述消息队列的比值为1:n,其中n为正整数,每个所述消息队列对应一个处理线程,所述处理线程用于从对应的消息队列中获取所述探测请求,并对所述探测请求进行后续的处理。
20.根据权利要求3所述的方法,其特征在于,所述探测服务器接收到所述第一访问请求或所述第二访问请求之后,包括:
所述探测服务器利用Nginx系统的多进程模型处理所述第一访问请求或所述第二访问请求。
21.一种DNS出口服务器ip地址的探测系统,其特征在于,包括客户端、本地DNS以及探测服务器;
所述客户端,用于向所述本地DNS发送包括探测域名的域名解析请求,所述探测域名为所述本地DNS无法解析的域名;
所述本地DNS,用于在所述本地DNS中的DNS出口服务器确定无法解析所述探测域名之后,向探测服务器发送包含所述探测域名的探测请求;
所述探测服务器,用于基于所述探测请求获取所述DNS出口服务器的出口ip地址,并向所述本地DNS发送所述探测服务器的ip地址;其中,所述探测服务器具体用于:判断当前已执行的探测次数是否达到数量阈值;如果没达到,所述探测服务器基于当前接收到的域名构造随机域名,向所述本地DNS发送所述随机域名,所述本地DNS中的DNS出口服务器向所述探测服务器发送包含所述随机域名的探测请求,所述探测服务器基于所述探测请求获取所述DNS出口服务器的出口ip地址,转上一步,直至当前已执行的探测次数达到所述数量阈值;
所述本地DNS,还用于在接收到所述ip地址之后,向所述客户端发送所述ip地址;
所述客户端,还用于基于所述ip地址向所述探测服务器发送包含所述探测域名的第一访问请求;
所述探测服务器,还用于基于所述第一访问请求,向所述客户端发送包含所述出口ip地址的探测结果。
22.根据权利要求21所述的系统,其特征在于,
所述客户端,用于向所述探测服务器发送包括http域名的第二访问请求;
所述探测服务器,用于在接收到所述第二访问请求之后,基于所述http域名构造所述探测域名,并向所述客户端发送所述探测域名;
所述客户端,用于在接收到所述探测域名之后,向所述本地DNS发送包含所述探测域名的域名解析请求。
23.根据权利要求22所述的系统,其特征在于,
所述客户端,用于向所述本地DNS发送包括所述http域名的域名解析请求;
所述本地DNS,用于对所述http域名进行解析,得到所述探测服务器的ip地址,并向所述客户端发送所述ip地址;
所述客户端,用于基于所述ip地址向探测服务器发送包括所述http域名的第二访问请求。
24.根据权利要求23所述的系统,其特征在于,所述客户端利用http工具向所述本地DNS发送所述域名解析请求,并且利用所述http工具向所述探测服务器发送所述第一访问请求以及所述第二访问请求;
所述http工具包括浏览器、wget命令或者curl命令。
25.根据权利要求24所述的系统,其特征在于,
所述探测服务器,用于确定所述探测请求对应的UUID,并且将所述出口ip地址存入以所述UUID作为关键字的关联容器中,其中,所述出口ip地址为所述关键字的值。
26.根据权利要求25所述的系统,其特征在于,所述探测服务器,用于:
如果当前接收到的域名不是随机域名,则基于当前域名增加所述UUID字段和探测次数字段,得到随机域名;
如果当前接收到的域名是随机域名,则基于当前随机域名改变探测次数字段,得到新的随机域名。
27.根据权利要求24所述的系统,其特征在于,所述探测服务器,用于:
将所述出口ip地址存入内存中;以及
在当前已执行的探测次数达到数量阈值之后,将所述内存中的所述出口ip地址存入redis数据库;以及
从所述redis数据库中获取所述出口ip地址,并向所述客户端发送包括所述出口ip地址的探测结果。
28.根据权利要求21所述的系统,其特征在于,所述探测域名还包括归属信息参数;
相应的,所述探测服务器,用于:
基于所述归属信息参数获取相应的归属信息;
向所述本地DNS发送包括所述出口ip地址和所述归属信息的探测结果;
所述探测域名还包括数据格式参数;
相应的,所述探测服务器,用于:
基于所述数据格式参数所指示的格式构造所述探测结果;
向所述本地DNS发送所述格式的探测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811612908.2A CN109347998B (zh) | 2018-12-27 | 2018-12-27 | 一种DNS出口服务器ip地址的探测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811612908.2A CN109347998B (zh) | 2018-12-27 | 2018-12-27 | 一种DNS出口服务器ip地址的探测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109347998A CN109347998A (zh) | 2019-02-15 |
CN109347998B true CN109347998B (zh) | 2021-11-16 |
Family
ID=65297250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811612908.2A Active CN109347998B (zh) | 2018-12-27 | 2018-12-27 | 一种DNS出口服务器ip地址的探测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109347998B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113442B (zh) * | 2019-04-19 | 2022-03-29 | 大唐软件技术股份有限公司 | 一种dns镜像服务器的位置确定方法和装置 |
CN111082977B (zh) * | 2019-11-29 | 2023-04-07 | 北京金山云网络技术有限公司 | Ip地址的获取方法、装置和终端设备 |
CN111327495B (zh) * | 2020-02-25 | 2021-08-27 | 网宿科技股份有限公司 | 一种访客ip服务区域探测方法及设备 |
CN111371809B (zh) * | 2020-03-27 | 2022-02-18 | 武大吉奥信息技术有限公司 | 一种基于反向代理架构的服务器及gis服务访问控制方法 |
CN112153171B (zh) * | 2020-09-25 | 2023-07-25 | 互联网域名系统北京市工程研究中心有限公司 | 域名的建站情况探测系统和探测方法 |
CN112738271B (zh) * | 2021-01-08 | 2023-06-23 | 网宿科技股份有限公司 | 一种cdn质量的探测方法、系统及域名服务器 |
CN112839089B (zh) * | 2021-01-08 | 2023-06-23 | 网宿科技股份有限公司 | 一种cdn质量的探测方法及系统 |
CN112769976B (zh) | 2021-01-13 | 2023-10-24 | 网宿科技股份有限公司 | 一种域名解析方法及系统 |
CN113505067B (zh) * | 2021-07-09 | 2024-02-20 | 上海沄熹科技有限公司 | 基于openresty的分布式数据库tpc-c测试优化方法及系统 |
CN113746953B (zh) * | 2021-09-18 | 2024-03-22 | 恒安嘉新(北京)科技股份公司 | 域名服务器dns处理方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468857B (zh) * | 2014-11-03 | 2018-10-16 | 北京百度网讯科技有限公司 | 一种对应关系的获取方法及系统 |
GB2532475B (en) * | 2014-11-20 | 2017-03-08 | F Secure Corp | Integrity check of DNS server setting |
CN108702397B (zh) * | 2017-08-08 | 2021-07-06 | 达闼机器人有限公司 | 一种获取并收集客户端本地dns服务器的方法以及系统 |
-
2018
- 2018-12-27 CN CN201811612908.2A patent/CN109347998B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109347998A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347998B (zh) | 一种DNS出口服务器ip地址的探测方法及系统 | |
CN102647482B (zh) | 一种访问网站的方法和系统 | |
US8335838B2 (en) | Web page load time prediction and simulation | |
US20030028515A1 (en) | Proxy processing method | |
US6865605B1 (en) | System and method for transparently redirecting client requests for content using a front-end indicator to preserve the validity of local caching at the client system | |
CN100433645C (zh) | 网络设备的管理方法及网络管理系统 | |
EP2149093A2 (en) | Unobtrusive methods and systems for collecting information transmitted over a network | |
US11354152B2 (en) | Self-evolving microservices | |
CN113014681A (zh) | 多网卡服务器的网卡绑定方法、装置、电子设备及存储介质 | |
KR100901281B1 (ko) | 유비쿼터스 웹서비스 방법 | |
CN109067936A (zh) | 一种域名解析的方法及装置 | |
KR20110063328A (ko) | 물리적 인터페이스 질의 및 선택을 갖는 원격 프로지져 로출(rpc) 바인드 서비스 | |
CN110213365B (zh) | 基于用户分区的用户访问请求处理方法及电子设备 | |
CN109379453B (zh) | 一种DNS出口服务器ip地址的探测方法及系统 | |
US20210176301A1 (en) | Method and apparatus for multi-vendor gtm fabric | |
CN112702441B (zh) | 基于容器的访问数据处理方法、装置、系统及存储介质 | |
US11336615B2 (en) | Global load balancing achieved by using distributed DNS reflection | |
CN113596105B (zh) | 内容的获取方法、边缘节点及计算机可读存储介质 | |
CN113259492B (zh) | 服务请求转发方法及系统 | |
CN113572863A (zh) | 基于动态路由协议的应用加速方法及系统 | |
CN109451047B (zh) | 监控告警系统的数据传送方法、装置、设备及存储介质 | |
CN111447297A (zh) | IPv4、IPv6的DNS统一接入的管理方法及系统 | |
KR100716169B1 (ko) | 네트워크 관리 시스템에서의 메시지 처리 장치 및 방법 | |
CN111865639B (zh) | 一种snmp服务设备信息收集方法、装置及电子设备 | |
CN115134167B (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 |