DNS專題(一)——關(guān)于域名系統(tǒng)簡介②

字號:

1.1.1 主機名和I P地址
    D N S的數(shù)據(jù)文件中存儲著主機名和與之相匹配的I P地址。從某種意義上說,域名系統(tǒng)類似于存儲著用戶名以及與此相匹配的電話號碼的電話號碼服務(wù)系統(tǒng)。雖然D N S記錄中除了主機名和I P地址外還有一些其他的信息, D N S系統(tǒng)本身也有一些較復(fù)雜的問題要討論,但D N S最主要的用途和對用戶來說最重要的價值是,通過它可以從主機名找到與之匹配的I P地址,并且在需要時輸出相應(yīng)的信息。
    1.1.2 主機名的注冊
    主機名和I P地址必須注冊。注冊就是將主機名和I P地址記錄在一個列表或者目錄中。注冊的方法可以是人工的或者自動的、靜態(tài)的或者動態(tài)的。過去的D N S服務(wù)器都是通過人工的方法來得到原始的主機注冊,也就是說,主機在D N S列表中的注冊是要由人工從鍵盤輸入的。最近的趨勢是動態(tài)的主機注冊。更新是用D H C P服務(wù)器觸發(fā)完成的,或者直接由具有動態(tài)D N S更新能力的主機完成。D H C P是Dynamic Host Configuration Protocol的縮寫,即動態(tài)主機配置協(xié)議。
    除非使用動態(tài)D N S,D N S注冊通常是人工的和靜態(tài)的。Windows 2000中就提供了動態(tài)D N S的功能。當主機的信息有所變化時,主機記錄的更新通常由人工來完成。圖1 - 1表示了若干主機在D N S服務(wù)器中的注冊。在D N S服務(wù)器中,最主要的信息只是主機名和I P地址(某些重要的例外見第4章)。
    圖1 - 1并沒有表示出主機名是如何注冊的,因為注冊的方法并不是只有一種。當然人工注冊是最常見的,但也有若干自動注冊的方法。自動注冊的方法之一就是讓D N S服務(wù)器去查閱W I N S服務(wù)器。本書中將不斷提到D N S和W I N S的交互。通過W I N S服務(wù)器的自動注冊方法將在第1 6章中介紹。
    另一種自動注冊的方法是通過D H C P服務(wù)器向具有動態(tài)D N S能力的D N S服務(wù)器注冊名字。也就是D H C P服務(wù)器在客戶機上網(wǎng)時自動給它分配一個I P地址。因為該方法經(jīng)過完整的測試并受到廣泛的支持,所以它是使用各種D N S服務(wù)器最容易的方法。該方法幾乎在任何情況下都能正常工作。當注冊完成以后(尤其是當已被提醒成功時),所有的D N S服務(wù)器都收到了主機的注冊信息。
    大多數(shù)的計算機由人工向一臺D N S服務(wù)器進行注冊,這臺服務(wù)器一般是和這些計算機在同一個大樓或者同一個校園,或者至少在同一個企業(yè)內(nèi)。一般來說,中型或大型企業(yè)都有自己的D N S服務(wù)器。這時編輯和修改服務(wù)器的主機列表將比求別人—如I n t e r n e t服務(wù)供應(yīng)商—注冊主機的變化既迅速又容易。當使用UNIX 或Windows 2000時,如果有一個內(nèi)部環(huán)境,就很有可能需要自己在內(nèi)部運行D N S。
    主機名必須在D N S服務(wù)器中注冊,這臺服務(wù)器稱為主服務(wù)器。輔D N S服務(wù)器自動地從主D N S服務(wù)器獲得所有的數(shù)據(jù)。管理員對這種備份很感興趣,因為這可以讓他們在幾個不同的地方安置具有相同數(shù)據(jù)庫的服務(wù)器。例如,中心辦公室可以有一臺主D N S服務(wù)器,而遠地的機構(gòu)可以有本地的輔服務(wù)器,以便加速地址的查找,也可防止因網(wǎng)絡(luò)失效而找不到D N S服務(wù)器。主、輔D N S服務(wù)器的搭配使得所有的服務(wù)器都能找到已注冊的主機,客戶機能從離它最近的服務(wù)器獲得回答。如果本地網(wǎng)絡(luò)中的D N S服務(wù)器失效,無論安裝的是Windows 2000還是其他操作系統(tǒng),對主機的可用性都是一場災(zāi)難。而且如果一些主機通過輔服務(wù)器解析域名,還可以獲得一定的負載平衡。
    1.1.3 主機地址的資源記錄
    無論主機注冊是如何完成的,這種注冊的主要目的是在某個列表中記錄下其他計算機在需要時可以被查到的主機名及其源地址,這種記錄稱為資源記錄。資源記錄可以有多種格式,第4章中將做詳細介紹。
    圖1 - 2顯示了在Windows 2000 DNS管理器上顯示的幾個計算機的主機記錄。
    如果使用的是UNIX DNS服務(wù)器和文本方式的配置文件,其條目就很像主機在這些記錄中的注冊( I N代表I n t e r n e t,A代表地址A d d r e s s ):如果使用的是Windows 2000 DNS,則可以將記錄信息記錄在同樣的文件中,但也可以不必這樣做。第一列為主機名(如h o s t 1),第二列為記錄的類型(本例中為I n t e r n e t),第三列為資源記錄的類型( A代表地址),第四列為I P地址。
    host1 IN A 207.33.46.51
    host2 IN A 207.33.46.52
    host3 IN A 207.33.46.53
    host4 IN A 207.33.46.54
    1.1.4 主機名的解析
    只要進行了注冊,主機名就可以被解析。解析是一個客戶端過程,目的是查找已注冊的主機名或者服務(wù)器名以便得到相應(yīng)的I P地址??蛻舳说玫搅四繕酥鳈C的I P地址后,就可以直接在本地網(wǎng)上通信,或者通過一個或幾個路由器在遠程網(wǎng)上通信。顯然,一個D N S服務(wù)器可以有許多已注冊的主機。解析注冊在同一臺D N S服務(wù)器上的其他主機名應(yīng)該是比較快的。一個具有上千主機的企業(yè)只需要少數(shù)幾臺D N S服務(wù)器。
    圖1 - 3顯示了D N S客戶機如何解析另一個在同一臺D N S服務(wù)器注冊的主機名。
    圖1-3 一個D N S客戶機查詢D N S服務(wù)器以解析另一個主機名
    1. 解析器
    本章對主機名查詢的解釋似乎意味著D N S服務(wù)器擔當了所有的主機名解析工作。對此,必須有所澄清。實際上,主要的角色是一種稱為解析器的程序,解析器運行在所有使用T C P / I P協(xié)議的有D N S能力的計算機上。解析器將包含網(wǎng)絡(luò)主機域名的路徑描述轉(zhuǎn)換為查詢請求。解析器甚至還可以緩存已定位的主機,以加速接通的過程。
    解析器幾乎無所不在,可以是本地的或者遠程的,可以在客戶機上也可以在D N S服務(wù)器上。D N S服務(wù)器可以在需要時通過解析器查詢另一臺D N S服務(wù)器,這種情況是經(jīng)常發(fā)生的。當一臺D N S客戶機作為客戶機時,它的解析器就處于工作態(tài),當一臺D N S服務(wù)器作為客戶機時,它的解析器也處于工作態(tài)。當一臺D N S服務(wù)器作為服務(wù)器使用時,它的作用就是響應(yīng)客戶機的解析器的查詢,而這臺客戶機也可能是另一臺D N S服務(wù)器。
    R F C文件國際標準化機構(gòu)和志愿管理機構(gòu)共同管理Internet。這些管理機構(gòu)通過工作委員會使用R F C文件來評估一些有可能成為標準的新思想。R F C文件可以由個人提出,也可以是出于某種商業(yè)利益的考慮。有不少R F C文件變成了正式的標準。要查閱R F C文件,可以通過h t t p : / / w w w.dns.net/dnsrd/ 訪問其中的域名服務(wù)資源目錄,即d n s r d目錄(Domain Name Services Resource Dictionary)。對D N S、I n t e r n e t協(xié)議以及I n t e r n e t本身的標準制定有影響的機構(gòu)有:
    • Internet體系結(jié)構(gòu)組(IAB , Internet Architecture Board)。
    • Internet授權(quán)地址分配組(IANA, Internet Assigned Number Authority),www.iana.org。
    • Internet工程指導(dǎo)組(IESG, Internet Engineering Steering Group),www.ietf.org/iesg.html。
    • Internet工程任務(wù)組(IETF, Internet Engineering Task Force),www.ietf.org。
    • Internet 協(xié)會(ISOC, Internet Society),www.isoc.org。
    • Internet網(wǎng)絡(luò)信息中心(InterNIC),www.internic.net。
    RFC 1034“域名:概念和設(shè)備”中指出,解析器至少要訪問一臺域名服務(wù)器來直接得到所需信息,或通過其他的域名服務(wù)器來繼續(xù)跟蹤查詢。在RFC 1034的第5、6頁中說:“從解析器的角度來說,域名系統(tǒng)是由數(shù)目不詳?shù)挠蛎?wù)器組成的,每臺域名服務(wù)器具有整個域名樹中的一個或幾個分支的數(shù)據(jù)?!?BR>    經(jīng)過查詢后,返回給解析器的結(jié)果可能是下列結(jié)果中的一種(見RFC 1034第2 9頁):
    • 給出所需數(shù)據(jù)的一個或幾個資源記錄。在這種情況下,解析器將以適當?shù)母袷椒祷氐玫降幕卮稹?BR>    • 主機名錯誤。當所查詢的名字不存在時給出這種錯誤。例如,可能是用戶在鍵入主機名時出錯。
    • 數(shù)據(jù)未找到錯誤。當存在所查詢的主機名,但找不到相應(yīng)的數(shù)據(jù)時出現(xiàn)這種錯誤。
    2. 逆向查找
    到目前為止,我們的討論都是圍繞著D N S如何從主機名查到I P地址。但也可以由I P地址來查找主機名,因為, D N S服務(wù)器中的數(shù)據(jù)文件是自動排序或者自動索引的,以便快速由名字查找,從I P地址出發(fā)的逆向查找還需要數(shù)據(jù)庫按I P地址進行排序或索引。逆向查找也稱為反向查詢。
    D N S服務(wù)器用來進行逆向查找的數(shù)據(jù)庫稱為i n - a d d r. arpa區(qū)或者稱為A R PA域中的I n t e r n e t地址區(qū)。如果仔細觀察圖1 - 2,可以看到屬于2 0 7 . 3 3 . 4 6 . 9域名服務(wù)器的46.33.207. in-addr. a r p a區(qū)。這個i n - a d d r區(qū)包含一個從I P地址到主機名的數(shù)據(jù)庫,以便服務(wù)器執(zhí)行從I P地址出發(fā)而不是從主機名出發(fā)的查找。第4章在講述反向地址記錄( P T R)時將討論這種反向映射是如何建立的。
    逆向查找的使用并不像正向查找那樣普遍,但也不時有所使用。大多數(shù)的逆向查找是在用戶(如系統(tǒng)管理員)已經(jīng)知道本地主機的I P地址,但需要查找它的主機名時進行的。逆向查找的一種實際用途是查找一個已知I P地址的主機的全域名。F T P服務(wù)器有時也通過逆向查找來證實所連接的主機是否為它所宣布的主機。另外,一些工具如n s l o o k u p也使用逆向查找的特性(見第1 2章)。這種技術(shù)提供了另一種驗證所連接的主機是否為假冒的方法,這可以減少但不能消除攻擊。