DNS 域名解析系统:CNAME 记录的作用是?
Posted 衣舞晨风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNS 域名解析系统:CNAME 记录的作用是?相关的知识,希望对你有一定的参考价值。
DNS 记录
学到这里,我们来看看一个 DNS 记录具体长什么样子:
// 定义www.example.com的ip地址
www.example.com. IN A 139.18.28.5;
上面的就是一条 DNS 记录,纯文本即可。IN 代表记录用于互联网,是 Intenet 的缩写。在历史上 Internet 起源于阿帕网,在同时代有很多竞争的网络,IN 这个描述也就保留了下来。
www.example.com 是要解析的域名。A 是记录的类型,A 记录代表着这是一条用于解析 IPv4 地址的记录。从这条记录可知,www.example.com的 IP 地址是 139.18.28.5。;是语句块的结尾,也是注释。
那么除了 A 记录,还有哪些 DNS 记录的类型呢?DNS 记录的类型非常多,有 30 多种。其中比较常见的有 A、AAAA、CNAME、MX,以及 NS 等。接下来我为你一个个介绍。
CNAME
CNAME(Canonical Name Record)用于定义域名的别名,如下面这条 DNS 记录:
// 定义www.example.com的别名
a.example.com. IN CNAME b.example.com.
这条 DNS 记录定义了 a.example.com 是 b.example.com 的别名。用户在浏览器中输入 a.example.com 时候,通过 DNS 查询会知道 a.example.com 是 b.example.com 的别名,因此需要实际 IP 的时候,会去拿 b.example.com 的 A 记录。
这样用户如果在浏览器中输入 a.example.com 实际打开的就是 b.example.com。因为走的是 DNS 查询的路径,速度很快(因为有缓存),不需要 HTTP 重定向等操作。
当你想把一个网站迁移到新域名,旧域名仍然保留的时候;还有当你想将自己的静态资源放到 CDN 上的时候,CNAME 就非常有用。
AAAA 记录
前面我们提到,A 记录是域名和 IPv4 地址的映射关系。和 A 记录类似,AAAA 记录则是域名和 IPv6 地址的映射关系。
MX 记录(Mail Exchanger Record)
MX 记录是邮件记录,用来描述邮件服务器的域名。
在工作中,我们经常会发邮件到某个同事的邮箱。比如说,发送一封邮件到 xiaoming@lagou.com,那么拉勾网如何知道哪个 IP 地址是邮件服务器呢?
这个时候就可以用到下面这条 MX 记录:
IN MX mail.lagou.com
这样凡是 @lagou 的邮件都会发送到 mail.lagou.com 中,而 mail.lagou.com 的 IP 地址可以通过查询 mail.lagou.com 的 A 记录和 AAAA 记录获得。
NS 记录
NS(Name Server)记录是描述 DNS 服务器网址。从 DNS 的存储结构上说,Name Server 中含有权威 DNS 服务的目录。也就是说,NS 记录指定哪台 Server 是回答 DNS 查询的权威域名服务器。
当一个 DNS 查询看到 NS 记录的时候,会再去 NS 记录配置的 DNS 服务器查询,得到最终的记录。如下面这个例子:
a.com. IN NS ns1.a.com.
a.com. IN NS ns2.a.com.
当解析 a.com 地址时,我们看到 a.com 有两个 NS 记录,所以确定最终 a.com 的记录在 ns1.a.com 和 ns2.a.com 上。从设计上看,ns1 和 ns2 是网站 a.com 提供的智能 DNS 服务器,可以提供负载均衡、分布式 Sharding 等服务。比如当一个北京的用户想要访问 a.com 的时候,ns1 看到这是一个北京的 IP 就返回一个离北京最近的机房 IP。
上面代码中 a.com 配置了两个 NS 记录。通常 NS 不会只有一个,这是为了保证高可用,一个挂了另一个还能继续服务。通常数字小的 NS 记录优先级更高,也就是 ns1 会优先于 ns2 响应。配置了上面的 NS 记录后,如果还配置了 a.com 的 A 记录,那么这个 A 记录会被 NS 记录覆盖。
整理自:《计算机网络通关29讲》
以上是关于DNS 域名解析系统:CNAME 记录的作用是?的主要内容,如果未能解决你的问题,请参考以下文章