CN102790808B - 一种域名解析方法和系统、一种客户端 - Google Patents

一种域名解析方法和系统、一种客户端 Download PDF

Info

Publication number
CN102790808B
CN102790808B CN201110126408.XA CN201110126408A CN102790808B CN 102790808 B CN102790808 B CN 102790808B CN 201110126408 A CN201110126408 A CN 201110126408A CN 102790808 B CN102790808 B CN 102790808B
Authority
CN
China
Prior art keywords
domain name
dns
name mapping
analysis
protocol
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
Application number
CN201110126408.XA
Other languages
English (en)
Other versions
CN102790808A (zh
Inventor
董斌雁
周鸿祎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201110126408.XA priority Critical patent/CN102790808B/zh
Publication of CN102790808A publication Critical patent/CN102790808A/zh
Application granted granted Critical
Publication of CN102790808B publication Critical patent/CN102790808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种域名解析方法和系统、一种客户端,其中的域名解析方法具体包括:采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的一者,进行第一域名解析;在所述第一域名解析失败时,采用基于DNS协议和基于HTTP协议的DNS代理域名解析中的另一者,进行第二域名解析。本发明能够提高域名解析的成功率。

Description

一种域名解析方法和系统、一种客户端
技术领域
本发明涉及数字网络通信技术领域,特别是涉及一种域名解析方法和系统、一种客户端。
背景技术
DNS(域名系统,DomainNameSystem)是一种用于TCP/IP(传输控制协议/因特网互联协议,TransmissionControlProtocol/InternetProtocol)的应用程序的分布式数据库,它提供主机名字和IP地址之间的转换信息。
目前通常采用的域名解析方法如下:1)客户端向DNS服务器发送域名解析请求;2)DNS服务器对域名进行解析;3)DNS服务器将解析结果返回给客户端;以及4)客户端从该结果中选择一个IP地址进行访问。
目前,DNS协议在域名解析中采用UDP(用户数据包协议,UserDatagramProtocol)来传输客户端发出的域名解析请求和DNS对该域名解析请求的响应。
UDP传输协议不属于连接型协议,因而具有资源消耗小,处理速度快的优点,通常能够在音频、视频和普通数据中得到广泛应用。但是,由于UDP传输协议并不提供数据传送的保证机制,如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示;因此,在网络质量令人不十分满意的环境下,UDP协议数据包丢失会比较严重,此时就不能提供正常的域名解析,从而导致不能正常连接网络服务,降低域名解析的成功率。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够提高域名解析的成功率。
发明内容
本发明所要解决的技术问题是提供一种域名解析方法和系统,能够提高域名解析的成功率。
相应的,本发明还提供了一种客户端,用以保证上述方法和系统在实际中的应用。
为了解决上述问题,本发明公开了一种域名解析方法,包括:
采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的一者,进行第一域名解析;
在所述第一域名解析失败时,采用基于DNS协议和基于HTTP协议的DNS代理域名解析中的另一者,进行第二域名解析。
优选的,所述基于DNS协议的域名解析包括:通过UDP传输方式,采用DNS协议进行域名解析。
优选的,所述基于DNS协议的域名解析包括:通过TCP传输方式,采用DNS协议进行域名解析。
优选的,所述方法还包括:
设置网络服务参数,并依据所述网络服务参数进行当前域名解析,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者,所述网络服务参数包括重试次数和超时参数中的一者或多者。
优选的,所述方法还包括:
在当前域名解析成功后,记录所述当前域名解析所使用DNS服务器的游标位置,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者;
记录所述当前域名解析所使用的协议类型;
以所述游标位置和协议类型作为下次域名解析的定向依据。
优选的,所述方法还包括:
在当前域名解析成功后,得到相应的解析结果,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者;
依据所述解析结果,判断得到与所在客户端最合适的DNS服务器;
以所述DNS服务器作为下次域名解析的定向依据。
优选的,所述方法还包括:
设置DNS服务器的访问优先级顺序;
依据所述访问优先级顺序,选择DNS服务器进行当前域名解析,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者。
优选的,所述设置DNS服务器的访问优先级顺序的步骤,包括:
指定DNS服务器集合;
将所述DNS服务器集合中的DNS服务器随机散列到DNS服务器掩码中。
优选的,所述基于HTTP协议进行DNS代理域名解析的步骤,包括:
接收客户端发起的基于HTTP协议的域名解析请求,所述域名解析请求中包括域名参数;
从所述域名解析请求中解析域名参数;
依据解析得到的域名参数,向DNS服务器发起DNS查询请求;
解析DNS服务器返回的DNS应答,并返回给客户端
优选的,所述客户端通过如下步骤发起域名解析请求:
将需要解析的域名参数进行base64编码,并封装到HTTPGET命令请求的包头中;
向域名解析代理服务器发送所述HTTPGET命令请求;
所述从所述域名解析请求中解析域名参数的步骤,包括:
所述域名解析代理服务器的CGI程序接收所述HTTPGET命令请求;
所述CGI程序通过对所述HTTPGET命令请求进行base64解码,解析出所述域名参数。
另一方面,本发明还公开了一种域名解析系统,包括客户端、域名解析代理服务器和DNS服务器,所述域名解析代理服务器与DNS服务器相连;
其中,所述客户端分别与所述域名解析代理服务器和DNS服务器相连,包括:
DNS解析装置,用于与所述DNS服务器交互,采用DNS协议进行域名解析;
代理解析装置,用于与所述域名解析代理服务器交互,基于HTTP协议进行DNS代理域名解析;
第一调用模块,用于调用所述DNS解析装置和所述代理解析装置中的一者进行第一域名解析;及
第二调用模块,用于在所述第一域名解析失败时,调用所述DNS解析装置和所述代理解析装置中的另一者进行第二域名解析。
优选的,所述DNS解析装置,具体用于,通过UDP传输方式,采用DNS协议进行域名解析。
优选的,所述DNS解析装置,具体用于,通过TCP传输方式,采用DNS协议进行域名解析。
优选的,所述客户端还包括:
第一设置模块,用于设置网络服务参数,由当前解析模块依据所述网络服务参数进行域名解析,其中,所述当前解析模块为第一解析模块和第二解析模块中的一者,所述网络服务参数包括重试次数和超时参数中的一者或多者。
优选的,所述客户端还包括:
第一记录模块,用于在当前域名解析成功后,记录所述当前域名解析所使用DNS服务器的游标位置,其中,所述当前域名解析为第一域名解析、和第二域名解析中的一者;
第二记录模块,用于记录所述当前域名解析所使用的协议类型;
第一定向模块,用于以所述游标位置和协议类型作为下次域名解析的定向依据。
优选的,所述客户端还包括:
结果获取模块,用于在当前域名解析成功后,得到相应的解析结果,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者;
判断模块,用于依据所述解析结果,判断得到与所在客户端最合适的DNS服务器;
第二定向模块,用于以所述DNS服务器作为下次域名解析的定向依据。
优选的,所述客户端还包括:
第二设置模块,用于设置DNS服务器的访问优先级顺序;
选择模块,用于依据所述访问优先级顺序,选择当前DNS服务器进行当前域名解析,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者。
优选的,所述第二设置模块包括:
指定单元,用于指定DNS服务器集合;及
随机散列单元,用于将所述DNS服务器集合中的DNS服务器随机散列到DNS服务器掩码中。
优选的,所述域名解析代理服务器,包括:
接收模块,用于接收客户端发起的基于HTTP协议的域名解析请求,所述域名解析请求中包括域名参数;
请求解析模块,用于从所述域名解析请求中解析域名参数;查询模块,用于依据解析得到的域名参数,向DNS服务器发起DNS查询请求;
应答解析模块,用于解析DNS服务器返回的DNS应答;及
返回模块,用于将所述DNS应答返回给客户端。
优选的,所述接收模块和所述请求解析模块为CGI程序;
所述CGI程序,具体用于接收来自所述客户端的HTTPGET命令请求,并通过对所述HTTPGET命令请求进行base64解码,解析出所述域名参数。
另一方面,本发明还公开了一种客户端,其分别与所述域名解析代理服务器和DNS服务器相连,所述域名解析代理服务器与DNS服务器相连,包括:
DNS解析装置,用于与所述DNS服务器交互,采用DNS协议进行域名解析;
代理解析装置,用于与所述域名解析代理服务器交互,基于HTTP协议进行DNS代理域名解析;
第一调用模块,用于调用所述DNS解析装置和所述代理解析装置中的一者进行第一域名解析;
第二调用模块,用于在所述第一域名解析失败时,调用所述DNS解析装置和所述代理解析装置中的另一者进行第二域名解析。
优选的,所述DNS解析装置,具体用于,通过UDP传输方式,采用DNS协议进行域名解析。
优选的,所述DNS解析装置,具体用于,通过TCP传输方式,采用DNS协议进行域名解析。
优选的,所述客户端还包括:
第一设置模块,用于设置网络服务参数,由当前解析模块依据所述网络服务参数进行域名解析,其中,所述当前解析模块为第一解析模块和第二解析模块中的一者,所述网络服务参数包括重试次数和超时参数中的一者或多者。
优选的,所述客户端还包括:
第一记录模块,用于在当前域名解析成功后,记录所述当前域名解析所使用DNS服务器的游标位置,其中,所述当前域名解析为第一域名解析、和第二域名解析中的一者;
第二记录模块,用于记录所述当前域名解析所使用的协议类型;
第一定向模块,用于以所述游标位置和协议类型作为下次域名解析的定向依据。
优选的,所述客户端还包括:
结果获取模块,用于在当前域名解析成功后,得到相应的解析结果,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者;
判断模块,用于依据所述解析结果,判断得到与所在客户端最合适的DNS服务器;
第二定向模块,用于以所述DNS服务器作为下次域名解析的定向依据。
优选的,所述客户端还包括:
第二设置模块,用于设置DNS服务器的访问优先级顺序;
选择模块,用于依据所述访问优先级顺序,选择当前DNS服务器进行当前域名解析,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者。
优选的,所述第二设置模块包括:
指定单元,用于指定DNS服务器集合;及
随机散列单元,用于将所述DNS服务器集合中的DNS服务器随机散列到DNS服务器掩码中。
与现有技术相比,本发明具有以下优点:
本发明在进行域名解析时,可在基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析之间动态转换;由于在基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的一者解析失败时,本发明均可自动转换到另一者进行域名解析,因此,相对于现有技术,能够提高DNS解析的成功率。
其次,所述基于DNS协议的域名解析既可以包括通过UDP传输方式,采用DNS协议进行域名解析,又可以包括通过TCP传输方式,采用DNS协议进行域名解析;在实际应用中,可在UDP传输协议和TCP传输协议之间动态转换;由于在UDP传输协议和TCP传输协议中的一者解析失败时,可以自动转换到另一者进行域名解析,因此,相对于现有技术只使用UDP传输协议,而由于UDP本身丢包严重的缺陷,可能不能正常解析的情形,本发明能够提高DNS解析的成功率。
再者,由于基于HTTP协议的DNS代理域名解析,无需调用任意Windows应用层网络API,而是通过DNS报文代理服务,所以不容易受LSP恶意代码对DNS协议的篡改、拦截、过滤、重定向等影响,不受hosts文件篡改等攻击影响;因此,还能够有效防止域名解析过程中恶意代码的攻击,从而提高域名解析的安全性。
另外,客户端应用程序还可以根据自身网络服务需求,自行设定其它网络服务参数,如在网络情况特别差的情况下,通过设定的重试次数提高解析成功率,又如,通过设定的超时参数,避免网络通讯情况较差的情况下,DNS应答不能及时返回,而客户端应用程序必须等待的问题
进一步,本发明还可通过记录当前成功解析域名解析代理服务器游标位置及所使用的协议类型(UDP、TCP传输协议和基于HTTP协议的DNS代理域名解析中的一者),下次解析时,可以使用该协议类型,直接定向到前一个成功域名解析代理服务器。
更进一步,本发明还可以支持随机设定DNS解析服务器访问优先顺序,从而实现客户端DNS解析服务均衡负载。
附图说明
图1是本发明一种域名解析方法实施例1的流程图;
图2是本发明一种域名解析方法实施例2的流程图;
图3本发明一种域名解析代理服务器与客户端和DNS服务器之间的关系示意图;
图4是本发明一种域名解析方法实施例3的流程图;
图5是本发明一种域名解析方法实施例4的流程图;
图6是本发明一种域名解析方法实施例5的流程图;
图7是本发明一种域名解析方法实施例6的流程图;
图8是本发明一种域名解析系统实施例的结构图;
图9是本发明一种客户端实施例的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,增加了域名解析的选择项,也即,除了传统的基于DNS协议的域名解析外,还可以包括基于HTTP协议的DNS代理域名解析。这样,在进行域名解析时,可在基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析之间动态转换。由于在基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的一者解析失败时,本发明均可自动转换到另一者进行域名解析,因此,相对于现有技术,能够提高DNS解析的成功率。
参照图1,示出了本发明一种域名解析方法实施例的流程图,具体可以包括:
步骤101、采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的一者,进行第一域名解析;
步骤102、在所述第一域名解析失败时,采用基于DNS协议和基于HTTP协议的DNS代理域名解析中的另一者,进行第二域名解析。
在本发明的一种优选实施例中,所述基于DNS协议的域名解析可以包括:通过UDP传输方式,采用DNS协议进行域名解析。
在本发明的另一种优选实施例中,所述基于DNS协议的域名解析可以包括:通过TCP传输方式,采用DNS协议进行域名解析。
以上对基于DNS协议的域名解析的两种传输方式进行了详细介绍,可以理解,本领域技术人员可以根据需要联合使用所述两种传输方式,或者,使用其中任一种传输方式,本发明对此不加以限制。
例如,在本发明的一种优选实施例中,联合使用所述两种传输方式的域名解析方法具体可以包括:
步骤S1、通过UDP和TCP传输方式中的一者,采用DNS协议进行第三域名解析;
步骤S2、在所述第三域名解析失败时,通过所述UDP和TCP传输方式中的另一者,采用DNS协议进行第四域名解析。
本优选实施例相当于增加了DNS基础所依赖传输层协议的选择项,也即,除了传统的UDP传输协议外,还可以包括TCP(传输控制协议,TransmissionControlProtocol)传输协议;这样,在使用DNS协议进行域名解析时,可在UDP传输协议和TCP传输协议之间动态转换。由于在UDP传输协议和TCP传输协议中的一者解析失败时,可以自动转换到另一者进行DNS解析,因此,相对于现有技术,能够进一步提高DNS解析的成功率。
UDP传输协议和TCP传输协议的主要区别是两者在如何实现信息的可靠传递方面不同,具体表现在,
1、UDP传输协议不提供数据传送的保证机制,如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示;因此,在网络质量令人不十分满意的环境下,UDP协议数据包丢失会比较严重;但是,其不属于连接型协议,具有资源消耗小,处理速度快的优点;
2、TCP传输协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止;因此,TCP传输协议能够保障传输的可靠性;但是,由于其属于连接型协议,故相对于UDP传输协议,具有资源消耗大,处理速度慢的优点。
由于本发明的宗旨是为了提高DNS解析的成功率,故在实际中,可由客户端选择优选采用哪种传输协议;对于客户端而言,在实际中,UDP和TCP等传输协议主要用于发送DNS查询请求,以及接收DNS应答;这里,所述客户端可以为Windows客户端,也可以为Linux客户端,这里仅以Windows客户端为例进行说明,其它系统的客户端相互参照即可。
例如,Windows客户端对DNS解析的处理速度有要求,故可优选采用UDP传输协议,相应地,所述方法具体可以包括:
步骤A1、采用UDP传输协议进行UDP域名解析;
步骤A2、在UDP域名解析失败时,采用TCP传输协议进行TCP域名解析。
又如,Windows客户端对DNS解析的处理速度没有要求,只是一味追求DNS解析的成功率,故可优选采用TCP传输协议,相应地,所述方法具体可以包括:
步骤B1、采用TCP传输协议进行TCP域名解析;
步骤B2、在TCP域名解析失败时,采用UDP传输协议进行UDP域名解析。
在优选采用UDP传输协议时,虽然可以发挥处理速度快的优势,但在DNS解析成功率方面具有风险,而本发明刚好可以通过TCP传输协议弥补这一风险;在优选采用TCP传输协议时,可以充分发挥可靠性高的优势,并且,以UDP传输协议作为候补以预防TCP传输失败的情形。总之,本领域技术人员可以根据实际需要,确定优先采用哪种传输协议,本发明的宗旨是为了提高DNS解析的成功率,而不会对具体的优先顺序加以限制。
参照图2,示出了本发明一种域名解析方法实施例2的流程图,具体可以包括:
步骤201、采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的一者进行第一域名解析;
步骤202、在所述第一域名解析失败时,采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的另一者进行第二域名解析;
其中,所述基于DNS协议的域名解析,具体可以包括:
步骤203、通过UDP和TCP传输方式中的一者,采用DNS协议进行第三域名解析;
步骤204、在所述第三域名解析失败时,通过所述UDP和TCP传输方式中的另一者,采用DNS协议进行第四域名解析。
相对于实施例1,本实施例提供UDP传输协议、TCP传输协议和基于HTTP协议的DNS代理域名解析三个选择项进行域名解析;这样,相对于实施例1,本实施例具体可以包括如下两种情形:
情形1、在所述第三域名解析和/或第四域名解析失败时,基于HTTP协议进行DNS代理域名解析;
情形2、在进行所述第三域名解析和/或第四域名解析之前,基于HTTP协议进行DNS代理域名解析,若所述DNS代理域名解析失败,则执行第三域名解析步骤。
这样,在采用UDP传输协议和TCP传输协议解析失败时,能够进一步提高DNS解析的成功率。
现有域名解析方法通常需要调用Windows应用层API,而Windows应用层API不仅允许正常程序过滤和修改Windows网络协议,而且更令恶意程序有机可乘。
由于基于HTTP协议的DNS代理解析无需调用任意Windows应用层网络API,而是通过DNS报文代理服务,所以不受LSP恶意代码对DNS协议的篡改、拦截、过滤、重定向等影响,不受hosts文件篡改等攻击影响;因此,相对于实施例1,本实施例不仅能够进一步提供DNS解析的成功率,而且有效防止域名解析过程中恶意代码的攻击,从而提高域名解析的安全性。
在具体实现中,所述采用HTTPDNS代理协议进行第三域名解析或者第四域名解析的步骤,具体可以包括:
步骤C1、接收客户端发起的基于HTTP协议的域名解析请求,所述域名解析请求中可以包括域名参数;
HTTP协议定义了与服务器交互的不同方法,最基本的方法是GET和POST。事实上GET适用于多数请求,而保留POST仅用于更新站点。根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。
在本发明的一种优选实施例中,为了提高域名解析的安全性,所述客户端可以通过GET方法发起域名解析请求:
子步骤D1、将需要解析的域名参数进行base64编码,并封装到HTTPGET命令请求的包头中;
子步骤D2、向域名解析代理服务器发送所述HTTPGET命令请求。
当然,除了GET外,本领域技术人员还可以根据实际需要,采用其他请求,如POST等,本发明对此不加以限制。
为了更有效避免基于域名过滤的网络攻击,在本发明的一种优选实施例中,在将需要解析的域名参数进行base64编码前,所述客户端发起域名解析请求的步骤,还可以包括:
子步骤D3、将需要解析的域名参数进行加密,以加密后的域名参数进行base64编码。
将域名参数通过加密方式发送给域名解析代理服务器,即使恶意代码劫持HTTP通讯,也无法解密。因此,能够避免基于域名过滤的网络攻击。
步骤C2、从所述域名解析请求中解析域名参数;
参照图3,示出了域名解析代理服务器与客户端和DNS服务器之间的关系示意图,其中,客户端应用程序可直接通过IP连接该域名解析代理服务器,相对于现有技术客户端与DNS服务器进行之间通信交互,本实施例采用域名解析代理服务器作为代理媒介,用于分别实现与客户端和DNS服务器之间的通信:一方面,其可以基于HTTP协议安全解析来自客户端的域名解析请求,并基于DNS协议传输给DNS服务器;另一方面,其可以基于DNS协议安全解析来自DNS服务器的DNS应答,并基于HTTP协议返回给客户端。
在本发明的一种优选实施例中,域名解析代理服务器可以指定CGI程序处理来自客户端的HTTPGET命令请求,相应地,域名解析代理服务器可以通过如下步骤从所述域名解析请求中解析域名参数:
子步骤E1、所述域名解析代理服务器的CGI程序接收所述HTTPGET命令请求;
子步骤E2、所述CGI程序通过对所述HTTPGET命令请求进行base64解码,解析出所述域名参数。
CGI(通用网关接口,CommonGateInterface)程序,通常运行在服务器上,提供与客户端应用程序(如浏览器)之间的接口。CGI程序通常被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。
CGI程序处理请求的原理通常为:通过Internet把用户请求送到服务器;服务器接收用户请求并交给CGI程序处理;CGI程序把处理结果传送给服务器;服务器把结果送回到用户。依据上述原理,步骤102-步骤104均由CGI程序来完成。
对应于客户端加密主机域名的情形,在本发明的一种优选实施例中,在所述CGI程序对所述HTTPGET命令请求进行base64解码前,所述从域名解析请求中解析域名参数的步骤,还可以包括:
对所述HTTPGET命令请求进行解密,以解密后的HTTPGET命令请求进行base64解码。
步骤C3、依据解析得到的域名参数,向DNS服务器发起DNS查询请求;
步骤C4、解析DNS服务器返回的DNS应答,并返回给客户端.
在本发明的一种优选实施例中,所述步骤104具体可以包括:
将DNS服务器返回的DNS应答作为GET应答的内容,进行加密和base64编码后,返回给客户端。
总之,由于采用HTTPDNS代理协议进行域名解析的过程无需调用Windows应用层网络API,而是通过DNS报文代理服务,所以不受LSP恶意代码对DNS协议的篡改、拦截、过滤、重定向等影响,不受hosts文件篡改等攻击影响。概括而言,本发明能够实现基于HTTPDNS代理的安全DNS域名解析,从而能够提高域名解析的成功率,防止恶意代码针对Windows网络应用层及DNS协议本身的攻击。
参照图4,示出了本发明一种域名解析方法实施例3的流程图,具体可以包括:
步骤401、优先采用普通DNS传输层协议进行域名解析;
步骤402、优先采用UDP传输协议;
步骤403、采用UDP传输协议进行UDP解析;
步骤404、判断UDP解析是否成功,若是,则执行步骤405,否则,执行步骤406;
步骤405、返回解析成功的响应,并结束本次解析;
步骤406、采用TCP传输协议进行TCP解析;
步骤407、判断TCP解析是否成功,若是,则执行步骤405,否则,执行步骤408;
步骤408、基于HTTP协议进行DNS代理域名解析;
步骤409、判断所述DNS代理域名解析是否成功,若是,则执行步骤405,否则,执行步骤410;
步骤410、返回解析失败的响应。
另外,上述优先采用基于DNS协议的域名解析只是作为示例,本领域技术人员可以根据实际需要,优先采用基于HTTP协议的DNS代理域名解析;上述优先采用UDP传输层协议也只是作为示例,本发明还可以优先采用TCP传输协议。
总之,本发明实现了在UDP传输层协议模式解析、TCP传输层协议模式解析、基于HTTP协议的DNS代理域名解析三种模式的自动转换,而不会对具体的转换顺序加以限制。
参照图5,示出了本发明一种域名解析方法实施例4的流程图,具体可以包括:
步骤501、设置网络服务参数,并依据所述网络服务参数进行当前域名解析,其中,所述网络服务参数可以包括重试次数和超时参数中的一者或多者;
所述当前域名解析具体可以包括:
步骤502、采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的一者进行第一域名解析;
步骤503、在所述第一域名解析失败时,采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的另一者进行第二域名解析;
其中,所述基于DNS协议的域名解析,具体可以包括:
步骤504、通过UDP和TCP传输方式中的一者,采用DNS协议进行第三域名解析;
步骤505、在所述第三域名解析失败时,通过所述UDP和TCP传输方式中的另一者,采用DNS协议进行第四域名解析。
相对于实施例2,本实施例可以依据设置的网络服务参数进行当前域名解析,其中,所述网络服务参数具体可以包括:
1、重试次数;
现有技术中,Windows客户端未能提供设置DNSServer的编程接口,只能设置面向全Windows客户端的DNSServer,不能设置重试次数选项;而如果只使用UDP协议作为DNS协议的传输层协议,则由于UDP本身的缺陷,可能不能正常解析。
针对上述情况,本发明能够在网络情况特别差的情况下,通过重试可以提高解析成功率。
2、超时参数。
在实际中,所述超时参数一般表示客户端得到DNS应答的最大时间;所述超时参数能够避免网络通讯情况较差的情况下,DNS应答不能及时返回,而客户端应用程序必须等待的问题。
当然,除了重试次数和超时参数外,客户端应用程序还可以根据自身网络服务需求,自行设定其它网络服务参数,如单次接收等,从而能够提高DNS解析成功率,增强用户体验。
另外,DNS应答不能及时返回时,本实施例还可以提供接口在任意时刻取消当前DNS查询请求。
参照图6,示出了本发明一种域名解析方法实施例5的流程图,具体可以包括:
步骤601、采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的一者进行第一域名解析;
步骤602、在所述第一域名解析失败时,采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的另一者进行第二域名解析;
其中,所述基于DNS协议的域名解析,具体可以包括:
步骤603、通过UDP和TCP传输方式中的一者,采用DNS协议进行第三域名解析;
步骤604、在所述第三域名解析失败时,通过所述UDP和TCP传输方式中的另一者,采用DNS协议进行第四域名解析;
步骤605、在当前域名解析成功后,记录所述当前域名解析所使用DNS服务器的游标位置,其中所述当前域名解析为第一域名解析和第二域名解析中的一者;
步骤606、记录所述当前域名解析所使用的协议类型;
步骤607、以所述游标位置和协议类型作为下次域名解析的定向依据。
相对于实施例2,本实施例通过记录当前成功解析域名解析代理服务器游标位置及所使用的协议类型(UDP、TCP传输协议和基于HTTP协议的DNS代理域名解析技术中的一者),下次解析时,可以使用该协议类型,直接定向到前一个成功域名解析代理服务器。
在本发明的一种优选实施例中,所述方法还可以包括:
在每次域名解析成功后,得到相应的解析结果;
依据所述解析结果,判断得到与所在客户端最合适的DNS服务器;
以所述DNS服务器作为下次域名解析的定向依据。
在具体实现中,可以提供自定义DNS服务器设置程序接口、根据解析结果动态,智能判断与哪个DNS服务器通讯最合适,从而实现了客户端负载均衡机制。
参照图7,示出了本发明一种域名解析方法实施例6的流程图,具体可以包括:
步骤701、设置DNS服务器的访问优先级顺序;
步骤702、依据所述访问优先级顺序,选择当前DNS服务器进行当前域名解析;
所述当前域名解析具体可以包括:
步骤703、采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的一者进行第一域名解析;
步骤704、在所述第一域名解析失败时,采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的另一者进行第二域名解析;
其中,所述基于DNS协议的域名解析,具体可以包括:
步骤705、通过UDP和TCP传输方式中的一者,采用DNS协议进行第三域名解析;
步骤706、在所述第三域名解析失败时,通过所述UDP和TCP传输方式中的另一者,采用DNS协议进行第四域名解析。
相对于实施例2,本实施例支持编程接口级设置自定义的DNS服务器并且设置访问优先顺序。
在具体实现中,本发明可以提供如下DNS协议封装接口层:
CDns类提供了DNS协议的封装。
CDns::CDns构造函数中,实例化m_DnsUdp,m_DnsTcp,m_DnsHttp三个类分别对应基于UDP、TCP、HTTP的DNS解析传输层实例化对象。
创建DNSCache
实例化CDnsCache类在其构造函数CDnsCache::CDnsCache()中初始化临界区变量,清空当前map内容,设置Cache(缓存)容量。
CDns::SetOption提供了应用程序根据自身需要对DNS解析各个环节的选项设置,如单次接收、发送UDP数据报的超时时间。是否逐个遍历DNS服务器,设置自定义服务器等。
CDns::gethostbyname提供了类WinsockDNS编程接口服务。
在上述DNS协议封装接口层的基础上,本发明可以提供类Winsocksetsockopt接口,可以设置特定的DNS解析服务器集合:例如缺省优先访问OpenDNS或GoogleDNS,又如,禁用本地DNS服务器,直接优先访问广域网DNSServer,在这种情况下,还可以有效防范基于内网ARP(地址解析协议,AddressResolutionProtocol)代理欺骗机制的DNSID欺骗。
A)若设置OpenDNS服务器(208.67.222.222/208.67.220.220)作为优先解析服务器,则可以享受OpenDNS服务器的优点,具体表现在:
OpenDNS识别和阻止钓鱼网站;
OpenDNS有一个高性能的按地理分布的网络和多个冗余备份连接,会根据访问选择最近的地理位置;可以不用通过电信或者网通提供的DNS解析,从而这样可以避免被域名劫持、广告等困扰;
具有更稳定的特点。它可以自动纠正拼写错误:如果拼写错误(比如少了个字母),OpenDNS也能引导到正确的网站,或者提供一个相似网站的搜索列表。
B)若设置GoogleDNS服务器(8.8.8.8/8.8.4.4)作为优先解析服务器,则可以享受GoogleDNS服务器的优点,具体表现在:
减少DNS访问延迟时间;
共享Cache的均衡负载;
预取域名解析;
广泛地理覆盖的分布式服务器集群服务。
在本发明的一种优选实施例中,还可以支持随机设定DNS解析服务器访问优先顺序,从而实现客户端DNS解析服务均衡负载;相应地,所述所述设置DNS服务器的访问优先级顺序的步骤,具体可以包括:
指定DNS服务器集合;
将所述DNS服务器集合中的DNS服务器随机散列到DNS服务器掩码中。
调用者可指定一个DNS服务器集合,并且可以设定DNS服务器随机散列到DNS服务器连接掩码中,不同的客户端就对应不同的DNS服务器优先策略,实现了基于客户端的动态DNS解析均衡负载。
总之,本发明能够通过对UDP和TCP传输协议以及支持HTTPDNS代理协议进行自动转换,来实现提供DNS解析成功率的目的。
本发明能够支持IPV4(InternetProtocolVersion4)和IPV6(InternetProtocolVersion6),支持DNSSEC(DNS安全扩展,DomainNameSystemSecurityExtensions),并且可以服务方式提供DNS解析,提供具有应用程序调用的安全认证接口,实现跨进程的安全DNS解析服务,支持递归方式DNS查询。
在实际中,本发明可以应用于众多安全产品(例如,“360卫士”的系统急救箱、木马云查杀引擎、主机防御系统等产品)中,从而可以面向客户端应用程序提供更加安全、更加稳定的DNS解析服务。
参照图8,示出了本发明一种域名解析系统实施例的结构图,其具体可以包括客户端801、域名解析代理服务器802和DNS服务器803,所述域名解析代理服务器802和DNS服务器803相连;
其中,所述客户端801分别与所述域名解析代理服务器802和DNS服务器相连803,包括:
DNS解析装置811,用于与所述DNS服务器803交互,采用DNS协议进行域名解析;
代理解析装置812,用于与所述域名解析代理服务器802交互,基于HTTP协议进行DNS代理域名解析;
第一调用模块813,用于调用所述DNS解析装置和所述代理解析装置中的一者进行第一域名解析;
第二调用模块814,用于在所述第一域名解析失败时,调用所述DNS解析装置和所述代理解析装置中的另一者进行第二域名解析。
在本发明的一种优选实施例中,所述DNS解析装置,可具体用于通过UDP传输方式,采用DNS协议进行域名解析。
在本发明的另一种优选实施例中,所述DNS解析装置,可具体用于通过TCP传输方式,采用DNS协议进行域名解析。
在本发明的另一种优选实施例中,所述客户端801还可以包括:
第一设置模块,用于设置网络服务参数,由当前解析模块依据所述网络服务参数进行域名解析,其中,所述当前解析模块为第一解析模块和第二解析模块中的一者,所述网络服务参数包括重试次数和超时参数中的一者或多者。
在本发明的再一种优选实施例中,所述客户端801还可以包括:
第一记录模块,用于在当前域名解析成功后,记录所述当前域名解析所使用DNS服务器的游标位置,其中,所述当前域名解析为第一域名解析、和第二域名解析中的一者;
第二记录模块,用于记录所述当前域名解析所使用的协议类型;
第一定向模块,用于以所述游标位置和协议类型作为下次域名解析的定向依据。
在本发明实施例中,优选的是,所述客户端801还可以包括:
结果获取模块,用于在当前域名解析成功后,得到相应的解析结果,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者;
判断模块,用于依据所述解析结果,判断得到与所在客户端最合适的DNS服务器;
第二定向模块,用于以所述DNS服务器作为下次域名解析的定向依据。
在本发明实施例中,优选的是,所述客户端801还可以包括:
第二设置模块,用于设置DNS服务器的访问优先级顺序;
选择模块,用于依据所述访问优先级顺序,选择当前DNS服务器进行当前域名解析,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者。
在本发明实施例中,优选的是,所述第二设置模块可以进一步包括:
指定单元,用于指定DNS服务器集合;及
随机散列单元,用于将所述DNS服务器集合中的DNS服务器随机散列到DNS服务器掩码中。
在本发明的一种优选实施例汇总,所述域名解析代理服务器可以具体包括:
接收模块,用于接收客户端发起的基于HTTP协议的域名解析请求,所述域名解析请求中包括域名参数;
请求解析模块,用于从所述域名解析请求中解析域名参数;
查询模块,用于依据解析得到的域名参数,向DNS服务器发起DNS查询请求;
应答解析模块,用于解析DNS服务器返回的DNS应答;及
返回模块,用于将所述DNS应答返回给客户端。
在本发明实施例中,优选的是,所述接收模块和所述请求解析模块均可为CGI程序;
所述CGI程序,可具体用于接收来自所述客户端的HTTPGET命令请求,并通过对所述HTTPGET命令请求进行base64解码,解析出所述域名参数。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图9,示出了本发明一种客户端实施例的结构图,其分别与所述域名解析代理服务器和DNS服务器相连,所述域名解析代理服务器与DNS服务器相连,所述客户端具体可以包括:
DNS解析装置901,用于与所述DNS服务器交互,采用DNS协议进行域名解析;
代理解析装置902,用于与所述域名解析代理服务器交互,基于HTTP协议进行DNS代理域名解析;
第一调用模块903,用于调用所述DNS解析装置和所述代理解析装置中的一者进行第一域名解析;及
第二调用模块904,用于在所述第一域名解析失败时,调用所述DNS解析装置和所述代理解析装置中的另一者进行第二域名解析。
在本发明的一种优选实施例中,所述DNS解析装置,可具体用于通过UDP传输方式,采用DNS协议进行域名解析。
在本发明的另一种优选实施例中,所述DNS解析装置,可具体用于通过TCP传输方式,采用DNS协议进行域名解析。
在本发明的另一种优选实施例中,所述客户端801还可以包括:
第一设置模块,用于设置网络服务参数,由当前解析模块依据所述网络服务参数进行域名解析,其中,所述当前解析模块为第一解析模块和第二解析模块中的一者,所述网络服务参数包括重试次数和超时参数中的一者或多者。
在本发明的再一种优选实施例中,所述客户端801还可以包括:
第一记录模块,用于在当前域名解析成功后,记录所述当前域名解析所使用DNS服务器的游标位置,其中,所述当前域名解析为第一域名解析、和第二域名解析中的一者;
第二记录模块,用于记录所述当前域名解析所使用的协议类型;
第一定向模块,用于以所述游标位置和协议类型作为下次域名解析的定向依据。
在本发明实施例中,优选的是,所述客户端801还可以包括:
结果获取模块,用于在当前域名解析成功后,得到相应的解析结果,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者;
判断模块,用于依据所述解析结果,判断得到与所在客户端最合适的DNS服务器;
第二定向模块,用于以所述DNS服务器作为下次域名解析的定向依据。
在本发明实施例中,优选的是,所述客户端801还可以包括:
第二设置模块,用于设置DNS服务器的访问优先级顺序;
选择模块,用于依据所述访问优先级顺序,选择当前DNS服务器进行当前域名解析,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者。
在本发明实施例中,优选的是,所述第二设置模块可以进一步包括:
指定单元,用于指定DNS服务器集合;及
随机散列单元,用于将所述DNS服务器集合中的DNS服务器随机散列到DNS服务器掩码中。
对于客户端实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种域名解析方法和系统、一种客户端,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (26)

