觸屏版
全國(guó)服務(wù)熱線:0571-87205688
登錄
注冊(cè)
客戶中心
關(guān)注云客
DNS分為Client和Server,Client扮演發(fā)問的角色,也就是問Server一個(gè)DomainName,而Server必須要回答此DomainName的真正IP地址,DNS是怎么來作名稱解析的?
DNS的工作原理
DNS分為Client和Server,Client扮演發(fā)問的角色,也就是問Server一個(gè)DomainName,而Server必須要回答此DomainName的真正IP地址。而當(dāng)?shù)氐腄NS先會(huì)查自己的資料庫(kù)。如果自己的資料庫(kù)沒有,則會(huì)往該DNS上所設(shè)的的DNS詢問,依此得到答案之后,將收到的答案存起來,并回答客戶。
DNS服務(wù)器會(huì)根據(jù)不同的授權(quán)區(qū)(Zone),記錄所屬該網(wǎng)域下的各名稱資料,這個(gè)資料包括網(wǎng)域下的次網(wǎng)域名稱及主機(jī)名稱。
在每一個(gè)名稱服務(wù)器中都有一個(gè)快取緩存區(qū)(Cache),這個(gè)快取緩存區(qū)的主要目的是將該名稱服務(wù)器所查詢出來的名稱及相對(duì)的IP地址記錄快取緩存區(qū)中,這樣當(dāng)下一次還有另外一個(gè)客戶端到次服務(wù)器上去查詢相同的名稱時(shí),服務(wù)器就不用在到別臺(tái)主機(jī)上去尋找,而直接可以從緩存區(qū)中找到該筆名稱記錄資料,傳回給客戶端,加速客戶端對(duì)名稱查詢的速度。例如:
當(dāng)DNS客戶端向指定的DNS服務(wù)器查詢網(wǎng)際網(wǎng)路上的某一臺(tái)主機(jī)名稱DNS服務(wù)器會(huì)在該資料庫(kù)中找尋用戶所指定的名稱如果沒有,該服務(wù)器會(huì)先在自己的快取緩存區(qū)中查詢有無該筆紀(jì)錄,如果找到該筆名稱記錄后,會(huì)從DNS服務(wù)器直接將所對(duì)應(yīng)到的IP地址傳回給客戶端,如果名稱服務(wù)器在資料記錄查不到且快取緩存區(qū)中也沒有時(shí),服務(wù)器首先會(huì)才會(huì)向別的名稱服務(wù)器查詢所要的名稱。例如:
DNS客戶端向指定的DNS服務(wù)器查詢網(wǎng)際網(wǎng)路上某臺(tái)主機(jī)名稱,當(dāng)DNS服務(wù)器在該資料記錄找不到用戶所指定的名稱時(shí),會(huì)轉(zhuǎn)向該服務(wù)器的快取緩存區(qū)找尋是否有該資料,當(dāng)快取緩存區(qū)也找不到時(shí),會(huì)向最接近的名稱服務(wù)器去要求幫忙找尋該名稱的IP地址,在另一臺(tái)服務(wù)器上也有相同的動(dòng)作的查詢,當(dāng)查詢到后會(huì)回復(fù)原本要求查詢的服務(wù)器,該DNS服務(wù)器在接收到另一臺(tái)DNS服務(wù)器查詢的結(jié)果后,先將所查詢到的主機(jī)名稱及對(duì)應(yīng)IP地址記錄到快取緩存區(qū)中,最后在將所查詢到的結(jié)果回復(fù)給客戶端。
范例
我們舉例說明,假設(shè)我們要查詢網(wǎng)際網(wǎng)路上的一個(gè)名稱為www.test.com.cn,從此名稱我們知道此部主機(jī)在中國(guó)CN,而且要找的組織名稱test.com.cn此網(wǎng)域下的www主機(jī),以下為名稱解析過程的每一步驟。
《Step1》在DNS的客戶端(Reslover)鍵入查詢主機(jī)的指令,如:
c:\pingwww.test.com.cn
pingingwww.test.com.cn【192.72.80.36】with32bytesofdata
replyfrom192.72.80.36bytestime<10msttl253
《Step2》而被指定的DNS服務(wù)器先行查詢是否屬于該網(wǎng)域下的主機(jī)名稱,如果查出改主機(jī)名稱并不屬于該網(wǎng)域范圍,之后會(huì)再查詢快取緩存區(qū)的紀(jì)錄資料,查是否有此機(jī)名稱。
《Step3》查詢后發(fā)現(xiàn)緩存區(qū)中沒有此紀(jì)錄資料,會(huì)取得一臺(tái)根網(wǎng)域的其中一臺(tái)服務(wù)器,發(fā)出說要找www.test.com.cn的Request。
《Step4》在根網(wǎng)域中,向RootNameServer詢問,RootNameServer記錄了各TopDomain分別是由哪些DNSServer負(fù)責(zé),所以他會(huì)響應(yīng)最接近的NameServer為控制CN網(wǎng)域的DNS伺服主機(jī)。
《Step5》RootNameServer已告訴LocalDNSServer哪部NameServer負(fù)責(zé).cn這個(gè)Domain,然后LocalDNS再向負(fù)責(zé)發(fā)出找尋www.test.com.cn的名稱Request。
《Step6》在.cn這個(gè)網(wǎng)域中,被指定的DNS服務(wù)器在本機(jī)上沒有找到此名稱的的紀(jì)錄,所以會(huì)響應(yīng)原本發(fā)出查詢要求的DNS服務(wù)器說最近的服務(wù)器在哪里?他會(huì)回應(yīng)最近的主機(jī)為控制com.cn網(wǎng)域的DNS伺服主機(jī)。
《Step7》原本被查詢的DNS服務(wù)器主機(jī),收到繼續(xù)查詢的IP位置后,會(huì)再向com.cn的網(wǎng)域的DNSServer發(fā)出尋找www.test.com.cn名稱搜尋的要求。
《Step8》com.cn的網(wǎng)域中,被指定的DNSServer在本機(jī)上沒有找到此名稱的記錄,所以會(huì)回復(fù)查詢要求的DNSServer告訴他最接近的服務(wù)器在哪里?他就回應(yīng)最接近為控制test.com.cn的網(wǎng)域的DNS主機(jī)。
《Step9》原本被查詢的DNSServer,在接收到應(yīng)繼續(xù)查詢的位置,在向test.com.cn網(wǎng)域的DNSServer發(fā)出尋找www.test.com.cn的要求,最后會(huì)在test.com.cn的網(wǎng)域的DNSServer找到www.test.com.cn此主機(jī)的IP。
《Step10》所以原本發(fā)出查詢要求的DNS服務(wù)器,再接收到查詢結(jié)果的IP位置后,響應(yīng)回給原查詢名稱的DNS客戶端。
兩種真正DNS的查詢模式
有兩種詢問原理,分為Recursive和Interactive兩種。前者是由DNS代理去問,問的方法是用Interactive方式,后者是由本機(jī)直接做Interactive式的詢問。由上例可以看出,我們一般查詢名稱的過程中,實(shí)際上這兩種查詢模式都是交互存在著的。
遞歸式(Recursive):DNS客戶端向DNSServer的查詢模式,這種方式是將要查詢的封包送出去問,就等待正確名稱的正確響應(yīng),這種方式只處理響應(yīng)回來的封包是否是正確響應(yīng)或是說是找不到該名稱的錯(cuò)誤訊息。
交談式(Interactive):DNSServer間的查詢模式,由Client端或是DNSServer上所發(fā)出去問,這種方式送封包出去問,所響應(yīng)回來的資料不一定是最后正確的名稱位置,但也不是如上所說的響應(yīng)回來是錯(cuò)誤訊息,他響應(yīng)回來告訴你最接近的IP位置,然后再到此最接近的IP上去尋找所要解析的名稱,反復(fù)動(dòng)作直到找到正確位置。
評(píng)論(0人參與,0條評(píng)論)
發(fā)布評(píng)論
最新評(píng)論