我们知道DNS的工作方式是递归检索域的足够。例如www.google.com,它检索com的名称服务器并获取其IP地址,并使用此名称服务器来检索google.com,...
检索名称服务器的IP地址是此过程的关键部分。如果我们挖掘google.com
,结果如下<<>> DiG 9.6.0-APPLE-P2<> google.com ;;全局选项:+ cmd ;;得到答案: ;; - >> HEADER<< - opcode:QUERY,status:NOERROR,id:64727 ;;旗帜:qr rd ra;查询:1,答案:11,授权:4,附加:4
;;问题部分: ; google.com。在一个
;;答案部分: google.com。 62 IN A 173.194.33.2 google.com。 62 IN A 173.194.33.8 google.com。 62 IN A 173.194.33.14 google.com。 62 IN A 173.194.33.5 google.com。 62 IN A 173.194.33.4 google.com。 62 IN A 173.194.33.6 google.com。 62 IN A 173.194.33.0 google.com。 62 IN A 173.194.33.1 google.com。 62 IN A 173.194.33.7 google.com。 62 IN A 173.194.33.3 google.com。 62 IN A 173.194.33.9
;;权威部分: google.com。 69970 IN NS ns3.google.com。 google.com。 69970 IN NS ns1.google.com。 google.com。 69970 IN NS ns2.google.com。 google.com。 69970 IN NS ns4.google.com。
;;附加部分: ns4.google.com。 69970 IN A 216.239.38.10 ns3.google.com。 69970 IN A 216.239.36.10 ns1.google.com。 69970 IN A 216.239.32.10 ns2.google.com。 257354 IN A 216.239.34.10
;;查询时间:9毫秒 ;;服务器:。。*。#53(。*。。) ;;时间:2013年5月22日星期三16:03:09 ;; MSG SIZE rcvd:340
我们可以看到ip地址包含在附加部分中。但是如果我们挖掘com ,我们得到以下结果:
<<>> DiG 9.6.0-APPLE-P2<> COM。 ;;全局选项:+ cmd ;;得到答案: ;; - >> HEADER<< - opcode:QUERY,status:NOERROR,id:50809 ;;旗帜:qr rd ra; QUERY:1,答案:0,授权:1,附加:0
;;问题部分: ; COM。在一个
;;权威部分: COM。 900 IN SOA a.gtld-servers.net。 nstld.verisign-grs.com。 > 1369263918 1800 900 604800 86400
;;查询时间:17毫秒 ;;服务器:。。*。#53(。*。。) ;;时间:2013年5月22日星期三16:05:48 ;; MSG SIZE rcvd:94
它没有显示com的名称服务器的IP地址。所以我的问题是解析器如何知道TLD名称服务器的IP地址(例如,com)?
答案 0 :(得分:3)
快速回答:您要求提供TLD com 的A
条记录,但没有得到答案。这是正常的,因为 com 没有A记录!请注意,在输出的摘录中,类型为A
:
;; QUESTION SECTION:
;com. IN A
话虽这么说,递归解析器找出TLD名称服务器的地址的方式与查找任何其他服务器的地址的方式相同:
答案 1 :(得分:0)
所以我的问题是解析器如何知道TLD名称服务器(例如com)的IP地址
解析器服务器需要加载“提示”(根名称服务器)。这些通常添加到某处的配置中。