主要有三种过渡技术
- 隧道技术:用于解决IPv6节点之间通过IPv4网络进行通信的问题
- 协议翻译技术:使纯ipv6节点与纯Ipv4节点之间进行通信
- 双协议栈技术:使ipv4与ipv6可以共存于同一台设备和同一个网络中
隧道技术
把ipv6分组封装到Ipv4分组中,通过Ipv4网络进行转发的技术。
在传送期间对原始ipv6分组不做任何改变。
建立隧道可以采用手工配置**(**规模较小时用),也可以采用自动配置(规模较大时用)

对于大型网络使用隧道中介技术(tunnel broker),此时用户端是通过脚本创建的,因此减少了手工配置的麻烦(如图)

使用自动隧道技术(与上图不是一个技术),通信的双节点必须使用Ipv4兼容的ipv6地址 如:00::ipv4 当分组进入双栈路由器时,如果目标地址是Ipv4兼容的地址,分组就被重定向,并自动建立一条隧道,如果目标地址是当地的ipv6地址,则不会建立自动隧道。被传送的分组决定了隧道的端点,目标Ipv4的地址取自ipv6的低32位,因此自动隧道不需要改变主机配置,缺点是对两个主机不透明,因此目标节点对收到的分组进行解封。


6to4隧道(目前使用比较多)ipv6站点通过Ipv4网络进行通信
IANA指定了格式前缀0x2002来表示6to4地址。不使用这个前缀的ipv6地址称为原生地址。
中继路由器是一种经过配置可以把原生ipv6地址与6to4地址进行转换的设备。
如果一个主机有6to4地址和原生ipv6地址,则两个主机必须使用6to4地址进行通信。如果两个主机都有6to4地址与原生ipv6地址,则两者都要使用原生ipv6地址进行通信。
6to4路由器应该配置双协议栈,应该具有全局Ipv4地址,并能实现6to4地址转换。这种方法对Ipv4路由表不增加任何选项,只是在ipv6路由表中引入了一个新的选项。


6over4隧道:
链路本地地址自动生成,由IPv4地址生成ipv6链路本地地址的方法。
如:192.0.2.142对应的ipv6链路本地地址为FE80::C000:028E(C000028E是192.0.2.142的十六进制表示)
组播地址映像:
一个孤立的ipv4网络中的ipv6主机为了发现它的ipv6邻居(主机或路由器),通常采用的方法是组播ICMPv6邻居邀请(Neighbor Solicitation)报文,并期望接收到对方的邻居公告(Neighbor Advertisement)报文,以便获取邻居的链路层地址。承载ICMPv6分组必须封装在Ipv报文中传送,所以作为基础通信网络的Ipv4网络必须配置组播功能。
RFC2529规定,ipv6组播分组要封装在目标地址为239.192.x.y的ipv4分组中发送,其中x和y是ipv6组播地址的后两个字节。 实现6over4主机都要在同一个Ipv4组播区域内
ipv6邻居发现过程:
首先是ipv6主机组播icmpv6邻居邀请报文,然后是收到对方的邻居公告报文,其中包含了64位的链路层地址。
ISATAP:
RFC4214定义的自动隧道技术------ISATAP,这种隧道可以穿透nat设备与私网之外的主机建立IPv6连接。通信过程如下图

ISATAP有64位的格式前缀,FE80::/64表示链路本地地址,之后要加上修改的EUI-64地址,其形式为24位的IANA OUI + 40位的扩展标识符。
如果40位的扩展标识符的前16位是0xFFFE,则后面是24位的制造商标识符(mac地址的后24位)
如果40位的扩展标识符的前8位是0xFE,则后面是32位IP地址。
IANA分配的OUI为00-00-5E。