很多同学刚开始接触计算机网络时,都会有这样的疑问:我们平时在浏览器输入一串网址就能打开网页,背后到底是怎么工作的?其实电脑本身只认识数字形式的 IP 地址,而我们输入的易记的网址就是 “域名”。负责把域名翻译成对应 IP 地址的系统,就是今天要讲的域名系统 DNS

DNS 是互联网最基础的核心服务之一,没有它我们几乎无法正常使用大部分网络应用。本文将从零开始,完整拆解 DNS 的所有核心知识点,配套汇总表格方便记忆,还有经典考研真题的详细解析,不管是入门学习还是备考都适用。


一、DNS 核心知识点梳理

1.1 DNS 的基本作用与设计思路

(1)为什么需要域名系统?
  • IP 地址是 TCP/IP 体系中网络寻址的唯一标识,理论上直接通过 IP 地址就能访问目标主机。

  • 但 IP 地址是纯数字格式,不便于人类记忆与使用;而域名由有意义的字符组成,易用性更强。

  • DNS 的核心作用:实现域名与 IP 地址之间的映射解析,让用户可以用便捷的域名访问网络服务,底层仍通过 IP 地址完成通信。

  • 日常场景验证:使用 ping 命令测试服务器连通性时,输入的是域名,但实际 ping 的是对应的 IP 地址,这就是 DNS 解析的结果。

(2)为什么不能只用一台 DNS 服务器?

单台集中式 DNS 服务器理论上可以实现功能,但在互联网的实际规模下完全不可行,核心问题有两个:

  • 性能瓶颈:互联网规模极大,单台服务器会因查询量超负荷,无法正常工作。

  • 可用性风险:一旦这台服务器出现故障,整个互联网的域名解析都会瘫痪。

(3)DNS 的分布式设计(重点)
  • 早在 1983 年,因特网就采用了层次结构命名树 + 分布式域名系统的方案。

  • 分布式设计的两大优势:

    • 效率高:大多数域名都可以在本地完成解析,仅少量解析需要跨互联网通信。

    • 可用性强:单个域名服务器出现故障,不会影响整个系统的正常运行。


1.2 层次树状的域名结构

DNS 采用分级的树状域名结构,从右到左级别逐级降低,规则清晰且便于管理。

(1)域名的组成规则(重点)
  • 域名由多个分量组成,各分量之间用英文点号.隔开,分别对应不同级别的域名。

  • 级别规则:级别最低的域名写在最左边,级别最高的顶级域名写在最右边。 例:nic.hnust.edu.cn 从左到右依次是四级域名 nic、三级域名 hnust、二级域名 edu、顶级域名 cn。

  • 字符规则:每一级域名由英文字母和数字组成,长度不超过 63 个字符,不区分大小写。

  • 总长度限制:完整的域名总长度不超过 255 个字符。

  • 管理规则:各级域名由其上一级的域名管理机构负责管理;最高级的顶级域名由 \\ 因特网名称与数字地址分配机构(ICANN)\\ 统一管理。

  • 补充:标准未强制规定每一级域名的具体含义,由各级管理机构自行定义。

(2)顶级域名的三大分类(重点)

顶级域名是域名体系中最高级别的域名,共分为三类:

  1. 国家顶级域名 遵循 ISO 3166 标准,每个国家 / 地区对应一个专属顶级域名。 例:cn代表中国,us代表美国,uk代表英国。

  2. 通用顶级域名 最常见的核心通用顶级域名共 7 个,面向不同类型的机构:

    1. com:公司企业

    2. net:网络服务机构

    3. org:非盈利性组织

    4. int:国际组织

    5. edu:美国教育机构

    6. gov:美国政府部门

    7. mil:美国军事部门

  3. 反向域 专门用于反向域名解析,也就是将 IP 地址反向解析为对应的域名。

(3)我国的二级域名分类

