新華電腦教您玩轉(zhuǎn)“網(wǎng)上鄰居”之DNS解析(一)
玩轉(zhuǎn)“網(wǎng)上鄰居”之DNS 解析(一)我們已經(jīng)知道,自Windows 2000系統(tǒng)以后,微軟就不再用NETBIOS 來注冊計算機名,也不再靠WINS 對計算機名稱進行解析,而是全部交付給了DNS 。下面

玩轉(zhuǎn)“網(wǎng)上鄰居”之DNS 解析(一)
我們已經(jīng)知道,自Windows 2000系統(tǒng)以后,微軟就不再用NETBIOS 來注冊計算機名,也不再靠WINS 對計算機名稱進行解析,而是全部交付給了DNS 。下面我們先來看一下名稱解析服務(wù)是如何實現(xiàn)從WINS 向DNS 遷移的。
一、從 WINS 遷移到 DNS
對于純粹的Windows 2000 Server環(huán)境,不可能減少甚至清除網(wǎng)絡(luò)上的WINS 。從網(wǎng)絡(luò)刪除已安裝的WINS 服務(wù)器的過程叫做“退役”。在決定讓網(wǎng)絡(luò)上的WINS 退役之前,請考慮以下問題:
(1). 網(wǎng)絡(luò)上是否有運行較早版本的Windows 或Windows NT的計算機。
(2). 企業(yè)中的客戶計算機是否運行舊的MS-DOS 或仍需要使用Net BIOS 名稱服務(wù)的Windows 程序,如NET 命令行實用程序。
如果網(wǎng)絡(luò)存在以上情形中的任何一種,都必須在網(wǎng)絡(luò)上始終使用WINS 以便與舊的客戶及程序兼容。如果都沒有,則可以讓網(wǎng)絡(luò)上使用的WINS 服務(wù)器退役。例如,某些Back Office應(yīng)用程序仍然需要Net BIOS命名,如使用Microsoft Exchange Server的客戶/服務(wù)器消息配置。
重新設(shè)計網(wǎng)絡(luò)或者準備讓WINS 最后退役時,必須首先完全實現(xiàn)將DNS 作為網(wǎng)絡(luò)上已安裝的和活動的所有Windows 計算機的主命名服務(wù)。一旦實施DNS ,WINS 退役過程遵照以下常規(guī)次序:
(1)重新配置客戶計算機,讓其不再使用WINS
重新配置WINS 客戶,讓其停止向要刪除的WINS 服務(wù)器注冊和更新其名稱??蛻羰褂肳INS 是根據(jù)其TCP/IP配置而配置的。通過下面兩個方法之一完成:
作者:江西新華電腦學院 2013-4-6
,
·對于被手動配置為使用TCP/IP的客戶,從客戶計算機使用的每個網(wǎng)絡(luò)連接所配置的TCP/IP屬性中刪除主WINS 或輔WINS 服務(wù)器的IP 地址。 ·對于被動態(tài)配置為根據(jù)DHCP 服務(wù)器使用TCP/IP的客戶,在DHCP 服務(wù)器上重新配置選項(包括所有的服務(wù)器、作用域或客戶配置選項),讓其不再向客戶提供選項代碼為44的分配。該選項類型用來向客戶提供WINS 服務(wù)器IP 地址列表。
還可以將WINS 客戶配置為禁用TCP/IP上的NetBIOS ,盡管這一步不是從WINS 遷移到DNS 的必需步驟。
(2)重新配置客戶機時,驗證DNS 配置和功能
將WINS 客戶機重新配置為停止注冊其名稱以及停止使用WINS 服務(wù)器時,在從網(wǎng)絡(luò)刪除WINS 服務(wù)器之前,驗證所有客戶機都配置了DNS ??蛻魴C在DNS 中的注冊以TCP/IP配置為基礎(chǔ)。重新配置可以通過以下兩種方法之一完成:
·對于被手動配置為使用TCP/IP的客戶,從客戶計算機使用的每個網(wǎng)絡(luò)連接所配置的TCP/IP屬性中添加主WINS 或輔WINS 服務(wù)器的IP 地址。 ·對于被動態(tài)配置為根據(jù)DHCP 服務(wù)器使用TCP/IP的客戶,在DHCP 服務(wù)器上重新配置選項(包括所有的服務(wù)器、作用域或客戶配置選項),向客戶提供選項代碼為6的分配。該選項類型用來向客戶提供DNS 服務(wù)器的IP 地址列表。
(3)關(guān)閉WINS 服務(wù)器并將其從網(wǎng)絡(luò)上刪除。
在將客戶機重新配置為使用DNS 而停止將WINS 用作名稱服務(wù)之后,可以開始清除WINS 服務(wù)器。
二、DNS 定義
作者:江西新華電腦學院 2013-4-6
,
DNS 是域名系統(tǒng)(Domain Name System)的縮寫,是一種組織成域?qū)哟谓Y(jié)構(gòu)的計算機和網(wǎng)絡(luò)服務(wù)命名系統(tǒng)。DNS 命名用于TCP/IP網(wǎng)絡(luò)(如Internet ),用來通過用戶友好的名稱定位計算機和服務(wù)。當用戶在應(yīng)用程序中輸入DNS 名稱時,DNS 服務(wù)可以將此名稱解析為與此名稱相關(guān)的其他信息,如IP 地址。
例如,多數(shù)用戶喜歡使用友好的名稱(例如example.microsoft.com )來定位諸如網(wǎng)絡(luò)上的郵件服務(wù)器或Web 服務(wù)器這樣的計算機。友好的名稱更容易記住。但是,計算機使用數(shù)字地址在網(wǎng)絡(luò)上通訊。為了更方便地使用網(wǎng)絡(luò)資源,諸如DNS 的名稱服務(wù)提供了一種方法,將用戶友好的計算機或服務(wù)名稱映射為數(shù)字地址。如果您使用過Web 瀏覽器,則應(yīng)該也使用了DNS 。 圖1顯示了DNS 的基本使用方法,DNS 根據(jù)計算機名稱搜索其IP 地址。 本例中,客戶機查詢服務(wù)器,請求配置成使用host-a.example.microsoft.com 作為其DNS 域名的計算機的IP 地址。由于服務(wù)器能夠根據(jù)其本地數(shù)據(jù)庫應(yīng)答查詢,因此服務(wù)器將以包含所請求信息的應(yīng)答回復客戶機,即包含host-a.example.microsoft.com 的IP 地址信息的主機(A)資源記錄。
此例顯示了單個客戶機和服務(wù)器之間的簡單DNS 查詢。實際上,DNS 查詢比這更復雜,而且包含此處未顯示的其他步驟。下面詳細介紹。
三、DNS 查詢的工作原理
當DNS 客戶機需要查詢程序中使用的名稱時,它會查詢DNS 服務(wù)器來解析該名稱??蛻魴C發(fā)送的每條查詢消息都包括三條信息,以指定服務(wù)器應(yīng)回答的問題:
·指定的DNS 域名,表示為完全合格的域名(FQDN)
·指定的查詢類型,它可根據(jù)類型指定資源記錄,或作為查詢操作的專作者:江西新華電腦學院 2013-4-6
,
門類型。
·DNS 域名的指定類別。
對于Windows DNS服務(wù)器,它始終應(yīng)指定為Internet(IN)類別。
DNS 查詢以各種不同的方式進行解析??蛻魴C有時也可通過使用從以前查詢獲得的緩存信息就地應(yīng)答查詢。DNS 服務(wù)器可使用其自身的資源記錄信息緩存來應(yīng)答查詢。DNS 服務(wù)器也可代表請求客戶機來查詢或聯(lián)系其他DNS 服務(wù)器,以完全解析該名稱,并隨后將應(yīng)答返回至客戶機。這個過程稱為遞歸。
另外,客戶機自己也可嘗試聯(lián)系其他的DNS 服務(wù)器來解析名稱。如果客戶機這么做,它會使用基于服務(wù)器應(yīng)答的獨立和附加的查詢。該過程稱作迭代。
總之,DNS 查詢過程按兩部分進行:
·名稱查詢從客戶機開始并傳送至解析程序(DNS 客戶服務(wù))進行解析。 ·不能就地解析查詢時,可根據(jù)需要查詢DNS 服務(wù)器來解析名稱。 下面的部分詳細解釋這兩個過程:
1. 本地解析程序
圖2顯示了完整的DNS 查詢過程。
如查詢過程的初始步驟所示,DNS 域名由本機的程序使用。該請求隨后傳送至DNS 客戶服務(wù),以通過使用就地緩存的信息進行解析。如果可以解析查詢的名稱,則查詢將被應(yīng)答并且此過程完成。
本地解析程序的緩存可包括從兩個可能的來源獲取的名稱信息:
· 如果主機文件就地配置,則來自該文件的任何主機名稱到地址的映射在DNS 客戶服務(wù)啟動時預先加載到緩存中。
作者:江西新華電腦學院 2013-4-6
,
· 從以前的DNS 查詢應(yīng)答的響應(yīng)中獲取的資源記錄將被添加至緩存并保留一段時間。
如果此查詢不匹配緩存中的項目,則解析過程繼續(xù)進行,客戶機查詢DNS 服務(wù)器來解析名稱。
2. 查詢DNS 服務(wù)器
如圖2所示,客戶機將查詢首選DNS 服務(wù)器。在此過程的初始客戶/服務(wù)器查詢部分中使用的實際服務(wù)器從全局列表中選擇。當DNS 服務(wù)器接收到查詢時,首先檢查它能否根據(jù)在服務(wù)器的就地配置區(qū)域中獲取的資源記錄信息作出權(quán)威性的應(yīng)答。如果查詢的名稱與本地區(qū)域信息中的相應(yīng)資源記錄匹配,則服務(wù)器作出權(quán)威性的應(yīng)答,并且使用該信息來解析查詢的名稱。 如果查詢的名稱沒有區(qū)域信息,則服務(wù)器檢查它能否通過本地緩存的先前查詢信息來解析名稱。如果從中發(fā)現(xiàn)匹配的信息,則服務(wù)器使用它應(yīng)答查詢。接著,如果首選服務(wù)器可使用來自其緩存的肯定匹配響應(yīng)來應(yīng)答發(fā)出請求的客戶機,則此次查詢完成。
如果查詢名稱在首選服務(wù)器中未發(fā)現(xiàn)來自緩存或區(qū)域信息的匹配應(yīng)答,則查詢過程可繼續(xù)進行,使用遞歸來完全解析名稱。包括來自其他DNS 服務(wù)器的支持,以幫助解析名稱。在默認情況下,DNS 客戶服務(wù)要求服務(wù)器在返回應(yīng)答前使用遞歸過程來代表客戶機完全解析名稱。在大多數(shù)情況下,DNS 服務(wù)器的默認配置支持遞歸過程,如圖3所示。
為了使DNS 服務(wù)器正確執(zhí)行遞歸過程,首先需要在DNS 域名空間內(nèi)有關(guān)于其他DNS 服務(wù)器的一些有用的聯(lián)系信息。該信息以根線索的形式提供,它是初步資源記錄的一個列表,該記錄可被DNS 服務(wù)用來定位對DNS 域名空間樹的根具有絕對控制權(quán)的其他DNS 服務(wù)器。根服務(wù)器對于DNS 域名空作者:江西新華電腦學院 2013-4-6
,
間樹中的根域和頂級域具有絕對控制權(quán)。
DNS 服務(wù)器可通過使用根線索搜索根服務(wù)器,來完成遞歸過程。理論上,該過程允許任何DNS 服務(wù)器定位那些對域名空間樹中在任何級別使用的任何其他DNS 域名具有絕對控制權(quán)的服務(wù)器。
例如,當客戶機查詢單個DNS 服務(wù)器時,考慮使用遞歸過程來定位名稱host-b.example.microsoft.com 。此過程在DNS 服務(wù)器和客戶機首次啟動并且沒有可幫助解析名稱查詢的當?shù)鼐彺嫘畔r進行。它假定由客戶機查詢的名稱用于服務(wù)器根據(jù)其配置的區(qū)域不了解的域名。
首先,首選服務(wù)器分析全名并確定對于頂級域“com ”具有絕對控制權(quán)的服務(wù)器的位置。隨后,對“com ”DNS 服務(wù)器使用迭代查詢,以獲取
“microsoft.com ”服務(wù)器的參考信息。隨后,參考性應(yīng)答從“microsoft.com ”服務(wù)器傳送到“example.microsoft.com ”的DNS 服務(wù)器。
最后,與服務(wù)器example.microsoft.com 聯(lián)系上。因為該服務(wù)器包括作為其配置區(qū)域一部分的查詢名稱,所以它向啟動遞歸的源服務(wù)器作出權(quán)威性地應(yīng)答。當源服務(wù)器接收到表明已獲得對請求查詢的權(quán)威性應(yīng)答的響應(yīng)時,它將此應(yīng)答轉(zhuǎn)發(fā)給發(fā)出請求的客戶機,這樣遞歸查詢過程就完成了。
盡管執(zhí)行上述遞歸查詢過程可能需要占用大量資源,但對于DNS 服務(wù)器來說它仍然具有一些性能上的優(yōu)勢。例如,在遞歸過程中,執(zhí)行遞歸查詢的DNS 服務(wù)器可獲得有關(guān)DNS 域名稱空間的信息。該信息由服務(wù)器緩存起來并可再次使用,以提高使用此信息或與之匹配的后續(xù)查詢的應(yīng)答速度。隨著時間的推移,這些緩存信息會不斷增加并占據(jù)大量的服務(wù)器內(nèi)存資源,不過在DNS 服務(wù)關(guān)閉或它的一個工作周期結(jié)束時這些信息將被清除。
3. 候選的查詢響應(yīng)
作者:江西新華電腦學院 2013-4-6
,
以前對DNS 查詢的討論都假定此過程在結(jié)束時會向客戶機返回一個肯定的響應(yīng)。但實際上,查詢也可返回其他應(yīng)答。最常見的應(yīng)答有:
(1)權(quán)威性應(yīng)答
權(quán)威性應(yīng)答是返回至客戶機并隨DNS 消息中設(shè)置的“授權(quán)機構(gòu)”位一同發(fā)送的肯定應(yīng)答,“授權(quán)機構(gòu)”位表明根據(jù)查詢名稱此應(yīng)答是從帶直接授權(quán)機構(gòu)的服務(wù)器獲取的。
(2)肯定應(yīng)答
肯定應(yīng)答可由查詢的RR 或RR 列表(也稱作RRset )組成,它與查詢的DNS 域名和查詢消息中指定的記錄類型相符。
(3)參考性應(yīng)答
參考性應(yīng)答包括查詢中名稱或類型未指定的其他資源記錄。如果不支持遞歸過程,則這類應(yīng)答返回至客戶機。這些記錄的作用是為提供一些有用的參考性答案,客戶機可使用這種應(yīng)答繼續(xù)進行遞歸查詢。參考性應(yīng)答包含其他的數(shù)據(jù),例如不屬于查詢類型的資源記錄(RR)。例如,如果查詢主機名稱為“www ”并且在這個區(qū)域未找到該名稱的ARR ,而是找到了“www ”的CNAMERR ,則DNS 服務(wù)器在響應(yīng)客戶機時可包含該信息。
如果客戶機能夠使用迭代過程,則它可使用這些參考信息為自己進行其他查詢,以求完全解析此名稱。
(4)否定應(yīng)答
來自服務(wù)器的否定應(yīng)答可以表明:當服務(wù)器試圖徹底而且權(quán)威性地處理查詢以及采用遞歸方式分析查詢時將遇到兩種可能的結(jié)果之一: ·權(quán)威性服務(wù)器報告:DNS 名稱空間沒有查詢的名稱。
·權(quán)威性服務(wù)器報告:查詢的名稱存在,但該名稱不存在指定類型的記作者:江西新華電腦學院 2013-4-6
,
錄。
解析程序以肯定或否定響應(yīng)的形式將查詢結(jié)果傳回請求程序并把響應(yīng)消息緩存起來。
4. 迭代的工作原理
迭代是在以下條件生效時DNS 客戶機和服務(wù)器之間使用的名稱解析類型:
·客戶機申請使用遞歸過程,但遞歸在DNS 服務(wù)器上被禁用。
·查詢DNS 服務(wù)器時客戶機不申請使用遞歸過程。
來自客戶機的迭代請求告知DNS 服務(wù)器:客戶機希望直接從DNS 服務(wù)器那里得到最好的應(yīng)答,而不需聯(lián)系其他DNS 服務(wù)器。
使用迭代時,DNS 服務(wù)器根據(jù)它對名稱空間的特定認識來應(yīng)答客戶機,而這個名稱空間正與目前查詢的名稱數(shù)據(jù)有關(guān)。例如,如果您內(nèi)部網(wǎng)上的DNS 服務(wù)器接收到來自本地客戶機“[url]www.microsoft.com[/url]”的查詢,則它可能會返回來自其名稱緩存的應(yīng)答。如果查詢的名稱當前未存儲在服務(wù)器的名稱緩存中,則服務(wù)器可能會通過提供一些參考信息對客戶機作出響應(yīng),這些參考信息就是是接近客戶機所查詢名稱的其他DNS 服務(wù)器的NS 和A 資源記錄列表。
得到參考信息后,DNS 客戶機負責向其他配置的DNS 服務(wù)器繼續(xù)進行遞歸查詢,以解析名稱。例如,在大多數(shù)情況下,DNS 客戶機可能會將其搜索擴展到Internet 上的根域服務(wù)器,以定位對于“com ”域具有絕對控制權(quán)的DNS 服務(wù)器。一旦聯(lián)系上Internet 根服務(wù)器,它就會從指向“microsoft.com ”域的實際InternetDNS 服務(wù)器的這些DNS 服務(wù)器中獲得進一步的遞歸響應(yīng)。當客戶機收到這些DNS 服務(wù)器的記錄時,它可以向Internet 上的外部
作者:江西新華電腦學院 2013-4-6
,
MicrosoftDNS 服務(wù)器發(fā)送其他迭代查詢,這個DNS 服務(wù)器可通過肯定和權(quán)威性的應(yīng)答進行響應(yīng)。
使用迭代時,除了向客戶機提供自己最好的應(yīng)答外,DNS 服務(wù)器還可在名稱查詢解析中提供進一步的幫助。對于大部分迭代查詢,如果它的主DNS 不能辯識該查詢,則客戶機使用它在本地配置的DNS 服務(wù)器列表在整個DNS 名稱空間中聯(lián)系其他名稱服務(wù)器。
5. 緩存的工作原理
DNS 服務(wù)器采用遞歸或迭代來處理客戶機查詢時,它們將發(fā)現(xiàn)并獲得已存儲的有關(guān)DNS 名稱空間的重要信息,然后這些信息由服務(wù)器緩存。
緩存為流行名稱的后續(xù)查詢提供了加速DNS 解析性能的方法,同時充分減少了網(wǎng)絡(luò)上與DNS 相關(guān)的查詢通信量。
當DNS 服務(wù)器代表客戶機進行遞歸查詢時,會暫時緩存資源記錄(RR)。緩存的RR 包含從DNS 服務(wù)器獲得的信息,對于在進行迭代查詢以搜索和充分應(yīng)答代表客戶機所執(zhí)行的遞歸查詢過程中所獲知的DNS 域名,此信息具有絕對的權(quán)威性。稍后,當其他客戶機發(fā)出新的查詢,申請與緩存的RR 匹配的RR 信息時,DNS 服務(wù)器可以使用緩存的RR 信息來應(yīng)答它們。 當信息緩存時,生存時間(TTL)值適用于所有緩存的RR 。只要緩存RR 的TTL 沒有到期,在通過與這些RR 相匹配的客戶機來應(yīng)答查詢時,DNS 服務(wù)器就可繼續(xù)緩存并再次使用RR 。在大部分區(qū)域配置中由RR 所使用的緩存TTL 值被分配了“最小的(默認)TTL ”,它被設(shè)置用于區(qū)域的啟動授權(quán)機構(gòu)(SOA)資源記錄。在默認情況下,最小的TTL 為3600秒(1小時),但是可進行調(diào)整,或者根據(jù)需要在每個RR 上分別設(shè)置緩存TTL 。 不是所有Windows 計算機或應(yīng)用程序均需要TCP/IP上的WINS 或
作者:江西新華電腦學院 2013-4-6
,
NetBIOS(NetBT)。例如,如果因為在Web 瀏覽器或FTP 程序中輸入不完整的URL 或在Internet 電子郵件程序中輸入了不完整的地址而出現(xiàn)名稱解析失敗,這一問題通常與DNS 有關(guān)。
在純粹的Windows 2000環(huán)境下,DNS 可作為替換WINS 的命名服務(wù),因此可不需要安裝、配置WINS 服務(wù)。純粹的Windows 2000環(huán)境是指客戶端和資源服務(wù)器(客戶端按照名稱定位的計算機)都運行Windows 2000的環(huán)境。如果有其他客戶端或資源服務(wù)器運行Windows 早期版本或MS-DOS ,則是混合環(huán)境。在混合環(huán)境中,任何客戶在訪問未通過Active Directory發(fā)布的共享資源時,名稱解析都將失敗。例如,遺留的文件和打印服務(wù)器,或用于完成登錄或瀏覽Windows NT域的域控制器或成員服務(wù)器。用戶可能使用并需要WINS 輔助名稱解析的應(yīng)用程序示例包括“網(wǎng)上鄰居”,Windows 資源管理器中的“映射網(wǎng)絡(luò)驅(qū)動器”功能、net 命令(Net.exe)及其支持選項,如netuse 或netview 。
作者:江西新華電腦學院 2013-4-6