DNS 的来由
如果您为您的机器设定过 internet 连线﹐那么您一定接触过 DNS 了﹐但 DNS 又是什么东东呢﹖说穿了﹐DNS 是用来帮助记忆网路位址的﹐完全是为了迁就人类的记忆思维而设的。
DNS 的全称是 Domain Name System(或 Service) ﹐当您连上一个网址﹐在URL打上﹕www.google.com 的时候﹐可以说就是使用了 DNS 的服务了。但如果您知道这个 www.google.com 的 IP 位址﹐直接输入 216.239.53.101 也同样可以到达这个网址。其实﹐电脑使用的只是 IP 位址而已(最终也是 0 和 1 啦)﹐这个 www.google.com 只是让人们容易记忆而设的。因为我们人类﹐对一些比较有意义的文字记忆(如﹕www.google.com)﹐比记忆那些毫无头绪的号码(如﹕216.239.53.101)﹐往往容易得多。DNS 的作用就是为我们在文字和 IP 之间担当了翻译﹐而免除了强记号码的痛苦。
假如您的电话有名字记忆功能﹐您只需知道对方的名字﹐就可以拨号给友人了﹐我们可以说﹐这电话也具备如 DNS 的功能了呢﹗但是﹐我们在网路中使用的 DNS 系统﹐就是这么简单吗﹖非也﹐复杂得很呢﹗下面﹐就让我们一起去探索一下 DNS 的奥秘﹕
在早期的 IP 网路世界里面﹐每台电脑都只用 IP 位址来表示﹐不久人们就发现这样很难记忆﹐于是﹐一些 UNIX 的管理者﹐就建立一个 HOSTS 对应表﹐将 IP 和主机名字对应起来﹐这样﹐用户只需输入电脑名字﹐就可以代替 IP 来进行沟通了。如果你安装了 Linux 系统﹐在 /etc 下面就可以找到这个 hosts 档案﹔在 NT 的系统里﹐你也可以在 winntsystem32driversetc 下面找到它。不过这个 HOSTS 档是要由管理者手工维护的﹐最大的问题是无法适用于大型网路﹐而且更新也是件非常头痛的事情。这就是 DNS 大派用场的时候了。
DNS 的结构
DNS 是一个分层级的分散式名称对应系统﹐有点像电脑的目录树结构﹕在最顶端的是一个“root”﹐然后其下分为好几个基本类别名称﹐如﹕com﹑org﹑edu 等﹔再下面是组织名称﹐如﹕ibm﹑microsoft﹑intel 等﹔继而是主机名称﹐如﹕www﹑mail﹑ftp 等。因为当初 internet 是从美国发展起的﹐所以当时并没有国域名称﹐但随着后来 internet 的蓬勃发展﹐DNS 也加进了诸如 tw﹑hk﹑cn 等国域名称。所以一个完整的 dns 名称就好象是这样的﹕www.xyz.com.tw﹐而整个名称对应的就是一个(或多个) IP 位址了。
在早期的设计下﹐root 下面只有六个组织类别﹕
不过﹐自从组织类别名称开放以后﹐各种各样五花八门的名称也相继涌现出来了﹐但无论如何﹐取名的规则最好尽量适合网站性质。除了原来的类别资料由美国本土的 NIC(Network Information Center) 管理之外﹐其它在国域以下的类别分别由该国的 NIC 管理(比方说台湾的 DNS 将授权给 twnic 来管理)。这样的结构看起来就像这样﹕
在结构中﹐各组织的 DNS 经过申请后由该组织或其委托主机管理(通常当您申请注册一个 domain 域名称的时候﹐都要指定两台 DNS 主机负责该域名的 DNS 管理)。