在我国顶级域名cn之下,二级域名分为两大类:

  1. 类别域名(共 7 个),按机构类型划分:

    1. ac:科研机构

    2. com:工商金融等企业

    3. edu:教育机构

    4. gov:政府部门

    5. net:提供网络服务的机构

    6. mil:军事机构

    7. org:非盈利性组织

  2. 行政区域名(共 34 个),按省级行政区划分: 例:bj为北京市,sh为上海市,js为江苏省等。

(4)域名空间与易混淆要点
  • 因特网的域名空间本质是一棵倒着生长的树:最顶端是根节点(无对应域名),根下一级是顶级域名,顶级域名下划分二级域名,以此类推向下延伸三级、四级域名。

  • 易混重点:名称相同的域名,等级未必相同。例如com是通用顶级域名,而我国顶级域名cn下也有一个名为com的二级域名,二者层级不同,归属管理机构也不同。

  • 域名只是逻辑概念,不代表计算机所在的物理地点

  • 分级命名的优势:既可以保证全球域名的唯一性,也便于设计高效的域名查询机制。


1.3 四类域名服务器详解(核心重点)

DNS 采用分布式的服务器架构,不同层级的服务器承担不同的功能,共分为 4 种类型:

(1)根域名服务器
  • 是域名体系中地位最高的服务器,掌握所有顶级域名服务器的域名及其 IP 地址。

  • 全球共有 13 个不同 IP 地址的根域名服务器;注意:每一个 IP 对应的不是单台设备,而是由分布在全球各地的计算机构成的服务器群集

  • 查询优化:当本地域名服务器发起查询时,路由器会将请求转发给离 DNS 客户最近的一个根域名服务器节点,加快查询速度,合理利用网络资源。

  • 核心特点:通常不直接对域名进行解析,而是返回该域名所属顶级域名的服务器 IP 地址,引导查询方下一步去顶级服务器查询。

(2)顶级域名服务器
  • 负责管理在本顶级域名下注册的所有二级域名。

  • 收到 DNS 查询请求时,返回对应结果:可能是最终的解析结果,也可能是下一级权限域名服务器的 IP 地址。

(3)权限域名服务器
  • 负责管理某个 “区” 的域名,每一台主机的域名都必须在对应的权限域名服务器处注册登记

  • 掌握其管辖范围内所有域名与 IP 地址的映射关系,同时也知道其下级域名服务器的地址。

  • 是域名解析的 “最终答案来源”,权威的映射关系都存储在这里。

(4)本地域名服务器(高频考点)
  • 不属于 DNS 服务器的等级结构,起到代理转发的作用,也称为默认域名服务器

  • 主机发出的 DNS 请求报文,首先会被送往该主机的本地域名服务器,由本地域名服务器代为主导向层级服务器发起查询。

  • 部署主体:每一个因特网服务提供者(ISP)、一所大学,甚至大学内的一个学院,都可以拥有自己的本地域名服务器。

  • 特点:离用户距离很近,一般不超过几个路由器的距离,也有可能和用户主机在同一个局域网中。

  • 使用要求:本地域名服务器的 IP 地址,需要直接配置在需要域名解析的用户主机中。


1.4 域名解析的两种查询方式(考试核心考点)

域名解析分为递归查询和迭代查询两种模式,二者的逻辑和适用场景有明显区别。

(1)递归查询
  • 核心逻辑:“委托代查,结果原路返回”。请求方向被请求方发起查询后,被请求方负责完成全部的查询流程,最终把最终结果返回给请求方。

  • 完整流程:

    • 用户主机向本地域名服务器发起递归查询,委托其完成域名解析。

    • 本地域名服务器收到委托后,向根域名服务器发起递归查询,继续委托。

    • 根域名服务器向顶级域名服务器发起递归查询。

    • 顶级域名服务器向权限域名服务器发起递归查询。

    • 权限域名服务器查到 IP 地址后,结果沿原路逐层返回,最终回到用户主机。

  • 特点:对请求方非常友好,只需要发一次请求;但对被查询的服务器负担很大,需要代劳完整查询流程。

