近几年来,HTTPDNS技术大火,很多大的网站都开始部署自己的HTTDNS服务器,那么什么是HTTPDNS,HTTPDNS和传统的DNS技术相比有哪些区别?HTTPDNS又有哪些作用呢?针对这些问题,本文国科云做下简单介绍。
传统DNS解析原理
在传统DNS解析过程中,运营商提供的local DNS起到了非常重要的作用。当客户端发起解析时,首先会请求local DNS,如果local DNS中缓存有请求域名的记录,就会将结果直接告知客户端。如果缓存中没有结果,就会先请求根域名服务器,然后在请求对应的顶级域名服务器,最终得到域名对应权威解析服务器地址,通过权威解析服务器地址获取域名对应的IP地址,最后local DNS将IP地址告知客户端,从而完成整个解析过程。
传统DNS解析的弊端
(1)容易被劫持
在传统DNS解析过程中,local DNS作用十分明显,如果攻击者在local DNS缓存中注入错误的解析结果,就可能将访问者引导至受攻击者控制的错误网站或站点不可达,这就是DNS劫持攻击。DNS劫持目前已成为网络攻击中一种非常常见且破坏巨大的攻击行为。
(2)解析延迟较高
在不存在DNS缓存的情况下,客户端在发起解析请求之后,要先后经过local DNS、根服务器、顶级服务器、权威服务器等全球多层级查询,整个过程比较繁琐,会产生较高的延迟。
(3)解析精度不高
为了提升解析效率,DNS解析引入缓存机制,所以在大部分解析场景中,当客户端发起解析请求时,local DNS会直接从DNS缓存中将结果返回给客户端,这样速度就提升了很多。但缓存带来的问题是,如果域名的解析记录发生变更,DNS缓存并不能及时同步,就会造成解析错误,访问错误网站情况的发生。
什么是HTTPDNS?
与传统DNS采用UDP协议传输不同,HTTPDNS是使用HTTP协议直接向DNS服务器发起请求,这样就绕开了运营商的local DNS,简化了请求的复杂性,避免了使用运营商local DNS造成的域名劫持和延迟过高的问题。
HTTPDNS有哪些作用?
(1)防止域名劫持
HTTPDNS是直接通过IP请求HTTPDNS服务器,从而绕过Local DNS服务器,避免了被劫持的情况,所以解析的安全性更高。
(2)域名解析更精准
HTTPDNS能够直接获取到用户的IP地址,不会出现因为修改域名解析,DNS缓存不能及时同步,造成解析不生效的异常状况,因此解析的精度更高。
(3)解析延迟降低
从传统域名解析的流程中可以看出,域名解析的标准流程十分复杂,需要递归多次才能拿到最终的解析结果,如果权威解析服务器的距离过远,就会产生很大延迟。而HTTPDNS只需要一次请求就能拿到解析结果,解析延迟降低,解析速度更快。
(4)用户连接失败率下降
HTTPDNS可以通过算法降低以往失败率较高的服务器排序,通过历史访问成功记录提高服务器排序。如,访问IPa发生错误,在下一次访问时就将IPb排在IPa之前,从而提升用户连接的成功率。
相关推荐: