10. 命名问题 (Naming issues)
本节处理什么是有效的 DNS 名称,以及什么是权威名称或规范名称的问题.
10.1. CNAME 资源记录 (CNAME resource records)
CNAME 记录标识一个别名的规范名称. 该 RR 的所有者名称是别名,RDATA 是规范 名称. 除用于 DNSSEC 的 SIG、NXT 和 KEY 记录外,CNAME 记录不得具有相同名称的 任何其他 RR.
如果一个节点上存在 CNAME 记录,则该节点上不得存在任何其他数据. 也就是说, 带有 CNAME 记录的节点除上面提到的 DNSSEC 记录外,不得有任何其他 RR. 这与 RFC1034 允许 CNAME 记录节点上存在其他 RR 的规定不同.
CNAME 记录不得直接或间接指向自身. 也就是说,CNAME 记录的 RDATA 字段不得与 其所有者名称相同,且 CNAME 记录不得指向另一个指向它的 CNAME 记录的目标.
10.2. PTR 记录 (PTR records)
PTR 记录用于将 IP 地址映射到名称. PTR 记录的所有者名称是 IP 地址的逆序,IPv4 加后缀 ".in-addr.arpa",IPv6 加后缀 ".ip6.arpa". PTR 记录的 RDATA 是与该 IP 地址 关联的名称.
PTR 记录不得出现在区域顶点. 也就是说,PTR 记录的所有者名称不得与区域顶点相同.
PTR 记录必须指向有效的主机名. 也就是说,PTR 记录的 RDATA 必须是有效的主机名 (即不得是 CNAME 或其他别名).
10.3. MX 和 NS 记录 (MX and NS records)
MX 和 NS 记录不得指向别名. 也就是说,MX 或 NS 记录的 RDATA 必须是目标主机的 规范名称,而非 CNAME 或其他别名. 这与 RFC1034 允许 MX 和 NS 记录指向别名的规定 不同.
如果服务器收到指向别名的 MX 或 NS 记录,它必须沿别名找到规范名称,并将其用作 该 MX 或 NS 记录的目标. 但是,服务器不得缓存别名,只能缓存规范名称.