跳到主要内容

DNS 协议技术指南 (RFC 1035)

本技术导读用于帮助读者理解 RFC 1035 中的 DNS 消息格式 (DNS message format), 资源记录格式 (resource record format), 名称服务器 (name server) 和解析器 (resolver) 实现细节. 规范性内容以本目录中的 RFC 章节译文为准.

文档信息

  • RFC 编号: 1035
  • 标题: Domain Names - Implementation and Specification
  • 发布日期: November 1987
  • 作者: P. Mockapetris (USC/Information Sciences Institute)
  • 状态: INTERNET STANDARD (STD 13)

核心概念

RFC 1035 是 DNS (Domain Name System) 的实现规范. 它定义 DNS message format, resource record format, name server 行为, resolver 行为, 以及 DNS 查询和响应的编码方式.

RFC 1034 侧重概念和设施, RFC 1035 侧重实现和协议细节. 实践中通常先阅读 RFC 1034 了解域名系统模型, 再阅读 RFC 1035 理解消息格式和实现要求.

DNS 消息结构

所有 DNS messages 使用同一基本结构:

+---------------------+
| Header |
+---------------------+
| Question |
+---------------------+
| Answer |
+---------------------+
| Authority |
+---------------------+
| Additional |
+---------------------+

Header 是固定长度字段. Question, Answer, Authority 和 Additional sections 是可变长度字段, 其数量由 Header 中的计数字段决定.

实现阅读重点

  • Header flags: QR, Opcode, AA, TC, RD, RA, Z, RCODE.
  • Question section: QNAME, QTYPE, QCLASS.
  • Resource Records: NAME, TYPE, CLASS, TTL, RDLENGTH, RDATA.
  • Name compression: DNS message 内使用指针压缩域名.
  • Resolver behavior: 递归查询, 缓存, 超时和重试.
  • Name server behavior: authoritative data, cached data, zone transfer.

与章节页的关系

本技术指南是辅助阅读材料. 规范性内容仍以 RFC 1035 的章节页面为准.