当前位置:文档之家› 迪普科技-DNS负载均衡技术白皮书

迪普科技-DNS负载均衡技术白皮书

ADX产品DNS负载均衡功能
杭州迪普科技有限公司
Hangzhou DPtech Technologies Co., Ltd
目录
1 前言: (3)
2 概述 (3)
3 功能分析 (3)
3.1 DNS解析实现流程: (3)
3.2 多链路环境下的负载均衡应用: (4)
3.2.1 Inbound(源负载均衡): (4)
3.2.2 就近性(RTT算法): (4)
3.2.3 目的负载均衡: (5)
3.3 多服务器环境下的负载均衡应用: (5)
3.3.1 DNS重定向: (6)
3.3.2 地理分布算法: (6)
3.3.3 全局负载均衡: (7)
1前言:
随着服务器负载均衡和链路负载均衡技术的日益发展,人们的关注点大多集中在了链路和服务器存在瓶颈和冗余性的问题,而DNS负载均衡技术为解决这一问题提供了更多、更灵活的解决思路。

2概述
DNS 是域名系统(Domain Name System) 的缩写,是一种组织成域层次结构的计算机和网络服务命名系统。

DNS 命名用于TCP/IP 网络,如Internet,用来通过用户友好的名称定位计算机和服务。

当用户在应用程序中输入DNS 名称时,DNS 服务可以将此名称解析为与此名称相关的其他信息,如IP 地址。

在链路方面,为解决单一链路所带了的网络单点故障以及脆弱性和国内所存在跨运营商的问题的,目前大部分的企业都部署了多条互联网链路,来提升网络链路的可靠性。

传统的多链路接入依靠复杂的设计,解决了一些接入链路存在单点故障的问题。

但是,它远远没有把多链路接入的巨大优势发挥出来。

链路负载均衡技术即通过对这些链路的管理,以使其达到最大利用率。

在服务器方面,由于用户访问量的增大,使得单一的网络服务设备已经不能满足需要了,由此需要引入服务器的负载平衡,实现客户端同时访问多台同时工作的服务器,实现动态分配每一个应用请求到后台的服务器,并即时按需动态检查各个服务器的状态,根据预设的规则将请求分配给最有效率的服务器。

实现数据流合理的分配,使每台服务器的处理能力都能得到充分的发挥,扩展应用系统的整体处理能力,提高应用系统的整体性能,改善应用系统的可用性和可用性,降低IT投资。

服务器负载均衡技术在现有网络结构之上能够提供一种廉价、有效、透明的方法,来扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

而DNS负载均衡技术是一种全局的负载均衡,当客户通过域名系统对厂商服务器进行访问时,DNS利用对域名的解析,根据链路或者服务器的状态将不同的目的ip返回给客户,以达到让用户通过指定的链路访问,或者与指定的服务器进行交互。

从一定程度上完善了服务器负载均衡和链路负载均衡。

3功能分析
3.1DNS解析实现流程:
ADX设备需要用户将域名的解析功能导向到ADX设备上,由设备来进行域名的解析。

举个例子来说,当用户远程通过域名访问对外发布网站时,逐步通过远程用户的本地DNS 服务器、根DNS服务器,最终由ADX设备来进行域名的解析。

然后ADX设备就会通过负载均衡调度算法,选择最优的线路或者服务器,然后将域名解析成相应的IP地址,返回
给用户。

具体访问流程如下:
假定现在外部公网一个用户访问,ADX设备处理过程如下:
1):客户端向本地DNS发出域名解析请求,请求解析域名www. 的IP地址。

2):本地DNS首先在本地搜索是否有相应的记录,如果没有就向ROOT服务器发起查询www. 的地址,得到的NS记录,即为ADX设备在ROOT服务器上注册的地址。

4):本地DNS查询到达ADX设备。

ADX设备先判断链路或者服务器的健康状况,再根据预先定义的负载均衡算法决定返回给本地DNS哪个IP地址。

5):本地DNS得到解析结果,并将结果返回给客户端。

6):客户端对得到的IP地址发起连接请求,请求最终到达ADX设备。

3.2多链路环境下的负载均衡应用:
主要包括外部用户接入链路选择和内部用户访问外网资源链路选择两个方面,即源负载均衡和目的负载均衡。

3.2.1Inbound(源负载均衡):
首先需要用户将域名的解析功能导向到ADX设备,由设备来进行域名的解析。

举个例子来说,当用户远程通过域名访问对外发布网站时,逐步通过远程用户的本地DNS服务器、根DNS服务器,最终由ADX设备来进行域名的解析。

然后ADX设备就会通过静态列表或者动态判断算法,在多挑链路中选择最优的线路,然后将域名解析成相应线路的IP地址,返回给用户。

详细实现如下:
客户端通过负载均衡设备访问后台http服务器。

