跳到主要内容

DNS

域名解析系统 Domain Name System

联机分布式数据库系统。

域名到 IP 地址的解析过程

当某一个应用程序需要把主机名解析为 IP 地址时,改应用进程就调用解析程序(resolver),并成为 DNS 的一个客户,把待解析的域名放在 DNS 的请求报文中,以 UDP 用户数据报方式方式发送给本地域名服务器(使用 UDP 是为了减少开销)。本地域名服务器在查找域名后,把对应的 IP 地址放在回答报文中返回。应用进行获得目的主机的 IP 地址后即可进行通信。

如果本地域名服务器不能回答该请求,则此域名服务器就暂时成为 DNS 中的另一个客户,并向其他域名服务器发出查询请求。这种过程直至找到能够回答该请求的域名服务器为止。

层次树状结构的命名方法

mail.cctv.com

域名服务器

一个服务器所负责管辖的范围叫做区。在一个区中的所有节点必须是能够联通的。每一个区设置相应的权限域名服务器(authoritative name server),用来保存该区中的所有主机的域名到 IP 地址的映射。

1、根域名服务器(最重要的域名服务器)

所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。

为什么根域名服务器是最重的域名服务器呢?

因为本地域名服务器在碰到自己无法解析的域名时,会首先求助于根域名服务器。

根域名服务器并不直接把待查询的域名直接转换成 IP 地址,而是告诉本地域名服务器下一步应该找哪一个顶级域名服务器进行查询。

2、顶级域名服务器(TLD 服务器)

这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到 DNS 查询请求时,给出相应的回答( 最后结果或者下一步应当查找的域名服务器的地址)

3、权限域名服务器

当一个权限域名服务器不能给出最后的查询结果时,就告诉当前发出查询请求的 DNS 用户,下一步应当找哪一个权限域名服务器。

4、本地域名服务器

一台主机发出 DNS 请求时,这个查询请求报文就发送给本地域名服务器。

域名查询的两种方式

递归查询

类似于请求转发(forward)

在递归查询中,DNS 客户端要求 DNS 服务器(一般为 DNS 递归解析器)将使用所请求的资源记录响应客户端,或者如果解析器无法找到该记录,则返回错误消息。

迭代查询

类似于重定向(redirect)

在这种情况下,DNS 客户端将允许 DNS 服务器返回其能够给出的最佳应答。如果所查询的 DNS 服务器与查询名称不匹配,则其将返回对较低级别域名空间具有权威性的 DNS 服务器的引用。然后,DNS 客户端将对引用地址进行查询。此过程继续使用查询链中的其他 DNS 服务器,直至发生错误或超时为止。