DNS 的运作
在我们设定 IP 网路环境的时候,通常都要告诉每台主机关于 DNS 伺服器的地址,(我们可以手动的在每一台主机上面设置,也可以使用 DHCP 来设定)。
下面让我们看看 DNS 是怎样运作的:
1、当被询问到有关本域名之内的主机名称的时候,DNS 伺服器会直接做出回答;
2、如果所查询的主机名称属于其它域名的话,会检查记忆体,看看有没有相关资料;
3、如果没有发现,则会转向 root 伺服器查询;
4、然后 root 伺服器会将该域名之授权(authoritative)伺服器(可能会超过一台)的地址告知;
5、本地伺服器然后会向其中的一台伺服器查询,并将这些伺服器名单存到记忆体中,以备将来之需(省却再向 root 查询的步骤);
6、远方伺服器回应查询;
7、将查询结果回应给客户,并同时将结果储存一个备份在自己的快取记忆里面;
8、如果在存放时间尚未过时之前再接到相同的查询,则以存放于快取记忆里面的资料来做回应。
从这个过程我们可以看出,没有任何一台 DNS 主机会包含所有域名的 DNS 资料,资料都是分散在全部的 DNS 伺服器中,而 NIC 只需知道各 DNS 伺服器地址就可以了。
为了更好地理解一下 DNS 的运作,让我们用下图看看查询 www.home.netman.com.tw 这台主机位址的过程:
在这个例子中,www.home.netman.com.tw 台主机的 DNS 对应资料,是由负责 home.netman.com.tw 这个域名的 DNS 伺服器管理的。(在 DNS 术语中,我们称一个域名为“zone”,这个 zone 可以是您从 NIC 申请回来的域名,也可以是从该域名之下延伸出来的“sub-zone”)。在这台 DNS 伺服器上面,必须有一个关于 home.netman.com.tw 这个 zone 的档案,而这档案里面必须有一笔关于 www 的记录(任何主机都是以“记录”来表示)。这个记录可以为一个 IP 地址,也可以以别名形式来对应一台主机名称,但无论如何,所对应的主机名称最终是要被一个 IP 地址所对应着就是了。
同时,DNS 还能提供“反查询”(reverse lookup)功能,也就是以 IP 来查询主机名称。网路上面的许多服务,如:FTP, IRC, WWW﹑等等,都需要到这个功能。其实,DNS 服务本身就必须要使用反查询功能,而且在设定上,也必须要为每个网路建立起 reverse zone。虽然有些人发觉即使没有 reverse zone 也可以利用到 DNS 服务,但其中弊端却不容易被察觉到,在这个(中文)网页:http://dnsrd.nctu.edu.tw/Basic/WhenToUse-Rev. html上面,您可以看到忽略 revers zone 所致一些问题。
- ThinkPad x13 Gen1傲腾H10重装系统的麻烦(0)
- Win10系统电脑进入安全模式的四种方法,让你轻松应对各种问题(0)
- 【Python】修改Windows中 pip 的缓存位置与删除 pip 缓存(1)
- 记录问题解决的连接(0)
- ‘%s=%s’ % (k, v) for k, v in params.items(), ^ SyntaxError: Generator expression must be parent(0)
- ThinkPad x13 Gen1傲腾H10重装系统的麻烦(0)
- Win10系统电脑进入安全模式的四种方法,让你轻松应对各种问题(0)
- 【Python】修改Windows中 pip 的缓存位置与删除 pip 缓存(1)
- 记录问题解决的连接(0)
- ‘%s=%s’ % (k, v) for k, v in params.items(), ^ SyntaxError: Generator expression must be parent(0)