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

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

当您在浏览器中输入 URL 或使用curl 请求网址时...域名系统(名称)开始工作。域名系统作为互联网的重要成员,是一个关联互联网资源和地址的分布式数据库。

在日常工作中,作为一名研发工程师,经常需要配置DNS域名解析。尤其是CNAME,我几乎每年都会遇到需要配置的场景。这次我们就以“CNAME记录的作用”为指导来开始今天的学习,涵盖所有关于域名的相关知识。

1. DNS 和统一资源定位器 (URL)

域名系统的本质是资源定位。互联网上有各种各样的资源,比如视频、图片、文件、网页……为了准确定位资源,人们发明了统一资源定位符(URL),这样我们就可以通过字符串来定位互联网资源。

下图是 URL 的示例:

一般来说,URL是树形设计,Host代表主机(对应的IP地址由DNS服务提供);端口代表应用程序; Path表示资源在应用程序中的路径; Query 表示资源的查询条件。通过这样的设计,可以有效区分互联网上万亿的资源。

值得一提的是,树状设计在当今的计算机中也很常见。比如文件目录的设计、源代码块的嵌套设计、JSON、XML的设计,都是树状关系。这是由于人类自然倾向于将事物划分为相互排斥的类别。

但需要注意的是,树状分类无法解决一个事物属于多个类别的情况,而这种情况大多数时候都是真实存在的。现实世界中的事物一般都是相互联系的,所以本质上事物之间的联系应该是一张图。但通常,我们使用树来处理我们某些方面的需求。比如用一个URL来描述某个资源的位置,然后用搜索引擎通过关键词(另一个方面、维度等)对这个URL进行反查。

2、域名系统

DNS(Name, Name )是一种将域名和IP地址相互映射的分布式服务。比如你想知道的IP地址需要通过DNS服务获取。这样,访问lagou的用户就不需要在浏览器中输入lagou的IP地址,而是使用一个容易让人记住的域名。

1.根域名服务器

DNS 本身就是一个出色的分布式架构。

最顶层是根域名服务器(Root Name)。人们在世界各地建立了多个根域名服务器。据2016年统计,目前全球有13台IPv4根服务器和25台IPv6根服务器。

根域名服务器存储的不是域名和IP的映射关系,而是一个目录。如果所有域名记录都存储在根域名服务器中,存储容量不会很大。了解域记录(域名、IP 地址和一些额外信息)不需要大量存储空间。但如果全世界所有的DNS请求都集中在少数根服务器上,访问流量就太大了。而一旦出现故障,很容易导致大范围瘫痪。而且由于根服务器较少,如果全部使用根服务器,不同的客户端到根服务器的距离会不同,会经历不同的延迟,不太人性化。

因此,由于流量、防止单点故障、平衡地域分布等问题,根域名服务器只是一个目录,并不提供具体数据。

2. 域名分类和数据划分

我们知道汉语词典可以根据部首和拼音进行索引。与字典类似,根服务器提供的目录也有一定的索引规则。在域名领域,索引是通过分层域名策略构建的。与域名分级策略相伴的,实际上是域名数据库的拆分。通过域名的分类,可以将数据库划分为区域。

我们平常看到的,比如.,都被称为顶级域名。例如,对于这个网站,com是顶级域名,lagou是二级域名,www是三级域名。域分类当然用于创建目录和索引,以及对数据存储进行分区。

域名解析要钱吗_域名解析要多久生效_域名解析要多久

从上图可以看出,DNS的存储设计是树形结构。真正的映射关系存储在叶子节点中,中间节点是目录。存储分为3层:

3、DNS查询流程

当用户在浏览器中输入 URL 时,就会触发 DNS 查询。此时,会在上述三个级别的基础上添加一个本地DNS服务器级别。本地DNS服务器包括用户自己路由器中的DNS缓存、小区的DNS服务器、ISP的DNS服务器等。

查询流程如下图所示:

结合上图所示的DNS查询流程,我们来详细介绍一下。

1. 用户输入URL并查询本地DNS。本地DNS是一系列DNS的集合,例如ISP提供的DNS、公司网络提供的DNS等。本地 DNS 是将 DNS 请求转发到 DNS 网络的代理。如果本地DNS中已存在所需记录,即在本地DNS缓存中找到对应的DNS条目,则直接返回,跳过后续步骤。

2. 客户端请求根DNS服务器。如果本地DNS中没有对应的记录,则请求将被转发到根DNS服务器。根DNS服务器只解析顶级域名。以“”为例,根DNS服务器只看com部分。

