乐趣区

关于dns:一文读懂-DNS-解析

导读

文章为“一文读懂域名与网站系列”第二篇,上篇文章次要介绍了域名的注册、建站和治理,通过本文你能够理解以下几个问题:

1. 域名的构造、罕用解析记录的类型
2.DNS 解析的过程
3.DNS 解析拓展常识

家喻户晓,互联网中的地址其实是 IP 地址,有 IPV4 和 IPV6 两种类型,然而难以记忆,因而创造了有非凡含意的域名来让用户应用。用户输出的是域名,然而网络通信应用的却是 IP 地址,将域名解析为 IP 地址就是通过 DNS 解析实现的。

01 基础知识

域名的形成

下图为域名的构造。其实每个域名都是有根域的,如 www.volcengine.com 其实应该是 www.volcengine.com.,域名开端的点就是根域名,很多状况下根域名是能够省略掉的。在上述例子中,com 为顶级域名,volcengine.com 是二级域名或主域名,www.volcengine.com 是子域名或分域名。值得注意的是,顶级域名不肯定只由一个域名形成,也能够由两个域名形成。尽管.com、.cn 都是顶级域名,然而.com.cn 也是顶级域名。

解析记录的类型

DNS 解析是将域名解析为 IP 地址的过程,那域名和 IP 地址的映射关系存在哪里呢?答案是 DNS 权威服务器。用户通过在 DNS 治理平台增加域名的解析记录,治理平台将该记录同步到权威 DNS 服务器,实现域名与最终 IP 地址的绑定。

值得注意的是,用户为域名增加的解析记录值除了 IP 地址外还能够是其余类型。DNS 记录有很多种,下图是 TrafficRoute 云解析 DNS 反对的局部记录类型,理解更多记录类型能够参看 https://www.volcengine.com/docs/6758/145121

02 DNS 解析的过程

这是一个很经典的 DNS 解析流程图。

DNS 解析流程

DNS 解析的过程能够分为本地查问(1、2)与线上查问(3-11)。

本地查问
本地查问能够分为 host 文件查问与本地缓存查问。当用户在浏览器中拜访域名时,会先进行本地查问,若本地查问命中,则间接返回;未命中,则须要拜访线上的 DNS 服务器进行解析。

线上查问
线上 DNS 解析次要蕴含:Local DNS 服务器、根域 DNS 服务器、顶级域 DNS 服务器、权威域 DNS 服务器。Local DNS 服务器不在客户端本地,个别为运营商提供的线上 DNS 服务器;权威 DNS 是特定域名记录在域名注册商处所设置的 DNS 服务器,用于特定域名自身的治理。

线上查问次要分为递归查问和迭代查问:递归查问是浏览器把工作交给 Local DNS,而后期待 Local DNS 返回后果;迭代查问是 Local DNS 别离向各级 DNS 服务器发送查问申请,直到获取 DNS 解析后果为止。

总的来说,客户端向 Local DNS 服务器进行查问,如果命中 Local DNS 服务器的缓存,间接返回 IP;没有命中,Local DNS 服务器会向各级域名服务器进行查问,直到最终解析出 IP 为止。

实例剖析

dig gtm-test.wenteng.site

以 gtm-test.wenteng.site 这个域名为例,咱们剖析一下这个域名解析为 IP 的过程。首先 dig 一下这个域名会失去以下后果。

