为什么需要 IPv6
随着互联网的快速扩张,传统 IPv4 地址的地址池(约 43 亿个)已于 2011 年耗尽。为了满足智能手机、物联网设备和云服务的爆发式增长,IPv6 应运而生,提供了几乎无限的地址空间。
IPv6 不仅仅是地址容量的扩展,更是一种在安全性、效率和自动配置方面进行了大量改进的下一代协议。IPv4 的地址空间为 32 位(约 43 亿个地址),而 IPv6 使用 128 位(约 340 涧个地址),规模不可同日而语。如果想系统学习这两种协议,IPv6 协议基础书籍是很好的入门资料。
一个常见的误解是"IPv4 耗尽后就无法上网了"。实际上,NAT(网络地址转换)技术允许多台设备共享一个全局 IPv4 地址。然而,NAT 会增加通信复杂性和性能开销,因此迁移到 IPv6 才是根本解决方案。
为什么 IPv6 迁移进展缓慢
IPv6 规范早在 1998 年就以 RFC 2460 的形式确立,但到 2025 年,四分之一个世纪之后,完全迁移仍未实现。以下几个结构性因素解释了这种延迟。
首先,NAT 的广泛采用大大延长了 IPv4 的使用寿命。通过让数百台设备共享一个全局 IP 地址,NAT 缓解了地址耗尽的影响,降低了迁移的紧迫性。其次,IPv4 和 IPv6 不向后兼容。IPv6 不是 IPv4 的简单扩展,而是一种完全不同的协议,需要更新网络设备、软件和运维流程。第三是迁移成本问题。升级现有网络基础设施以支持 IPv6 需要在设备更换、配置变更和人员培训方面进行大量投资。这对小型企业和发展中国家的 ISP 来说是一个重大障碍。
此外,IPv6 迁移面临"先有鸡还是先有蛋"的问题。当用户很少使用 IPv6 时,内容提供商不会优先支持 IPv6;而当 IPv6 内容很少时,ISP 也不急于提供 IPv6,这种恶性循环持续了多年。近年来,Google、Facebook 和 Netflix 等主要服务采用 IPv6,逐渐打破了这一循环。
IPv6 地址表示法
IPv6 地址长度为 128 位,以冒号分隔的八组十六进制数字表示。
完整表示示例:2001:0db8:85a3:0000:0000:8a2e:0370:7334
同时定义了缩写规则:
- 每组中的前导零可以省略:
2001:db8:85a3:0:0:8a2e:370:7334 - 连续的全零组可以用 "::" 替代一次:
2001:db8:85a3::8a2e:370:7334
特殊地址包括环回地址 ::1(相当于 IPv4 中的 127.0.0.1)和未指定地址 ::。
在 URL 中包含 IPv6 地址时,必须用方括号括起来(例如 http://[2001:db8::1]:8080/)。如果不使用这种表示法,在浏览器中直接访问 IPv6 地址可能会造成混淆。
IPv6 地址类型
全局单播地址
可在互联网上路由的地址,相当于 IPv4 中的全局 IP 地址。从 2000::/3 范围分配,目前使用的绝大多数 IPv6 地址都属于此类型。
链路本地地址
属于 fe80::/10 范围,这些地址仅在同一网络段内有效。它们会自动分配给每个启用 IPv6 的接口,用于邻居发现和路由器发现。
唯一本地地址
属于 fc00::/7 范围,是 IPv4 私有地址(如 192.168.x.x)的 IPv6 等价物。用于组织内部网络,不会在互联网上路由。
组播地址
属于 ff00::/8 范围,用于同时向多台设备发送数据。IPv6 已用组播取代了广播。
IP 确认的 IPv6 分析功能会自动判断并显示您的 IPv6 地址属于哪种类型。IPv6 地址类型也会影响基于 GeoIP 的位置估算的准确性,因此了解您的地址类型很有帮助。
与 IPv4 的共存和迁移技术
从 IPv4 到 IPv6 的过渡不可能一蹴而就。支持过渡期共存的技术至关重要。三种主要的迁移技术是双栈、隧道和 NAT64。
双栈
设备同时持有 IPv4 和 IPv6 地址,可以使用任一协议进行通信的方式。这是目前最常见的共存方案,许多 ISP 都提供双栈连接。您可以使用 IP 确认的双栈检测功能检查您的连接状态。
在双栈环境中,当目标服务器支持 IPv6 时,会优先使用 IPv6(Happy Eyeballs 算法)。但如果 IPv6 路由出现问题,连接会自动回退到 IPv4,用户无需感知即可继续通信。
双栈的缺点是增加了网络管理的复杂性,因为需要同时维护 IPv4 和 IPv6 地址。防火墙规则也需要为两种协议分别配置,配置疏忽可能带来安全风险。
隧道
将 IPv6 数据包封装后通过 IPv4 网络传输的技术。存在 6to4 和 Teredo 等方式,但由于安全问题,建议迁移到原生 IPv6 连接。特别是 6to4 已被 RFC 7526 弃用,不应再新部署。
在日本,MAP-E 和 DS-Lite 等 IPv4 over IPv6 隧道技术被广泛采用。这些技术通过 IPv6 IPoE 连接隧道传输 IPv4 流量,以 v6 Plus 和 transix 等服务形式提供。与传统 PPPoE 连接相比,它们避免了网络终端设备的瓶颈,即使在高峰时段也能提供稳定的速度。
NAT64/DNS64
允许纯 IPv6 网络访问 IPv4 服务器的转换技术。NAT64 作为网关将 IPv6 数据包转换为 IPv4 数据包,而 DNS64 将仅有 IPv4 的 DNS 记录(A 记录)合成为合成 IPv6 地址(AAAA 记录)。
在移动网络中的采用正在增长。Apple 自 2016 年起要求 iOS 应用支持 IPv6,强制在 NAT64 环境中进行测试。T-Mobile US 于 2014 年在其纯 IPv6 网络上引入了 NAT64,数亿台设备通过 NAT64 访问 IPv4 资源。
IPv6 与隐私
IPv6 带来了重要的隐私考量。
EUI-64 地址问题
最初的 IPv6 规范使用"EUI-64"方法,根据设备的 MAC 地址生成接口 ID。这意味着可以从 IPv6 地址唯一识别设备,这是一个重大的隐私问题。
隐私扩展(临时地址)
为解决这一问题,引入了"隐私扩展"(RFC 4941)。2021 年修订为 RFC 8981,它生成随机接口 ID 并定期更换,以防止 MAC 地址泄露。对技术细节感兴趣的读者可以参考网络地址隐私相关书籍。
启用隐私扩展后,操作系统会生成"临时地址"并优先将其用于出站通信。临时地址的有效期因操作系统而异,但通常每 24 小时左右轮换一次。
然而,即使启用了隐私扩展,也不能保证完全匿名。IPv6 地址的高 64 位(前缀)是 ISP 分配的固定值,因此来自同一网络的通信仍然可以被识别。要实现完全匿名,建议结合使用 VPN。
在各操作系统上检查隐私扩展
- Windows:使用
netsh interface ipv6 show privacy检查。默认已启用 - macOS:使用
sysctl net.inet6.ip6.use_tempaddr检查。值为 1 表示已启用。默认已启用 - Linux:使用
sysctl net.ipv6.conf.all.use_tempaddr检查。值为 2 表示优先使用临时地址
IPv6 地址追踪风险
由于 IPv6 不再需要 NAT,每台设备都持有全局唯一地址。与 IPv4 NAT 环境相比,单个设备更容易被追踪,因此使用 VPN 和隐私扩展就更加重要。此外,如果发生 DNS 泄漏,即使使用 VPN,您的 IPv6 地址也可能被暴露,因此还应验证 DNS 泄漏防护。
IP 确认会自动判断您的 IPv6 地址是隐私地址还是 EUI-64 地址。如果检测到 EUI-64 地址,建议检查您操作系统的隐私扩展设置。
IPv6 普及现状
根据 Google 的统计数据,截至 2025 年,全球约 45% 的互联网流量使用 IPv6。普及率特别高的国家包括印度(约 73%)、法国(约 77%)、德国(约 68%)和沙特阿拉伯(约 65%)。相比之下,中国和俄罗斯等拥有大型网络的国家仍停留在 10-30%,地区差异显著。
截至 2025 年,日本的 IPv6 普及率已达到约 52%。基于 NTT 东日本/西日本 NGN(下一代网络)构建的 IPoE(原生 IPv6 连接)的广泛部署是主要推动力,v6 Plus 和 transix 等 IPv4 over IPv6 服务也被广泛使用。日本总务省设定了到 2025 财年末 IPv6 普及率达到 70% 的目标,政府主导的迁移工作正在推进中。
云服务提供商(AWS、Google Cloud、Azure)均全面支持 IPv6,CDN 提供商(Cloudflare、Akamai、Fastly)也默认启用了 IPv6 分发。在移动网络中,5G 的推出正在加速纯 IPv6 网络的采用,预计未来几年 IPv6 流量的份额将进一步增加。
检查 IPv6 支持的实用步骤
按照以下步骤检查您的网络环境是否支持 IPv6:
- 访问 IP 确认首页,检查显示的 IP 地址是否为 IPv6 格式(冒号分隔的十六进制数)
- 查看双栈检测结果,确认您是否可以同时通过 IPv4 和 IPv6 连接
- 如果显示了 IPv6 地址,检查它是被识别为隐私地址还是 EUI-64 地址
- 如果检测到 EUI-64 地址,请使用上述操作系统特定说明启用隐私扩展
- 使用 VPN 时,验证 IPv6 流量是否通过 VPN 隧道传输(无 IPv6 泄漏)
IPv6 是构成未来互联网基础的协议。了解您的连接环境并正确管理隐私设置,是安全使用互联网的第一步。