天天看點

DNS域名解析原理及過程基本概念DNS記錄DNS域名解析過程

文章目錄

  • 基本概念
    • DNS
    • 域名
    • 域名結構
  • DNS記錄
  • DNS域名解析過程

基本概念

DNS

域名系統

(英文:Domain Name System,縮寫:DNS)是網際網路的一項服務。它作為将

域名

IP

位址互相映射的一個

分布式資料庫

,能夠使人更友善地通路網際網路。DNS使用

TCP

UDP

端口

53

。目前,對于每一級域名長度的限制是

63

個字元,域名總長度則不能超過

253

個字元。

域名系統

(Domain Name System,DNS)是Internet上解決網上

機器命名

的一種系統。就像拜訪朋友要先知道别人家怎麼走一樣,Internet上當一台主機要通路另外一台主機時,必須首先獲知其位址,

TCP/IP

中的IP位址是由四段以

“.”

分開的數字組成,記起來總是不如名字那麼友善,是以,就采用了域名系統來管理名字和IP的對應關系。

更多DNS的講解,檢視【百度百科】

域名

域名

(英語:Domain Name),又稱網域,是由一串用

分隔的名字組成的Internet上某一台計算機或計算機組的名稱,用于在資料傳輸時對計算機的定位辨別(有時也指地理位置)。

由于IP位址具有

不友善記憶

并且

不能顯示位址組織

的名稱和性質等缺點,人們設計出了

域名

,并通過網域名稱系統(DNS,Domain Name System)來将域名和IP位址互相映射,使人更友善地通路網際網路,而不用去記住能夠被機器直接讀取的IP位址數串。 IP位址和域名是一一對應的,這份域名位址的資訊存放在一個叫

域名伺服器

(DNS,Domain name server)的主機内,使用者隻需了解易記的域名位址,其對應轉換工作就留給了域名伺服器。域名伺服器就是提供

IP位址

域名

之間的轉換服務的伺服器。

**域名入網結構: **

主機名、機構名、網絡名、最高層域名 
           

這是一種

分層

的管理模式,域名用文字表達比用數字表示的IP位址容易記憶。加入網際網路的各級網絡依照域名伺服器的命名規則對本網内的計算機命名,并在通信時負責完成域名到各IP位址的轉換。域名由兩種基本類型組成:

以機構性質命名的域

以國家地區代碼命名的域

。常見的以機構性質命名的域一般由三個字元組成。

域名結構

DNS 系統采用的是分布式的解析方案,整個 DNS 架構是一種層次樹狀結構,這個樹狀結構稱為 DNS 域名空間,如圖:

DNS域名解析原理及過程基本概念DNS記錄DNS域名解析過程

樹狀結構最頂層稱為

根域

,用 “.” 表示,相應伺服器稱為

根伺服器

,整個域名空間解析權都歸跟伺服器所有,但根伺服器無法承擔龐大的負載,采用“委派”機制,在根域下設定了一些頂級域,然後将不同頂級域解析權分别委派給相應的頂級域伺服器,如将 com 域 的解析全委派給 com 域伺服器,以後但凡跟伺服器收到以 com 結尾的域名解析請求,都會轉發給com 域伺服器,同樣道理,為了減輕頂級域的壓力,又下設了若幹二級域,二級域又下設三級域或主機

DNS域名解析原理及過程基本概念DNS記錄DNS域名解析過程
  • 根域

    位于域名空間最頂層,一般用一個 “.” 表示

  • 頂級域

    一般代表一種類型的組織機構或國家地區,如 net、com、org、edu、gov、mil、cn、jp、hk

  • 二級域

    用來标明頂級域内的一個特定的組織,國家頂級域下面的二級域名由國家網絡部門統一管理,如 .cn 頂級域名下面設定的二級域名:.com.cn、.net.cn、.edu.cn …

  • 子域

    二級域下所建立的各級域統稱為子域,各個組織或使用者可以自由申請注冊自己的域名

  • 主機

    主機位于域名空間最下層,就是一台具體的計算機,如 www、mail、都是具體的計算機名字,可用www.sina.com.cn.、mail.sina.com.cn. 來表示,這種表示方式稱為 FQDN (完全合格域名),也是這台主機在域名中的全名

DNS記錄

轉載這篇,詳情點選檢視https://www.cnblogs.com/alummox/p/11173460.html

DNS域名解析過程

域名解析總體可分為一下過程:

(1) 輸入域名後, 先查找自己主機對應的域名伺服器,域名伺服器先查找自己的資料庫中的資料.

(2) 如果沒有, 就向上級域名伺服器進行查找, 依次類推

(3) 最多回溯到根域名伺服器, 肯定能找到這個域名的IP位址

(4) 域名伺服器自身也會進行一些緩存, 把曾經通路過的域名和對應的IP位址緩存起來, 可以加速查找過程

DNS服務的工作過程

