DNS

域名系统

一个全球目录,把人能读懂的名称(例如example.com)转换成计算机使用的数字地址。它按树状结构组织:最顶端是根区 DNS的最顶层,列出每个顶级域及其域名服务器。 完整定义(根区),其下是顶级域,再下面是各级名称。没有它,域名 由以点分隔的标签组成、便于阅读的互联网名称。 完整定义(域名)就无法工作。

类别
DNS与技术基础

更新于 阅读需5分钟

DNS(域名系统)是互联网的目录。设备通过数字形式的IP 互联网协议 互联网发送数据的基本规则,为每台联网设备分配数字地址。 完整定义(IP)地址(IPv4或IPv6)访问,这些地址与域名分开分配,而人们使用的是example.com这样的名称。DNS将两者联系起来,使在浏览器中输入的名称或电子邮件地址中使用的名称能够到达正确的计算机。没有任何一个组织掌握整个目录:它分布在由众多运营方运行的大量服务器上,这些服务器会在本地将应答保存一段时间,以加快速度。

DNS是什么,互联网为何需要它

DNS的结构像一棵树。根区位于顶端,其下是顶级域(TLD 顶级域 域名的最后一部分,位于最后一个点之后。 完整定义(TLD)),如.com或.es,再往下是人们注册的名称。一个名称可以存放多种记录:地址(IPv4用A记录 将域名指向IPv4地址的DNS记录。 完整定义(A记录),IPv6用AAAA记录 将域名指向IPv6地址的DNS记录。 完整定义(AAAA记录)),以及负责该名称的服务器的名称(NS记录 域名服务器记录 列出负责某个域名的域名服务器的DNS记录。 完整定义(NS记录))和DNSSEC 域名系统安全扩展 证明DNS应答真实且未被篡改的数字签名。 完整定义(DNSSEC)安全数据。

输入域名后会发生什么:逐步查询过程

假设某个应用需要www.example.com的地址。

  1. 应用向存根解析器 设备上的简单DNS客户端,把查询交给递归解析器。 完整定义(存根解析器)发出询问,存根解析器是设备上的一小段DNS软件。它将问题转给一个递归解析器 代表用户查询域名的DNS服务器。 完整定义(解析器),后者通常由互联网服务提供商或公共DNS服务运营。
  2. 递归解析器首先检查其缓存。如果它已经保存了答案,且答案的TTL 生存时间 解析器可将DNS记录的缓存副本保留多久。 完整定义(TTL)(生存时间)尚未到期 域名注册如不续费即告结束的日期。 完整定义(到期),就会立即回复。
  3. 如果没有,它就从顶端开始。它通过一份内置列表,即根提示 解析器启动时所依据的根服务器名称和地址列表。 完整定义(根提示)(root hints),知道根服务器 答复DNS根区查询、并指向各顶级域服务器的服务器。 完整定义(根服务器)的地址。
  4. 根服务器不知道www.example.com的地址。它回复一个转介:到哪里找.com的服务器。
  5. .com服务器也不知道最终答案。它回复一个转介,指向example.com持有人所选择的域名服务器 保存域名DNS记录并应答查询的服务器。 完整定义(域名服务器)。
  6. 这些域名服务器中有一台是example.com的权威服务器 为某个域名或区域提供官方应答的DNS服务器。 完整定义(权威服务器)。它在A或AAAA记录中返回地址。解析器在TTL允许的时间内保存该答案,并将其传给设备。

解析器与权威服务器:谁提问,谁作答

解析器代表用户提出问题。权威服务器则根据其所持区域的数据作答,不向任何其他服务器询问。它们就是域名的域名服务器,列在该域名的NS记录中。

有些递归解析器属于公共DNS解析器 互联网上任何人都可以使用的DNS解析器。 完整定义(公共DNS解析器):供互联网上任何人使用的服务,可以代替互联网服务提供商提供的解析器。技术术语“open resolver”(开放解析器)通常另有所指:因配置不当而错误地向任何人作答的解析器。

由于每次查询都要经过解析器,解析器也是可以过滤名称的环节。DNS标准包含相应的错误代码,用于表示名称因运营方自身政策被屏蔽、应他人要求被屏蔽,或应用户要求被过滤。

委派:从根到域名的分工

DNS树被划分为若干区域。当某个组织希望控制树的一部分、自主修改其数据并将其中部分继续向下委派时,就会在那里划分区域。上级区域通过发布指向下级区域域名服务器的NS记录,将下级区域委派出去。

