IPv4 转 IPv6
IPv4 地址无法“转换”为 IPv6,但有标准方法在 IPv6 中表示它。
IPv4 映射 IPv6
::ffff:192.0.2.33
::ffff:c000:221
6to4 前缀
2002:c000:221::/48
NAT64 (64:ff9b::/96)
64:ff9b::192.0.2.33
64:ff9b::c000:221
IPv4 地址无法“转换”成 IPv6 地址——它们是两个独立的地址空间。不过,确实存在在 IPv6 中表示 IPv4 地址的标准方式:
- IPv4 映射地址
::ffff:0:0/96——双栈软件在 IPv6 套接字上表示 IPv4 对端的方式,这类地址不会出现在网络上传输。 - 6to4
2002::/16——一种已弃用的过渡机制,从公网 IPv4 地址派生出一个 /48。 - NAT64
64:ff9b::/96——纯 IPv6 网络通过 NAT64 网关访问 IPv4 主机时使用的知名前缀,通常与 DNS64 配合使用。
常见问题
我能把自己的 IPv4 地址转换成 IPv6 吗?
不能。你的 IPv6 地址由运营商另行分配。这里展示的形式只是为特定机制把 IPv4 地址嵌入 IPv6 记法中。
为什么服务器日志里有 ::ffff: 开头的地址?
你的服务器监听的 IPv6 套接字同时接受 IPv4 连接,IPv4 客户端就会显示为 ::ffff:203.0.113.5 这样的 IPv4 映射地址。
6to4 还在使用吗?
很少。RFC 7526 已于 2015 年弃用 6to4 任播中继前缀,原生 IPv6 已取而代之。