客户端请求到达设备的链路有多条,设备的每个外网接口分别对应着不同的链路。

客户端访问域名时,设备对域名进行解析,通过将域名解析为不同的设备接口地址,实现让客户端通过不同的链路完成http请求的功能。

接口地址的选择标准为所对应的链路负载状况。

组网图:
3.2.2就近性(RTT算法):
RTT算法是inbound在链路择优时的一种选择方式,因此它的组网模式与inbound 相同。

在对链路进行选择时,通过对各条链路进行探测,我们可以获得客户端通过不同的链路到达服务器所需的时间,然后我们可以对链路进行排序,将速度最快的链路优先分配给客户端。

即在对域名进行解析时,越快的链路,其地址在回复序列中越靠前。

详细实现如下: 组网模式与inbound相同。

在对域名的解析上,选择的是到达客户端速度最快的接口地址。

选择方式是通过从不同的设备接口对客户端进行探测,比较探测结果,选出速度最快的链路
3.2.3目的负载均衡:
目的负载均衡对应的功能是链路的Outbound流量。

主要是由内部用户和服务器主动发起的对公网的访问,当这部分流量到达设备时,设备会通过预先设定的好策略判断每条条链路的健康状况,并决定将流量负载均衡到哪条链路,然后数据包的源地址转换成相应ISP网段的公网地址,再将该数据包发出;响应数据包返回到设备时,设备将目的地址进行转换之后将数据包发给内部的用户或服务器。

DNS的是实现方式即内网用户在对外网的域名进行访问时,设备通过判断当前链路的运营商类型,将域名解析成对应的对应运营商的服务器地址,以实现达到最优访问速度。

详细实现如下:
设备的控制对象为内网客户端。

内网可以通过不同运营商的链路访问外网服务器。

客户端访问外网域名时,设备对域名进行解析,并保证解析的服务器地址所属的运营商类型,与当前连接外网的链路所属的运营商类型相同。

实现在内网与外网连接的链路发生切换时,内网的客户端仍能以最优速度访问外网。

组网图:
3.3多服务器环境下的负载均衡应用:
包括DNS透明代理和静态DNS服务器功能,通过各种调度算法实现DNS重定向、全局负载均衡、全球可用性等功能。

其中实现负载均衡所用的调度算法包括:
按源地址轮询调度
源地址端口散列调度
随机调度
加权随机调度
加权轮询算法调度
最小链接算法调度
加权最小链接算法调度
最小期望延迟算法调度
加权不排队调度
3.3.1DNS重定向:
重定向功能应用的服务器类型为DNS服务器。

当外部的客户端发送的域名请求需要后台域名服务器进行解析时,由ADX设备根据服务器组的负载状况,根据不同的调度算法,选择最优的服务器,并将客户端的请求转发到目标服务器上进行解析,再将解析后的结果返回给客户端。

详细实现如下:
服务器类型为DNS服务器。

客户端的DNS请求先通过设备,由设备分配给某个后台服务器处理。

分配标准是根据后台服务器的负载情况,通过不同的算法来实现。

组网图:
3.3.2地理分布算法:
该算法应用对象为大型服务器群组,多台服务器分属不同的运营商(ISP),客户端对服务器的访问请求,由ADX设备通过预置的ISP网段信息,实现对客户端所属的ISP类型的智能识别,从而将访问请求分配到相同ISP类型的服务器组,使访问效率达到最优。

详细实现如下:
服务器的类型不限,可以是http服务器,也可以是DNS服务器。

服务器分属不同的运营商,对客户端来说,通常是访问相同运营商的服务器时,速度最快。

当客户端访问服务器组对应的域名时,设备将对域名解析请求进行解析,并选择与发送请求的客户端属于相同运营商的服务器地址进行回复。

识别所属运营商的方式,通过网段匹配,不同的网段分属不同的运营商。

组网图:
3.3.3全局负载均衡:
DNS全局负载均衡以静态DNS服务器的方式实现,在ADX设备上存储由厂商在权威域名机构注册的域名和对应的服务器地址,服务器分两个群组,组之间可以是主备关系,也可以是平行关系。

两台ADX设备分别对两个群组的后台服务器实时监测负载状态。

由主设备首先负责域名解析。

在服务器群组主备状态下,优先在主服务器群中,通过调度算法进行ip地址解析。

在服务器群组平行关系时,根据客户端的网段,将请求分配到对应的服务器群组中。

详细实现如下:
后http台服务器有多台,分属两个不同的服务器组。

每个服务器组有一台设备控制。

其中一台设备为主控,另外一台为备用。

客户端通过访问域名的方式访问后台服务器。

由主控设备负责解析域名,通过按照不同的规则(就近性或者按网段分配等等)将域名解析为不同的服务器组地址,实现控制客户端对服务器的访问。

当主控设备故障时,由备用设备接管。

组网图:。

相关主题