基于dns进行多链路流量均衡的方法、网关和网络的制作方法

文档序号:7749163阅读:112来源:国知局
专利名称:基于dns进行多链路流量均衡的方法、网关和网络的制作方法
技术领域
本发明涉及通信网络,尤其涉及一种基于DNS进行多链路流量均衡的方法、网关禾口网络。
背景技术
目前,因特网用户通常采用多ISPanternet Service Provider,互联网服务供应商)接入链路,而DNS (Domain Name System,域名系统)服务无疑是ISP提供的最重要的服
务之一。图1示出了现有技术中用户通过多ISP接入链路的示意图。如图1所示,每个ISP 都会向用户提供自己的DNS服务器,利用DNS服务器提供的DNS服务可以将绝大部分业务的域名转换成IP地址。虽然内网PC机中通常可以设定多个DNS服务器的IP地址,但是内网PC机一般只会选择首选DNS服务器来解析域名。只有当首选DNS服务器解析失败时,PC 机才会选择其他DNS服务器执行解析。因特网上的其他服务供应商,比如内容提供商,常见的如门户网站等,也会采用多 ISP链路发布自己的服务。图2示出了现有技术中这些服务供应商通过多ISP链路发布服务的示意图,其中,服务供应商利用自己的智能DNS服务器接管了自己的域名解析工作,从而可根据DNS客户端的IP地址信息返回所请求业务对应的最优IP地址。如图2所示,服务供应商可以通过ISPl和ISP2这两条链路发布自己的XX服务(例如WEB服务),并且用自己的智能DNS服务器解析自己的域名。当DNS请求的源地址是ISPl的IP时,智能DNS 服务器通常根据静态就近性返回XX服务的ISPl链路上的IP地址,当DNS请求的源地址是 ISP2的IP时,智能DNS服务器通常根据静态就近性返回XX服务的ISP2链路上的IP地址。总之,一般来说,网关后的用户端(例如PC机)各自配置自己的DNS服务器地址, 如果配置的是ISPl的LDNS (local DNS,本地DNS)服务器的IP地址,则流程通信流程如图 3所示。如果用户端配置的是ISP2的LDNS服务器的IP地址,则流程类似,最后流量会通过网关的ISP2链路传送。在以上情景中,网关最终选择哪个ISP链路访问服务供应商,仅仅考虑IP地址的静态就近性,受到用户端的DNS服务器设置的影响,使得链路负载均衡效果受到影响,可能导致有的链路繁忙而有的链路空闲,进而影响用户访问网络的速度和质量。