(2)迭代查询
  • 核心逻辑:“逐级询问,每次返回下一站地址”。被请求方不代劳完整查询,只告诉请求方下一个应该去查询的服务器地址,由请求方自己发起下一次查询。

  • 完整流程:

    • 用户主机向本地域名服务器发起递归查询。

    • 本地域名服务器向根域名服务器发起迭代查询;根服务器返回对应顶级域名服务器的 IP 地址。

    • 本地域名服务器向顶级域名服务器发起迭代查询;顶级服务器返回对应权限域名服务器的 IP 地址。

    • 本地域名服务器向权限域名服务器发起迭代查询;权限服务器返回最终的 IP 地址。

    • 本地域名服务器把最终结果返回给用户主机。

  • 特点:被查询的服务器只需要返回下一级地址,负担小;但本地域名服务器需要主动发起多次查询。

(3)实际通用模式(重点)

由于递归查询对上级服务器负担太大,互联网实际采用的标准模式是:

  • 主机 → 本地域名服务器:采用递归查询方式

  • 本地域名服务器 → 根 / 顶级 / 权限域名服务器:采用迭代查询方式


1.5 DNS 高速缓存机制

为了提高查询效率、减轻服务器负担,DNS 体系中广泛使用了高速缓存机制。

(1)缓存的作用
  • 提高 DNS 查询效率,大幅缩短解析耗时。

  • 减轻根域名服务器等上层服务器的查询负担。

  • 减少互联网上的 DNS 查询报文数量,降低网络流量。

(2)缓存的内容与效果
  • 高速缓存中存放最近查询过的域名,以及获取该域名映射信息的来源记录。

  • 如果本地域名服务器的缓存中已有对应域名的记录,就无需再向上级服务器发起查询,直接把缓存中的结果返回给主机即可。

(3)缓存的有效性保障(重点)
  • 域名与 IP 地址的映射关系不是永久不变的,可能会发生变更。

  • 为了保证缓存内容的正确性,域名服务器会为每一项缓存内容设置计时器,超过设定有效期的条目会被删除(通常有效期为 2 天左右)。

(4)主机端的 DNS 缓存
  • 不仅域名服务器需要高速缓存,用户主机中同样会维护 DNS 高速缓存。

  • 很多用户主机在启动时,会从本地域名服务器下载域名和 IP 地址的数据库,维护自己最近使用的域名缓存;只有在缓存中找不到对应域名时,才会向域名服务器发起查询。

  • 主机缓存同样需要设置有效期,保证内容的正确性。


1.6 DNS 报文基础

  • DNS 的查询与响应报文,使用运输层 UDP 协议进行封装,使用的端口号为 53。

  • 注:DNS 报文的具体格式、DNS 污染等安全问题,属于进阶内容,入门阶段暂不展开。


二、核心知识点汇总表格

为了方便大家对比记忆,这里把核心知识点整理成了 4 张汇总表格。

表 1 四类域名服务器对比汇总

服务器类型

所属层级

核心功能

核心特点

根域名服务器

最高层级

存储所有顶级域名服务器的地址,引导查询方向

共 13 个 IP,实际为全球分布式集群;不直接解析域名,只返回顶级服务器地址

顶级域名服务器

顶级域名层级

管理本顶级域下的所有二级域名

收到查询返回最终结果或下一级权限服务器地址

权限域名服务器

区域层级

管理本区的域名映射,存储权威的域名 - IP 对应关系

主机域名必须在此注册;掌握下级域名服务器地址

本地域名服务器

不属于标准层级

作为用户主机的代理,转发并处理 DNS 查询

又称默认域名服务器;离用户近;IP 需配置在主机中

表 2 递归查询 vs 迭代查询对比

对比维度

递归查询