3. 根DNS服务器返回顶级DNS服务器的IP。

4. 客户端请求顶级DNS服务器。顶级DNS服务器包含特定域名的目录。

5. 顶级DNS服务器返回权威DNS服务器的IP。

6. 客户端请求权威DNS服务器。权威 DNS 服务器上存在特定的 DNS 记录。以拉勾为例,权威DNS服务器中可能有数百条甚至更多的相关DNS记录,会根据不同的DNS查询条件返回这些记录。

7. 权威DNS服务器将DNS记录返回给本地DNS服务器。

8. 本地DNS服务器将具体的DNS记录返回给客户端。

完成以上八个过程后,客户端就可以通过DNS记录中的IP地址找到请求服务的主机。在本文的例子中,客户端最终可以找到对应的IP地址并获取Web服务。

3.关于缓存

上面的例子中,每一步都有一个缓存设计。浏览器会缓存 DNS,操作系统、路由器和本地 DNS 服务器也会缓存 DNS。因此,在大多数情况下,请求不会到达根 DNS 服务器。

以拉勾为例,如果同一区域的某个用户在某一时刻触发了上述1~8个进程,那么同一区域的另一个用户就可以获取本地DNS服务器中的DNS记录,而无需再去Root DNS服务器。这种设计称为分层缓存策略。

在分层缓存策略中,缓存是在每一层进行的。经过层层缓存后,最终到达根DNS服务、顶级DNS服务器、权威DNS服务的请求就很少了。这样一来,互联网上巨大的DNS查询流量就不需要大量的集中资源来响应。

4.DNS记录

此时,我们来看看 DNS 记录是什么样子的:

; 定义www.example.com的ip地址
www.example.com.     IN     A     139.18.28.5;

上面只是一个DNS记录,只是纯文本。 IN 代表 记录,是缩写。历史上起源于阿帕网(),同时存在许多竞争网络,并且保留了IN的描述。

是要解析的域名。 A是记录的类型,A记录意味着这是用于解析IPv4地址的记录。从这条记录中,我们可以看到IP地址是139.18.28.5。 ;是语句块的结尾,也是注释。

那么除了A记录之外,还有哪些类型的DNS记录呢? DNS记录的类型很多,有30多种。其中比较常见的有A、AAAA、CNAME、MX、NS等,下面我们一一介绍。

1.域名

CNAME(Name)用于定义域名的别名,例如下面的DNS记录:

; 定义www.example.com的别名
a.example.com.          IN     CNAME   b.example.com.

此 DNS 记录定义别名。当用户在浏览器中输入时,他会通过DNS查询知道别名,因此当他需要实际IP时,他会得到A记录。

这样,如果用户在浏览器中输入输入,它就会真正打开。因为它走的是DNS查询的路径,所以速度非常快(因为有缓存)并且不需要HTTP重定向等操作。

当您想要将网站迁移到新域名并保留旧域名时,CNAME 非常有用;当您想将静态资源放在 CDN 上时。

2.AAAA记录

前面我们提到,A记录是域名和IPv4地址的映射关系。 AAAA记录与A记录类似,是域名与IPv6地址的映射关系。

3. MX记录(邮件)

MX记录是描述邮件服务器域名的邮件记录。

4. NS记录

NS(名称)记录描述 DNS 服务器 URL。从DNS的存储结构来看,Name包含了权威DNS服务的目录。也就是说,NS 记录指定哪个名称服务器是回答 DNS 查询的权威名称服务器。

当 DNS 查询看到 NS 记录时,它将查询配置有该 NS 记录的 DNS 服务器以获取最终记录。比如下面的例子:

a.com.     IN      NS      ns1.a.com.
a.com.     IN      NS      ns2.a.com.

解析地址时,我们看到有两条 NS 记录,因此最终确定记录在 和 上。从设计的角度来看,ns1和ns2是网站提供的智能DNS服务器,可以提供负载均衡、分发等服务。例如,当北京的用户想要访问时,ns1看到这是北京的IP,就返回离北京最近的机房的IP。

上面的代码中配置了两条NS记录。通常不会只有一个 NS。这是为了确保高可用性。如果其中一位失败,另一位可以继续任职。通常编号较小的 NS 记录优先级较高,即 ns1 会先于 ns2 响应。

配置完上述NS记录后,如果还配置了A记录,则该A记录将被NS记录覆盖。

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

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

项目经理在线

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

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

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线