一、基础知识
1、DNS
DNS(Domain Name System) 是互联网上解决网络中机器命名的一种系统。在网络中,一台主机去访问另外一台主机时,必须要知道目标主机的 IP 地址,但对于自然人而言,一组由数字组成的 IP 地址,是难以被理解和记忆的。于是设计出了域名系统,用一组有意义的字符来表示某个特定主机或某个网络,再将网络中主机 IP 地址和域名之间做成一个映射表。DNS 就是负责维护主机 IP 地址和域名映射关系的服务,同时也提供域名解析服务,即人类通过域名访问某个主机或节点时,由 DNS 服务将人类可读的域名转换为机器可读的 IP 地址,再通过 IP 地址找到对应的主机。在互联网时代,日常的工作和生活,只要涉及到网络,都己经离不开 DNS 服务了。
2、域名
域名(Domain Name),又称网域,顾名思义,是一个域的名称。 是一串用点号分隔的字符,可以用来标识网络中某台主机或某个节点,由 DNS 服务维护域名和主机 IP 地址之间的映射关系,当我们在网络中访问某个域名时,实际上访问的是该域名对应的IP地址所标识的主机。
3、全限定域名
全限定域名(Fully Qualified Domain Name),域名是一个域的名称,一个网域或一个节点,可以有多台主机,所以为了精确表示域里面的某台主机,我们在使用域名时,还需要加上主机名,FQDN指的就是同时带有主机名和域名的名称。在日常使用中,我们更多的时候,是把FQDN理解成域名了。
-
baidu.com:域名
-
www.baidu.com:全限定域名,www是主机名
4、域名组成
域名由英文字母,数字和英文连字符(-) 组成,且不区分大小写。域名是分层次的,允许定义子域,子域名与上级域名之间用 `.` (点号)分隔,最上层节点的域名称为顶级域名(TLD,Top-Level Domain),第二层节点的域名称为二级域名,依此类推。级别最低的域名写在最左边,而级别最高的域名写在最右边。每一层级的域名长度不能超过63个字符,多级域名加起来不能超过255个字符。域名最多可以有127级。实际上,在顶级域名之上,还有一个域名叫根域,只不过在使用中一般省略不写。
二、DNS 服务器类型
|
服务器类型 |
核心角色与功能 |
关键特点 |
|---|---|---|
|
本地 DNS 服务器 |
又称 “DNS 解析器”,是客户端的首个 DNS 对接节点,通常由运营商、企业或路由器分配。 |
1. 缓存解析结果以提升效率;2. 接收用户递归查询,代为发起迭代查询;3. 简化用户操作,无需对接层级服务器。 |
|
根域名服务器 |
DNS 层级的 “顶层权威”,全球共 13 组(A-M),由 ICANN 协调管理。 |
1. 不存储具体域名的 IP 映射;2. 仅响应 “顶级域名服务器地址”(如 |
|
顶级域名服务器 |
管理 “顶级域名”(域名最后一段,如 |
1. 不返回最终 IP;2. 告知目标域名对应的 “权威域名服务器” 地址;3. 按顶级域名分类(如 |
|
权威域名服务器 |
域名的 “实际数据管理者”,由域名持有者(企业 / 个人)配置。 |
1. 存储域名与 IP 的最终映射关系;2. 是唯一能返回 “准确解析结果” 的服务器。 |
三、工作原理
DNS 采用 “分布式层级结构”,DNS 解析过程是“自上而下查询 + 本地缓存优化”,DNS 解析的本质是本地 DNS 服务器与各级域名服务器的交互过程,该过程通过递归查询(客户端→本地 DNS)和迭代查询(本地 DNS→各级域名服务器)的组合完成。
1、查询本地 DNS 缓存
先查询本地 hosts 文件,是否有对应 IP 地址,如果有,则直接访问该 IP 地址,域名解析服务结束;
若未命中,再查询本机缓存,如果本机缓存没有解析记录,则会向其配置的 DNS 服务器发起解析请求;
2、查询本地 DNS 服务器(递归查询)
本地 DNS 服务器会先查询其缓存是否有这条解析记录,如果有,则直接返回,如果没有,则继续向上解析;
3、查询根域名服务器(迭代查询)
本地 DNS 服务器会向根域名服务器(全球共 13 组,负责管理顶级域名)发起解析请求,根服务器不直接返回 IP,而是告知本地 DNS 服务器:“.com顶级域名由顶级域名服务器管理,我给你它们的地址”;
4、查询顶级域名服务器(迭代查询)
本地 DNS 服务器继续向 com 域名服务器(负责管理所有以.com结尾的域名)发起解析请求,顶级域名服务器同样不返回最终 IP,而是告知本地 DNS 服务器:“baidu.com域名由其权威域名服务器管理,我给你的地址“;
5、查询权威域名服务器(迭代查询)
本地 DNS 服务器继续向 baidu.com 域名服务器(由百度公司管理,记录了www.baidu.com对应的具体 IP)发起解析请求,baidu.com 域名服务器返回最终的 IP 地址(如 180.101.49.11);
6、返回结果并缓存
本地 DNS 服务器将 www.baidu.com 的 IP 地址存入本机缓存,再读取缓存,将 IP 地址发送给客户端主机;
7、最终访问
客户端主机通过 IP 地址顺利访问 www.baidu.com。
四、正反解析域
DNS服务器中的两个区域,按解析方向分为正向解析区域和反向解析区域,各自承担着不同的功能,共同构成了DNS系统的核心部分。
1、正向解析域
是指将 DNS 名称(即域名)转换为 IP 地址的过程。当用户输入一个域名时,DNS 服务器会在正向解析区域中查找对应的 IP 地址,从而使用户能够访问到目标服务器。
正向查找区域是 DNS 服务器中最常用的功能之一。无论是访问网站、发送电子邮件还是进行其他网络活动,都需要通过正向查找区域将域名解析为 IP 地址。
工作原理
当用户输入一个域名时,DNS 服务器会首先检查本地缓存中是否已有该域名的解析结果。如果本地缓存中没有,则会向根域名 DNS 服务器发送查询请求。根域名 DNS 服务器会返回顶级域名 DNS服务器的地址,顶级域名 DNS 服务器再返回权威域名 DNS 服务器的地址。最终,权威域名 DNS 服务器会返回该域名对应的 IP 地址,完成域名解析过程。
2、反向解析域
是指将 IP 地址转换为 DNS 名称(即域名)的过程。与正向解析区域相反,反向解析区域是通过查找 IP 地址的 PTR 记录来得到该 IP 地址指向的域名。
反向解析区域主要用于电子邮件系统的安全性验证、网络诊断和安全审计等方面。例如,当一封电子邮件发送到收件人的邮箱时,邮件服务器可以通过反向解析区域验证发件人的 IP 地址是否对应一个合法的域名,从而防止垃圾邮件和钓鱼邮件的发送。
工作原理
反向解析区域的工作原理与正向解析区域类似,但解析的方向相反。当需要进行反向解析时,DNS 服务器会查询反向解析区域中的 PTR 记录,找到与 IP 地址对应的域名。如果找到了对应的域名,则说明该 IP 地址是合法的;如果没有找到对应的域名,则说明该 IP 地址可能是非法的或未注册的。
五、资源记录
在 DNS 中,资源记录(Resource Record)是 DNS 域中存储“域名与 IP 映射关系” 及其他域名相关信息的最小数据单元,用于提供关于域名及其相关服务的信息,所有 DNS 解析本质是查询并返回匹配的资源记录。
1、通用格式
<域名> [TTL] [类别] <类型> <数据>
-
域名(Name):资源记录的所有者,通常对应域名(如www.baidu.com);若为 “@”,表示当前解析域的主域名(如baidu.com)。
-
TTL(Time to Live):缓存有效期(秒),表示该记录在其他 DNS 服务器中可缓存的时长,影响解析更新的延迟。继承SOA记录的TTL时,可忽略该属性。
-
类别(Class):指示记录所属的类别。几乎均为IN(Internet,互联网类别),其他类别(如CH、HS)极少使用。
-
类型(Type):指示记录的类型,如A记录(表示IPv4地址)、AAAA记录(表示IPv6地址)、NS记录(表示权威名称服务器)等。
-
数据(Data):资源数据,随CLASS和TYPE的变化而变化,用于描述与记录相关的具体信息。
2、常用资源类型(Type)
| 记录类型 | 核心作用 | 数据字段格式示例 | 应用场景 |
|---|---|---|---|
| A | 映射域名到 IPv4 地址 | IPv4 地址(如180.101.49.11) | 网站、服务器等通过域名访问 IPv4 资源 |
| AAAA | 映射域名到 IPv6 地址 | IPv6 地址(如2001:db8::1) | 支持 IPv6 的网络环境中解析域名 |
| CNAME | 为域名创建 “别名”(Canonical Name) | 目标域名(如www.a.shifen.com) | 域名变更时无需修改多个记录,仅更新别名指向 |
| MX | 指定域名对应的邮件服务器(Mail Exchange) | 优先级 + 邮件服务器域名(如10 mail.baidu.com) | 支撑邮件收发(优先级数字越小,服务器越优先) |
| NS | 指定解析域的 “权威域名服务器” | 权威服务器域名(如ns1.baidu.com) | 标识某域名由哪些服务器负责解析 |
| PTR | 映射 IP 地址到域名(反向解析核心记录) | 目标域名(如www.baidu.com) | 邮件反垃圾、IP 溯源等反向解析场景 |
| SOA | 解析域的 “起始授权记录”(Start of Authority) | 主权威服务器域名 + 管理员邮箱 + 序列号等 | 标识域的核心配置(每个解析域必须有且仅有 1 条 SOA 记录) |
| TXT | 存储域名的文本说明信息 | 任意文本(如v=spf1 include:baidu.com ~all) | 邮箱 SPF 验证、域名所有权验证等 |


被折叠的 条评论
为什么被折叠?



