1.6.1 隧道机制
隧道技术是一种通过互联网络基础设施在网络之间传递数据的方式。使用隧道传递的数据可以是不同协议的数据帧或包,隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送,被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由,一旦到达网络终点,数据将被解包并转发到最终目的地。整个传递过程中,被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。
隧道技术作为另一种 IPv4到 IPv6过渡的技术,是将 IPv6数据包封装在 IPv4中,让 IPv6数据包穿过 IPv4网络进行通信。对于采用隧道技术的设备来说,在隧道的入口处,将 IPv6的数据包封装进 IPv4,IPv4数据包的源地址和目的地址分别是隧道入口和隧道出口的 IPv4地址;在隧道的出口处,再将 IPv6数据包取出转发到目的节点。隧道技术只要求在隧道的入口和出口处进行修改,对其他部分没有要求, 容易实现。但是,隧道技术不能实现 IPv4主机与 IPv6主机的直接通信。为了更容易地理解隧道技术,还是以快递为例,准备发件用户 A所在小区和准备寄往的目的地用户 B 所在小区已经采用了新的楼栋门牌号码,但是出小区后的所有街道还是采用老式的门派和道路号码机制,A寄出包裹时将 B的门牌号作为目的地址,包裹出小区时小区物业在包裹外层再加上一层盒子,把B所在小区的老式门牌号码作为目的地址再寄出;当B所在小区物业收到包裹后,拆开外层包装,看到里面包裹及B所在的楼号,把包裹再送到 B完成一次交互。
IPv6-over-IPv4的场景下主要采用 GRE隧道技术和手动隧道两种方式。
1. IPv6-over-IPv4GRE隧道技术
使用标准的 GRE隧道技术, 可在 IPv4的 GRE隧道上承载 IPv6数据报文。GRE隧道是两点之间的链路,每条链路都是一条单独的隧道。GRE隧道把 IPv6作为乘客协议,将 GRE作为承载协议。所配置的 IPv6地址是在隧道接口上配置的,而所配置的 IPv4地址是隧道的源地址和目的地址(也是隧道的起点和终点)。
GRE隧道主要用于两个边缘路由器或终端系统与边缘路由器之间定期安全通信的稳定连接。边缘路由器与终端系统必须实现双协议栈。
2. IPv6-over-IPv4手动隧道
手动隧道也是通过 IPv4骨干网连接的两个 IPv6域的永久链路,用于两个边缘路由器或者终端系统与边缘路由器之间安全通信的稳定连接。手动隧道的转发机制与 GRE隧道一样,但它与 GRE隧道的封装格式不同,手动隧道直接将 IPv6报文封装到 IPv4报文中,IPv6报文作为 IPv4报文的净载荷。