智能DNS云解析通过其智能解析,健康监测,负载均衡,宕机切换等高可用性的功能特性,给客户带来快捷,安全,流畅的上网体验。传统的DNS因为其解析时间冗长,易被劫持,无法精准调配用户的流量使用等问题,无法满足在大数据时代下人们对DNS解析的高要求,智能DNS云解析逐渐取代传统的DNS解析。
一、DNS智能解析
DNS智能解析的目的是给客户提供最优的访问IP地址,其线路分为默认线路和自定义线路。默认线路的智能解析是通过客户访问DNS服务器的出口IP定位到客户的地理位置,获取运营商线路类型,然后根据此来源,与库中的默认线路IP地址匹配,给客户提供访问解析地址。自定义线路则是支持将客户DNS出口IP作为自定义线路IP,灵活定制访问策略。
智能解析可制定访问延时/访问地址的策略,支持默认线路和自定义线路两种模式的线路分组,支持多种记录类型(A、AAAA、CNAME、MX、NS、TXT、SRV、CAA、URL、SPF),支持PTR反向解析(将IP地址反向映射到域名)。
DNS智能解析的实现依赖于解析线路的细分化,云服务的节点越多,客户可访问的解析线路就越多,解析的速度就会越快,用户上网体验愈加快捷流畅(表1, 云解析线路)。
二、DNS健康监测
DNS健康监测的主要目的是保障网站可以运行流畅,不断检测网站访问的健康程度,及时准确的为运营者提供故障告警通知,提高网站的有效性和及时性。DNS健康监测是为宕机切换提供依据的,客户可通过设置健康监测的具体内容,包含监测方式,监测线路,监测节点,监测频率和容忍阈值,来设置需要宕机切换的标准。
高防DNS采用Ping命令,TCP/UDP探测和HTTP(S)协议来进行健康监测。(表2, DNS健康监测方式)
Ping命令
Ping命令(Packet Internet Groper,因特网包探索器),是用来测试网络连接量的程序,通过每个数据包的发送和接受的时间以及报告无响应数据包的百分比(丢包率),确定该域名解析到哪一个具体服务器,该域名是否在正常的工作,该域名的访问速度。具体的指标如下:
TCP连接&UDP连接
TCP连接是建立在浏览器与Web服务器之间的,通过浏览器(客户端)与服务器(服务端)的三次握手协议建立连接,便于后续的数据交互(图1,TCP三次握手)。
TCP连接耗尽的攻击是利用真实的IP地址由客户端像服务器端发起大量的请求以占取服务器的资源,造成服务器上等待状态的链接过多,导致请求卡顿,造成延时。
UDP与TCP都属于传输层协议,不同于TCP(传输控制协议),UDP位于IP协议的顶层。UDP的探测相较于TCP要简单很多,它并不需要建立连接,只需要将传输的数据压缩成数据包形式直接发送即可。相较于TCP探测,UDP具有传输速度快,协议开销小,传输数据少的优势。
HTTP(S)协议
HTTP(S)协议(Hyper Text Transfer Protocol,超文本传输协议),由于所有基于Web的应用均使用HTTP协议,所有根据其请求问答后的相应时间和返回码信息可以直接反映出服务器是否在正常工作。当用于表示HTTP请求的状态码大于400时,表示客户端出现错误,当状态码大于500时,表示服务端出现错误,其他,大于100时,表示接受的请求正在处理,大于300时,表示需要进行附加操作才能完成请求,只有当状态码为200时,才表示请求成功。同时,将HTTP(S)的请求相应时间设定为4秒,若超过改时间则表示连接出现问题需进一步检查。具体的HTTP返回报文码信息如下:
三、负载均衡
负载均衡的核心理念是使若干个服务器之间实现资源共享。传统的DNS只有一个服务器为单一的域名提供服务,智能DNS是将同一个域名的访问请求解析指向多个不同的服务器地址,从而缓解网络服务器的压力,保障当网络遭受攻击时,可以请求分摊至其他的多个服务器地址,从而避免单一的服务器遭受攻击而瘫痪(图1,负载均衡图例) 。
四、宕机切换
服务器宕机可以理解为服务器死机,当网站的服务器遭受DDoS攻击时,由于大量的服务器资源被占用,高速运转下的服务器就可能发生宕机,网站将无法正常访问。
宕机切换简单来说就是在确认服务器已经宕机的第一时间系统会自动切换到另一个可用的服务器上,当服务器重新恢复工作时将自动切换回原IP,最大程度上解决因宕机而导致的网站无法访问的问题。
在了解宕机切换的具体流程之前,需引入“集群地址池”的概念。集群地址池是一组可提供相同IP服务查询的服务器集群,支持各种记录类型查询,主集群地址池和备用集群地址池拥有相同的IP服务查询。健康监测是针对地址池里的IP列表同时对所有的集群地址池服务器进行不间断的健康监测,判断服务器的状态。例,健康监测到主集群地址池内的A记录是无法访问的,其他服务器均可正常访问,备用集群地址池服务器均可正常访问,此时,用户对A地址的访问流量会自动切换到备用A记录地址池服务器上,其他的访问流量仍会由主地址池的服务器承担(图3,宕机切换访问流程)。
图2 宕机切换访问流程