相信大家在平時工作中都離不開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解析記錄里面類型的修改都是在權威解析服務器里面做修改。
