問:什麼是“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為bbs.hit.edu.cn,這個Domain Name當然不是憑空而來的,是從.edu.cn所分配下來的。.edu.cn又是從.cn授予(delegation)的。.cn是從哪裡來的呢?答案是從“.”,也就是所謂的“根域”(root domain)來的。根領域已經是Domain Name的最上層。而“.”這層是由InterNIC(Internet Network Information Center,互聯網信息中心)所管理。全世界的Domain Name就是這樣,一層一層的授予下來。
問:當我查一個Domain Name時,DNS是怎麼查出它的IP的呢?
答:舉個例子,假設今天我們查的Domain Name(作一個DNS query)為bbs.hit.edu.cn時,DNS Server會這麼處理:
(1) 你所用的電腦(可能是PC,也可能是工作站)送出一個問題給這台電腦所設定的DNS Server,提問:bbs.hit.edu.cn的IP是什麼?
(2) 這台DNS會先看看是不是在它的cache中,如果是,就丟出答案。如果不是,就從最上頭查起。在DNS Server上面一定有設定“.”要跟誰問。所以,這個時候它就往“.”層的任何一台DNS(目前“.”有13台)問:.cn要問誰?
(3) “.”層的DNS會回答.cn要向誰查(同時你用的DNS會cache起來這個答案)。
(4) 接下來你所用的DNS就會向.cn這層的DNS問:.edu.cn要問誰?
(5) .cn的這層就會回答.edu.cn要向誰查(同時你用的DNS也把這答案cache起來)。
(6)直到bbs.hit.edu.cn回答:bbs.hit.edu.cn的IP是202.118.224.2(又cache起來)。
經過了這麼多的過程,終於得到了這個IP,接下來才能作進一步的連線。要注意的是,在每一層都會問一個問題,並且把答案記下來(cache起),而且還會忘掉(看該層的設定是要cache多久)。
問:DNS要怎麼設置?
答:如果,只是要使用DNS,那只要在TCP/IP的網絡屬性中設置即可。設置的方法跟使用的操作系統有關。例如:Windows 9x在“控制面板”→“網絡”→“TCP/IP”→“屬性”中,找到DNS的部分再來設置。Unix在/etc/resolv.conf這個文件中設置(如果,要架設一台DNS Server,就不是在這裡討論的了)。