1. 程式人生 > >DNS原理及解析過程詳解

DNS原理及解析過程詳解

  相信大家在平時工作中都離不開DNS解析,DNS解析是網際網路訪問的第一步,無論是使用筆記本瀏覽器訪問網路還是開啟手機APP的時候,訪問網路資源的第一步必然要經過DNS解析流程。下面我們將詳細的給大家講解DNS的相關知識。

什麼是DNS

  DNS就是域名系統,是因特網中的一項核心服務,是用於實現域名和IP地址相互對映的一個分散式資料庫,能夠使使用者更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。

 

域名結構解析

 

  如上圖所示,域名結構是樹狀結構,樹的最頂端代表根伺服器,根的下一層就是由我們所熟知的.com、.net、.cn等通用域和.cn、.uk等國家域組成,稱為頂級域。網上註冊的域名基本都是二級域名,比如baidu.com、taobao.com等等二級域名,它們基本上是歸企業和運維人員管理。接下來是三級或者四級域名,這裡不多贅述。總體概括來說域名是由整體到區域性的機制結構。

DNS解析流程

 

如上圖所示,我們將詳細闡述DNS解析流程。

1、首先客戶端位置是一臺電腦或手機,在開啟瀏覽器以後,比如輸入www.zdns.cn的域名,它首先是由瀏覽器發起一個DNS解析請求,如果本地快取伺服器中找不到結果,則首先會向根伺服器查詢,根伺服器裡面記錄的都是各個頂級域所在的伺服器的位置,當向根請求www.zdns.cn的時候,根伺服器就會返回.cn伺服器的位置資訊。

2、遞迴伺服器拿到.cn的權威伺服器地址以後,就會尋問cn的權威伺服器,知不知道www.zdns.cn的位置。這個時候cn權威伺服器查詢並返回zdns.cn伺服器的地址。

3、繼續向zdns.cn的權威伺服器去查詢這個地址,由zdns.cn的伺服器給出了地址:202.173.11.10

4、最終才能進行http的連結,順利訪問網站。

5、這裡補充說明,一旦遞迴伺服器拿到解析記錄以後,就會在本地進行快取,如果下次客戶端再請求本地的遞迴域名伺服器相同域名的時候,就不會再這樣一層一層查了,因為本地伺服器裡面已經有快取了,這個時候就直接把www.zdns.cn的A記錄返回給客戶端就可以了。

DNS資源記錄

 

 記錄一條域名資訊對映關係,稱之為資源記錄(RR)。

當我們查詢域名www.zdns.cn的時候,查詢結果得到的資源記錄結構體中有如下資料:

1、TTL,就是生存週期,是遞迴伺服器會在快取中儲存該資源記錄的時長。

2、網路/協議型別,它的代表的標識是IN,IN就是internet,目前DNS系統主要支援的協議是IN。

3、type,就是資源記錄型別,一般的網站都是都是A記錄(IPv4的主機地址)。

4、rdata是資源記錄資料,就是域名關聯的資訊資料。

小知識:

下面我們列出幾條常用的資源記錄型別:

A :Address地址, IPv4

AAAA:Address地址 IPv6

NS :Name Server域名伺服器

SOA:Start of Authority起始授權機構

MX:Mail Exchanger郵件交換

CNAME:Canonical Name規範名

PTR:Pointer指標

TXT:Text

SRV:Service

 

DNS伺服器的分類

常見的DNS伺服器就是兩種:權威解析伺服器和遞迴解析伺服器。遞迴解析伺服器也可以叫做localDNS。

權威解析伺服器

DNS權威伺服器儲存著域名空間中部分割槽域的資料。如果DNS伺服器負責管轄一個或多個區域時,稱此DNS伺服器為這些區域的權威伺服器。

根權威DNS或者二級權威伺服器中的資源記錄標記被指定為區域權威伺服器的DNS伺服器。通過資源記錄中列出伺服器,其他伺服器就認為它是該區域的權威伺服器。這意味著在 NS 資源記錄中指定的任何伺服器都被其他伺服器當作權威的來源,並且能肯定應答區域內所含名稱的查詢。

遞迴伺服器

遞迴伺服器在正常情況下,初始的時候裡面沒有任何域名解析資料,裡面所有的域名解析資料都來自於它到權威解析伺服器的查詢結果,一旦查詢完畢,遞迴伺服器就會根據TTL時間在本地形成一條快取記錄,併為使用者提供DNS解析的查詢服務,這是遞迴伺服器的功能。

 

小知識:

問:當我們修改DNS解析服務記錄的時候,我們應該在權威裡面修改還是在遞迴裡面修改?

答:所有的DNS解析記錄裡面型別的修改都是在權威解析伺服器裡面做修改。

&n