DNS服務(wù)器工作原理
分布的信息
本文引用地址:http://cafeforensic.com/article/201610/305413.htm解決方案就是采用DNS服務(wù)器系統(tǒng)。與主機表不一樣,DNS服務(wù)器不依賴一個大型映射文件,DNS服務(wù)器只包含有限的信息,因為他們知道到哪里能找到他們想知道的域的細節(jié)。當DNS服務(wù)器得到對某個主機的請求,而該請求的主機又并不在其緩沖內(nèi),那么DNS服務(wù)器只是知道了這件事然后去詢問知道答案的“某計算機”。這臺計算機是一種授權(quán)服務(wù)器,負責維護DNS信息。如果某臺服務(wù)器在被詢問到其域內(nèi)的某個地址時它可以確定地指出該地址存在,那么這臺服務(wù)器就是所謂的授權(quán)服務(wù)器。
如果接觸的服務(wù)器并不包含有關(guān)的域名信息,該服務(wù)器就會將請求傳遞給接觸鏈路上更高級別的授權(quán)服務(wù)器,這樣就形成了一系列查詢直到最后找到需要的信息。實際上,這意味著請求可以被任意數(shù)量的服務(wù)器處理,在Internet上這種來來回回的行為每時每刻都在發(fā)生。最早發(fā)出請求的服務(wù)器將緩沖信息以滿足未來的需求而無須向授權(quán)服務(wù)器再發(fā)請求。DNS服務(wù)器的管理員為這些信息設(shè)置了超時限制以避免緩沖中充滿了名字請求的舊數(shù)據(jù)。
DNS轉(zhuǎn)換不會花費太多的時間,但它確實增加了你的請求到達遠端計算機的時間。你可以自己做個快速測試(雖然很簡單):首先用域名,比如www.microsoft.com來訪問對應(yīng)的Web站點,然后用IP地址198.105.232.4再實驗一下。如果你要這么做,則請務(wù)必關(guān)閉你的瀏覽器然后再重新打開以初始化新的會話;否則你不過是載入了頁面的緩沖版本(記住裝載頁面的延遲原因可能來自許多因素,所以對結(jié)果要有所保留)。
DNS服務(wù)的最常用軟件是Berkeley Internet Name Domain,也就是BIND,它源自U.C. Berkeley但現(xiàn)在則由Internet Software Consortium.負責。其最新版本4.9.3包含了標準的 Unix版本和附加的Windows NT 端口。BIND提供了解析器和名字服務(wù)器軟件,解析器做實際的查詢工作而名字服務(wù)器則提供響應(yīng)。BIND將名字服務(wù)器分成三個部分:主服務(wù)器包含了有關(guān)一個域的全部數(shù)據(jù);次服務(wù)器則有效地從主服務(wù)器拷貝DNS數(shù)據(jù)庫;唯緩沖服務(wù)器通過緩沖查詢來建立例外的DNS數(shù)據(jù)庫。只有主服務(wù)器和次服務(wù)器才被當作涉及特定域的授權(quán)服務(wù)器。
要理解 DNS 服務(wù)器怎么操作就有必要理解域名層次本身。在這一層次的頂部是根域。這一域上的信息駐留在從整個Internet中所選的一些根服務(wù)器上。在根域下面是頂級域,也就是國家代碼或機構(gòu)代碼。國家代碼的例子有SG (新加坡)和CA (加拿大)等。而機構(gòu)代碼則包括眾所周知的COM(商業(yè)機構(gòu))、EDU(教育機關(guān))、GOV(政府機構(gòu))和NET(網(wǎng)絡(luò)機構(gòu))等(注意在美國以外的頂級域通常是國家編碼,但是基于美國的地點通常省略國家編碼)。在頂級域下面是次級域(whitehouse.gov、microsoft.com、inforamp.net 等諸如此類),然后是第 3級域,等等等等向下以此類推。
如果你想在美國建立域名,那么你必須聯(lián)系網(wǎng)絡(luò)信息中心NIC。在它同意你的請求以前,你首先要保證你想要的名字還沒被使用,其次要保證目前至少有 2臺服務(wù)器可以提供新域名的服務(wù)。當 NIC 最后同意請求時,它將承認你的次級域,并將指向該名字的指針放到頂級域所在的服務(wù)器內(nèi)。例如,如果你請求域名mybiz.com,那么你必須首先讓Internet上的2 臺名字服務(wù)器提供信息服務(wù)(你的 ISP的服務(wù)器能做到這一點),然后NIC 將把 mybiz 放到COM 域服務(wù)器系統(tǒng)內(nèi),其指針將指向那2臺特定服務(wù)器。
一旦設(shè)置了適當?shù)闹饔?,你就可以增加所希望的任何?shù)量的子域。你可能想要命名你的計算機為sales.mybiz.com,而另一臺則被叫做techsupport.mybiz.com等等。這些工作可就不需要 NIC 的同意了,而且,事實上NIC也不管這事。但是,如果你想要任何人都能實際地訪問你的子域,那么你最好將有關(guān)子域的信息盡快地放到上級域內(nèi)。在特定的情況下,關(guān)于sales.mybiz.com 和 techsupport.mybiz.com 的IP信息必須放在mybiz.com服務(wù)器上。這一層次中的每臺服務(wù)器都包含了一個DNS數(shù)據(jù)庫,其入口被稱作NS記錄,每條這樣的記錄包含了域或子域的名字,此外還加上作為域或者子域服務(wù)器的主機的名字。在我們的例子中,我們將告訴根服務(wù)器它能在我們的 DNS 服務(wù)器上找到mybiz.com及其全部子域的信息,而這些信息則位于details.mybiz.com這臺計算機上。
現(xiàn)在我們來看看這一切是如何運作的。某所大學的某人在指向你的最新子域的網(wǎng)頁上看見了一個鏈接 techsupport.mybiz.com。然后她點擊該鏈接,于是她的本地DNS 服務(wù)器(很可能位于這所大學的某臺計算機上)開始工作。首先,服務(wù)器搜索它自己的 DNS數(shù)據(jù)庫以轉(zhuǎn)換信息,但是,因為它以前從來沒遇見過 techsupport.mybiz.com,所以服務(wù)器沒有該域存在的記錄而且不能解析IP地址。不過,它的 DNS 數(shù)據(jù)庫包含了一個根服務(wù)器的地址(所有的 DNS 服務(wù)器必須設(shè)置該索引)。于是本地 DNS 服務(wù)器就到Internet上查詢該根服務(wù)器。根服務(wù)器在其DNS 數(shù)據(jù)庫里查找COM 頂級域,然后它用NS 記錄回復該大學的 DNS 服務(wù)器,告訴它可以從details.mybiz.com 處查詢到mybiz.com 的信息。大學的服務(wù)器就這樣做了,而且從 details.mybiz.com那里知道了techsupport.mybiz.com 的對應(yīng)IP 地址。在這一過程中最根本的階段是,大學的DNS 服務(wù)器緩沖了該 NS 記錄,結(jié)果下次該大學的任何人在需要涉及到mybiz.com、details.mybiz.com 、ortechsupport.mybiz.com等對應(yīng)的IP地址轉(zhuǎn)換時,相關(guān)信息在本地即可獲得。
正如其他的Internet協(xié)議一樣,DNS由幾個Internet的RFC(請求評論)規(guī)范(最初是RFC 882、883和973)。不過要理解DNS 服務(wù)器的工作原理最好的標準還是RFC 1035。你可以在Internet上的好幾個地方找到RFC 1035,比如在http://www.crynwr.com/crynwr/rfc1035/ 就有一個不錯的HTML 版本。正如你可能想到的那樣,RFC具有相當?shù)募夹g(shù)性,你不大可能會對超出DNS 服務(wù)器一般操作的細節(jié)感興趣。但是如果你想做個服務(wù)器管理員,那么就記住 RFC吧。
評論