6. Message Header Response Codes (消息头响应代码)
6. 消息头响应代码 (Message Header Response Codes)
本节描述可以在 UPDATE 响应消息的 RCODE 字段中返回的响应代码.
NOERROR (0)
无错误条件. 更新成功, 且所有先决条件均已满足.
FORMERR (1)
名称服务器由于格式错误而无法解释该请求. 这可能由多种原因导致, 例如:
- Zone Section 不包含恰好一个 RR
- ZTYPE 不是 SOA
- 某个先决条件 RR 具有无效的 CLASS/TYPE/RDATA 组合
- 某个更新 RR 具有无效的 CLASS/TYPE/RDATA 组合
- TTL 在应为零的位置不为零
SERVFAIL (2)
名称服务器在处理该请求时遇到内部故障. 示例包括:
- 操作系统错误 (内存不足, 磁盘已满)
- 持久存储中的硬件错误
- 作为转发器运行时发生转发超时
- 遇到错误后无法撤销已部分应用的更新
NXDOMAIN (3)
某个应当存在的名称不存在. 当用于检查名称存在性的先决条件 (CLASS=ANY, TYPE=ANY) 未得到满足时, 使用此响应代码.
NOTIMP (4)
名称服务器不支持指定的 Opcode. 如果服务器未实现 UPDATE opcode (值为 5), 则返回此响应.
REFUSED (5)
名称服务器出于策略或安全原因拒绝执行指定操作. 这可能发生在以下情形:
- 请求者没有执行该更新的权限
- 安全策略禁止所请求的更新
- 服务器被配置为拒绝所有动态更新
YXDOMAIN (6)
某个不应当存在的名称确实存在. 当用于检查名称不存在性的先决条件 (CLASS=NONE, TYPE=ANY) 未得到满足时, 使用此响应代码.
YXRRSET (7)
某个不应当存在的 RRset 确实存在. 当用于检查 RRset 不存在性的先决条件 (CLASS=NONE, TYPE=specific) 未得到满足时, 使用此响应代码.
NXRRSET (8)
某个应当存在的 RRset 不存在. 在以下情况下使用此响应代码:
- 用于检查 RRset 存在性的先决条件 (CLASS=ANY, TYPE=specific) 未得到满足
- 用于检查特定 RR 值的先决条件 (CLASS=zone) 未得到满足
NOTAUTH (9)
服务器对 Zone Section 中命名的 zone 不具权威性. 请求者应尝试使用另一个对该 zone 具权威性的服务器.
NOTZONE (10)
Prerequisite Section 或 Update Section 中使用的名称不在 Zone Section 所表示的 zone 内. 这表明 UPDATE 请求存在错误, 因为先决条件和更新中的所有名称都必须位于正在更新的 zone 内.