以example.com这样的域名为例,链条如下:

  • IANA 互联网号码分配机构 协调根区、IP地址和协议号的一组职能。 完整定义(IANA)管理根区,并记录每个顶级域由哪些服务器负责。ICANN 互联网名称与数字地址分配机构 协调全球DNS和gTLD政策的非营利组织。 完整定义(ICANN)的关联机构PTI 公共技术标识符 履行IANA职能(包括根区变更)的ICANN附属机构。 完整定义(PTI)履行IANA职能,IANA对这些服务不收取任何费用。
  • Verisign 运营.com和.net注册管理机构的公司。 完整定义(Verisign)作为根区维护者 生成并分发根区文件的组织,目前为Verisign。 完整定义(根区维护者),根据与ICANN签订的协议,按照IANA的指示编制根区文件,用DNSSEC签名,并发送给根服务器运营商 运营DNS根服务器的十二个组织之一。 完整定义(根服务器运营商)。
  • 根服务器以转介作答,指向各顶级域的域名服务器。
  • 顶级域注册管理机构 顶级域的中央数据库和系统,也泛指运营它们的组织。 完整定义(注册管理机构)在其自身区域中发布每个已注册名称的NS记录,并在需要时发布胶水记录 注册管理机构为位于其所服务域名之内的域名服务器保存的地址记录。 完整定义(胶水记录)(glue record)和DS记录 委派签名者 父区域中将域名的DNSSEC密钥连入信任链的记录。 完整定义(DS记录)。
  • 由域名持有人选择的域名服务器负责为该域名本身作答。

DNS内部的这种委派,不同于顶级域的授权,后者是指将一个新的顶级域加入根区。

NXDOMAIN和SERVFAIL等常见错误及其含义

每个DNS应答都带有一个响应代码。其中有两个错误代码经常出现。

NXDOMAIN

NXDOMAIN 不存在的域名 表示所查询名称不存在的DNS应答。 完整定义(NXDOMAIN)(代码3,“name error”)表示该名称不存在,其下也不存在任何名称。典型原因包括输入错误、域名未注册,或域名的委派已从其顶级域区域中移除。

SERVFAIL

SERVFAIL 服务器故障 表示查询失败的DNS答复,常因域名服务器或DNSSEC出错所致。 完整定义(SERVFAIL)(代码2,“server failure”)表示查询无法完成。它并不表示名称不存在,只表示没有获得可信的答案。常见原因包括:

  • 域名服务器被列为某个区域的服务器,却没有设置为该区域提供服务;
  • 域名服务器没有回应,或沿途网络出现故障;
  • DNSSEC签名未通过验证,此时进行验证的解析器必须返回SERVFAIL。

解析器保存SERVFAIL应答的时间最多为五分钟。借助扩展DNS错误(Extended DNS Errors),服务器可以附上原因,例如“DNSSEC Bogus”。

示例

假设example.com的持有人将域名迁移到新的域名服务器,但尚未将其设置为该区域提供服务。在新服务器配置完成之前,遵循新委派的解析器可能返回SERVFAIL。

谁运营DNS,谁为其付费

没有任何一个组织独自运营DNS。每一层都有各自的运营方和各自的付费方式。

  • 根服务器。截至2026年10月,13个具名根服务器标识由12个独立组织运营,其中包括大学、企业和ICANN本身,在全球拥有2,000多个实例。运营方提供这项服务不收取报酬,费用自行承担。
  • 顶级域。每个通用顶级域注册管理机构都必须按照其与ICANN所签合同规定的服务水平运行该顶级域的DNS。截至2026年10月,根据2026年3月12日批准的基本注册管理机构协议 ICANN与gTLD注册管理运行机构之间的合同。 完整定义(注册管理机构协议),DNS服务必须100%可用,这要求该顶级域至少两台权威域名服务器正确作答。一周内DNS完全中断累计4小时,即达到注册管理机构紧急过渡的触发门槛。
  • 域名。持有人为域名选择权威域名服务器,可以向服务商付费,也可以使用其他服务免费附带的服务器。自1987年起,规则就要求不止一台:RFC Request for Comments 记录互联网技术标准和实践的系列文件中的一份编号文件。 完整定义(RFC) 1034要求接管区域的任何一方都能证明具备冗余的域名服务器支持。
  • 解析器。互联网服务提供商和公共DNS服务运营着用户所依赖的解析器。

来源