对于IPv6转换来说,新的说法是,“在可以用双栈的地方使用双栈,在不得不用隧道的地方使用隧道。”
如何更好地实现从IPv4到IPv6的迁移是用户关心的问题,在当前的应用中,IPv6主要是利用覆盖每一种IPv4升级案例的迁移技术来实现,但许多迁移技术最终被拒绝,因此,IPv4到IPv6的升级成为一个影响到IPv6普级和应用的门槛。
一种叫做双栈的技术可在现有网络基础上同时运行IPv4和IPv6。而端节点和路由器/交换机同时运行两种协议,而且IPv6通信在整个网络传输中则是首选协议。
常用的双栈迁移方式是从核心向边缘的迁移。这涉及在WAN核心路由器上实现两个TCP/IP协议栈,接着是外围路由器和防火墙,然后是服务器群路由器,最终是桌面接入路由器。在网络支持IPv6和IPv4协议后,这一过程将实现服务器上的双栈,然后是边缘计算机系统。
另一种实现方法是利用隧道在一个协议内传送另一个协议。这类隧道将IPv6包封装在IPv4包中,在没有升级到IPv6的网络部分传送。隧道可以在存在被IPv4海洋隔离的IPv6孤岛的不同网络应用环境中建立,这种情况在向IPv6迁移的早期阶段十分常见。但未来,这种方式将带来需要跨越IPv6海洋连接的IPv4孤岛。
另一些技术,如网络地址转换协议转换(NAT-PT),简单地把IPv6包转换为IPv4包。这类转换技术比IPv4 NAT要复杂得多,因为这些协议具有不同的包头格式。转换技术一般在别无选择时才使用。而使用双栈和隧道技术效果优于使用NAT-PT。
目前有两类隧道:手工隧道和动态隧道。手工配置的IPv6隧道要求在隧道两端进行配置,而动态隧道根据数据包的目标地址和路由自动创建。与静态配置的隧道相比,动态隧道技术简化了维护工作,但静态隧道提供用于每个终端的流量信息,从而提供抵御注入传输流的额外安全性。
事实上,人们对隧道技术的安全性存在担心。例如,在使用动态隧道时,跟踪透明隧道通信不容易,不知道隧道的目的、终点等。这在路由器与另一个未经过认证的路由器通信时是个可怕的问题。向隧道终点发送伪造的传输流,以及收到以假乱真地插入到隧道中的传输流也是可能的。隧道技术造成传输流被封装起来的情况,而许多防火墙不检查隧道中的传输流。允许IP协议(封装在IPv4中的IPv6)穿过IPv4防火墙并不是最佳实践。这就像在防火墙中设置了一条超级规则。
随着迁移的发展,隧道将必须经常改变和被监测。当IPv6海洋变得太大或迁移到全IPv6时,隧道也必须被删除。因此,隧道只是一种过渡技术,而在一个充斥着隧道的环境中,排查故障将成为一项挑战。
动态隧道技术没有提供可利用SNMP监测的隧道接口。动态隧道技术使用2002::/16地址,这意味着作为转换到IPv6的一部分,必须为网络重新分配地址两次。许多动态隧道技术还不能转发多播传输流,不能穿过网络中央的IPv4 NAT。
当前,用户可以首先尝试利用双栈模式实现传送,然后,经过一段时间后删除IPv4协议的方法将更容易。目前,还没有很多为纯IPv6通信开发的系统,但有很多运行在双栈模式下的系统。例如,Microsoft的新操作系统采用有助于两种协议无缝运行的双层架构。因此,迁移计划应当更大限度地利用双栈,尽可能少地使用隧道技术。还应当提到的是,使用双栈不是最终目标,全面迁移到IPv6才是最终目的。
上世纪90年代,网络业有这样一句话:“在可以交换的地方交换,在不得不路由的地方路由”。然而,随着时间的发展,路由与交换技术之间的性能差距弥合了。对于IPv6转换来说,新的说法是“在可以用双栈的地方使用双栈,在不得不用隧道的地方使用隧道。”