1. 什么是DNS
主机名自动解析为 IP 就很重要!那就是 DNS。
1.1 用网络主机名取得IP的历史渊源
单一档案处理上网的年代: /etc/hosts
利用某些特定的档案将主机名与 IP 作一个对应, 如此一来,我们就可以透过主机名来取得该主机的 IP。 就是/etc/hosts 这个档案的用途了
缺憾:
-
ip数量太多时,该档案会大到不像
-
主机名与IP的对应无法自动于所有计算机内更新
导致,客户端计算机每次都得要重新下载一次档案才能顺利联网;
分布式,阶层式主机名管理架构:DNS系统
DNS(Domain Name System),
我们不需要知道主机的IP,只要知道该主机的名称,就能够轻易的连上该主机了。
-
DNS 利用类似树状目录的架构,将主机名的管理分配在不同层级的 DNS 服务器当中,经由分层管理, 所以每一部 DNS 服务器记忆的信息就不会很多
-
若有 IP 异动时也相当容易修改!因为你如果已经申请到主机名解析的授权, 那么在你自己的 DNS服务器中,就能够修改全世界都可以查询到的主机名了!而不用透过上层 ISP 的维护呢! 自己动手当然是最快的
DNS 与 BIND
DNS 是一种因特网的通讯协议名称, 至于Bind则是提供这个DNS服务的软件
DNS有关的FQDN、 Hostname与IP的查询流程,正解与反解、合法授权的 DNS 服务器之意义,以及 Zone 等等的知识。
完整主机名:Fully Qualified Domain Name(FQDN)
第一个与 DNS 有关的主机名概念,就是『主机名与领域名 (hostname and domainname)』的观念,以及由这两者组成的完整主机名 Fully Qualified Domain Name, FQDN。
DNS 是以树状目录分阶层的方式来处理主机名,那我们知道树状目录中, 那个目录可以记录文件名。领域名底下还可以记录各个主机名, 组合起来才是完整的主机名 (FQDN)
我们知道目录树的最顶层是根目录 (/),那么 DNS 既然也是阶层式的,最顶层是啥呢?每一层的 domain name 与 hostname 又该怎么分?
例子:www.ksu.edu.tw;
在上面的例子当中,由上向下数的第二层里面,那个 .tw 是 domain name ,而 com,edu, gov 则是主机的名称,而在这个主机的名称之管理下,还有其他更小网域的主机,所以在第三层的时候,基本上,那个 edu.tw 就变成了 domain name 了!而昆山科大与成大的 ksu, ncku 则成为了 hostname .
以此类推,最后得到我们的主机那个 www 是主机名,而 domain name 是由ksu.edu.tw 那个名字所决定的!自然,我们的主机就是让管理 ksu.edu.tw 这个domain name 的 DNS 服务器所管理的啰!
注意:
并不是以小数点 (.) 区分 domain name 与 hostname !某些时刻 domain name 所管理的 hostname 会含有小数点。
1.2 DNS的主机名对应IP的查询流程
简单了解 FQDN 的 domain name 与 hostname 之后,接下来我们要谈一谈这个DNS 的:
(1)阶层架构是怎样?