为什么要对我的DNS服务器进行多次查询?

时间:2016-08-11 19:27:47

标签: dns dig

作为项目的一部分,我编写了一个非常简单的DNS服务器,其唯一目的是解析它所服务的区域的查询,并存储进行查询的服务器的IP地址。

我注意到如果我使用dig,我的DNS服务器会被多次查询 - 有时来自同一个IP地址。为什么会这样?是否由于UDP的不可靠性?

例如,这是我做的挖掘回复:

C:\Data>dig  xyz.dns.example.com

; <<>> DiG 9.10.4-P2 <<>> xyz.dns.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2539
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;xyz.dns.example.com. IN   A

;; ANSWER SECTION:
xyz.dns.example.com. 12321 IN A    50.16.166.175

;; Query time: 224 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Aug 11 15:07:42 Eastern Daylight Time 2016
;; MSG SIZE  rcvd: 77

在此示例中,example.com的区域文件具有dns.example.com的NS记录,这是我的简单DNS服务器运行的地方。在这一个查询中,我的服务器从2个不同的IP地址被调用了4次。

我还注意到我应该返回一个“附加”记录,但是我在字节10和11中返回的数据显然为0.这是否会导致问题?

1 个答案:

答案 0 :(得分:0)

尝试挖掘+trace选项:

dig example.com +trace