核心思想:共存与互通
过渡技术的核心思想不是“一夜之间”替换IPv4,而是让IPv4和IPv6网络在很长一段时间内能够共存,并实现彼此之间的通信。

双栈技术
这是最基础、最理想的过渡技术,它要求网络中的设备(主机、路由器)同时支持并运行IPv4和IPv6协议栈。
工作原理
一个“双栈”设备拥有两个独立的协议栈,可以同时处理IPv4和IPv6数据包,它可以根据目标地址的类型(是IPv4还是IPv6)自动选择使用哪个协议栈进行通信。
优点
- 无缝互通:在同一网络中,双栈设备可以直接与IPv4或IPv6设备通信,无需额外的转换。
- 部署简单:对于新设备或新网络,直接配置双栈即可,是最直接的解决方案。
- 长期方案:被认为是最终的演进方向,当IPv6普及后,可以逐步弃用IPv4。
缺点
- 资源消耗:每个双栈设备都需要维护两个协议栈,消耗更多的内存和CPU资源。
- 地址管理复杂:需要同时为设备分配IPv4和IPv6地址,增加了网络管理的复杂性。
- 不解决IPv4地址枯竭问题:双栈本身并不能减少对IPv4地址的需求,它只是让设备能同时使用两种协议。
适用场景
- 新部署的网络:所有新建的网络设备、服务器和云服务都应该优先支持双栈。
- 核心网络和骨干网:运营商和大型企业的核心路由器必须部署双栈,以作为IPv4和IPv6流量之间的桥梁。
隧道技术
隧道技术主要用于在IPv4网络中“承载”IPv6数据包,或者在IPv6网络中“承载”IPv4数据包,从而实现两个异构网络之间的通信。
手动隧道
由网络管理员手动配置隧道两端的路由器,当IPv6数据包进入隧道一端的路由器时,路由器将其封装在IPv4数据包中,通过IPv4网络传输,到达隧道另一端的路由器后,再解封装出原始的IPv6数据包。