1.一种域名解析方法,其特征在于,包括:
采用基于DNS协议的域名解析和基于HTTP协议的DNS代理域名解析中的一者,进行第一域名解析;
在所述第一域名解析失败时,采用基于DNS协议和基于HTTP协议的DNS代理域名解析中的另一者,进行第二域名解析;
其中,所述基于HTTP协议进行DNS代理域名解析的步骤,包括:
接收客户端发起的基于HTTP协议的域名解析请求,所述域名解析请求中包括域名参数;
从所述域名解析请求中解析域名参数;
依据解析得到的域名参数,向DNS服务器发起DNS查询请求;
解析DNS服务器返回的DNS应答,并返回给客户端。
2.如权利要求1所述的方法,其特征在于,所述基于DNS协议的域名解析包括:通过UDP传输方式,采用DNS协议进行域名解析。
3.如权利要求1所述的方法,其特征在于,所述基于DNS协议的域名解析包括:通过TCP传输方式,采用DNS协议进行域名解析。
4.根据权利要求1、2或3所述的方法,其特征在于,还包括:
设置网络服务参数,并依据所述网络服务参数进行当前域名解析,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者,所述网络服务参数包括重试次数和超时参数中的一者或多者。
5.根据权利要求1、2或3所述的方法,其特征在于,还包括:
在当前域名解析成功后,记录所述当前域名解析所使用DNS服务器的游标位置,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者;
记录所述当前域名解析所使用的协议类型;
以所述游标位置和协议类型作为下次域名解析的定向依据。
6.根据权利要求1、2或3所述的方法,其特征在于,还包括:
在当前域名解析成功后,得到相应的解析结果,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者;
依据所述解析结果,判断得到与所在客户端最合适的DNS服务器;
以所述DNS服务器作为下次域名解析的定向依据。
7.根据权利要求1、2或3所述的方法,其特征在于,还包括:
设置DNS服务器的访问优先级顺序;
依据所述访问优先级顺序,选择DNS服务器进行当前域名解析,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者。
8.根据权利要求7所述的方法,其特征在于,所述设置DNS服务器的访问优先级顺序的步骤,包括:
指定DNS服务器集合;
将所述DNS服务器集合中的DNS服务器随机散列到DNS服务器掩码中。
9.根据权利要求1所述的方法,其特征在于,所述客户端通过如下步骤发起域名解析请求:
将需要解析的域名参数进行base64编码,并封装到HTTPGET命令请求的包头中;
向域名解析代理服务器发送所述HTTPGET命令请求;
所述从所述域名解析请求中解析域名参数的步骤,包括:
所述域名解析代理服务器的CGI程序接收所述HTTPGET命令请求;
所述CGI程序通过对所述HTTPGET命令请求进行base64解码,解析出所述域名参数。
10.一种域名解析系统,其特征在于,包括客户端、域名解析代理服务器和DNS服务器,所述域名解析代理服务器与DNS服务器相连;
其中,所述客户端分别与所述域名解析代理服务器和DNS服务器相连,包括:
DNS解析装置,用于与所述DNS服务器交互,采用DNS协议进行域名解析;
代理解析装置,用于与所述域名解析代理服务器交互,基于HTTP协议进行DNS代理域名解析;
第一调用模块,用于调用所述DNS解析装置和所述代理解析装置中的一者进行第一域名解析;及
第二调用模块,用于在所述第一域名解析失败时,调用所述DNS解析装置和所述代理解析装置中的另一者进行第二域名解析;
所述域名解析代理服务器,包括:
接收模块,用于接收客户端发起的基于HTTP协议的域名解析请求,所述域名解析请求中包括域名参数;
请求解析模块,用于从所述域名解析请求中解析域名参数;
查询模块,用于依据解析得到的域名参数,向DNS服务器发起DNS查询请求;
应答解析模块,用于解析DNS服务器返回的DNS应答;及
返回模块,用于将所述DNS应答返回给客户端。
11.如权利要求10所述的系统,其特征在于,所述DNS解析装置,具体用于,通过UDP传输方式,采用DNS协议进行域名解析。
12.根据权利要求10所述的系统,其特征在于,所述DNS解析装置,具体用于,通过TCP传输方式,采用DNS协议进行域名解析。
13.根据权利要求10、11或12所述的系统,其特征在于,所述客户端还包括:
第一设置模块,用于设置网络服务参数,由当前解析模块依据所述网络服务参数进行域名解析,其中,所述当前解析模块为第一解析模块和第二解析模块中的一者,所述网络服务参数包括重试次数和超时参数中的一者或多者。
14.根据权利要求10、11或12所述的系统,其特征在于,所述客户端还包括:
第一记录模块,用于在当前域名解析成功后,记录所述当前域名解析所使用DNS服务器的游标位置,其中,所述当前域名解析为第一域名解析、和第二域名解析中的一者;
第二记录模块,用于记录所述当前域名解析所使用的协议类型;
第一定向模块,用于以所述游标位置和协议类型作为下次域名解析的定向依据。
15.根据权利要求10、11或12所述的系统,其特征在于,所述客户端还包括:
结果获取模块,用于在当前域名解析成功后,得到相应的解析结果,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者;
判断模块,用于依据所述解析结果,判断得到与所在客户端最合适的DNS服务器;
第二定向模块,用于以所述DNS服务器作为下次域名解析的定向依据。
16.根据权利要求10、11或12所述的系统,其特征在于,所述客户端还包括:
第二设置模块,用于设置DNS服务器的访问优先级顺序;
选择模块,用于依据所述访问优先级顺序,选择当前DNS服务器进行当前域名解析,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者。
17.根据权利要求16所述的系统,其特征在于,所述第二设置模块包括:
指定单元,用于指定DNS服务器集合;及
随机散列单元,用于将所述DNS服务器集合中的DNS服务器随机散列到DNS服务器掩码中。
18.根据权利要求10所述的系统,其特征在于,所述接收模块和所述请求解析模块为CGI程序;
所述CGI程序,具体用于接收来自所述客户端的HTTPGET命令请求,并通过对所述HTTPGET命令请求进行base64解码,解析出所述域名参数。
19.一种客户端,其特征在于,其分别与域名解析代理服务器和DNS服务器相连,所述域名解析代理服务器与DNS服务器相连,包括:
DNS解析装置,用于与所述DNS服务器交互,采用DNS协议进行域名解析;
代理解析装置,用于与所述域名解析代理服务器交互,基于HTTP协议进行DNS代理域名解析;
第一调用模块,用于调用所述DNS解析装置和所述代理解析装置中的一者进行第一域名解析;及
第二调用模块,用于在所述第一域名解析失败时,调用所述DNS解析装置和所述代理解析装置中的另一者进行第二域名解析;
其中,所述基于HTTP协议进行DNS代理域名解析的过程,包括:
接收客户端发起的基于HTTP协议的域名解析请求,所述域名解析请求中包括域名参数;
从所述域名解析请求中解析域名参数;
依据解析得到的域名参数,向DNS服务器发起DNS查询请求;
解析DNS服务器返回的DNS应答,并返回给客户端。
20.如权利要求19所述的客户端,其特征在于,所述DNS解析装置,具体用于,通过UDP传输方式,采用DNS协议进行域名解析。
21.根据权利要求19所述的客户端,其特征在于,所述DNS解析装置,具体用于,通过TCP传输方式,采用DNS协议进行域名解析。
22.如权利要求19、20或21所述的客户端,其特征在于,所述客户端还包括:
第一设置模块,用于设置网络服务参数,由当前解析模块依据所述网络服务参数进行域名解析,其中,所述当前解析模块为第一解析模块和第二解析模块中的一者,所述网络服务参数包括重试次数和超时参数中的一者或多者。
23.根据权利要求19、20或21所述的客户端,其特征在于,所述客户端还包括:
第一记录模块,用于在当前域名解析成功后,记录所述当前域名解析所使用DNS服务器的游标位置,其中,所述当前域名解析为第一域名解析、和第二域名解析中的一者;
第二记录模块,用于记录所述当前域名解析所使用的协议类型;
第一定向模块,用于以所述游标位置和协议类型作为下次域名解析的定向依据。
24.根据权利要求19、20或21所述的客户端,其特征在于,所述客户端还包括:
结果获取模块,用于在当前域名解析成功后,得到相应的解析结果,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者;
判断模块,用于依据所述解析结果,判断得到与所在客户端最合适的DNS服务器;
第二定向模块,用于以所述DNS服务器作为下次域名解析的定向依据。
25.根据权利要求19、20或21所述的客户端,其特征在于,所述客户端还包括:
第二设置模块,用于设置DNS服务器的访问优先级顺序;
选择模块,用于依据所述访问优先级顺序,选择当前DNS服务器进行当前域名解析,其中,所述当前域名解析为第一域名解析和第二域名解析中的一者。
26.根据权利要求25所述的客户端,其特征在于,所述第二设置模块包括:
指定单元,用于指定DNS服务器集合;及
随机散列单元,用于将所述DNS服务器集合中的DNS服务器随机散列到DNS服务器掩码中。
CN201110126408.XA 2011-05-16 2011-05-16 一种域名解析方法和系统、一种客户端 Active CN102790808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110126408.XA CN102790808B (zh) 2011-05-16 2011-05-16 一种域名解析方法和系统、一种客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110126408.XA CN102790808B (zh) 2011-05-16 2011-05-16 一种域名解析方法和系统、一种客户端

