DNS服務(wù)器所提供的服務(wù)是完成將主機(jī)名和域名轉(zhuǎn)換為IP地址的工作。為什么需要將主機(jī)名和域名轉(zhuǎn)換為IP地址的工作呢?這是因?yàn)?,?dāng)網(wǎng)絡(luò)上的一臺(tái)客戶機(jī)訪問(wèn)某一服務(wù)器上的資源時(shí),用戶在瀏覽器地址欄中輸入的是便于識(shí)記的主機(jī)名和域名。而網(wǎng)絡(luò)上的計(jì)算機(jī)之間實(shí)現(xiàn)連接卻是通過(guò)每臺(tái)計(jì)算機(jī)在網(wǎng)絡(luò)中擁有的惟一的IP地址來(lái)完成的,這樣就需要在用戶容易記憶的地址和計(jì)算機(jī)能夠識(shí)別的地址之間有一個(gè)解析,DNS服務(wù)器便充當(dāng)了地址解析的重要角色。接下來(lái)我就帶您走入DNS的世界,詳細(xì)了解DNS服務(wù)器的工作原理及其過(guò)程,希望能夠給各位朋友帶來(lái)一些幫助。
了解DNS服務(wù)
DNS是域名系統(tǒng)(Domain Name System)的縮寫,是一種組織域?qū)哟谓Y(jié)構(gòu)的計(jì)算機(jī)和網(wǎng)絡(luò)服務(wù)命名系統(tǒng)。當(dāng)用戶在應(yīng)用程序中輸入DNS名稱時(shí),DNS服務(wù)可以將此名稱解析為與此名稱相關(guān)的IP 地址信息。
用戶在使用網(wǎng)絡(luò)服務(wù)時(shí)喜歡在瀏覽器的地址欄中輸入使用主機(jī)名和域名組成的名稱,如www.zzidc.com,因?yàn)?,這樣的名稱更容易被用戶記住。但是,計(jì)算機(jī)在網(wǎng)絡(luò)上是使用IP地址來(lái)通信的。為了能夠?qū)崿F(xiàn)網(wǎng)絡(luò)計(jì)算機(jī)之間通信,DNS服務(wù)器所提供的服務(wù)就是將用戶所使用的計(jì)算機(jī)或服務(wù)名稱映射為IP地址。
DNS服務(wù)的工作過(guò)程
當(dāng) DNS 客戶機(jī)需要查詢程序中使用的名稱時(shí),它會(huì)查詢 DNS 服務(wù)器來(lái)解析該名稱??蛻魴C(jī)發(fā)送的每條查詢消息都包括3條信息,以指定服務(wù)器應(yīng)回答的問(wèn)題。
● 指定的 DNS 域名,表示為完全合格的域名 (FQDN) 。
● 指定的查詢類型,它可根據(jù)類型指定資源記錄,或作為查詢操作的專門類型。
● DNS域名的指定類別。
對(duì)于DNS 服務(wù)器,它始終應(yīng)指定為 Internet 類別。例如,指定的名稱可以是計(jì)算機(jī)的完全合格的域名,如www.zzidc.com,并且指定的查詢類型用于通過(guò)該名稱搜索地址資源記錄。系統(tǒng)將把DNS 查詢當(dāng)作客戶機(jī)向服務(wù)器提出的兩部分問(wèn)題,如“對(duì)于名為 www.zzidc.com 的計(jì)算機(jī),你有沒(méi)有地址資源記錄?”當(dāng)客戶機(jī)從服務(wù)器接收應(yīng)答時(shí),它讀取并解釋應(yīng)答的地址資源記錄,以了解它通過(guò)名稱提問(wèn)的計(jì)算機(jī)的 IP 地址。
DNS 查詢以各種不同的方式進(jìn)行解析。客戶機(jī)有時(shí)也可通過(guò)使用從以前查詢獲得的緩存信息就地應(yīng)答查詢。DNS 服務(wù)器可使用其自身的資源記錄信息緩存來(lái)應(yīng)答查詢,也可代表請(qǐng)求客戶機(jī)來(lái)查詢或聯(lián)系其他 DNS 服務(wù)器,以完全解析該名稱,并隨后將應(yīng)答返回至客戶機(jī)。這個(gè)過(guò)程稱為遞歸。
另外,客戶機(jī)自己也可嘗試聯(lián)系其他的 DNS 服務(wù)器來(lái)解析名稱。如果客戶機(jī)這么做,它會(huì)使用基于服務(wù)器應(yīng)答的獨(dú)立和附加的查詢,該過(guò)程稱作迭代。
總之,DNS 的查詢過(guò)程按兩部分進(jìn)行:首選,名稱查詢從客戶機(jī)開(kāi)始并傳送至解析程序(DNS客戶服務(wù))進(jìn)行解析;其次,不能就地解析查詢時(shí),可根據(jù)需要查詢DNS服務(wù)器來(lái)解析名稱。
如查詢過(guò)程的初始步驟所示,DNS 域名由本機(jī)的程序使用。該請(qǐng)求隨后傳送至 DNS 客戶服務(wù),以通過(guò)使用就地緩存的信息進(jìn)行解析。如果可以解析查詢的名稱,則查詢將被應(yīng)答,并且此過(guò)程完成。其中,本地解析程序的緩存可從以下2個(gè)可能的來(lái)源獲取名稱信息:
● 如果主機(jī)文件就地配置,則來(lái)自該文件的任何主機(jī)名稱到地址的映射都將在DNS 客戶服務(wù)啟動(dòng)時(shí)預(yù)先加載到緩存中。
● 從以前DNS查詢應(yīng)答的響應(yīng)中獲取的資源記錄將被添加至緩存并保留一段時(shí)間。
如果此查詢不匹配緩存中的項(xiàng)目,則解析過(guò)程繼續(xù)進(jìn)行,客戶機(jī)查詢 DNS 服務(wù)器來(lái)解析名稱。
接下來(lái)查詢 DNS 服務(wù)器,當(dāng)本地的DNS不能就地解析查詢時(shí),可根據(jù)需要查詢 DNS 服務(wù)器來(lái)解析名稱,客戶機(jī)將查詢首選 DNS 服務(wù)器。在此過(guò)程中使用的實(shí)際服務(wù)器是從全局列表中選擇的。當(dāng) DNS 服務(wù)器接收到查詢時(shí),首先檢查它能否根據(jù)在服務(wù)器的就地配置區(qū)域中獲取的資源記錄信息作出權(quán)威性的應(yīng)答。如果查詢的名稱與本地區(qū)域信息中的相應(yīng)資源記錄匹配,則服務(wù)器作出權(quán)威性的應(yīng)答,并且使用該信息來(lái)解析查詢的名稱。
如果查詢的名稱沒(méi)有區(qū)域信息,則服務(wù)器檢查它能否通過(guò)本地緩存的先前查詢信息來(lái)解析名稱。如果從中發(fā)現(xiàn)匹配的信息,則服務(wù)器使用它應(yīng)答查詢。接著,如果首選服務(wù)器可使用來(lái)自其緩存的肯定匹配響應(yīng)來(lái)應(yīng)答發(fā)出請(qǐng)求的客戶機(jī),則此次查詢完成。
如果查詢名稱在首選服務(wù)器中未發(fā)現(xiàn)來(lái)自緩存或區(qū)域信息的匹配應(yīng)答,則查詢過(guò)程可繼續(xù)進(jìn)行,使用遞歸來(lái)完全解析名稱,包括來(lái)自其他 DNS 服務(wù)器的支持,以幫助解析名稱。在默認(rèn)情況下,DNS 客戶服務(wù)要求服務(wù)器在返回應(yīng)答前使用遞歸過(guò)程來(lái)代表客戶機(jī)完全解析名稱。在大多數(shù)情況下,DNS 服務(wù)器的默認(rèn)配置支持遞歸過(guò)程。
為了使 DNS 服務(wù)器正確執(zhí)行,首先需要在DNS 域名空間內(nèi)存放其他DNS服務(wù)器的一些有用的聯(lián)系信息。該信息以根線索的形式提供,它是記錄初步資源的一個(gè)列表,可用來(lái)定位一些 DNS 服務(wù)器,這些服務(wù)器對(duì) DNS 域名空間樹(shù)的根具有絕對(duì)控制權(quán)。根服務(wù)器對(duì) DNS 域名空間樹(shù)中的根域和頂級(jí)域具有絕對(duì)控制權(quán)。DNS 服務(wù)器可通過(guò)使用根線索搜索根服務(wù)器來(lái)完成遞歸過(guò)程。
例如,當(dāng)客戶機(jī)查詢單個(gè)DNS服務(wù)器時(shí),考慮使用遞歸過(guò)程來(lái)定位名稱 host.example.zzidc.com。此過(guò)程在 DNS 服務(wù)器和客戶機(jī)首次啟動(dòng),并且沒(méi)有可幫助解析名稱查詢的當(dāng)?shù)鼐彺嫘畔r(shí)進(jìn)行。
首先,首選服務(wù)器分析全名并確定對(duì)于頂級(jí)域com具有絕對(duì)控制權(quán)的服務(wù)器的位置。隨后,對(duì)com DNS 服務(wù)器使用迭代查詢,以獲取zzidc.com服務(wù)器的參考信息。然后參考性應(yīng)答從zzidc.com服務(wù)器傳送到example.zzidc.com的 DNS 服務(wù)器。最后,與服務(wù)器 example.zzidc.com 聯(lián)系上。因?yàn)樵摲?wù)器包括作為其配置區(qū)域一部分的查詢名稱,所以,它向啟動(dòng)遞歸的源服務(wù)器作出權(quán)威性的應(yīng)答。當(dāng)源服務(wù)器接收到表明已獲得對(duì)請(qǐng)求查詢的權(quán)威性應(yīng)答的響應(yīng)時(shí),它將此應(yīng)答轉(zhuǎn)發(fā)給發(fā)出請(qǐng)求的客戶機(jī),這樣,遞歸查詢過(guò)程就完成了。
Google今天又給了我們完全免費(fèi)的DNS解析服務(wù)器,地址分別:
8.8.8.8
8.8.4.4