一文读懂 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也是顶级域名。

picture.image

解析记录的类型

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

值得注意的是,用户为域名添加的解析记录值除了IP地址外还可以是其他类型。 DNS记录有很多种,下图是TrafficRoute云解析DNS支持的部分记录类型,了解更多记录类型可以参看 https://www.volcengine.com/docs/6758/145121

picture.image

02

DNS解析的过程

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

picture.image

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一下这个域名会得到以下结果。

picture.image

从上图我们可以看到,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地址,您希望用户根据其所在地区和运营商,接入就近机房,这种场景可以使用智能解析。

picture.image

上图为云解析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的目的。

推荐阅读 :

◆ 一文读懂域名注册

火山引擎边缘云,助力业务敏捷创新

发声全球边缘计算大会,火山引擎荣获“最佳边缘云服务商”称号

抖音春晚直播观看人数破1.3亿,火山引擎技术助力“新年俗”新体验

3700万人在线见证梅西“圆梦”!火山引擎实力护航世界杯

火山引擎边缘计算在云边协同方面的探索与实践

连接与计算无处不在,火山引擎新一代边缘云

推荐活动 :

火山引擎域名与网站特惠活动来啦,欢迎扫码或点击「阅读原文」抢购

1元升级DNS专业版、HTTPDNS资源包1折起、1元注册/转入域名、5折抢购SSL证书火热进行中……

此外,火山引擎已新推出:

  • 私网解析PrivateZone,灵活构建VPC内的私网域名系统
  • 公共解析PublicDNS,快速安全的递归DNS,永久免费
  • 域名委托购买服务,0元下单即可尝试获取心仪域名

picture.image

域名与网站超值特惠 ,欢迎抢购

连 接 与 计 算 无 处 不 在

👇

欢 迎 关 注 火 山 引 擎 边 缘 云

👇

0
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论