解析器如何知道 DNS 响应是权威的?

Per*_*-lk -1 domain-name-system nameserver

标题说明了关于我的所有问题。解析器如何知道响应来自权威名称服务器?一个等效的问题:名称服务器标记了什么标志或字段来告诉解析器其响应不具有权威性?最后一个相关问题,辅助 DNS 服务器总是非权威的?

Mat*_*sen 8

DNS 响应消息头包含一个指示解析名称是否来自权威服务器的位,这将是下面列出的头参考表中称为AA的字段:

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                      ID                       | 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR|   Opcode  |AA|TC|RD|RA|   Z    |   RCODE   |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    QDCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    ANCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    NSCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    ARCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Run Code Online (Sandbox Code Playgroud)

有关标头格式的详细信息,请参阅RFC 1035 §4.1.1