如果域名的域名服务器是域名中的主机,DNSparsing如何工作?

关于DNS协议的快速问题,我真的不明白。 让我们拿一个网站,说google.com。 我在浏览器中input地址。

DNSparsing器将检查根服务器,GTLD服务器。 这就是说,如果我理解的很好,“嘿,检查nsX.google.com得到你的答案”。

但是在这种情况下,如果parsing器自己知道nsX.google.com服务器的IP,那么parsing器如何知道IP?

disco:~ Disco$ dig +trace ns1.google.com ; <<>> DiG 9.6.0-APPLE-P2 <<>> +trace ns1.google.com ;; global options: +cmd . 50181 IN NS j.root-servers.net. [...] . 50181 IN NS a.root-servers.net. ;; Received 449 bytes from 192.168.1.1#53(192.168.1.1) in 55 ms com. 172800 IN NS a.gtld-servers.net. [...] com. 172800 IN NS m.gtld-servers.net. ;; Received 495 bytes from 199.7.83.42#53(l.root-servers.net) in 165 ms google.com. 172800 IN NS ns2.google.com. google.com. 172800 IN NS ns1.google.com. google.com. 172800 IN NS ns3.google.com. google.com. 172800 IN NS ns4.google.com. ;; Received 164 bytes from 192.31.80.30#53(d.gtld-servers.net) in 219 ms ns1.google.com. 345600 IN A 216.239.32.10 ;; Received 48 bytes from 216.239.32.10#53(ns1.google.com) in 70 ms 

谢谢。

这种明显的循环依赖性是通过使用所谓的“粘合”logging来解决的。

看到这个答案 。

您有权威的服务器(在其上定义了区域),但是根服务器知道在哪个服务器上注册了哪些域。

总之,您可以从a.gtld-servers.net获取“where is ns1.google.com”:

 $ dig @ a.gtld-servers.net。  ns1.google.com

 ;  << >> DiG 9.6.1 << >> @ a.gtld-servers.net。  ns1.google.com
 ;  (find2个服务器)
 ;; 全局选项:+ cmd
 ;; 有答案:
 ;;  -  >> HEADER <<  - 操作码:QUERY,状态:NOERROR,ID:19654
 ;; 标志:qr rd;  QUERY:1,答案:0,AUTHORITY:4,附加:4
 ;; 警告:recursion请求但不可用

 ;; 问题部分:
 ; ns1.google.com。 在一个

 ;; 授权部分:
 google.com。  172800在NS ns2.google.com。
 google.com。  172800在NS ns1.google.com。
 google.com。  172800在NS ns3.google.com。
 google.com。  172800在NS ns4.google.com。

 ;; 附加部分:
 ns2.google.com。  172800中A 216.239.34.10
 ns1.google.com。  172800 IN A 216.239.32.10
 ns3.google.com。  172800 IN A 216.239.36.10
 ns4.google.com。  172800中A 216.239.38.10

 ;; 查询时间:139毫秒
 ;;  SERVER:192.5.6.30#53(192.5.6.30)
 ;; 时间:2010年10月19日09:39:25
 ;; 味精大小rcvd:164