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