基于互联网的快速发展,IPv4地址即将使用殆尽,IPv6应运而生,且具有IPv4所不具备的先进性,IPv4过渡为IPv6势在必行。但又因IPv6与IPv4具有不兼容性,所以需要对原有的IPv4设备进行替换。在双栈技术中,IPv4过渡到IPv6所使用的设备需要大量替换,过程中的成本会非常巨大,且现网运行的业务也会中断,显然可行性不高。所以,IPv4向IPv6过渡是需要一个渐进过程,在IPv4网络已经大量部署的前提下,在过渡初期,IPv6网络只是散落在各地的“孤岛”,IPv6 over IPv4隧道就是通过隧道技术,使IPv6报文在IPv4网络中传输,实现IPv6网络之间的孤岛互连。
IPv6 over IPv4隧道
  隧道(Tunnel)技术是一种基于IPv4隧道来传送IPv6数据报文的封装技术。将IPv6包作为无结构意义的数据,封装在IPv4包中,如此穿越IPv4网络进行通信,并且在隧道的两端可以分别对数据报文进行封装和解封装。隧道是一个虚拟的点对点的连接。隧道技术在定义上就是指包括数据封装、传输和解封装在内的全过程。
  隧道技术是IPv6向IPv4过渡的一个重要手段。IPv6 over IPv4隧道基本原理如下图:
IPv6过渡技术之隧道技术_第1张图片
  隧道技术的实现需要有一个起点和一个终点,IPv6 over IPv4隧道的起点的IPv4地址必须为手工配置,而终点的确定有手工配置和自动获取两种方式。根据隧道终点的IPv4地址的获取方式不同可以将IPv6 over IPv4隧道分为手动隧道和自动隧道。
  手动隧道:即边界设备不能自动获得隧道终点的IPv4地址,需要手工配置隧道终点的IPv4地址,报文才能正确发送至隧道终点,通常用于路由器到路由器之间的隧道,常用的手动隧道技术有IPv6 over IPv4手动隧道和IPv6 over IPv4 GRE隧道。
IPv6过渡技术之隧道技术
  上图为IPv6 over IPv4手动隧道封装格式,其转发机制为:当隧道边界设备的IPv6侧收到一个IPv6报文后, 根据IPv6报文的目的地址查找IPv6路由转发表,如果该报文是从此虚拟隧道接口转发出去,则根据隧道接口配置的隧道源端和目的端的IPv4地址进行封装。原IPv6报文变成一个IPv4报文,并交给IPv4协议栈处理。报文通过IPv4网络转发到隧道的终点。隧道终点收到一个隧道协议报文后,进行隧道解封装。解封装后的报文交给IPv6协议栈处理。采用手工配置隧道方式进行互通的节点间必须有可用的IPv4连接,并且至少要具有一个全球惟一的IPv4地址,每个节点都要支持IPv6,路由 器需要支持双协议栈,在隧道要经过NAT设施的情况下该机制失效。
  使用标准的GRE隧道技术,在IPv4的GRE隧道上承载IPv6数据报文,提供点到点连接服务,两点之间都是一条单独的隧道。GRE隧道把IPv6作为乘客协议,将GRE作为承载协议,其本身并不限制被封装的协议和传输协议,一个GRE隧道中被封装的协议可以是协议中允许的任意协议(可以是IPv4、IPv6、OSI、MPLS等)。传输机制与IPv6 over IPv4手动隧道相同。
IPv6过渡技术之隧道技术_第2张图片
  自动隧道: 即边界设备可以自动获得隧道终点的IPv4地址,所以不需要手工配置终点的IPv4地址,一般的做法是隧道的两个接口的IPv6地址采用内嵌IPv4地址的特殊IPv6地址形式,这样路由设备可以从IPv6报文中的目的IPv6地址中提取出IPv4地址,自动隧道可用于主机到主机,或者主机到路由器之间,常用的自动隧道技术有IPv4兼容IPv6自动隧道、6to4隧道和ISATAP隧道。
  IPv4兼容IPv6自动隧道,其承载的IPv6报文的目的地址(即自动隧道所使用的特殊地址)是IPv4兼容IPv6地址。IPv4兼容IPv6地址的前96位全部为0,后32位为IPv4地址。下图为IPv4兼容IPv6自动隧道转发机制图。
IPv6过渡技术之隧道技术_第3张图片
  6to4隧道也是一种自动隧道,隧道也是使用内嵌在IPv6地址中的IPv4地址建立的,同时是一种特殊配置的中继路由,允许其能与原生IPv6网络进行通信。隧道可以使用在一台单独主机上,或一个本地网络上,但是采用6 to 4机制的节点必须至少具有一个全球惟一的IPv4地址,不利于仅支持IPv4的主机和仅支持IPv6的主机之间的互操作。下图为6to4中继示意图。
IPv6过渡技术之隧道技术_第4张图片
  ISATAP隧道是另外一种自动隧道技术,同样使用了内嵌IPv4地址的特殊IPv6地址形式,和6to4不同的是,6to4是使用IPv4地址做为网络前缀,而ISATAP用IPv4地址做为接口标识,将IPv4网络为一个非广播多路访问网络的数据链路层,因此它不需要底层的IPv4网络基础设施来支持多播。下图为ISATAP隧道示例。
IPv6过渡技术之隧道技术_第5张图片
  通过隧道技术,依靠现有IPv4设施,只要求隧道两端设备支持双栈,即可实现多个孤立IPv6网络的的互通,但是隧道实施配置比较复杂,也不支持IPv4主机和IPv6主机直接通信。但IPv6隧道作为一种应用特性,必将在网络改造中发挥重要作用。