发明内容
本发明要解决的技术问题在于,针对现有技术中链路负载无法均衡而影响用户访问网络的速度和质量的缺陷,提供一种基于DNS进行多链路流量均衡的方法、网关和网络。本发明解决其技术问题所采用的技术方案是提供一种基于DNS进行多链路流量均衡的方法,包括从用户端接收DNS请求,所述用户端预先设置有每条接入网络链路对应的本地 DNS服务器;
根据所述每条接入网络链路的当前状况信息,按照预设规则选择最佳接入网络链路;将所述DNS请求发送给所述选择的最佳接入网络链路对应的最佳本地DNS服务器;从所述最佳本地DNS服务器接收对应于所述DNS请求的DNS应答,所述DNS应答是所述最佳本地DNS服务器从所述DNS请求对应的业务的智能DNS服务器接收的,所述DNS 应答包括所述业务在所述最佳接入网络链路上对应的IP地址;将所述DNS应答返回给所述用户端,所述DNS应答用于使所述用户端根据所述IP 地址通过所述最佳接入网络链路访问所述业务对应的服务器。本发明基于DNS进行多链路流量均衡的方法中,所述方法还包括通过所述每条接入网络链路向该链路对应的本地DNS服务器发送针对预设网站的DNS请求;根据从每个所述本地DNS服务器接收的DNS应答相关信息判断该本地DNS服务器是否能够正常提供业务。本发明基于DNS进行多链路流量均衡的方法中,所述当前状况信息包括链路健康状态、本地DNS服务器健康状态、链路的带宽信息和链路的流量。本发明基于DNS进行多链路流量均衡的方法中,所述预设规则包括轮询、加权轮询、加权最小流量和优先级。本发明还提供一种基于DNS进行多链路流量均衡的方法,包括从用户端接收DNS请求,所述用户端预先设置有每条接入网络链路对应的本地 DNS服务器;将所述DNS请求发送给每个所述本地DNS服务器;从所述每个本地DNS服务器接收对应于所述DNS请求的DNS应答,所述DNS应答是所述每个本地DNS服务器分别从所述DNS请求对应的业务的智能DNS服务器接收的,所述DNS应答分别包括所述业务在所述每条接入网络链路上对应的IP地址;根据所述每条接入网络链路的当前状况信息,按照预设规则选择最佳接入网络链路;将对应于所述最佳接入网络链路的最佳DNS应答返回给所述用户端,所述最佳 DNS应答用于使所述用户端根据对应的IP地址通过所述最佳接入网络链路访问所述业务对应的服务器。本发明还提供一种基于DNS进行多链路流量均衡的网关,包括链路选择模块,用于根据每条接入网络链路的当前状况信息,按照预设规则选择最佳接入网络链路;接收模块,用于从用户端接收DNS请求,还用于从所述最佳接入网络链路对应的最佳本地DNS服务器接收对应于所述DNS请求的DNS应答,所述用户端预先设置有每条接入网络链路对应的本地DNS服务器,所述DNS应答是所述最佳本地DNS服务器从所述DNS 请求对应的业务的智能DNS服务器接收的,所述DNS应答包括所述业务在所述最佳接入网络链路上对应的IP地址;发送模块,用于将所述接收模块接收的所述DNS请求发送给所述链路选择模块选择的所述最佳接入网络链路对应的最佳本地DNS服务器,还用于将所述DNS应答返回给所述用户端,所述DNS应答用于使所述用户端根据所述IP地址通过所述最佳接入网络链路访问所述业务对应的服务器。本发明基于DNS进行多链路流量均衡的网关中,所述网关还包括链路健康检查模块,用于通过所述每条接入网络链路向该链路对应的本地DNS服务器发送针对预设网站的DNS请求,并用于根据从每个所述本地DNS服务器接收的DNS应答相关信息判断该本地DNS服务器是否能够正常提供业务。本发明基于DNS进行多链路流量均衡的网关中,所述预设规则包括轮询、加权轮询、加权最小流量和优先级。本发明还提供一种基于DNS进行多链路流量均衡的网关,包括链路选择模块,用于根据每条接入网络链路的当前状况信息,按照预设规则选择最佳接入网络链路;接收模块,用于从用户端接收DNS请求,还用于从每个本地DNS服务器接收对应于所述DNS请求的DNS应答,所述用户端预先设置有每条接入网络链路对应的本地DNS服务器,所述DNS应答是所述每个本地DNS服务器分别从所述DNS请求对应的业务的智能DNS服务器接收的,所述DNS应答分别包括所述业务在所述每条接入网络链路上对应的IP地址;发送模块,用于将所述接收模块接收的所述DNS请求发送给每个所述本地DNS服务器,还用于将对应于所述链路选择模块选择的最佳接入网络链路的最佳DNS应答返回给所述用户端,所述最佳DNS应答用于使所述用户端根据对应的IP地址通过所述最佳接入网络链路访问所述业务对应的服务器。本发明还提供一种基于DNS进行多链路流量均衡的网络,包括用户端、多个本地 DNS服务器、多条接入网络链路和多个业务系统,其中每个本地DNS服务器对应于一条接入网络链路,每个业务系统分别包括智能DNS服务器和业务服务器,所述网络还包括以上任一项所述的网关。本发明一种基于DNS进行多链路流量均衡的方法、网关和网络的有益效果为通过基于链路的当前状况信息来选择链路进行数据通信,可以在不依赖客户端PC机的DNS 服务器设置的情况下,对用户的DNS请求进行负载均衡,从而可以有效地解决网络流量不均衡的情况,同时由于都是通过目的IP对应的链路进行访问,还可以改善用户端的上网速度。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是现有技术中用户端PC机基于DNS服务访问网络的示意图;图2是现有技术中应用服务商基于DNS服务为用户端PC机提供应用的示意图;图3是现有技术中用户端PC机与应用服务商之间基于DNS服务相互通信的示意图;图4是根据本发明一个实施例的基于DNS进行多链路流量均衡的网络的结构框图;图5是根据本发明一个实施例的基于DNS进行多链路流量均衡的网关的结构框图;图6是根据本发明另一个实施例的基于DNS进行多链路流量均衡的网关的结构框图;图7是根据本发明一个实施例的基于DNS进行多链路流量均衡的方法的流程图;图8是根据本发明另一个实施例的基于DNS进行多链路流量均衡的方法的流程图;图9是根据本发明一个实施例的用户端PC机与应用服务商之间基于DNS服务相互通信的示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图4是根据本发明一个实施例的基于DNS进行多链路流量均衡的网络的结构框图。在本实施例中,基于DNS进行多链路流量均衡的网络包括用户端100、多个本地DNS服务器200、多条接入网络链路300、多个业务系统400和网关500。其中每个本地DNS服务器 200对应于一条接入网络链路300,每个业务系统400分别包括智能DNS服务器410和业务服务器420。网关500接入用户端100与多条接入网络链路300之间,用于为用户端100提供对互联网的接入。图5是根据本发明一个实施例的基于DNS进行多链路流量均衡的网关500的结构框图。在本实施例中,网关500包括链路选择模块510、接收模块520和发送模块530。在本发明的各种实施例中,链路选择模块510、接收模块520和发送模块530可以按照不同的方式协同地基于DNS进行多链路流量均衡。在本发明的一个实施例中链路选择模块510可以用于根据每条接入网络链路300的当前状况信息,按照预设规则选择最佳接入网络链路。接入网络链路300的当前状况信息可以包括链路健康状态、LDNS健康状态、链路的带宽信息和链路的流量等。列举这些仅仅是为了举例说明,而不用于限制本发明,在本发明的其他实施例中,还可以包括本领域技术人员所熟知的各种其它链路当前状况信息类型。类似地,上述预设规则可以包括任意合适的用于判断链路性能的标准,例如轮询、加权轮询、加权最小流量和优先级。接收模块520可以用于从用户端100(例如PC机)接收DNS请求。当用户端100 请求某个网络服务(例如访问优酷)时,通常先向网关500请求解析该网络服务的域名,接收模块520可以从用户端100接收该DNS请求。在随后的通信过程中,接收模块520还可以用于从链路选择模块510选择的最佳接入网络链路所对应的最佳本地DNS服务器接收对应于该DNS请求的DNS应答。通常,用户端100中都预先设置有每条接入网络链路300对应的本地DNS服务器200。接收模块520所接收的DNS应答是最佳本地DNS服务器从相应 DNS请求对应的业务的智能DNS服务器(例如智能DNS服务器410)接收的。接收模块520 所接收的DNS应答可以包括所请求业务在最佳接入网络链路上对应的IP地址。发送模块530可以用于将接收模块520接收的DNS请求发送给链路选择模块510选择的最佳接入网络链路对应的最佳本地DNS服务器,以便通过该最佳本地DNS服务器转发该DNS请求给对应业务的智能DNS服务器。在随后的通信过程中,发送模块530还可以用于将接收模块520从最佳本地DNS服务器接收相应的DNS应答返回给用户端100。由于DNS 应答可以包括所请求业务在最佳接入网络链路上对应的IP地址,用户端100可以根据该IP 地址通过最佳接入网络链路访问所请求业务对应的业务服务器(例如业务服务器420)。在工作过程中,接收模块520从用户端100 (例如PC机)接收DNS请求。链路选择模块510可以根据每条接入网络链路300的当前状况信息,按照预设规则选择最佳接入网络链路。发送模块530可以将接收模块520接收的DNS请求发送给链路选择模块510选择的最佳接入网络链路对应的最佳本地DNS服务器,以便通过该最佳本地DNS服务器转发该DNS请求给对应业务的智能DNS服务器。然后,接收模块520可以从链路选择模块510 选择的最佳接入网络链路所对应的最佳本地DNS服务器接收对应于该DNS请求的DNS应答。接收模块520所接收的DNS应答是最佳本地DNS服务器从相应DNS请求对应的业务的智能DNS服务器(例如智能DNS服务器410)接收的。接下来,发送模块530可以将接收模块520从最佳本地DNS服务器接收相应的DNS应答返回给用户端100。由于DNS应答可以包括所请求业务在最佳接入网络链路上对应的IP地址,用户端100可以根据该IP地址通过最佳接入网络链路访问所请求业务对应的业务服务器(例如业务服务器420)。但是以上只是本发明的一个实施例,在本发明的其它实施例中,还可以采用其它方案。替换地,在本发明的另一个实施例中链路选择模块510可以用于根据每条接入网络链路300的当前状况信息,按照预设规则选择最佳接入网络链路。接入网络链路300的当前状况信息可以包括链路健康状态、LDNS健康状态、链路的带宽信息和链路的流量等。列举这些仅仅是为了举例说明,而不用于限制本发明,在本发明的其他实施例中,还可以包括本领域技术人员所熟知的各种其它链路当前状况信息类型。类似地,上述预设规则可以包括任意合适的用于判断链路性能的标准,例如轮询、加权轮询、加权最小流量和优先级。接收模块520可以用于从用户端100 (例如PC机)接收DNS请求。当用户端100 请求某个网络服务(例如访问优酷)时,通常先向网关500请求解析该网络服务的域名,接收模块520可以从用户端100接收该DNS请求。在随后的通信过程中,接收模块520还可以用于从每个本地DNS服务器200接收对应于该DNS请求的DNS应答。通常,用户端100 中都预先设置有每条接入网络链路对应的本地DNS服务器。接收模块520所接收的DNS应答是每个本地DNS服务器200分别从该DNS请求对应的业务的智能DNS服务器(例如智能 DNS服务器410)接收的。接收模块520所接收的DNS应答分别包括所请求业务在每条接入网络链路300上对应的IP地址。发送模块530可以用于将接收模块520接收的DNS请求发送给每个本地DNS服务器200,以便分别通过每个本地DNS服务器200转发该DNS请求给对应业务的智能DNS服务器(例如智能DNS服务器410)。在随后的通信过程中,发送模块530还可以用于根据链路选择模块510所选的最佳接入网络链路,将对应于该最佳接入网络链路的最佳DNS应答返回给用户端100。由于DNS应答可以包括所请求业务在最佳接入网络链路上对应的IP地址,用户端100可以根据该IP地址通过最佳接入网络链路访问所请求业务对应的业务服务器(例如业务服务器420)。
在工作过程中,接收模块520可以从用户端100(例如PC机)接收DNS请求。发送模块530可以将接收模块520接收的DNS请求发送给每个本地DNS服务器200,以便分别通过每个本地DNS服务器200转发该DNS请求给对应业务的智能DNS服务器(例如智能DNS 服务器410)。然后,接收模块520可以从每个本地DNS服务器200接收对应于该DNS请求的DNS应答。接收模块520所接收的DNS应答是每个本地DNS服务器200分别从该DNS请求对应的业务的智能DNS服务器(例如智能DNS服务器410)接收的。接下来,链路选择模块510可以根据每条接入网络链路300的当前状况信息,按照预设规则选择最佳接入网络链路。此后,发送模块530可以根据链路选择模块510所选的最佳接入网络链路,将对应于该最佳接入网络链路的最佳DNS应答返回给用户端100。由于DNS应答可以包括所请求业务在最佳接入网络链路上对应的IP地址,用户端100可以根据该IP地址通过最佳接入网络链路访问所请求业务对应的业务服务器(例如业务服务器420)。本发明一种基于DNS进行多链路流量均衡的网关中,通过链路选择模块510基于链路的当前状况信息来选择链路进行数据通信,可以在不依赖客户端PC机的DNS服务器设置的情况下,对用户的DNS请求进行负载均衡,从而可以有效地解决网络流量不均衡的情况,同时由于都是通过目的IP对应的链路进行访问,还可以改善用户端的上网速度。图6是根据本发明另一个实施例的基于DNS进行多链路流量均衡的网关500的结构框图。在本实施例中,网关500包括链路选择模块510、接收模块520、发送模块530和链路健康检查模块M0。其中链路健康检查模块540是可选模块,即在本发明的一些实施例中,可以包含或不包含该模块。链路选择模块510、接收模块520和发送模块530已经参考图5进行了详细描述,在此不再赘述。链路健康检查模块540可以用于通过每条接入网络链路300向该链路对应的本地 DNS服务器200发送针对预设网站的DNS请求,然后,链路健康检查模块540可以用于根据从每个本地DNS服务器300接收的DNS应答相关信息判断相应的本地DNS服务器300是否能够正常提供业务。其中,预设网站可以是供应商预先设置在链路健康检查模块MO中的一些知名网站的DNS请求,例如Baidu、G00gle、Sina等。例如,当检查第一条接入网络链路 300的健康状态时,链路健康检查模块540可以向第一条接入网络链路300对应的本地DNS 服务器200发送某个预设网站的DNS请求,然后根据是否能够正常地从第一条接入网络链路300接收对应的DNS应答来判断该链路的健康状态。在检查不同链路时,最好发送相同的 DNS请求,以避免由于业务系统网络的差异或故障而导致的链路健康检查结果的误差。链路健康检查模块540可以在供应商或用户预先设置的周期(例如每小时或每十分钟)定时进行链路健康检查。但这只是本发明的一个实施例,在本发明的其它实施例中,链路健康检查模块540可以在链路选择模块510进行链路选择时或进行链路选择前执行对每条接入网络链路的健康检查,以便链路选择模块510能够做出最佳的选择,从而保证随后访问所请求业务时的质量、流量和速度。。图7是根据本发明一个实施例的基于DNS进行多链路流量均衡的方法的流程图。 在本实施例中,基于DNS进行多链路流量均衡的方法从步骤710开始。在步骤710中,从用户端(例如PC机)接收DNS请求。当用户端请求某个网络服务(例如访问优酷)时,通常先向网关请求解析该网络服务的域名,网关可以从用户端接收该DNS请求。通常,用户端中都预先设置有每条接入网络链路对应的本地DNS服务器。
在步骤720中,根据每条接入网络链路的当前状况信息,按照预设规则选择最佳接入网络链路。接入网络链路的当前状况信息可以包括链路健康状态、LDNS健康状态、链路的带宽信息和链路的流量等。列举这些仅仅是为了举例说明,而不用于限制本发明,在本发明的其他实施例中,还可以包括本领域技术人员所熟知的各种其它链路当前状况信息类型。类似地,上述预设规则可以包括任意合适的用于判断链路性能的标准,例如轮询、加权轮询、加权最小流量和优先级。在步骤730中,将DNS请求发送给步骤720中所选的最佳接入网络链路对应的最佳本地DNS服务器,以便通过该最佳本地DNS服务器转发步骤710中接收的DNS请求给对应业务的智能DNS服务器。在步骤740中,从最佳本地DNS服务器接收对应于所转发DNS请求的DNS应答。其中,所接收的DNS应答是最佳本地DNS服务器从相应DNS请求对应的业务的智能DNS服务器接收的。通常,所接收的DNS应答可以包括所请求业务在最佳接入网络链路上对应的IP 地址。在步骤750中,将步骤740中接收的DNS应答返回给用户端,由于DNS应答可以包括所请求业务在最佳接入网络链路上对应的IP地址,用户端可以根据该IP地址通过最佳接入网络链路访问所请求业务对应的业务服务器。但是以上只是本发明的一个实施例,在本发明的其它实施例中,还可以采用其它方案。图8是根据本发明另一个实施例的基于DNS进行多链路流量均衡的方法的流程图。 在本实施例中,基于DNS进行多链路流量均衡的方法从步骤810开始。在步骤810中,从用户端(例如PC机)接收DNS请求。当用户端请求某个网络服务(例如访问优酷)时,通常先向网关请求解析该网络服务的域名,网关可以从用户端接收该DNS请求。通常,用户端中都预先设置有每条接入网络链路对应的本地DNS服务器。在步骤820中,将步骤810中接收的DNS请求发送给每个本地DNS服务器,以便分别通过每个本地DNS服务器转发步骤810中接收的DNS请求给对应业务的智能DNS服务器。在步骤830中,从每个本地DNS服务器接收对应于所转发DNS请求的DNS应答。其中,所接收的DNS应答分别是每个本地DNS服务器各自从所转发DNS请求对应的业务的智能DNS服务器接收的。通常,所接收的DNS应答分别可以包括所请求业务在每条接入网络链路上对应的IP地址。在步骤840中,根据每条接入网络链路的当前状况信息,按照预设规则选择最佳接入网络链路。接入网络链路的当前状况信息可以包括链路健康状态、LDNS健康状态、链路的带宽信息和链路的流量等。列举这些仅仅是为了举例说明,而不用于限制本发明,在本发明的其他实施例中,还可以包括本领域技术人员所熟知的各种其它链路当前状况信息类型。类似地,上述预设规则可以包括任意合适的用于判断链路性能的标准,例如轮询、加权轮询、加权最小流量和优先级。在步骤850中,将对应于步骤840中所选的最佳接入网络链路的最佳DNS应答返回给用户端。由于最佳DNS应答中可以包括所请求业务在最佳接入网络链路上对应的IP地址,用户端可以根据该IP地址通过最佳接入网络链路访问所请求业务对应的业务服务器。本发明一种基于DNS进行多链路流量均衡的方法中,通过基于链路的当前状况信息来选择链路进行数据通信,可以在不依赖客户端PC机的DNS服务器设置的情况下,对用户的DNS请求进行负载均衡,从而可以有效地解决网络流量不均衡的情况,同时由于都是通过目的IP对应的链路进行访问,还可以改善用户端的上网速度。在本发明的其它实施例中,进行多链路流量均衡的方法还可以包括通过每条接入网络链路向该链路对应的本地DNS服务器发送针对预设网站的DNS请求,并根据从每个本地DNS服务器接收的DNS应答相关信息判断相应的本地DNS服务器是否能够正常提供业务。其中,预设网站可以是供应商预先设置的一些知名网站的DNS请求,例如Baidu、 G00gle、Sina等。例如,当检查第一条接入网络链路的健康状态时,可以向第一条接入网络链路对应的本地DNS服务器发送某个预设网站的DNS请求,然后根据是否能够正常地从第一条接入网络链路接收对应的DNS应答来判断该链路的健康状态。在检查不同链路时,最好发送相同的DNS请求,以避免由于业务系统网络的差异或故障而导致的链路健康检查结果的误差。可以在供应商或用户预先设置的周期(例如每小时或每十分钟)定时对链路进行健康检查。但这只是本发明的一个实施例,在本发明的其它实施例中,还可以在选择最佳链路时或选择最佳链路前执行对每条接入网络链路的健康检查,以便对链路做出最佳的选择,从而保证随后访问所请求业务时的质量、流量和速度。图9是根据本发明一个实施例的用户端PC机与应用服务商之间基于DNS服务相互通信的示意图。在本实施例中,参考图4所示的基于DNS进行多链路流量均衡的系统,用户端100首先向网关500发送DNS请求,然后网关500可以根据每条接入网络链路300的当前状态,选择最佳接入网络链路,并向所选的最佳接入网络链路对应的最佳本地DNS服务器200转发所接收的DNS请求。最佳本地DNS服务器200接收DNS请求后,根据DNS请求中的业务信息将该DNS请求传递给所请求业务对应的智能DNS服务器410。智能DNS服务器410可以自行解析该DNS请求,并根据所请求业务在最佳接入网络链路上的IP地址生成DNS应答,将生成的DNS应答返回给最佳接入网络链路对应的最佳本地DNS服务器,以便通过最佳本地DNS服务器传递给网关500。网关500随后将所接收的DNS应答返回给发出相应DNS请求的用户端100。然后,用户端100就可以根据DNS应答中包含的IP地址访问所请求的业务了。在访问所请求的业务时,用户端100将通过网关100,根据所接收的IP地址经由最佳接入网络链路访问所请求业务对应的业务服务器420。当然,图4所示的基于DNS进行多链路流量均衡的系统还可以参照图8所示的方法来实施。本发明的各种实施例提供了一种基于DNS进行多链路流量均衡的方法、网关和系统,通过基于链路的当前状况信息来选择链路进行数据通信,可以在不依赖客户端PC机的 DNS服务器设置的情况下,对用户的DNS请求进行负载均衡,从而可以有效地解决网络流量不均衡的情况,同时由于都是通过目的IP对应的链路进行访问,还可以改善用户端的上网速度。另外,本发明还可以在需要时对每条链路进行健康状态检查,以便更准确地选择最佳接入网络链路,从而保证了通信的高质量、大流量和快速度。需要指出的是,在上述对各种模块的描述中,分割成这些模块,是为了说明清楚。 然而,在实际实施中,各种模块的界限可以是模糊的。例如,本文中的任意或所有功能性模块可以共享各种硬件元件。因此,除非明确要求,本发明的范围不受各种硬件元件间强制性界限的限制。虽然本发明是通过具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或材料,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公幵的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。
权利要求
1.一种基于DNS进行多链路流量均衡的方法,其特征在于,包括从用户端接收DNS请求,所述用户端预先设置有每条接入网络链路对应的本地DNS服务器;根据所述每条接入网络链路的当前状况信息,按照预设规则选择最佳接入网络链路;将所述DNS请求发送给所述选择的最佳接入网络链路对应的最佳本地DNS服务器;从所述最佳本地DNS服务器接收对应于所述DNS请求的DNS应答,所述DNS应答是所述最佳本地DNS服务器从所述DNS请求对应的业务的智能DNS服务器接收的,所述DNS应答包括所述业务在所述最佳接入网络链路上对应的IP地址;将所述DNS应答返回给所述用户端,所述DNS应答用于使所述用户端根据所述IP地址通过所述最佳接入网络链路访问所述业务对应的服务器。
2.根据权利要求1所述的基于DNS进行多链路流量均衡的方法,其特征在于,所述方法还包括通过所述每条接入网络链路向该链路对应的本地DNS服务器发送针对预设网站的DNS 请求;根据从每个所述本地DNS服务器接收的DNS应答相关信息判断该本地DNS服务器是否能够正常提供业务。
3.根据权利要求1所述的基于DNS进行多链路流量均衡的方法,其特征在于,所述当前状况信息包括链路健康状态、本地DNS服务器健康状态、链路的带宽信息和链路的流量。
4.根据权利要求1所述的基于DNS进行多链路流量均衡的方法,其特征在于,所述预设规则包括轮询、加权轮询、加权最小流量和优先级。
5.一种基于DNS进行多链路流量均衡的方法,其特征在于,包括从用户端接收DNS请求,所述用户端预先设置有每条接入网络链路对应的本地DNS服务器;将所述DNS请求发送给每个所述本地DNS服务器;从所述每个本地DNS服务器接收对应于所述DNS请求的DNS应答,所述DNS应答是所述每个本地DNS服务器分别从所述DNS请求对应的业务的智能DNS服务器接收的,所述DNS 应答分别包括所述业务在所述每条接入网络链路上对应的IP地址;根据所述每条接入网络链路的当前状况信息,按照预设规则选择最佳接入网络链路;将对应于所述最佳接入网络链路的最佳DNS应答返回给所述用户端,所述最佳DNS应答用于使所述用户端根据对应的IP地址通过所述最佳接入网络链路访问所述业务对应的服务器。
6.一种基于DNS进行多链路流量均衡的网关,其特征在于,包括链路选择模块,用于根据每条接入网络链路的当前状况信息,按照预设规则选择最佳接入网络链路;接收模块,用于从用户端接收DNS请求,还用于从所述最佳接入网络链路对应的最佳本地DNS服务器接收对应于所述DNS请求的DNS应答,所述用户端预先设置有每条接入网络链路对应的本地DNS服务器,所述DNS应答是所述最佳本地DNS服务器从所述DNS请求对应的业务的智能DNS服务器接收的,所述DNS应答包括所述业务在所述最佳接入网络链路上对应的IP地址;发送模块,用于将所述接收模块接收的所述DNS请求发送给所述链路选择模块选择的所述最佳接入网络链路对应的最佳本地DNS服务器,还用于将所述DNS应答返回给所述用户端,所述DNS应答用于使所述用户端根据所述IP地址通过所述最佳接入网络链路访问所述业务对应的服务器。
7.根据权利要求6所述的基于DNS进行多链路流量均衡的网关,其特征在于,所述网关还包括链路健康检查模块,用于通过所述每条接入网络链路向该链路对应的本地DNS服务器发送针对预设网站的DNS请求,并用于根据从每个所述本地DNS服务器接收的DNS应答相关信息判断该本地DNS服务器是否能够正常提供业务。
8.根据权利要求6所述的基于DNS进行多链路流量均衡的网关,其特征在于,所述预设规则包括轮询、加权轮询、加权最小流量和优先级。
9.一种基于DNS进行多链路流量均衡的网关,其特征在于,包括链路选择模块,用于根据每条接入网络链路的当前状况信息,按照预设规则选择最佳接入网络链路;接收模块,用于从用户端接收DNS请求,还用于从每个本地DNS服务器接收对应于所述 DNS请求的DNS应答,所述用户端预先设置有每条接入网络链路对应的本地DNS服务器,所述DNS应答是所述每个本地DNS服务器分别从所述DNS请求对应的业务的智能DNS服务器接收的,所述DNS应答分别包括所述业务在所述每条接入网络链路上对应的IP地址;发送模块,用于将所述接收模块接收的所述DNS请求发送给每个所述本地DNS服务器, 还用于将对应于所述链路选择模块选择的最佳接入网络链路的最佳DNS应答返回给所述用户端,所述最佳DNS应答用于使所述用户端根据对应的IP地址通过所述最佳接入网络链路访问所述业务对应的服务器。
10.一种基于DNS进行多链路流量均衡的网络,包括用户端、多个本地DNS服务器、多条接入网络链路和多个业务系统,其中每个本地DNS服务器对应于一条接入网络链路,每个业务系统分别包括智能DNS服务器和业务服务器,其特征在于,所述网络还包括如权利要求6-9中任一项所述的网关。
全文摘要
本发明公开了一种基于DNS进行多链路流量均衡的方法、网关和网络。该网关包括链路选择模块,用于根据每条接入网络链路的当前状况信息,按照预设规则选择最佳接入网络链路;接收模块,用于从用户端接收DNS请求,还用于从本地DNS服务器接收对应于DNS请求的DNS应答,DNS应答包括所请求业务在相应接入网络链路上对应的IP地址;发送模块,用于将DNS请求发送给本地DNS服务器,还用于将DNS应答返回给用户端。本发明可以在不依赖客户端PC机的DNS服务器设置的情况下,对用户的DNS请求进行负载均衡,从而可以有效地解决网络流量不均衡的情况,并可以改善用户端的上网速度。
文档编号H04L29/12GK102244613SQ201110230099
公开日2011年11月16日 申请日期2011年8月11日 优先权日2011年8月11日
发明者张磊 申请人:深信服网络科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1