- 优点:配置简单,易于理解。
- 缺点:扩展性差,每建立一条隧道都需要手动配置,不适合大规模部署。
- 适用场景:两个孤立的IPv6网络之间通过IPv4骨干网进行临时、小规模的连接。
6to4 隧道
这是一种自动化的隧道技术,它巧妙地利用了IPv4地址来生成IPv6地址,无需为隧道两端预先分配特殊的IPv4地址。
- 工作原理:
- 一个支持6to4的站点(Site)将其IPv4公网地址(如
0.113.5)转换为特定的IPv6前缀(2002:cb00:7105::/48)。 - 站点内的主机可以使用这个前缀生成全球唯一的IPv6地址(如
2002:cb00:7105:1::1)。 - 当站点内的主机要访问公共IPv6网络时,数据包会被自动发到6to4路由器,该路由器将IPv6包封装在IPv4包中,目标IPv4地址是目标IPv6地址中提取的6to4前缀对应的IPv4地址。
- 一个支持6to4的站点(Site)将其IPv4公网地址(如
- 优点:自动化程度高,易于部署,无需申请特殊地址。
- 缺点:
- 依赖于IPv4网络:如果中间的IPv4网络不稳定或性能差,隧道质量会受影响。
- NAT穿越问题:如果站点出口有NAT设备,6to4隧道可能无法正常工作。
- 缺乏集中管理:导致路由混乱,性能难以保证。
- 现状:由于上述缺点,6to4技术已基本被淘汰。
6in4 (Teredo) 隧道
Teredo 是一种特殊的隧道技术,专为解决IPv4网络地址转换环境下的IPv6连接问题而设计,它允许位于NAT后的IPv6主机通过IPv4互联网与其他IPv6主机通信。
- 工作原理:
- Teredo客户端(NAT后的主机)通过一个公共的Teredo服务器(具有全球唯一的IPv4和IPv6地址)来建立隧道。
- Teredo服务器帮助客户端在NAT上打洞,建立双向的通信通道。
- IPv6数据包被封装在IPv4/UDP包中,通过NAT的UDP端口进行传输。
- 优点:解决了NAT穿越问题,使得IPv6可以部署在家庭、企业等复杂的NAT环境中。
- 缺点:
- 性能开销大(UDP封装和NAT处理)。
- 依赖于公共Teredo服务器的可用性。
- 存在一定安全风险,可能被滥用。
- 现状:Teredo主要作为“最后手段”,当没有其他IPv6连接方式时使用,Windows系统曾内置支持,但现在已默认禁用。
GRE / IP-in-IP 隧道
这些是更通用的隧道协议,不限于IPv4-in-IPv6或IPv6-in-IPv4,它们可以在两个路由器之间建立一个安全的、点对点的隧道,用于承载多种网络层协议(包括IPv4和IPv6)。
- 优点:通用、稳定、安全(可加密)。
- 缺点:配置相对复杂,通常用于站点到站点的连接,而非终端用户。
翻译技术
当通信双方一方只支持IPv4,另一方只支持IPv6时,隧道技术无能为力,这时就需要翻译技术,它在网络中间设备(如路由器、防火墙)上对IP头进行转换。

NAT64 / DNS64
这是目前最主流、最实用的翻译技术组合,主要用于IPv6-only网络中的主机访问IPv4网络中的资源。
- 工作原理:
- DNS64:当一个IPv6-only主机(如
2001:db8::1)想访问一个IPv4网站(如www.example.com,其IP为184.216.34)时,它首先会查询DNS,DNS64服务器收到这个查询后,会构造一个特殊的IPv6地址,格式为64:ff9b::/96+ IPv4地址的32位。184.216.34会被转换为64:ff9b::5db8d822。 - NAT64:IPv6主机向这个构造出的IPv6地址 (
64:ff9b::5db8d822) 发送数据包,这个数据包会被NAT64网关截获,NAT64网关会将这个IPv6数据包“翻译”成对应的IPv4数据包,目标地址就是184.216.34,然后发送到IPv4互联网。 - 返回流量:当IPv4网站返回数据包时,NAT64网关会再次进行反向翻译,将IPv4包转换回IPv6包,发回给最初的IPv6主机。
- DNS64:当一个IPv6-only主机(如
- 优点:完美解决了IPv6-only客户端访问IPv4服务器的问题,是许多云服务商和运营商提供的核心服务。
- 缺点:
- 应用层问题:如果应用数据包中包含了IP地址(如FTP协议),翻译会变得非常复杂,需要应用层网关配合。
- 非对称体验:IPv6客户端可以访问IPv4服务器,但反之不行(除非配合SIIT)。
- 适用场景:为纯IPv6网络(如移动网络、物联网)提供访问传统IPv4互联网的能力。
SIIT (Stateless IP/ICMP Translation)
无状态IP/ICMP翻译,它是一种更底层的、无状态的翻译技术,主要用于连接IPv4和IPv6网络,NAT64通常是基于SIIT实现的。
- 优点:无状态,不需要维护会话表,部署简单。
- 缺点:功能相对基础,无法处理复杂的NAT场景。
总结与对比
| 技术类别 | 具体技术 | 核心思想 | 优点 | 缺点 | 主要应用场景 |
|---|---|---|---|---|---|
| 双栈 | Dual Stack | 设备同时运行IPv4和IPv6协议 | 互通性好,是最终方案 | 资源消耗大,管理复杂 | 新建网络、核心设备、服务器 |
| 隧道 | 手动隧道 | 在IPv4中封装IPv6 | 简单,用于临时连接 | 扩展性差,手动配置 | 两个孤立的IPv6网络互联 |
| 6to4 | 自动化隧道,用IPv4地址生成IPv6前缀 | 自动化,无需特殊地址 | 依赖IPv4,路由混乱,性能差 | 已基本淘汰 | |
| Teredo | 通过UDP穿越NAT的隧道 | 解决NAT穿越问题 | 性能差,依赖服务器,有安全风险 | NAT环境下的IPv6连接(最后手段) | |
| 翻译 | NAT64/DNS64 | IPv6地址与IPv4地址相互转换 | 解决IPv6-only访问IPv4资源 | 应用层不兼容,体验非对称 | 云服务、运营商为IPv6-only用户提供访问 |
| SIIT | 无状态的IP地址翻译 | 无状态,部署简单 | 功能基础,应用层支持有限 | 作为NAT64等技术的基础 |
过渡策略建议
一个成功的过渡策略通常是多种技术的组合使用:
- 核心层:运营商和大型企业的骨干网必须部署双栈,确保IPv4和IPv6流量都能高效承载。
- 接入层:
- 对于新用户和新设备,优先提供双栈接入。
- 对于无法升级的IPv4-only设备,通过NAT64/DNS64服务,使其能访问IPv6资源。
- 对于身处NAT后的IPv6用户,Teredo作为备用连接方案。
- 数据中心/云服务:服务器全面部署双栈,对于纯IPv6的虚拟机或容器,通过NAT64/DNS64使其能访问外部的IPv4服务。
- 内容提供商:网站和应用必须支持双栈,让所有用户(无论是IPv4还是IPv6)都能正常访问。
从IPv4到IPv6的过渡是一个渐进式、多技术并行的过程,没有“银弹”,双栈是基础,隧道是连接孤岛的桥梁,翻译是解决互通难题的“粘合剂”,最终目标是实现全球互联网的全面IPv6化。
