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

字號(hào):

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