怎樣用DNS解析域名
怎樣用DNS解析域名.將主機名解析成為IP地址 IP網(wǎng)絡(luò)中的系統(tǒng)進行通訊必須依靠internet地址。用戶和應(yīng)用程序可以通過主機名來查找一個主機,這就要求在數(shù)據(jù)包發(fā)送之前,IP協(xié)議層必須將這個主機名翻
怎樣用DNS解析域名
.將主機名解析成為IP地址
IP網(wǎng)絡(luò)中的系統(tǒng)進行通訊必須依靠internet地址。用戶和應(yīng)用程序可以通過主機名來查找一個主機,這就要求在數(shù)據(jù)包發(fā)送之前,IP協(xié)議層必須將這個主機名翻譯成為一個IP地址(例如16.30.0.99)。這個主機名到IP地址之間的轉(zhuǎn)換是在這個網(wǎng)絡(luò)連接建立之前通過一個gethostbyname()的庫函數(shù)來實現(xiàn)的。這個庫函數(shù)也被稱為解析器,因為它的作用是將主機名解析為一個IP地址。
同樣,反向的解析有時也是必須的;因為有時候,必須將IP地址解析成為一個主機名,例如主機想要驗證哪些主機連接到本機就必須通過將連接進來的IP地址映射成為一個名字,通常這個過程被用作鑒權(quán):例如,文件/etc/hosts.equiv,$HOME/.rhosts,或者/etc/exports的使用就是具體例子。將IP地址解析成為主機名是通過調(diào)用一個名為gethostbyaddr()庫函數(shù)而實現(xiàn)的。
維護一個小規(guī)模網(wǎng)絡(luò)中的各個主機中包含有網(wǎng)絡(luò)中的系統(tǒng)的名字和IP地址的/etc/hosts文件是一件很容易的的事情,而當網(wǎng)絡(luò)變得很大同時地理上分布更廣的時候,維護工作會變得十分困難。這時候就需要用其它的方法來實現(xiàn)域名和IP地址之間的互相解析。
與每一臺機器都存儲和維護所有主機名和IP地址信息的方式不同,一種稱為域名服務(wù)器的服務(wù),域名服務(wù)器可以由網(wǎng)絡(luò)中的一個(或者多個)系統(tǒng)組成,其作用是存儲并且提供信息,域名系統(tǒng)提供了另外一種與/etc/hosts文件不同的主機名與IP地址轉(zhuǎn)換的方式,DNS常用在大型的網(wǎng)絡(luò)中提供主機名解析的服務(wù)。
當前最常用的名稱服務(wù)有Network Information Services(包括NIS和NIS ),和Berkeley internet Name Domain(BIND)服務(wù)。
在這一章,我們將學習Berkeley internet Name Domain 服務(wù)。
2.DNS概述
Berkeley internet Name Domain(BIND)是一種基于RFC 1034/1035"域名"規(guī)范的域名系統(tǒng)(DNS)。BIND是由以下三部分組成:
分層的名稱空間: 與單層的的名稱空間相對應(yīng),/etc/hosts文件的域名解析方式就是一種單層的方式。
名稱服務(wù)器中保存有域的樹型結(jié)構(gòu)的信息,這個服務(wù)器程序是在系統(tǒng)中是一個叫做named的進程。而提供這個網(wǎng)絡(luò)服務(wù)的主機被叫做域名服務(wù)器。
解析器是一種負責將域名解析成為IP地址的程序,各種網(wǎng)絡(luò)服務(wù)都可以調(diào)用這種程序,例如telnet,ftp,rcp,rlogin,和其它的網(wǎng)絡(luò)服務(wù)。解析器能判斷首先使用哪個名稱服務(wù)(/etc/hosts,NIS,或者DNS),然后使用指定的服務(wù)來將主機名翻譯為IP地址。如果使用的是DNS(BIND),解析器就會從域名服務(wù)器提取信息,解析器并不是一個特別的進程,解析器只是名稱服務(wù)器的一個可編程的界面,這些流程被編譯進gethostbyname()和gethostbyaddr()流程中。任何執(zhí)