前言
學過計算機網路的我們知道,整個
internet
網路就是乙個單一的、抽象的網路,各個主機通過全世界範圍內唯一的
32位識別符號
---ip
位址來標識唯一性,很顯然,在網際網路中它們只能通過
ipip
ip202.108.22.5
然而,當我們想要訪問的**變多,我們就不得不記住一串又一串長達
32位的難以記憶的
ip位址。所以,為了方便記憶,人類開發出了一套名字系統,為每乙個
,按下回車,這樣同樣可以網頁的實現訪問。
那麼,問題就來了,標識主機的唯一方式是
ip位址,但我輸入的是「名字」而非
ip位址,計算機如何知道我想訪問的是哪兒呢?這就引出我們接下來要講到的網域名稱系統了。
網域名稱系統定義
網域名稱系統是網際網路的一項核心服務,負責管理「名字」和
ip位址之間的對映關係。如下圖,所以,很顯然,當我們輸入「名字」時,有人悄悄地把我們輸入的「名字」轉換為了ip位址。
網域名稱系統的層次結構
從理論上講,整個
internet
可以只使用乙個網域名稱系統,使它裝入
internet
上的所有的主機名,並回答所有對
ip位址的查詢。然而這種做法並不可取。因為網際網路規模很大,這樣的網域名稱系統肯定會因為負荷過大而無法正常工作。所以,早在
1983
年開始,它就採用了層次樹狀結構的命名方法,並使用分布式的網域名稱系統,如下圖。這樣即使單個計算機出現了故障,也不會妨礙整個網域名稱系統的正常執行。
網域名稱空間
早期的網際網路使用了非等級的名字空間,其優點是名字簡短,但當網際網路上的使用者數急劇增加時,用非等級的名字空間來管理乙個很大的而且是經常變化的名字集合是非常困難的,所以,網際網路後來就採用了層次樹狀結構的命名方法,就像全球郵政系統和**系統那樣,採用這種命名方法,任何乙個連線在網際網路上的主機或路由器,都有乙個唯一的層次結構的名字,即網域名稱,這裡「域」是名字空間中乙個可被管理的劃分。域還可以劃分為子域,而子域還可以繼續劃分為子域的子域,這樣就形成了頂級域、二級域、**域等。例如下圖所示的網域名稱:
這就是**電視台用於收發電子郵件的計算機的網域名稱,它由三個標號組成,其中標號
com是頂級網域名稱,標號
cctv
是二級網域名稱,標號
是**網域名稱。這種方法可使每乙個網域名稱在整個網際網路範圍內是唯一的,並且也容易設計出一種查詢網域名稱的機制。
網域名稱伺服器
上面講述的網域名稱體系是抽象的,但具體實現網域名稱系統則是使用分布在各地的網域名稱伺服器。從理論上講,可以讓每一級的每個網域名稱都有乙個相對應的網域名稱伺服器,使所有的網域名稱伺服器構成如下圖的結構:
但這樣會使網域名稱伺服器的數量太多,使網域名稱系統的執行效率降低,所以網域名稱系統就採用劃分區的辦法來解決這個問題。
乙個伺服器所負責管轄的範圍叫做區,乙個區中所有的節點必須是能夠連通的。每乙個區設定相應的許可權網域名稱伺服器,用來儲存該區中的所有主機的網域名稱到
ip位址的對映,總之,
dns伺服器的管轄範圍不是以「域」為單位,而是以「區」為單位,區可能小於或等於域,但不可能大於域。
如下圖,公司
abc劃分的兩個區為例,給出了
dns網域名稱伺服器樹狀結構圖,不難看出,區是域的子集。
各級網域名稱伺服器
下面我們來簡要介紹各級網域名稱伺服器。
網域名稱解析過程
首先注意兩點:
假定網域名稱為m.xyz.com的主機打算傳送郵件給主機y.abc.com,這時就必須知道主機y.abc.com的ip位址。下面演示兩種查詢過程:
(1) 主機向本地網域名稱伺服器查詢採用遞迴查詢,本地網域名稱伺服器向根網域名稱伺服器採用迭代查詢
主機m.xyz.com先向本地網域名稱伺服器dns.xyz.com進行遞迴查詢
本地網域名稱伺服器採用迭代查詢。它先向乙個根網域名稱伺服器查詢
本地網域名稱伺服器向頂級網域名稱伺服器dns.com查詢
本地網域名稱伺服器向許可權網域名稱伺服器dns.abc.com進行查詢
許可權網域名稱伺服器dns.abc.com告訴本地網域名稱伺服器,所查詢的主機的ip位址
本地網域名稱伺服器最後把查詢結果告訴主機m.xyz.com
(2) 主機向本地網域名稱伺服器查詢採用遞迴查詢,本地網域名稱伺服器向根網域名稱伺服器採用遞迴查詢
主機m.xyz.com先向本地網域名稱伺服器dns.xyz.com進行遞迴查詢
本地網域名稱伺服器採用遞迴查詢。它先向乙個根網域名稱伺服器查詢
根網域名稱伺服器以dns客戶的身份向頂級網域名稱伺服器dns.com查詢
頂級網域名稱伺服器dns.com以dns客戶的身份向許可權網域名稱伺服器查詢
許可權網域名稱伺服器dns.abc.com以dns客戶的身份進行ip位址的查詢
最後本地網域名稱伺服器從根網域名稱伺服器得到了所需的ip位址
本地網域名稱伺服器最後把查詢結果告訴主機m.xyz.com
DNS網域名稱系統
是網際網路使用的命名系統,用來把便於人們使用的機器名字轉換為ip位址。如果一台計算機上的dns服務出現了錯誤,就可能導致,internet雖然連線了,但是不能訪問網頁,但是qq可以上去。這是因為qq是直接訪問的是ip位址。劃分為根網域名稱,一級網域名稱,二級網域名稱等。根網域名稱就是乙個點.通常會省...
網域名稱系統DNS
網域名稱解析過程 不一定理解全部正確 dns 全稱為 domain name system 是乙個網域名稱解析系統,把網域名稱 www.baidu.com 解析為ip位址。所以,這個乙個系統,是乙個服務,需要有伺服器來跑這些服務。dns伺服器按層次結構進行組織,且這個組織和網域名稱的結構相對應,網域...
DNS網域名稱系統
網域名稱雖然好記,但是計算機只能處理數碼訊號。如果我們想通過網域名稱訪問別的主機,就需要把網域名稱轉換成對應的ip位址,將文字轉化為數碼訊號,這時候就需要dns。網際網路和總有一種伺服器,叫做網域名稱伺服器。這個伺服器專門用來存放網域名稱。網域名稱伺服器也是有層次結構的,從上至下依次是 根網域名稱伺...