百度DNS解析過程

來源:文萃谷 7.79K

下面是一個關於DNS的實驗:百度DNS解析過程,相信熱愛學習的你一定很感興趣,下面跟着小編一起來看看!

百度DNS解析過程

if現在我用一台電腦,通過ISP接入互聯網,那麼ISP就會分配給我一個DNS服務器(非權威服務器)。now,我的computer向這台ISPDNS發起請求查詢。

首先,ISPDNS會檢查自己的緩存中有沒有這個地址,有的話直接返回給我的PC,沒有的話,ISPDNS會把請求發送給根服務器(13台)。

根服務器發現是結尾的即是這個頂級域名下的,就告訴請求者負責解析的DNS服務器。(目前百度有4台的頂級域名服務器)。

ISPDNS再次向這個域的權威服務器發起請求,收到後,查一下www這台主機,然後把它的IP返回給IPSDNS,然後IPSDNS把地址返回給我的`PC,並且存入告訴cache中,以便再次訪問。

//當然這是完美的解析不走,不過百度的DNS沒這麼簡單。

[root@zichen star]# nslookup

Server:

Address: #53

Non-authoritative answer:

canonical name = .

Name:

Address:

Name:

Address:

百度有個cname=.的別名,這所怎麼一個過程呢?用dig工具跟蹤一下。

[root@zichen star]# dig +trace

; <<>> DiG 16 <<>> +trace

;; global options: +cmd

. 167778 IN NS .

. 167778 IN NS .

. 167778 IN NS .

. 167778 IN NS .

. 167778 IN NS .

. 167778 IN NS .

. 167778 IN NS .

. 167778 IN NS .

. 167778 IN NS .

. 167778 IN NS .

. 167778 IN NS .

. 167778 IN NS .

. 167778 IN NS .

;; Received 228 bytes from #53() in 1841 ms--------(1)

com. 172800 IN NS .

com. 172800 IN NS .

com. 172800 IN NS .

com. 172800 IN NS .

com. 172800 IN NS .

com. 172800 IN NS .

com. 172800 IN NS .

com. 172800 IN NS .

com. 172800 IN NS .

com. 172800 IN NS .

com. 172800 IN NS .

com. 172800 IN NS .

com. 172800 IN NS .

;; Received 503 bytes from #53() in 1884 ms-------------------------(2)

. 172800 IN NS .

. 172800 IN NS .

. 172800 IN NS .

. 172800 IN NS .

;; Received 167 bytes from #53() in 305 ms-------------------(3)

. 1200 IN CNAME .

. 86444 IN NS .

. 86444 IN NS .

. 86444 IN NS .

. 86444 IN NS .

;; Received 194 bytes from #53() in 68 ms-------------(4)

  DIG工具會在本地計算機做迭代,然後記錄查詢的過程。

第一步是我這台PC的ISPDNS獲取到13個根服務器的13個IP和主機名【b-j】。

第二步是向其中的一台根域服務器發送的請求,他返回來com.頂級域的服務器的IP(未顯示)和名稱。

第三步是向com.域的一台服務器請求,他返回來域發服務器IP(未顯示)和名稱.

第四步,向百度的頂級域名服務器.請求,他發現這個www有別名叫。

按照一般邏輯,當dns請求到別名時,查詢都會終止,而所重新發起查詢別名的請求,所以此處應該返回的是.但是為什麼返回的是這個NS呢?

  此處我們可以用:

[root@zichen star]# dig +trace

. 172800 IN NS .

. 172800 IN NS .

. 172800 IN NS .

. 172800 IN NS .

;; Received 170 bytes from #53() in 325 ms

發現的頂級域名服務器和的域名服務器是同一台!

當 我拿到的別名的時候,本來要重新到com域查找的NS,又因為,兩個域 在同一台NS上,所以直接向本機發起了域發現請求的是屬於這個域的,於是 就把的這個NS和IP返回,讓我到這個域的域名服務器上查詢。

於是

. 7200 IN A

. 86400 IN NS .

. 86400 IN NS .

. 86400 IN NS .

. 86400 IN NS .

;; Received 186 bytes from #53() in 61 ms

拿到一條A記錄,最終也就是的IP地址了。

熱門標籤