- 相關推薦
百度DNS解析過程
下面是一個關于DNS的實驗:百度DNS解析過程,相信熱愛學習的你一定很感興趣,下面跟著小編一起來看看!
if現在我用一臺電腦,通過ISP接入互聯網,那么ISP就會分配給我一個DNS服務器(非權威服務器)。now,我的computer向這臺ISPDNS發起請求查詢www.baidu.com。
首先,ISPDNS會檢查自己的緩存中有沒有這個地址,有的話直接返回給我的PC,沒有的話,ISPDNS會把請求發送給根服務器(13臺)。
根服務器發現是.com結尾的即是.com這個頂級域名下的,就告訴請求者負責解析.com的DNS服務器。(目前百度有4臺baidu.com的頂級域名服務器)。
ISPDNS再次向baidu.com這個域的權威服務器發起請求,baidu.com收到后,查一下www這臺主機,然后把它的IP返回給IPSDNS,然后IPSDNS把地址返回給我的PC,并且存入告訴cache中,以便再次訪問。
//當然這是完美的解析不走,不過百度的DNS沒這么簡單。
[root@zichen star]# nslookup www.baidu.com
Server: 211.140.13.188
Address: 211.140.13.188#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 220.181.112.76
Name: www.a.shifen.com
Address: 220.181.111.111
百度有個cname=www.a.shifen.com.的別名,這所怎么一個過程呢?用dig工具跟蹤一下。
[root@zichen star]# dig +trace www.baidu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.2.rc1.fc16 <<>> +trace www.baidu.com
;; global options: +cmd
. 167778 IN NS b.root-servers.net.
. 167778 IN NS d.root-servers.net.
. 167778 IN NS f.root-servers.net.
. 167778 IN NS m.root-servers.net.
. 167778 IN NS e.root-servers.net.
. 167778 IN NS h.root-servers.net.
. 167778 IN NS l.root-servers.net.
. 167778 IN NS g.root-servers.net.
. 167778 IN NS i.root-servers.net.
. 167778 IN NS k.root-servers.net.
. 167778 IN NS c.root-servers.net.
. 167778 IN NS a.root-servers.net.
. 167778 IN NS j.root-servers.net.
;; Received 228 bytes from 211.140.13.188#53(211.140.13.188) in 1841 ms--------(1)
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
;; Received 503 bytes from 198.41.0.4#53(198.41.0.4) in 1884 ms-------------------------(2)
baidu.com. 172800 IN NS dns.baidu.com.
baidu.com. 172800 IN NS ns2.baidu.com.
baidu.com. 172800 IN NS ns3.baidu.com.
baidu.com. 172800 IN NS ns4.baidu.com.
;; Received 167 bytes from 192.31.80.30#53(192.31.80.30) in 305 ms-------------------(3)
www.baidu.com. 1200 IN CNAME www.a.shifen.com.
a.shifen.com. 86444 IN NS ns4.a.shifen.com.
a.shifen.com. 86444 IN NS ns7.a.shifen.com.
a.shifen.com. 86444 IN NS ns9.a.shifen.com.
a.shifen.com . 86444 IN NS ns5.a.shifen.com.
;; Received 194 bytes from 202.108.22.220#53(202.108.22.220) in 68 ms-------------(4)
DIG工具會在本地計算機做迭代,然后記錄查詢的過程。
第一步是我這臺PC的ISPDNS獲取到13個根服務器的13個IP和主機名【b-j】.root-servers.net。
第二步是向其中的一臺根域服務器198.41.0.4發送www.baidu.com的請求,他返回來com.頂級域的服務器的IP(未顯示)和名稱。
第三步是向com.域的一臺服務器192.31.80.30請求www.baidu.com,他返回來baidu.com域發服務器IP(未顯示)和名稱.
第四步,向百度的頂級域名服務器dns.baidu.com.請求www.baidu.com,他發現這個www有別名叫www.a.shifen.com。
按照一般邏輯,當dns請求到別名時,查詢都會終止,而所重新發起查詢別名的請求,所以此處應該返回的是www.a.shifen.com.但是為什么返回的是a.shifen.com這個NS呢?
此處我們可以用:
[root@zichen star]# dig +trace shifen.com
shifen.com. 172800 IN NS dns.baidu.com.
shifen.com. 172800 IN NS ns2.baidu.com.
shifen.com. 172800 IN NS ns3.baidu.com.
shifen.com. 172800 IN NS ns4.baidu.com.
;; Received 170 bytes from 192.26.92.30#53(192.26.92.30) in 325 ms
發現shifen.com的頂級域名服務器和baidu.com的域名服務器是同一臺!
當 我拿到www.baidu.com的別名www.a.shifen.com的時候,本來要重新到com域查找shifen.com的NS,又因為,兩個域 在同一臺NS上,所以直接向本機發起了shifen.com域發現請求的www.a.shifen.com是屬于a.shifen.com這個域的,于是 就把a.shifen.com的這個NS和IP返回,讓我到a.shifen.com這個域的域名服務器上查詢www.a.shifen.com。
于是
shifen.com. 7200 IN A 202.108.250.218
shifen.com. 86400 IN NS ns3.baidu.com.
shifen.com. 86400 IN NS ns1.baidu.com.
shifen.com. 86400 IN NS ns2.baidu.com.
shifen.com. 86400 IN NS ns4.baidu.com.
;; Received 186 bytes from 220.181.37.10#53(220.181.37.10) in 61 ms
拿到一條A記錄,最終也就是www.baidu.com的IP地址了。
【百度DNS解析過程】相關文章:
DNS服務網絡故障案例解析01-23
解析百度知道推廣規則09-02
網站被百度快速收錄的方法解析05-22
DNS怎么設置12-26
注塑過程中降解問題的解析09-15
怎么知道dns地址12-26
win10怎么清除dns緩存01-13
百度動作頻繁 百度SEO前途未卜05-23
linux配置dns服務器配置命令09-22
都在做百度SEO 你是否對百度有了解10-26