我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

1 简介

在当今的互联网时代,域名和DNS在我们的日常生活和工作中是必不可少的,比如通过URL打开网站进行购物,使用百度/谷歌搜索信息,通过APP观看比赛直播等。随着移动互联网的爆发,为了提高用户使用网站或APP的体验,大多数公司都购买了CDN服务进行内容加速,而CDN服务的核心调度也离不开DNS。可以说DNS与我们的生活和工作息息相关。如果DNS出现故障,将造成互联网服务的大规模瘫痪,给大多数互联网公司带来巨大的损失。

那么我们如何在电脑上打开一个网站呢?这跟DNS有什么关系呢?为什么大多数应用服务都需要DNS来支撑?人们为什么需要DNS和域名?DNS又是如何将域名解析成IP地址的呢?如果你对这些问题感兴趣,那就让我们一起来探究一下DNS的历史吧。

2DNS和域名的由来

新网域名解析_域名解析网站建设_域名解析网址

(上图左边为Paul )

通常,互联网计算机是通过IP地址来标识和通信的,比如IP地址112.45.23.56。这样的IP地址不容易让人记住,因此产生了域名等基于字符的标识符。通过域名,我们可以更方便地记住一台计算机的地址,比如用域名就可以记住IP地址42.62.101.185。这有点像我们的身份证和名字的关系,身份证号码代表着我们唯一的身份,但是因为太长不好记,所以我们就用名字来代替身份证号码。但在现实生活中,身份证号码才是我们做事的有效标识符。通常我们打开的一个网站,是由协议、域名、网站路径、文件名组成的,因此当计算机浏览器需要打开一个网站时,首先要将网站中的域名解析成IP地址,然后从这个IP地址请求网站内容。在解析IP地址的过程中,必须使用分布式数据库DNS。

在DNS出现之前,人们使用HOSTS.TXT文件来映射域名和IP地址。但随着互联网上主机的爆炸式增长,域名冲突、一致性差、流量和负载过大等问题层出不穷,无法及时解决所需的IP地址。DNS协议由Paul 于1983年发明,并于1987年正式发布为RFC 1034和RFC 1035。有兴趣的同学可以下载英文版RFC阅读。

DNS(Name)域名解析系统是互联网基础资源的核心服务,主要用于进行IP地址与互联网域名之间的转换,通过DNS,人们可以更加方便快捷的访问互联网。DNS是一个域名分布式数据库,同时数据库的各个部分都可以在本地进行控制和访问,例如CN域名就是由CNNIC(中国互联网络信息中心)进行管理和控制的。DNS的出现解决了流量负载大、域名冲突、一致性差等问题。直到现在,DNS系统仍然在各个行业和企业中发挥着巨大的作用。

“如果我能得到你的 DNS,我就能拥有你的全世界!”

3. DNS系统组件

DNS 系统用于将域名解析为 IP 地址。它由域名空间、资源记录、名称服务器和解析器组成。

当计算机需要解析域名时,会调用本地解析器进行DNS查询,解析器将DNS查询请求发送给名称服务器,名称服务器在区域内的域名空间进行查询,获取需要查询的域名的资源记录并返回给解析器,解析器再将返回的结果反馈给计算机或浏览器。

4DNS域名空间

DNS 是以域名作为索引的,域名是由点分隔的一串字符组成的计算机或计算机组的名称。如下图所示,域名的结构是一棵倒置的树,每个域名都是图中的一个分支,这棵倒置的树就称为域名空间。

域名解析网站建设_域名解析网址_新网域名解析

(1)如逆树所示,树中的每个分支称为一个域。一个域名可以属于多个域。例如,一个域名属于某个域的一部分,同时也是 cn 域的一部分。

(2)“ .”为树形结构中的顶级域名,统称为“根”。即每个域名都是从根开始索引的,所有域名都属于根。

(3)从根分支出来的域名称为顶级域名(一般简称TLD),一般分为国家级顶级域名和通用顶级域名。

(4)顶级域名下面分支为二级域名,也就是我们通常通过万网或者新网注册的域名,比如、、等。

(5)二级域名以下的分支为三级域名,有时也叫服务器名,如baidu下的www代表百度的网站服务名,music代表百度音乐网站的服务器名。

(6)域名体系是按照相反的顺序来描述一个域名的,比如先写最下面www,再写中间的cn,最后写“。”

(7)由此我们可以看出最完整的域名应该是“ ”,也就是每个域名后面都会有一个“.”来表示根。我们把这个域名称为绝对域名“Fully Name”(FQDN),相当于Unix系统中的绝对文件路径。在电脑中输入“ ”或者“ ”就可以确认能否打开网站。(通常我们不需要输入这个“.”,因为电脑和浏览器已经默认帮我们输入了这一点)

当然,三级域名还可以向四级域名延伸。DNS 类似于 Unix 文件系统的结构,用倒置的树表示,根节点在最顶端。最多有 127 个分支,每层最多由 63 个字符组成,每层之间用“.”分隔,类似于 Unix 文件中用于分隔各个目录的“/”。域名总长度不能超过 255 个字符。只能使用字符、数字和连字符,不区分大小写。

