问:什麽是 "DNS" ? 其中文为何? 答:DNS, 简单的说, 就是 Domain Name System, 翻成中文来讲, 就是 「领域名称系统」. 问:DNS 有什麽用途? 答:简单来说, 在一个 TCP/IP 架构的网路 (例如 Internet) 环境中, DNS 是 一个非常重要而且常用的系统. 主要的功 能就是将人易於记忆的 Domain Name 与人不容易记忆的 IP Address 做转换. 而上面执行 DNS 伺服软体 的这台网路主 机, 就可以称之为 DNS Server. 基本上, 通常我们都认为 DNS 只是将 Domain Name 转换成 IP Address, 然後再使用所 查到的 IP Address 去做连线. (称「正查」) 事实上, 将 IP Address 转换成 Domain Name 的功能也是相当常使用到 的 , 当 login 到一台 Unix 工作站时, 工作站就会去做反查, 找出你是从哪 个地方连线进来的. (称「反查」) 问:DNS 是怎麽运作的? 答:简单来说, DNS 是使用阶层式的方式来运作的. 例如: 建中的 Domain Name 为 .ck.tp.edu.tw. 这个 Domain Name 当然不是凭 空而来的, 是从 .edu.tw 所分配下来的. .edu.tw 又是从 .tw 授与 (delegation) 的. .tw 是从哪里来的 呢? 答案是从 ".", 也就是所谓的「根领域」 (root domain) 来的. 根领域已经是 Domain Name 的最上层. 而 "." 这层 是由 InterNIC (Internet Network Information Center, 网际网路资讯中心) 所管理. 全世界的 Domain Name 就是这 样, 一层一层的授与下来. 问:当我查一个 Domain Name 时, DNS 是怎麽查出他的 IP 来的呢? 答:举个例子, 假设今天我们查的 Domain Name (作一个 dns query) 为 oasis.ck.tp.edu.tw 时, DNS Server 会怎麽处 理: (1) 你所用的电脑 (可能是 PC, 也可能是工作站) 送出一个问题给这台电 脑所设定的 DNS Server. 问说: camel.ck.tp.edu.tw 的 IP 是什麽? (2) 这台 DNS 会先看看是不是在他的 cache 中, 如果是, 就丢出答案. 如果不是, 就从最上头查起. 在 DNS Server 上 面一定有设定 "." 要跟谁问, 所以, 这个时候它就 往 "." 层的任何一台 DNS (目前 "." 有 13 台) 问问题, 它 问: .tw 要问谁? (3) "." 层的 DNS 会回答 .tw 要向谁查. (同时你用的 DNS 会 cache 起 来这个答案) (4) 接下来你所用的 DNS 就会向 .tw 这层的 DNS 问: .edu.tw 要问谁? (5) .tw 的这层就会回答 .edu.tw 要向谁查. (同时你用的 DNS 也把这答 案 cache 起来) (6) 向 .edu.tw 这层问 .tp.edu.tw 要问谁? (7) 得到 .tp.edu.tw 要向谁查. (又 cache 起来) (8) 问 .tp.edu.tw 这层的 DNS: .ck.tp.edu.tw 要问谁? (9) 得到 .ck.tp.edu.tw 要跟 camel.ck.tp.edu.tw 问 (又 cache 起来) (10) 问 camel.ck.tp.edu.tw: oasis.ck.tp.edu.tw 的 IP 为何? (11) camel.ck.tp.edu.tw 回答: oasis.ck.tp.edu.tw 的 IP 是 203.64.26.18 (又 cache 起来) 经过了这麽多的过程, 终於得到了这个 IP. 接下来才能作进一步的连线. 要注意的是, 在每一层都会问一个问题, 并且会把答案记下来 (cache) 起 来. 而且还会忘掉. (看该层的设定是要 cache 多久) 问:DNS 要怎麽设定? 答:如果,只是要使用 DNS,那只要在 TCP/IP 的网路设定中设定即可。 设定的方法跟使用的作业系统有关。例如: Windows 95 - 在「控制台」「网路」「TCP/IP」中,找到 DNS 的部份再 来设定。 Unix - 在 /etc/resolv.conf 这个档 案中设定,范例如下: domain ck.tp.edu.tw (就是这台电脑所属的 Domain Name) nameserver 203.64.26.1 (一定要打 IP) (如果,要架设一台 DNS Server,就不是这个问题集的范围了。) 问:哪一台 DNS 资料最新? 答:如果,你知道 DNS 是利用阶层架构运作的,那就应该知道,离你最近的 DNS,就是最好的。 注:在Chinanet的shell 上,可以通过执行nslookup命令来进行域名解析,如nslookup www.yahoo.com nslookup 202.96.64.68
|