Publications (2)

Publication Number Publication Date
CN102790808A CN102790808A (zh) 2012-11-21
CN102790808B true CN102790808B (zh) 2015-11-25

Family

ID=47156106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110126408.XA Active CN102790808B (zh) 2011-05-16 2011-05-16 一种域名解析方法和系统、一种客户端

Country Status (1)

Country Link
CN (1) CN102790808B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109802936A (zh) * 2018-11-22 2019-05-24 北京奇艺世纪科技有限公司 一种网络数据访问方法、装置及电子设备

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327135A (zh) * 2013-06-27 2013-09-25 贝壳网际(北京)安全技术有限公司 域名解析方法、装置及客户端
CN104639666B (zh) * 2013-11-06 2019-04-16 腾讯科技(深圳)有限公司 域名访问方法及装置
CN105991604A (zh) * 2015-02-27 2016-10-05 中兴通讯股份有限公司 一种防止域名劫持的方法及装置
CN104993948B (zh) * 2015-06-11 2018-05-18 福建天晴数码有限公司 Dns域名解析故障处理的方法、系统及移动终端
CN105491110B (zh) * 2015-11-23 2018-06-29 北京天地互连信息技术有限公司 基于http或https的根服务器扩展方法和网络
CN105516385B (zh) * 2015-12-02 2019-05-14 传线网络科技(上海)有限公司 域名解析方法、服务器和系统
CN106331216B (zh) * 2016-09-13 2020-11-03 腾讯科技(深圳)有限公司 域名的解析方法和装置
CN107124482A (zh) * 2017-05-26 2017-09-01 深圳市米联科信息技术有限公司 一种dns数据包转发方法、系统及路由器
CN107124483A (zh) * 2017-06-26 2017-09-01 广州市百果园信息技术有限公司 域名解析方法及服务器
CN107517248B (zh) * 2017-08-09 2021-01-29 苏州驰声信息科技有限公司 基于sdk的网络连接方法及装置
CN107819872A (zh) * 2017-11-22 2018-03-20 聚好看科技股份有限公司 请求网络数据的方法及装置
CN108366277B (zh) * 2018-03-30 2021-06-15 武汉斗鱼网络科技有限公司 一种弹幕服务器连接方法、客户端及可读存储介质
CN108718347B (zh) * 2018-05-18 2021-12-03 腾讯科技(深圳)有限公司 一种域名解析方法、系统、装置及存储介质
CN109618016B (zh) * 2018-12-10 2022-02-22 深圳市网心科技有限公司 一种dns请求的发送处理方法、相关方法及相关装置
CN109347997A (zh) * 2018-12-18 2019-02-15 深圳创维数字技术有限公司 域名解析方法、装置、服务器及存储介质
CN109587290B (zh) * 2019-01-04 2022-06-28 平安科技(深圳)有限公司 一种域名解析的方法及相关装置
CN110290229A (zh) * 2019-06-05 2019-09-27 广东美的制冷设备有限公司 家电设备的域名解析方法、装置、电子设备和存储介质
CN112153166A (zh) * 2019-06-27 2020-12-29 北京声智科技有限公司 一种dns快速解析方法、装置、终端及介质
CN110730251B (zh) * 2019-09-10 2022-11-29 北京字节跳动网络技术有限公司 一种解析域名的方法、装置、介质和电子设备
CN112866424A (zh) * 2019-11-28 2021-05-28 华为技术有限公司 域名查询方法以及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1515505A1 (en) * 2003-09-12 2005-03-16 Siemens Aktiengesellschaft Reachability maintainance of a moving network based on temporary name identifiers
CN1879391A (zh) * 2003-11-04 2006-12-13 多特沃尔斯有限公司 域名的解析
CN101610222A (zh) * 2009-07-20 2009-12-23 中兴通讯股份有限公司 基于客户端的服务器选择方法及装置
CN101631133A (zh) * 2008-07-15 2010-01-20 华为技术有限公司 一种域名解析系统、设备及方法
CN102036422A (zh) * 2009-09-27 2011-04-27 中国移动通信集团公司 一种ip地址获取方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1515505A1 (en) * 2003-09-12 2005-03-16 Siemens Aktiengesellschaft Reachability maintainance of a moving network based on temporary name identifiers
CN1879391A (zh) * 2003-11-04 2006-12-13 多特沃尔斯有限公司 域名的解析
CN101631133A (zh) * 2008-07-15 2010-01-20 华为技术有限公司 一种域名解析系统、设备及方法
CN101610222A (zh) * 2009-07-20 2009-12-23 中兴通讯股份有限公司 基于客户端的服务器选择方法及装置
CN102036422A (zh) * 2009-09-27 2011-04-27 中国移动通信集团公司 一种ip地址获取方法、装置及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109802936A (zh) * 2018-11-22 2019-05-24 北京奇艺世纪科技有限公司 一种网络数据访问方法、装置及电子设备
CN109802936B (zh) * 2018-11-22 2022-04-22 北京奇艺世纪科技有限公司 一种网络数据访问方法、装置及电子设备