5DNS 名称服务器

新网域名解析_域名解析网站建设_域名解析网址

DNS 域名服务器用于存储域名空间数据,处理解析器发送的请求。域名空间数据一般分为区域,不同的区域分布存储在不同的域名服务器中。例如,域名相关数据存储在服务器中,域名相关数据存储在服务器中。区域是域名空间反向树中的每个点。域名也可以授权给其他组织进行管理,例如授权其他组织存储和管理。

通常,DNS域名服务器是一种综合服务,既提供区域数据管理,又提供解析处理。随着越来越多的互联网应用需要DNS解析,为了解决互联网域名解析的高并发和性能问题,DNS服务器通常按功能分为三类:权威服务器、递归服务器和缓存服务器,每类服务器具备不同的解析功能。

(1)授权服务器

DNS授权又叫DNS权威机构,是某个区域DNS数据的维护者。例如资源记录都是由权威服务器“ ”录入和维护的,只有“ ”服务器的管理员才能配置域名记录。一个权威服务器可以管理多个区域,也就是管理多个区域,前提是当前区域已经授权给当前权威服务器进行管理。

通常授权服务器分为主域名服务器和辅域名服务器。主域名服务器主要管理区域文件,辅域名服务器是主域名服务器的备份,同时承担部分解析负载。辅服务器中的区域文件一般是只读的,主辅服务器之间通过特殊协议同步区域文件。一般管理员只需要修改主域名服务器的 DNS 记录,即可使之对整个网络生效。

我们听到的智能DNS平台基本都是DNS授权服务器,比如,或者万网(阿里云)的DNS解析平台、新网的DNS解析平台。也有很多高校或者政府机构通过搭建自己的DNS授权服务器来管理区域和域。一般使用开源软件BIND搭建授权服务器,参见:。(关于如何搭建DNS授权服务器和智能DNS的介绍会在后续的文章中详细讲解,请继续关注)

(2)递归服务器

递归服务器主要用于接收并回答DNS客户端或解析器发送的初始DNS查询,若本地没有查询数据,则替代DNS客户端从根级发起迭代查询,直至请求结果并返回给DNS客户端。同时缓存从其他权威服务器获取的域名IP地址信息。一般递归服务器主要由运营商或DNS使用,大部分企业无需自行搭建递归服务器。

递归服务器一般叫Local DNS,比如北京联通的202.106.0.20,或者你拉带宽的时候运营商网络自动分配给你的DNS地址。DNS一般是指全Local DNS,比如的8.8.8.8、CNNIC的1.2.4.8和114.114.114.114等等。(Local DNS的技术架构和搭建会在后续的文章中介绍)

(3)缓存服务器

缓存服务器是递归服务器的前端缓存部分,专门用来存放和缓存访问的请求数据,当用户查询同一域名信息时,使用缓存服务器中的数据直接响应,加快了用户DNS查询请求的响应速度,提高了用户打开网页的速度。

上面说的8.8.8.8一般是缓存服务器地址,真正的递归服务器地址一般隐藏在缓存服务器后面,通常通过架构将DNS服务器进行集群化,提高负载能力,分担DDOS攻击的流量,缓存服务器的性能会随着缓存服务器数量的增加而变化。

6DNS 资源记录

资源记录是每个域名用来存储域名相关数据的记录,每个域名通过 DNS 进行解析的结果都是由资源记录提供的,解析器在查询 DNS 域名时,其实获取的是该域名相关的资源记录,所以资源记录是域名解析最基础的数据。每条资源记录包含一个五元组,分别是域名、TTL、信息类型、资源记录类型、值,如下图所示:

(1)域名

域名是查询的主要关键字,即每个绝对域名的值。通常是管理员需要添加的域名。例如,要为 www 添加 A 记录,域名为“ ”。这意味着当用户查询“ ”时,通过资源记录提供答案。

(2) TTL

TTL 代表生存期,表示当前资源记录的生存时间。一般是指递归服务器从权威服务器获取资源记录时的默认生存时间。比如 TTL 为 600,就表示当前资源记录缓存 600 秒,600 秒后缓存过期,必须重新请求权威服务器。(一般为了提高带宽用户体验,运营商会把这个 TTL 值修改为更大的值,以提高递归服务器和缓存服务器的性能)

一般来说,对于相对稳定的资源记录,建议将TTL值设置为较大的值,对于需要经常改变值的资源记录,建议设置较小的值,比如60秒。

(3)信息类型

对于信息来说,其值始终是 IN;其他类型的信息很少见。

(4)资源类型

常见的资源类型包括SOA、A、AAAA、CNAME、MX、NS、PTR、TXT等。

域名解析网址_域名解析网站建设_新网域名解析

(5)价值

该值可以是 IP、域名或 ASCII 字符串。值定义与资源记录类型强关联。

