- 相關(guān)推薦
百度DNS解析過(guò)程
下面是一個(gè)關(guān)于DNS的實(shí)驗(yàn):百度DNS解析過(guò)程,相信熱愛(ài)學(xué)習(xí)的你一定很感興趣,下面跟著小編一起來(lái)看看!
if現(xiàn)在我用一臺(tái)電腦,通過(guò)ISP接入互聯(lián)網(wǎng),那么ISP就會(huì)分配給我一個(gè)DNS服務(wù)器(非權(quán)威服務(wù)器)。now,我的computer向這臺(tái)ISPDNS發(fā)起請(qǐng)求查詢(xún)www.baidu.com。
首先,ISPDNS會(huì)檢查自己的緩存中有沒(méi)有這個(gè)地址,有的話直接返回給我的PC,沒(méi)有的話,ISPDNS會(huì)把請(qǐng)求發(fā)送給根服務(wù)器(13臺(tái))。
根服務(wù)器發(fā)現(xiàn)是.com結(jié)尾的即是.com這個(gè)頂級(jí)域名下的,就告訴請(qǐng)求者負(fù)責(zé)解析.com的DNS服務(wù)器。(目前百度有4臺(tái)baidu.com的頂級(jí)域名服務(wù)器)。
ISPDNS再次向baidu.com這個(gè)域的權(quán)威服務(wù)器發(fā)起請(qǐng)求,baidu.com收到后,查一下www這臺(tái)主機(jī),然后把它的IP返回給IPSDNS,然后IPSDNS把地址返回給我的PC,并且存入告訴cache中,以便再次訪問(wèn)。
//當(dāng)然這是完美的解析不走,不過(guò)百度的DNS沒(méi)這么簡(jiǎn)單。
[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
百度有個(gè)cname=www.a.shifen.com.的別名,這所怎么一個(gè)過(guò)程呢?用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工具會(huì)在本地計(jì)算機(jī)做迭代,然后記錄查詢(xún)的過(guò)程。
第一步是我這臺(tái)PC的ISPDNS獲取到13個(gè)根服務(wù)器的13個(gè)IP和主機(jī)名【b-j】.root-servers.net。
第二步是向其中的一臺(tái)根域服務(wù)器198.41.0.4發(fā)送www.baidu.com的請(qǐng)求,他返回來(lái)com.頂級(jí)域的服務(wù)器的IP(未顯示)和名稱(chēng)。
第三步是向com.域的一臺(tái)服務(wù)器192.31.80.30請(qǐng)求www.baidu.com,他返回來(lái)baidu.com域發(fā)服務(wù)器IP(未顯示)和名稱(chēng).
第四步,向百度的頂級(jí)域名服務(wù)器dns.baidu.com.請(qǐng)求www.baidu.com,他發(fā)現(xiàn)這個(gè)www有別名叫www.a.shifen.com。
按照一般邏輯,當(dāng)dns請(qǐng)求到別名時(shí),查詢(xún)都會(huì)終止,而所重新發(fā)起查詢(xún)別名的請(qǐng)求,所以此處應(yīng)該返回的是www.a.shifen.com.但是為什么返回的是a.shifen.com這個(gè)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
發(fā)現(xiàn)shifen.com的頂級(jí)域名服務(wù)器和baidu.com的域名服務(wù)器是同一臺(tái)!
當(dāng) 我拿到www.baidu.com的別名www.a.shifen.com的時(shí)候,本來(lái)要重新到com域查找shifen.com的NS,又因?yàn)椋瑑蓚(gè)域 在同一臺(tái)NS上,所以直接向本機(jī)發(fā)起了shifen.com域發(fā)現(xiàn)請(qǐng)求的www.a.shifen.com是屬于a.shifen.com這個(gè)域的,于是 就把a(bǔ).shifen.com的這個(gè)NS和IP返回,讓我到a.shifen.com這個(gè)域的域名服務(wù)器上查詢(xún)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解析過(guò)程】相關(guān)文章:
DNS服務(wù)網(wǎng)絡(luò)故障案例解析01-23
解析百度知道推廣規(guī)則09-02
網(wǎng)站被百度快速收錄的方法解析05-22
DNS怎么設(shè)置12-26
怎么知道dns地址12-26
win10怎么清除dns緩存01-13