荟萃馆

位置:首页 > 网络 > 网络诊断

百度DNS解析过程

下面是一个关于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地址了。

标签:dns 百度 解析