迭代查询

核心逻辑

委托代查,一次性返回最终结果

逐级询问,每次返回下一级查询地址

服务器负担

被查询服务器负担大,需完成完整查询

被查询服务器负担小,仅返回下一跳地址

请求方操作

仅需发起 1 次查询

需要主动发起多次查询

典型适用场景

主机到本地域名服务器的查询

本地域名服务器到上层服务器的查询

表 3 顶级域名分类汇总

分类

划分依据

典型示例

国家顶级域名

按国家 / 地区划分,遵循 ISO 3166

cn(中国)、us(美国)、uk(英国)

通用顶级域名

按机构类型划分,共 7 个核心域名

com(企业)、org(非盈利)、edu(美国教育)

反向域

按功能划分,用于反向解析

实现 IP 地址到域名的反向查询

表 4 我国二级域名分类汇总

分类

数量

划分依据

典型示例

类别域名

7 个

按机构类型划分

edu(教育)、gov(政府)、com(企业)

行政区域名

34 个

按省级行政区划分

bj(北京)、sh(上海)、js(江苏)


三、经典考研真题原题与解析

DNS 是计算机网络考研的高频考点,这里整理了两道经典统考真题,帮助大家巩固知识点。

例题 1:2010 年全国硕士研究生招生考试计算机学科专业基础综合真题

答案:A

解析: 本题考点为递归查询的流程特点。 递归查询的核心逻辑是 “委托代查”:请求方发出一次请求后,被请求方就需要全权负责完成整个解析流程,最终返回结果。

  1. 用户主机只需要向本地域名服务器发送 1 条递归请求,将解析任务完全委托给本地域名服务器,无需再发起其他请求。

  2. 本地域名服务器收到委托后,向根域名服务器发送 1 条递归请求,由根服务器继续向下委托。 因此用户主机和本地域名服务器发送的域名请求条数均为 1 条,答案选 A。


例题 2:2016 年全国硕士研究生招生考试计算机学科专业基础综合真题

答案:C

解析: 本题考点为迭代查询的流程与最坏情况查询次数。 迭代查询的核心逻辑是 “本地服务器主动逐级查询,每级服务器仅返回下一级地址”。在无任何缓存的最坏情况下,需要从根域名服务器开始,逐级向下查询,直到得到最终结果。 针对四级层级的域名abc.xyz.com,查询流程如下:

  1. 第 1 次查询:向根域名服务器查询,得到.com顶级域名服务器的 IP 地址。

  2. 第 2 次查询:向.com顶级域名服务器查询,得到xyz.com权限域名服务器的 IP 地址。

  3. 第 3 次查询:向xyz.com权限域名服务器查询,得到abc.xyz.com权限域名服务器的 IP 地址。

  4. 第 4 次查询:向abc.xyz.com权限域名服务器查询,得到最终的主机 IP 地址。 因此本地域名服务器共需要发出 4 次查询报文,答案选 C。 补充:若主机的 DNS 高速缓存中已有该域名的记录,则无需发起任何查询,直接使用缓存结果即可。


四、总结

域名系统 DNS 是互联网的基础枢纽,看似简单的域名背后,是一套设计精巧的分布式层级架构。总结一下核心要点:

  1. DNS 的核心是域名与 IP 的映射解析,采用分布式设计避免单点故障与性能瓶颈。

  2. 域名是倒状树的层级结构,从右到左级别降低,分级管理保证唯一性。

  3. 四类域名服务器各司其职,本地域名服务器作为用户代理,根服务器引导查询方向,权限服务器存储权威映射。

  4. 解析采用 “主机到本地递归、本地到上层迭代” 的通用模式,兼顾易用性与服务器负载。

  5. 高速缓存机制大幅提升解析效率,通过有效期保证数据正确性。 掌握这些核心知识点,就能彻底搞懂 DNS 的工作原理,不管是日常应用还是考试备考都能轻松应对。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