DNS原理及解析過程詳解
時間:2023-02-02 21:08:01 | 來源:建站知識
時間:2023-02-02 21:08:01 來源:建站知識
相信大家在平時工作中都離不開DNS解析,DNS解析是互聯(lián)網(wǎng)訪問的第一步,無論是使用筆記本瀏覽器訪問網(wǎng)絡(luò)還是打開手機(jī)APP的時候,訪問網(wǎng)絡(luò)資源的第一步必然要經(jīng)過DNS解析流程。下面我們將詳細(xì)的給大家講解DNS的相關(guān)知識。
什么是DNSDNS就是域名系統(tǒng),是因特網(wǎng)中的一項(xiàng)核心服務(wù),是用于實(shí)現(xiàn)域名和IP地址相互映射的一個分布式數(shù)據(jù)庫,能夠使用戶更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串。通過主機(jī)名,得到該主機(jī)名對應(yīng)的IP地址的過程叫做域名解析(或主機(jī)名解析)。
域名結(jié)構(gòu)解析如上圖所示,域名結(jié)構(gòu)是樹狀結(jié)構(gòu),樹的最頂端代表根服務(wù)器,根的下一層就是由我們所熟知的.com、.net、.cn等通用域和.cn、.uk等國家域組成,稱為頂級域。網(wǎng)上注冊的域名基本都是二級域名,比如
http://baidu.com、
http://taobao.com等等二級域名,它們基本上是歸企業(yè)和運(yùn)維人員管理。接下來是三級或者四級域名,這里不多贅述??傮w概括來說域名是由整體到局部的機(jī)制結(jié)構(gòu)。
DNS解析流程如上圖所示,我們將詳細(xì)闡述DNS解析流程。
1、首先客戶端位置是一臺電腦或手機(jī),在打開瀏覽器以后,比如輸入
http://www.zdns.cn的域名,它首先是由瀏覽器發(fā)起一個DNS解析請求,如果本地緩存服務(wù)器中找不到結(jié)果,則首先會向根服務(wù)器查詢,根服務(wù)器里面記錄的都是各個頂級域所在的服務(wù)器的位置,當(dāng)向根請求
http://www.zdns.cn的時候,根服務(wù)器就會返回.cn服務(wù)器的位置信息。
2、遞歸服務(wù)器拿到.cn的權(quán)威服務(wù)器地址以后,就會尋問cn的權(quán)威服務(wù)器,知不知道
http://www.zdns.cn的位置。這個時候cn權(quán)威服務(wù)器查找并返回
http://zdns.cn服務(wù)器的地址。
3、繼續(xù)向
http://zdns.cn的權(quán)威服務(wù)器去查詢這個地址,由
http://zdns.cn的服務(wù)器給出了地址:202.173.11.10
4、最終才能進(jìn)行http的鏈接,順利訪問網(wǎng)站。
5、這里補(bǔ)充說明,一旦遞歸服務(wù)器拿到解析記錄以后,就會在本地進(jìn)行緩存,如果下次客戶端再請求本地的遞歸域名服務(wù)器相同域名的時候,就不會再這樣一層一層查了,因?yàn)楸镜胤?wù)器里面已經(jīng)有緩存了,這個時候就直接把
http://www.zdns.cn的A記錄返回給客戶端就可以了。
DNS資源記錄 記錄一條域名信息映射關(guān)系,稱之為資源記錄(RR)。
當(dāng)我們查詢域名
http://www.zdns.cn的時候,查詢結(jié)果得到的資源記錄結(jié)構(gòu)體中有如下數(shù)據(jù):
1、TTL,就是生存周期,是遞歸服務(wù)器會在緩存中保存該資源記錄的時長。
2、網(wǎng)絡(luò)/協(xié)議類型,它的代表的標(biāo)識是IN,IN就是internet,目前DNS系統(tǒng)主要支持的協(xié)議是IN。
3、type,就是資源記錄類型,一般的網(wǎng)站都是都是A記錄(IPv4的主機(jī)地址)。
4、rdata是資源記錄數(shù)據(jù),就是域名關(guān)聯(lián)的信息數(shù)據(jù)。
小知識:下面我們列出幾條常用的資源記錄類型:
A :Address地址, IPv4
AAAA:Address地址 IPv6
NS :Name Server域名服務(wù)器
SOA:Start of Authority起始授權(quán)機(jī)構(gòu)
MX:Mail Exchanger郵件交換
CNAME:Canonical Name規(guī)范名
PTR:Pointer指針
TXT:Text
SRV:Service
DNS服務(wù)器的分類常見的DNS服務(wù)器就是兩種:權(quán)威解析服務(wù)器和遞歸解析服務(wù)器。遞歸解析服務(wù)器也可以叫做localDNS。
權(quán)威解析服務(wù)器DNS權(quán)威服務(wù)器保存著域名空間中部分區(qū)域的數(shù)據(jù)。如果DNS服務(wù)器負(fù)責(zé)管轄一個或多個區(qū)域時,稱此DNS服務(wù)器為這些區(qū)域的權(quán)威服務(wù)器。
根權(quán)威DNS或者二級權(quán)威服務(wù)器中的資源記錄標(biāo)記被指定為區(qū)域權(quán)威服務(wù)器的DNS服務(wù)器。通過資源記錄中列出服務(wù)器,其他服務(wù)器就認(rèn)為它是該區(qū)域的權(quán)威服務(wù)器。這意味著在 NS 資源記錄中指定的任何服務(wù)器都被其他服務(wù)器當(dāng)作權(quán)威的來源,并且能肯定應(yīng)答區(qū)域內(nèi)所含名稱的查詢。
遞歸服務(wù)器遞歸服務(wù)器在正常情況下,初始的時候里面沒有任何域名解析數(shù)據(jù),里面所有的域名解析數(shù)據(jù)都來自于它到權(quán)威解析服務(wù)器的查詢結(jié)果,一旦查詢完畢,遞歸服務(wù)器就會根據(jù)TTL時間在本地形成一條緩存記錄,并為用戶提供DNS解析的查詢服務(wù),這是遞歸服務(wù)器的功能。
小知識:問:當(dāng)我們修改DNS解析服務(wù)記錄的時候,我們應(yīng)該在權(quán)威里面修改還是在遞歸里面修改?
答:所有的DNS解析記錄里面類型的修改都是在權(quán)威解析服務(wù)器里面做修改。