1. Definitions (定义)
1. 定义 (Definitions)
本文档有意对"Master"服务器, "Slave"服务器和"Primary Master"服务器的角色, 这些服务器在 NS RR 中的列举方式, 以及 SOA MNAME 字段给出更明确的定义. 从这个意义上说, 以下服务器类型定义可以视为 [RFC1035] 的补遗, 并且意图与 [RFC1996] 保持一致:
Slave
使用 AXFR 或 IXFR 获取区域, 并在该区域的 NS RRset 中被命名的权威服务器.
Master
被配置为一个或多个 Slave 服务器提供 AXFR 或 IXFR 数据源的权威服务器.
Primary Master
位于 AXFR/IXFR 依赖图根部的 Master 服务器. Primary Master 在区域的 SOA MNAME 字段中命名, 并且可以选择性地由 NS RR 命名. 按定义, 每个区域只有一个 Primary Master 服务器.
域名标识域名空间树结构中的一个节点. 每个节点都有一组资源记录 (Resource Records, RRs), 该集合可能为空. 所有具有相同 NAME, CLASS 和 TYPE 的 RR 称为资源记录集 (Resource Record Set, RRset).
本文档中使用的伪代码仅用于示例. 如果发现伪代码与正文不一致, 应以正文为权威. 如果发现正文存在歧义, 可以使用伪代码帮助消除歧义.
1.1 比较规则 (Comparison Rules)
1.1.1. 如果两个 RR 的 NAME, CLASS, TYPE, RDLENGTH 和 RDATA 字段相等, 则认为它们相等. 注意, time-to-live (TTL) 字段被明确排除在比较之外.
1.1.2. 名称中字符串比较的规则在 [RFC1035 2.3.3] 中规定.
1.1.3. 通配符处理被禁用. 也就是说, 更新中的通配符 ("") 只匹配区域中的通配符 (""), 反之亦然.
1.1.4. 别名处理被禁用: 区域中的 CNAME 会匹配更新中的 CNAME, 除此之外不会继续跟随别名. 所有 UPDATE 操作都基于规范名称完成.
1.1.5. 以下 RR 类型不能追加到 RRset. 如果满足以下比较规则, 则尝试添加新 RR 将导致替换先前的 RR:
SOA
只比较 NAME, CLASS 和 TYPE - 每个区域不可能有多个 SOA, 即使任何数据字段不同也是如此.
WKS
只比较 NAME, CLASS, TYPE, ADDRESS 和 PROTOCOL - 对于此元组只能有一个 WKS RR, 即使服务掩码不同也是如此.
CNAME
只比较 NAME, CLASS 和 TYPE - 不可能有多个 CNAME RR, 即使它们的数据字段不同也是如此.
1.2 Glue RR (Glue RRs)
为确定 UPDATE 协议中使用的域名是否包含在指定区域内, 如果某个域名由该区域的域名拥有, 则该域名位于该区域"内". 详见第 7.18 节.
1.3 新分配编号 (New Assigned Numbers)
- CLASS = NONE (254)
- RCODE = YXDOMAIN (6)
- RCODE = YXRRSET (7)
- RCODE = NXRRSET (8)
- RCODE = NOTAUTH (9)
- RCODE = NOTZONE (10)
- Opcode = UPDATE (5)