主机,IP 和域名的对应关系:

  • 一台主机可以有多个 IP,比如装了多块网卡的情形
  • 一个域名可以对应多个主机,比如负载均衡。(一个域名可以在不同时间解析出不同的 IP 地址,实现负载均衡)
  • 一个 IP 可以对应多个域名

    域名空间

    域名空间是分层的
    image.png

域名服务器

域名系统建构于一个分布式数据库上,采用 C/S 的模型提供服务,通过 UDP 来进行通信。

域名服务器分为三个层级

  • 根域名服务器:知道所有的顶级域名服务器。
  • 顶级域名服务器:管理在该顶级域名服务器注册的所有二级域名,例如: xxx.comxxx.org 。顶级域名服务器可能给出最终结果,也可能引导走向权限域名服务器。
  • 权限域名服务器:将一个「域」划分为多个「区」,每个「区」都有一台权限域名服务器。一个「区」小于等于一个「域」。权限域名服务器可能给出最终结果,也可能引导走向下一个权限域名服务器。主机是向权限域名服务器注册的。

image.png
本地域名服务器
并不属于域名服务器层次结构。负责直接和 DNS 客户主机进行通信。网络配置中填写的 DNS 地址,就是本地域名服务器的地址。

域名解析

域名解析有两种方法:递归查询,迭代+递归查询

  • 递归查询:提供递归查询的服务器,会直接返回域名对应的 IP 地址,如下图的本地域名服务器。这个服务器在获取 IP 地址时,可以采用递归查询,也可以采用迭代查询。
  • 迭代查询:提供迭代查询的服务器,要么返回 IP 地址,要么告诉接下来应该去哪查询。

下图 a 中:

  • 本地主机采用了「递归查询」。本地域名服务器提供了「递归查询」的服务。
  • 本地域名服务器采用了「迭代查询」。根域名服务器,顶级域名服务器提供了「迭代查询」的服务。

下图 b 中:

  • 本地主机采用「递归查询」。本地域名服务器提供「递归查询」的服务。
  • 本地域名服务器,根域名服务器都采用「递归查询」;根域名服务器和顶级域名服务器提供了「递归查询」的服务。

image.png

DNS 服务器用到了高速缓存来加快查询速度,高速缓存设置有过期时间