Also Published As

Publication number Publication date
CN102790808A (zh) 2012-11-21

Similar Documents

Publication Publication Date Title
CN102790808B (zh) 一种域名解析方法和系统、一种客户端
US10972436B1 (en) System and method for session affinity in proxy media routing
US10659354B2 (en) Processing data packets using a policy based network path
US11418366B2 (en) Systems and methods for providing a global virtual network (GVN)
US11522734B2 (en) Method for controlling a remote service access path and relevant device
US9992180B2 (en) Systems and methods for protecting communications between nodes
US8966050B2 (en) Data centre system and method for a data centre to provide service
CN102790807B (zh) 域名解析代理方法和系统、域名解析代理服务器
US10038693B2 (en) Facilitating secure network traffic by an application delivery controller
CA2421665C (en) Wireless provisioning device
US9203807B2 (en) Private cloud server and client architecture without utilizing a routing server
US8095681B2 (en) Load balancing server and system
US8108525B2 (en) Systems and methods for managing a plurality of user sessions in a virtual private network environment
US9100365B2 (en) Web application process
US20070214265A1 (en) Scalable captive portal redirect
US20190215308A1 (en) Selectively securing a premises network
US10924533B2 (en) System, apparatus and method for load balancing
CN107222561A (zh) 一种传输层反向代理方法
EP2638496B1 (en) Method and system for providing service access to a user
CN101217508A (zh) 一种基于即时通信平台的网络代理系统及其实现方法
CN103168450A (zh) 访问虚拟专用网络的方法、装置以及网关设备
US8650313B2 (en) Endpoint discriminator in network transport protocol startup packets
CN114615237B (zh) 流媒体通信方法、系统、设备及存储介质
CN114710560A (zh) 数据处理方法、系统及代理设备、终端设备
Boyce Linux networking cookbook

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: QIZHI SOFTWARE (BEIJING) CO., LTD.

Effective date: 20150427

Owner name: BEIJING QIHU TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: QIZHI SOFTWARE (BEIJING) CO., LTD.

Effective date: 20150427

C41 Transfer of patent application or patent right or utility model
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Dong Binyan

Inventor after: Zhou Hongdai

Inventor before: Dong Binyan

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: DONG BINYAN TO: DONG BINYAN ZHOU HONGYI

Free format text: CORRECT: ADDRESS; FROM: 100016 CHAOYANG, BEIJING TO: 100088 XICHENG, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20150427

Address after: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Applicant after: Qizhi software (Beijing) Co.,Ltd.

Address before: The 4 layer 100016 unit of Beijing city Chaoyang District Jiuxianqiao Road No. 14 Building C

Applicant before: Qizhi software (Beijing) Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right