DNS服務器(一):基本原理

1、簡介
數據庫

網絡中的主機通訊是經過IP地址來實現的,一般IPv4的地址是四個數字加點組成,若是和每臺主機通訊咱們都要去記憶IP地址的話,這一般對於人類來說是至關痛苦的。因而網絡上就有了一套爲了解決這個問題的方案出現了,也就是DNS主機名稱解析系統。它是一套可以將數以千萬計的IP地址經過查詢DNS數據庫,輕鬆的轉化成與之對應的一串單詞字符串,也就是主機名,網絡上稱之爲域名,相對於IP地址,用單詞組成的域名明顯好記多了。緩存


2、DNS域名解析系統的層級關係服務器

DNS域名解析系統是有層級關係的,整個層級關係的表現形式就像一棵大樹,每一層,咱們稱之爲域。最頂層的域咱們一般叫做根域,用點號表示,第二層一般用com、net、edu、gov、mil、org....,這層咱們叫做頂級域,往下第三層,也就是咱們常常見到的域名了,如,51cto.com,這一層咱們稱之爲二級域,當二級域加上www後,就是第四層了,就這樣一直往下細分。域名的寫法一般是由小到大,從左往右書寫,用點鏈接,最後加點表示根,整個結構以下圖所示:網絡

wKioL1MhDxLinreBAAEpIW-0pxM039.jpg


3、DNS的資源記錄
ide

咱們要查詢這些龐大數據固然要有專門的主機負責這些工做了,提供查詢、存儲DNS數據服務的主機咱們稱之爲DNS服務器。網絡上爲了方便域名的註冊、管理、解析,將DNS域名映射到特定類型的資源信息,咱們稱之爲資源記錄。資源記錄是有類型的,大數據

資源記錄類型
SOA NS MX A PTR AAAA CNAME
起始受權 域名服務器 郵件交換器 域名-->IP IP-->域名 域名-->IPv6
別名記錄

特色:spa

只能有一個,並且必須是第一個blog

特色:遞歸

用於表示DNS服務器的域名地址dns

特色:

用於一個域下的郵件使用

特色:

咱們常常用到的就是它了

特色:

和A記錄相反,用於反向解析

特色:

基本不用

特色:

用於做A記錄的域名的別名,


4、DNS服務器的工做原理

假設咱們以wubinary.blog.51cto.com爲例:

第一步:當咱們使用DNS客戶端請求查詢此域名的的A記錄時,DNS服務器首先會判斷所要查詢域名是屬於哪一個區域,是否在本身的管轄範圍,假設這次域名不在管轄範圍。

第二步:爲了肯定當前域名是在哪一個級別,DNS服務器要向根詢求幫助,根會向DNS服務器返回所在域名的頂級域的DNS服務器地址,也就是根的下一級com的DNS服務器地址。此時DNS服器根據這個地址又再次查詢,這次查詢得到了51cto.com的DNS的服務器地址。因而終於肯定了wubinary.blog.51cto.com的區域所在的DNS服務器地址了。DNS服務器的此類肯定一個地址,並使用這個址去查詢下一個的查詢方式咱們稱之爲迭代查詢

第三步:肯定了區域地址後,51cto.com爲了向DNS服務器返回結果須要一級一級的往下查。一開始查詢到了blog.51cto.com的DNS服務器地址,因而blog.51cto.com的DNS服務器則向下查詢。blog.51cto.com又查詢到了wubinary.blog.51cto.com的DNS服務器地址,此時的地址正是DNS服務器要找的地址。到了這一步,wubinary.blog.51cto.com的DNS服務器則會把結果向它的上級彙報,因而上一級又向上一級彙報,最終結果回到了最初的DNS服務器,此時DNS客戶端才能得到最終的IP地址。像這樣DNS服務器的數據逐級遍歷及逐級返回的過程,咱們稱之爲遞歸查詢


若是咱們查詢的域名正好和當前查詢使用的DNS服務器所匹配,則DNS服務器會先查詢本地緩存是否存在,若是存在則返回緩存數據,若是不存在則去數據文件中讀取數據並運回結果。


5、三個與解析有關的配置文件

/etc/hosts:此文件早期在沒有出現DNS服務器的時候,做用和DNS服務器相似,不過隨着網絡的發展,單個文件根本沒法知足需求,因而,此文件一般運用於本地IP解析。

/etc/resolv.conf:定義DNS服務器IP地址,本地解析域名一般使用的都是這裏面定義的IP地址。

/etc/nsswitch.conf:這個文件則是來決定先要使用/etc/hosts仍是/etc/resolv.conf的設置。


總結:理解DNS的樹狀結構、遞歸及迭代查詢後,其它就好辦了。

相關文章
相關標籤/搜索