从上图咱们能够看到,gtm-test.wenteng.site 的 DNS 解析过程中其实还蕴含一次 CNAME 域名的解析(gtm-test.wenteng.site.gtm.volcdns.com)。这是因为该域名接入了云调度 GTM,你能够了解为我是在 GTM 平台配置了 test.wenteng.site.gtm.volcdns.com 与 IP(76.76.21.61 等)的映射,之后又在云解析 DNS 平台为二级域名 wenteng.site 增加了一条主机记录为 gtm-test,记录值为 test.wenteng.site.gtm.volcdns.com 的解析记录。

  • 当中国边疆用户在浏览器输出拜访 gtm-test.wenteng.site 时,本地缓存未命中,会去查问 Local DNS 服务器;
  • 若 Local DNS 服务器中没有该域名的缓存记录,则会顺次去查问根域 DNS 服务器、顶级域 DNS 服务器、权威 DNS 服务器;
  • 根域 DNS 服务器会告知.com 顶级域对应的顶级域解析服务器地址;
  • 之后顶级域服务器会告知 wenteng.site 二级域名对应的权威 DNS 服务器地址;
  • 最终从权威域名服务器中查问到 gtm-test.wenteng.site 这个域名对应的记录值;
  • 查问到的记录类型为 CNAME 类型,非 IP,之后会对这个后果进行又一次的 5-10 过程解析,最终返回 A 类型的 IP 76.76.21.61、76.76.21.22。

理论状况中,因为 Local DNS 服务器有缓存,每一次的查问过程不是肯定都要走根域名这个过程的,不然根域 DNS 服务器的流量就太大了。

03 DNS 解析的拓展常识

一般解析的降级

智能解析
传统 DNS 解析,不判断访问者起源,而智能 DNS 解析,会判断访问者的起源,为不同的访问者智能返回不同的 IP 地址,可使访问者在拜访网站时可获取用户指定的就近 IP 地址,可能缩小解析时延,并晋升网站访问速度的效用。

如果您的业务散布在多个地区的多个 IDC 机房且各机房有独立的 IP 地址,您心愿用户依据其所在地区和运营商,接入就近机房,这种场景能够应用智能解析。

上图为云解析 DNS 平台 wenteng.site 的解析记录截图,很显著能够看到每个记录都有线路属性。线路是一个二级构造,地区 + 运营商,DNS 就是依据用户的线路配置和理论申请的起源地位来实现智能解析的。同样是拜访 intelligent.wenteng.site 这个域名

  • 中国边疆 ISP 为电信的用户理论拜访到的服务 IP 为 3.3.3.3(默认线路);
  • 中国边疆 ISP 为挪动的用户理论拜访到的服务 IP 为 4.4.4.4(中国移动);
  • 中国边疆联通的用户理论拜访到的服务 IP 为 1.1.1.1;
  • 国外用户理论拜访到的服务 IP 为 2.2.2.2。

如果你不须要开启智能解析,则间接将所有线路设为默认即可。值得注意的是,当开启智能解析时,默认线路是必须的,不然地区 + 运营商匹配不到的状况会导致空解析。此外,如果 3.3.3.3 是国外的 IP,中国边疆电信用户拜访到的服务就是国外的服务,这个可能不合乎预期。因而要实现真正的就近接入,解析记录代表的服务器和线路最好是匹配的,不然有可能事与愿违。

私网 DNS
PrivateZone,是基于专有网络 VPC(Virtual Private Cloud)环境的公有 DNS 服务。该服务容许您在自定义的一个或多个 VPC 中将公有域名映射到 IP 地址。通过 PrivateZone,您能够不便地应用公有域名记录来治理 VPC 中的 TOS ECS 等资源,而这些公有域名在 VPC 之外将无法访问。

HTTPDNS
DNS 存在一些毛病:如 DNS 更新不及时、DNS 劫持问题、流量调度不平衡等。正因为传统 DNS 存在上述问题,因而 HTTPDNS 应运而生。客户端应用 HTTP 协定或 HTTPS 协定发送申请到 HTTPDNS 服务端,从而绕过运营商的 Local DNS,避免域名劫持、实现精准调度。

DNS 负载平衡

DNS 负载平衡的实质是屡次解析同一个域名能够返回不同的 IP 地址。最简略的实现 DNS 负载平衡的形式就是在 DNS 解析配置平台为一个域名配置多个 IP 并开启负载平衡,实现屡次申请的流量打到多个 IP 的目标。

退出移动版