一起學DNS系列(一)基礎 概覽

2021-06-09 16:42:41 字數 2355 閱讀 7863

本系列主要講述有關windows 下dns伺服器的相關知識點,由於dns和ad結合異常緊密,所以與ad相關的dns應用和知識將在ad專欄中講述。

此為本系列的第一節。

我想沒有什麼人在訪問的時候會直接輸入ip位址,取而代之的是輸入一串簡單,容易記憶的字元,有數字的,如www.163.com

;也有純字母的,如www.qq.com

,只要網路連線沒問題,就可以直接訪問對應的**。但在理論上訪問**依然需要用到ip位址的,只是字元轉換為ip位址這部分工作由dns伺服器代勞了而已,而這個轉換過程對於客戶端來講是完全透明的。

在講述dns之前,先讓我們來認識一下幾個與網域名稱相關的概念。

什麼是網域名稱?

網域名稱,即domainname,準確是說它是由英文本母、阿拉伯數字以及橫"-"組成的一串字元,且英文不區分大小寫,通常乙個網域名稱可以分為主體和字尾2部分,各部分由乙個小點.隔開。以常見的163.com為例,163是這個網域名稱的主體,而後面的.com表示這個網域名稱屬於國際網域名稱,常見的還有.net、.cn 等等。這兩部分構成了是乙個完整的網域名稱。有朋友可能問了,那我們常見的www.163.com

又是什麼呢。從整體上來說,這是乙個url位址,而非網域名稱。細化來講,www是乙個主機名稱,在這台主機上執行著網頁伺服器,當客戶端輸入www.163.com

時,系統會在某個系統上查詢這個位址所對應的ip位址,如果一切正常則會很快返回這台主機的ip位址,之後瀏覽器會向這個位址發起http請求進行網頁解析。在此過程中提到的「某個系統」就是我們要講述的dns系統。

什麼是dns?

通常,我們定位一台公網計算機主要依靠的是ip位址,倘若這台計算機正在對外提供網頁瀏覽服務,ip為1.1.1.1。訪問時可以直接輸入ip位址即可,因為這個位址簡單好記,但網路上的計算機千千萬,ip位址又是一串無序的數字,單憑人腦去記憶這些數字,顯然不現實,所以急需一種途徑或者方法將我們從數字苦海中解救出來,經過不斷地探索,人們終於找到乙個很好的解決辦法,那就是通過將一些字元進行有的規律組合和拼湊,使其可以表達出一定的含義,然後將這些名詞與伺服器的ip位址對應起來,我們就可以把這些組合成為網域名稱。當然網域名稱的定義規範遠遠要比這裡談到的嚴謹和規範。那這部分工作或是功能由誰來實現呢,這就引出了我們本系列的主角:dns。在今天看來,dns系統工作的正常與否,直接關係到整個網際網路系統的安全和穩定。

dns即網域名稱解析系統。前面已經提到,它可以將網域名稱轉換成ip位址,反之亦可。當然這也是dns最基本的功能之一。

談到dns就不能不說起網域名稱,概念可以參考上面一小節,那這兩者是怎樣結合在一起的呢?我們先來看一下internet網域名稱的整體結構。

在整個internet網路中,網域名稱佔據著極其重要的地位,因為它有著乙個很嚴謹的金字塔似的層級結構模式,通常又被稱為命名空間。我們在閱讀dns相關資料時,會經常碰到「命名空間」這個詞。那如何去理解呢。來看下面一張圖,藉此來幫助大家更好的理解命名空間的概念。

從這個圖中,我們可以大致了解網域名稱體系的邏輯結構。在最頂層的是根網域名稱,圖中用乙個. 表示,在此基礎上延伸出其他所有的網域名稱,嚴格意義上來說,我們在書寫網域名稱的時候都應該在最後帶上乙個.,這樣才是最完整的網域名稱表達方式,但這樣明顯過於繁瑣,況且按照書寫反而無法正常訪問網頁。

比如訪問網易我輸入www.163.com

,來看一下訪問結果:

所以這裡只是想讓大家對此有更多了解。 在根網域名稱下就是頂級網域名稱,大致分為三大類,圖中每一類都舉出了3例子作為代表,其實還也很多。頂級網域名稱位於根網域名稱之下,而在頂級網域名稱下又有二級網域名稱,我們以.com為例,請大家留意,這裡說的是.com,而不是com,單獨的com是沒有意義的,這裡我省略了最後的乙個點。在.com下我列出了三個常見的二級名稱,比如.163、.qq等,以此類推,後面可能會有很多層這樣的結構。但在名稱上並非是**、四級等,而統一稱為子域。下一層為上一層的子域,在.163.com 這個網域名稱層級關係中,news就是這與網域名稱的子網域名稱,同理v就是.news.163.com的子域,以此類推。但我們在書寫的時候是從最低一級的寫起,直至頂級網域名稱,而dns查詢和解析順序正好和這個相反。

從圖中我們可以看到,整個網域名稱體系結構是非常有層次關係和等級限定的,每乙個網域名稱都有類似這樣的結構,那麼廣泛的看,整個網域名稱體系就是乙個連續的、層級關係的邏輯的立體命名空間。知道這個概念對我們理解網域名稱以及後面的dns都非常有幫助。大家應該有這樣的反應,網域名稱是以特定名稱為起點的、立體的、名字空間。是乙個很連續的結果,在這裡我不厭其煩的把這些關鍵字眼重複再重複,目的就是為了加深大家的印象。

因為只有建立好了巨集觀模型,這樣才可以更好的把握細節知識點。

敬請期待!

本文出自 「許一君的原創技術部落格

」 部落格,請務必保留此出處

一起學Makefile(一)

make和makefile makefile檔案幫助我們記錄了整個專案工程的所有需要編譯的檔案列表,這樣我們在編譯時僅需要輸入簡單的make命令就能編譯出我們期望的結果。makefile檔案反映了整個專案中各個模組的依賴關係,這樣我們改動了某些原始檔以後,僅需簡單的輸入make命令,make工具就會...

一起學演算法

我堅信,機會永遠屬於有準備的人,其羨慕他人的成功,不如從此刻起,積累足夠多的知識和面試經驗,為將來進入更好的公司做好充分的準備!演算法崗是現在最火的崗位,這個崗位要求對oi演算法非常熟悉。常見的oi演算法有 模擬 字首和 差分 高精度計算 排序 貪心 分治 二分查詢 廣度搜尋 深度搜尋 字串相關演算...

一起學Java Java語言基礎 2)

b 案例演示 邏輯運算子的基本用法 注意事項 c 結論 邏輯與 有false則false。邏輯或 有true則true。邏輯異或 相同為false,不同為true。邏輯非 非false則true,非true則false。b 同理 和 的區別?c 開發中常用誰?b 案例演示 b 面試題 b 案例演示 ...