当仅支持 IPv6 的主机想要访问仅支持 IPv4 的主机时,为什么 DNS 服务器(或者可能是 NAT-PT 网关?)必须将 A 响应重写为 AAAA?
IPv6 难道不能简单地将 IPv4 地址嵌入到 IPv6 数据包的目标字段中(例如,简单地在其前面加上零或其他一些众所周知的前缀),然后让默认网关来完成所有的转换吗?
我不太明白 DNS64 的动机。
答案1
IPv6 难道不能简单地将 IPv4 地址嵌入到 IPv6 数据包的目标字段中(例如,简单地在其前面加上零或其他一些众所周知的前缀),然后让默认网关来完成所有的转换吗?
这正是实际发生的情况。DNS 服务器获取 IPv4 地址(A 记录),并在其上添加前缀(有一个众所周知的前缀 64:FF9B::/96,但它可以是任何特定于站点的前缀)。由于 DNS64 解析器在一个地方执行此操作,因此所有主机都不必知道它:它们只需获得一个可以连接的 IPv6 地址。如果所有主机都知道如何添加前缀,那么您就不需要 DNS64 服务器,但更改所有主机可能很困难。因此,发明了 DNS64 部分以在一个地方自动完成此操作。