當 DNS 客戶機需要查詢程式中使用的名稱時,它會查詢本地DNS 伺服器來解析該名稱。客戶機發送的每條查詢消息都包括3條資訊,以指定伺服器應回答的問題。

  • 指定的 DNS 域名,表示為完全合格的域名 (FQDN) 。
  • 指定的查詢類型,它可根據類型指定資源記錄,或作為查詢操作的專門類型。
  • DNS域名的指定類别。

對于DNS 伺服器,它始終應指定為 Internet 類别。例如,指定的名稱可以是計算機的完全合格的域名,并且指定的查詢類型用于通過該名稱搜尋位址資源記錄。

DNS 查詢以各種不同的方式進行解析。客戶機有時也可通過使用從以前查詢獲得的緩存資訊就地應答查詢。DNS 伺服器可使用其自身的資源記錄資訊緩存來應答查詢,也可代表請求客戶機來查詢或聯系其他 DNS 伺服器,以完全解析該名稱,并随後将應答傳回至客戶機。這個過程稱為遞歸。

另外,客戶機自己也可嘗試聯系其他的 DNS 伺服器來解析名稱。如果客戶機這麼做,它會使用基于伺服器應答的獨立和附加的查詢,該過程稱作疊代,即DNS伺服器之間的互動查詢就是疊代查詢。

DNS 查詢的過程如下圖所示

DNS域名解析原理及過程基本概念DNS記錄DNS域名解析過程

具體過程可描述如下:

  1. 主機

    先向

    本地域名伺服器

    進行

    遞歸查詢

  2. 本地域名伺服器采用

    疊代查詢

    ,向一個

    根域名伺服器

    進行查詢
  3. 根域名伺服器

    告訴本地域名伺服器,下一次應該查詢的

    頂級域名伺服器

    的IP位址
  4. 本地域名伺服器向

    頂級域名服務

    器進行查詢
  5. 頂級域名伺服器告訴本地域名伺服器,下一步查詢

    權限伺服器

    的IP位址
  6. 本地域名伺服器向

    權限伺服器

    進行查詢
  7. 權限伺服器告訴

    本地域名伺服器

    所查詢的主機的IP位址
  8. 本地域名伺服器最後把

    查詢結果

    告訴

    主機

上文我們提出了兩個概念:

遞歸查詢

疊代查詢

(1)遞歸查詢: 本機向本地域名伺服器發出一次查詢請求,就靜待最終的結果。如果本地域名伺服器無法解析,自己會以DNS客戶機的身份向其它域名伺服器查詢,直到得到最終的IP位址告訴本機

(2)疊代查詢: 本地域名伺服器向根域名伺服器查詢,根域名伺服器告訴它下一步到哪裡去查詢,然後它再去查,每次它都是以客戶機的身份去各個伺服器查詢。

通俗地說,

遞歸

就是把一件事情交給别人,如果事情沒有辦完,哪怕已經辦了很多,都不要把結果告訴我,我要的是你的最終結果,而不是中間結果;如果你沒辦完,請你找别人辦完。

疊代

則是我交給你一件事,你能辦多少就告訴我你辦了多少,然後剩下的事情就由我來辦。

解析順序

  • 浏覽器緩存

    當使用者通過浏覽器通路某域名時,浏覽器首先會在自己的緩存中查找是否有該域名對應的IP位址(若曾經通路過該域名且沒有清空緩存便存在)

  • 系統緩存

    當浏覽器緩存中無域名對應IP則會自動檢查使用者計算機系統Hosts檔案DNS緩存是否有該域名對應IP;

  • 路由器緩存

    當浏覽器及系統緩存中均無域名對應IP則進入路由器緩存中檢查,以上三步均為客服端的DNS緩存;

  • ISP(網際網路服務提供商)DNS緩存

    當在使用者客服端查找不到域名對應IP位址,則将進入ISP DNS緩存中進行查詢。比如你用的是電信的網絡,則會進入電信的DNS緩存伺服器中進行查找;

  • 根域名伺服器

    當以上均未完成,則進入根伺服器進行查詢。全球僅有13台根域名伺服器,1個主根域名伺服器,其餘12為輔根域名伺服器。根域名收到請求後會檢視區域檔案記錄,若無則将其管轄範圍内頂級域名(如.com)伺服器IP告訴本地DNS伺服器;

  • 頂級域名伺服器

    頂級域名伺服器收到請求後檢視區域檔案記錄,若無則将其管轄範圍内主域名伺服器的IP位址告訴本地DNS伺服器;

  • 主域名伺服器

    主域名伺服器接受到請求後查詢自己的緩存,如果沒有則進入下一級域名伺服器進行查找,并重複該步驟直至找到正确紀錄;

  • 儲存結果至緩存

    本地域名伺服器把傳回的結果儲存到緩存,以備下一次使用,同時将該結果回報給用戶端,用戶端通過這個IP位址與web伺服器建立連結。

繼續閱讀