(6)资源记录示例(仅供参考)

7DNS解析器

DNS解析器一般指DNS客户端,用于发送DNS请求,并将结果返回给用户。通常指电脑、手机、终端设备、解析软件工具(如dig等)

8DNS 的工作原理

了解了 DNS 系统的组成后,我们再来看看 DNS 的工作原理,也就是 DNS 是如何将域名解析为 IP 地址的。下图是一个完整的 DNS 解析流程:

如上图所示,完整的DNS域名解析流程如下:(如果DNS解析器所在的电脑或者浏览器有自己的缓存,会先查询自己的电脑和浏览器本地缓存,当没有本地缓存​​,且HOST文件中没有域名记录时,会触发上图中的流程。)

(1)解析器向本地DNS发起递归域名解析请求;

(2)Local DNS 会先查询其本地缓存,查看是否有该域名的 A 记录,如果有,则直接将结果返回给解析器;如果本地缓存中没有该域名的 A 记录,Local DNS 会向根服务器发起迭代请求,查询该域名的 IP 地址。

(3)根域名服务器向Local DNS返回该CN域的权威服务器地址;

(4)本地DNS向CN域的权威服务器迭代请求该域名的IP地址;

(5)cn域服务器向Local DNS返回的权威服务器地址;

(6)本地DNS向该域的权威服务器迭代请求该域名的IP地址;

(7)域名服务器返回一个A记录给Local DNS,告诉Local DNS该域名的IP地址是192.168.1.2。

(8)本地DNS获取域名的A记录,缓存在自己的服务器中,并将结果返回给解析器,解析器返回给电脑或者浏览器,电脑通过HTTP协议获取域名的IP地址,通过浏览器打开。

为了看看实际的效果,我在本地机器上进行了一次完整的请求,看看是否按照这个流程给出了结果,如下图所示,使用dig工具的域名请求:

从上图中的请求我们可以看出,解析器首先请求“.”根服务器,然后是cn服务器,然后解析器再请求服务器,最后通过得到IP地址42.62.101.185。(具体使用方法可以自行搜索Dig工具)

9DNS缓存机制

域名解析网站建设_域名解析网址_新网域名解析

通过上一章介绍的DNS请求流程,在域名解析过程中,DNS域名服务器会将请求的域名空间数据保存到缓存中。DNS缓存可以加快DNS解析速度,有点类似于CPU和内存的关系。在每次请求中,DNS服务器都会先查询自己的缓存,看是否有需要查询的内容,如果有,则自动返回缓存中的内容,如果没有,则进行DNS递归或者迭代查询。

DNS 缓存不能永久保存,否则当 DNS 记录发生变化时,可能无法及时更新,导致用户无法打开对应的域名地址。通常 DNS 缓存都有生命周期,简称 TTL 值,这个生命周期由各个域名的授权服务器管理员配置决定,也就是我们上一章提到的资源记录的 TTL 值。默认情况下,Local DNS 服务器获取到的资源记录的 TTL 值是由授权服务器配置的。但为了减少递归服务器的压力,各大运营商都会用手段把大部分域名的 TTL 值改为较大的值,以带给用户更好的体验。

10DNS查询

在DNS域名解析过程中,整个解析过程由DNS解析器和DNS服务器共同完成,在所有解析过程中,可能会出现递归查询、迭代查询、正向查询、反向查询等。

(1)递归查询是由DNS客户端或者解析器向本地DNS发起的查询。

(2)迭代查询,是指本地DNS一步步向权威服务器发起查询,即本地DNS向根、cn、com等发起查询。

(3)正向查询,是指通过域名来查询IP地址,也就是查询A或者AAAA记录等。

(4)反向查询是指通过IP地址查询主机名。反向查询只由查询名称服务器处理,即当收到请求时,如果本地数据库或缓存中有记录,则返回,如果没有记录,则直接放弃查询,不再进行迭代请求。

11如何查看我当前正在使用的本地DNS地址?

(1)如果您是用户,您可以打开命令提示符,输入 或 /all 命令来查看您的DNS地址;

(2)如果你是MAC/Linux用户,你可以在终端中输入cat /etc/.conf或者查看你的DNS地址;

(3)如果您是手机用户,您可以通过所连接的Wi-Fi信息里的IP地址来查看您的DNS地址。

(4)当然也可以修改DNS,一般为DNS地址,比如114.114.114.114。

DNS是隐藏在互联网背后的好帮手,几乎所有的互联网应用都需要DNS的支持或帮助,才能达到最佳的通讯效果。本文是对DNS的基础探讨,接下来我们将探讨DNS协议、DNS架构、安全、建设、运维、DNS工具、智能DNS、全球根节点、顶级域名以及CDN相关的周边话题。

新网域名解析_域名解析网址_域名解析网站建设

域名解析网址_域名解析网站建设_新网域名解析

二维码
扫一扫在手机端查看

本文链接:https://by928.com/2759.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线