大型互联网平台技术架构(三):企业级DNS玩法(企业dns部署)

大型互联网平台技术架构(三):企业级DNS玩法(企业dns部署)

之前的两篇文章,分别对用户端和服务端进行了一个系统的介绍,相信你读完之后,已经对大型互联网平台技术架构有了一个初步的认识,并对更细节的内容产生了兴趣。接下来我将依次介绍接入层、服务层、PaaS层、IaaS层中的每个常用的基础组件服务。本篇文章我将介绍接入层中的DNS。DNS原理性的知识,网上很多,大家也都比较熟悉,我就不再过多介绍了。我更多的会从企业实战的角度,讲讲DNS演进出的哪些实用的技术。

概述

DNS(Domain Name System)是一个域名系统,简单来说就是将一个字符串解析为一个IP地址,当然也支持反向解析,还支持解析为其它字符串。DNS提供的功能看似简单,但却是互联网的根基,它提供的能力也远不止将域名解析为IP地址这么简单,希望阅读完本篇文章后,你能对DNS有一个更全面的了解。

我们先从使用域名的整个流程,来回顾一下涉及到哪些环节。

  1. 注册购买域名。从域名注册商/各大云服务商注册购买一个域名。
  2. 网站备案。在中国大陆境内提供服务的网站都应依法进行 ICP 备案和公安备案。
  3. 解析托管。将域名托管到一个权威解析服务提供商。
  4. 日常维护。域名续费、权威解析付费、网站信息有变及时进行备案变更。
  5. 域名注销。注销备案、关闭解析服务、注销域名。

在上述5个环节中,除了“解析托管”,其它都是非技术操作,本篇文章就不再详细说明了。接下来,将重点介绍域名解析这个环节,域名解析可进一步细分为权威解析服务、递归解析服务、流量管理服务,下面对这几种类型的服务进行详细讲解。

权威解析服务

真正提供修改、存储解析记录的DNS服务,就是权威解析服务,也就是我们注册域名托管的DNS服务。权威解析服务和根域名服务器、顶级域名服务器共同组成了DNS的树型解析系统。权威DNS服务器可以自行搭建,也可以使用专业的权威DNS服务商的产品,除非是超大型企业,否则不建议自建权威DNS服务,因为其成本高昂、可用性和性能也一般。

当下的权威DNS解析服务,除了提供域名到IP地址解析的基本功能外,还提供了智能解析和安全防护。智能解析可以分两方面:一方面是根据DNS请求端所在的物理位置和运营商信息返回一个最合适IP地址,提高网络通信质量;另一方面是DNS服务器通过AnyCast技术将自己的IP宣告在全球多个物理位置,提升解析响应速度。安全防护方面的主要功能包括:1)DNS Query Flood Attack防护,抵御大量恶意解析流量,避免无法响应正常用户解析请求。2)支持 DNSSEC(Domain Name System Security Extensions),避免攻击者伪造解析记录,进一步提高DNS解析安全性。

递归解析服务

个人电脑、手机、服务器中配置的DNS服务器,提供的就是递归解析服务。与之相对应的另一种解析叫迭代解析,比如,根服务不会直接告诉你解析结果,而是告诉你顶级域名服务器,你需要多次迭代才能获取到最终的解析结果,故而叫迭代解析。而递归解析,就是你发起一次请求,它会直接给你结果,可能是它内部缓存的结果,也可能是它进行了迭代解析的到的结果,不管怎样,它都会帮你拿到最终的解析结果,这就是递归解析。

企业内部、运营商、公共DNS提供商都会提供递归解析服务,比如Google的8.8.8.8、阿里223.5.5.5,都是递归解析服务。递归解析服务的基本功能就是帮助客户端进行迭代解析、缓存DNS解析结果、缓解权威DNS解析压力。当然,除了这些基本功的功能之外,现代递归解析服务还提供了HTTP/HTTPS(DoH/DoT)的解析能力、EDNS Client Subnet技术、AnyCast全球节点就近访问能力。

传统的DNS递归解析,使用明文的DNS协议,安全性较低,易发生解析劫持,通过DoH(DNS over HTTPS)、DoT(DNS over TLS)技术可以保障通信的安全性。目前,大部分的电脑、手机和浏览器都已经支持配置DoH和DoT,企业用户也可以通过SDK和HTTP API使用。

传统的DNS智能线路接线,只能根据用户的LocalDNS IP地址判断物理位置、运营商等信息,如果用户使用的是类似Google的8.8.8.8这种统一IP的全球DNS,就会导致和用户实际的物理位置和运营商有很大偏差,通过edns-client-subnet可直接获取用户的IP地址,实现精准流量调度。

大型的公共DNS服务提供商,公布的DNS服务器地址只有几个固定IP,并且未划分地域,全球所有用户可以使用相同的IP。如果这些IP地址是传统的IP,那么大部分用户将跋山涉水才能访问到,这会极大地降低解析速度。通过AnyCast技术,将同一个IP地址宣告到全球多个物理位置,用户端会和最近的物理位置通信。

流量管理服务

基础的权威DNS服务器,通过多线路智能解析和多记录负载均衡,对流量可以进行一定程度的调度。流量管理服务将这种能力进一步放大,形成了一套较为独立的系统。除了基础的多线路智能解析,还支持加权负载分摊、服务健康检测和故障切换能力,可认为是一个功能完备的全局负载均衡系统。

传统的DNS多记录解析,只是简单的讲流量均匀的分发到多个IP,不能对多个IP的流量比例进行控制,而流量管理服务支持加权分发,可认为是专业负载均衡的WRR算法。

传统的DNS多记录解析,只能简单的分发流量,当某个IP地址对应的服务故障,无法将流量迁移到其它可用的IP地址上,而流量管理服务支持通过ping、tcp、http三种方式进行健康检测,这和专业负载均衡的健康检测功能是类似的。当健康检测发现某个IP故障后,会自动将这个IP的流量迁移到其它可用的IP。

很多公有云服务商都提供了全局流量管理服务,建议大部分中小型企业直接使用这些产品,而不是自己建设。

总结

  1. 使用域名的流程包括注册、备案、解析托管、日常维护和注销。
  2. DNS解析服务类型包括权威解析服务、递归解析服务、流量管理服务。
  3. 非超大型企业,不建议自建权威DNS服务,推荐使用权威解析服务提供商的产品。
  4. 递归解析服务,推荐使用大型公共DNS,他们提供了很好的安全性、可用性和性能。
  5. 超大型互联网平台,会使用到流量管理服务,进行全局流量分发和调度。

欢迎关注我的头条号@程序员地瓜, 及时获取最新发布动态。阅读文章过程中有任何问题,欢迎在评论区留言,我会及时回复。

#头条创作挑战赛#

相关新闻

联系我们
联系我们
公众号
公众号
在线咨询
返回顶部