2. Overview (概述)
2. Overview (概述)
本节介绍 DNS64 机制.
我们假设有一个或多个 IPv6/IPv4 转换器盒连接 IPv4 网络和 IPv6 网络.IPv6/IPv4 转换器设备在两个网络之间提供转换服务, 实现 IPv4-only 主机与 IPv6-only 主机之间的通信.(注意: 我们所说的 "IPv6-only 主机" 是指运行 IPv6-only 应用程序的主机和只能使用 IPv6 的主机, 以及客户端仅有 IPv6 连接可用的情况.我们所说的 "IPv4-only 服务器" 是指运行 IPv4-only 应用程序的服务器和只能使用 IPv4 的服务器, 以及服务器仅有 IPv4 连接可用的情况).与 DNS64 结合使用的每个 IPv6/IPv4 转换器必须允许从 IPv6-only 主机发起到 IPv4-only 主机的通信.
为了允许 IPv6 发起方执行标准的 AAAA RR DNS 查找以了解响应方的地址, 每当 DNS64 无法检索到查询名称的 AAAA 记录时, DNS64 用于从包含响应方真实 IPv4 地址的 A 记录合成 AAAA 记录.DNS64 服务对 IPv6 发起方表现为常规 DNS 服务器或解析器.DNS64 接收由 IPv6 发起方生成的 AAAA DNS 查询.它首先尝试解析所请求的 AAAA 记录.如果目标节点没有可用的 AAAA 记录 (这是目标节点为 IPv4-only 节点时的正常情况), DNS64 执行 A 记录查询.对于发现的每个 A 记录, DNS64 从 A RR 中检索到的信息创建合成的 AAAA RR.
合成 AAAA RR 的所有者名称与原始 A RR 的所有者名称相同, 但在 AAAA RR 中包含原始 A RR 中包含的 IPv4 地址的 IPv6 表示形式.IPv4 地址的 IPv6 表示形式是通过算法从 IPv4 地址和在 DNS64 中配置的附加参数生成的.在 DNS64 中配置的这些参数中, 至少有一个 IPv6 前缀.如果没有明确提及, 所有前缀都被平等对待, 本文档中描述的操作使用可用的前缀执行.为了通用性, 我们将这些前缀中的任何一个称为 Pref64::/n, 并描述使用通用前缀 Pref64::/n 执行的操作.DNS64 合成的 AAAA RR 中包含的表示 IPv4 地址的 IPv6 地址包含 Pref64::/n, 它们还嵌入了原始 IPv4 地址.
必须在 DNS64 设备和 IPv6/IPv4 转换器中配置相同的算法和相同的 Pref64::/n 前缀, 以便两者都可以通过算法为给定的 IPv4 地址生成相同的 IPv6 表示形式.此外, 要求将寻址到包含 Pref64::/n 的 IPv6 目标地址的 IPv6 数据包传递到配置了该特定 Pref64::/n 的 IPv6/IPv4 转换器, 以便它们可以被转换为 IPv4 数据包.
一旦 DNS64 合成了 AAAA RRs, 合成的 AAAA RRs 就会传回给 IPv6 发起方, 后者将使用与 IPv4 接收方关联的 IPv6 地址发起 IPv6 通信.数据包将被路由到 IPv6/IPv4 转换器, 后者将其转发到 IPv4 网络.
一般来说, DNS64 和 IPv6/IPv4 转换器之间唯一的共享状态是 Pref64::/n 和一组可选的静态参数.Pref64::/n 和静态参数集必须配置为在两者上相同; DNS64 设备和 IPv6/IPv4 转换器功能之间没有通信.用于配置 DNS64 参数的机制超出了本备忘录的范围.
用作 Pref64::/n 的前缀及其适用性在 [RFC6052] 中讨论.有两种类型的前缀可以用作 Pref64::/n.
o Pref64::/n 可以是 [RFC6052] 保留的众所周知前缀 (Well-Known Prefix) 64:ff9b::/96, 用于在 IPv6 地址空间中表示 IPv4 地址.
o Pref64::/n 可以是网络特定前缀 (Network-Specific Prefix, NSP).NSP 是组织分配的 IPv6 前缀, 用于创建 IPv4 地址的 IPv6 表示形式.
这两种类型前缀的性质的主要区别在于, NSP 是提供转换服务的组织控制下的本地分配前缀, 而众所周知前缀是具有全局意义的前缀, 因为它已被分配用于在 IPv6 地址空间中表示 IPv4 地址的特定目的.
DNS64 功能可以在三个位置中的任何一个执行.以下术语在第 4 节中更正式地定义.
第一个选项是将 DNS64 功能定位在区域的权威服务器中.在这种情况下, 权威服务器为其区域中的 IPv4-only 主机提供合成的 AAAA RRs.这是一种 DNS64 服务器类型.
另一个选项是将 DNS64 功能定位在为终端主机服务的递归名称服务器中.在这种情况下, 当 IPv6-only 主机向名称服务器查询 IPv4-only 主机的 AAAA RRs 时, 名称服务器可以执行 AAAA RRs 的合成并将它们传回给 IPv6-only 发起方.这种模式的主要优点是当前的 IPv6 节点可以使用此机制而无需任何修改.这种模式称为 "DNS64 in DNS recursive-resolver mode" (DNS64 处于 DNS 递归解析器模式).这是第二种 DNS64 服务器类型, 也是一种 DNS64 解析器类型.
最后一个选项是将 DNS64 功能放置在终端主机中, 与本地 (存根) 解析器耦合.在这种情况下, 存根解析器将尝试获取 (真实的) AAAA RRs, 如果它们不可用, DNS64 功能将合成 AAAA RRs 供内部使用.这种模式与终端主机中的某些功能 (如 DNSSEC 验证) 兼容.这种模式的主要缺点是其可部署性, 因为它需要更改终端主机.这种模式称为 "DNS64 in stub-resolver mode" (DNS64 处于存根解析器模式).这是第二种 DNS64 解析器类型.