| IPV6 >> 03 IPv6技术进阶应用-隧道篇 >> 应用背景和发展问题 >> |
在多年处理IPv4网络之后,地址短缺的危机给了人们一个重新审视IPv4的机会,新的用来替代IPv4的协议有哪些我们可以期待的东西。然而IPv4以往的成功和现实的经济利益最终成为了人们推动IPv6发展的巨大惰性和障碍,除非Internet出现颠覆性的应用,否则未来Internet的实现都将是如下的图景:少量运行
IPv6协议设备的小网络“孤岛”,以及大量运行 IPv4协议的设备组成的“海洋”。
现阶段的情况IPv4使用还是主导地位,在推广的时候就会遇到IPv4和IPv6共存的情况,当存在两种不同的协议就会出现一些问题,主要有以下两个问题:
1. IPv6报文不能在IPv4环境中传输。
2. 配置IPv6的地址设备不能直接和配置IPv4地址的设备通信。
双协议栈是指在终端设备和网络设备上同时安装IPv4和IPv6的协议栈,支持双协议栈的设备可以同时处理IPv4的数据和IPv6的数据。
协议栈,是指某一组协议的关系以及该组协议的层次结构,一般有清晰的依赖关系和上下行消息交互。比如IPv4就是一个协议栈,包含了数据交互七层模型中的所有协议,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。
一个典型的IPv4/IPv6双协议栈结构如图所示。在以太网中,数据报头的协议字段使用0x86dd和0x0800来区分所采用的上层协议是IPv6还是IPv4。

双协议栈的工作机制大致过程如下:
1. 链路层解析出接收到的数据包的数据段,拆开并检查报头。
2. 如果IP包的版本号是4,该包就由IPv4的协议栈来处理;如果版本是6,则由IPv6的协议栈处理。
数据传输的方式如下图:

对于IPv6网络设备与IPv4网络设备之间的互通,双协议栈机制是最直接和最简单的方式。但是双协议栈的使用增加了设备的内存消耗,提高了CPU使用率,会导致设备性能的下降。由于需要同时部署IPv4和IPv6的路由基础设施,使用双协议栈的过渡方式也会为网络增加复杂度。
在IPv4网络向IPv6网络过渡过程中,肯定会遇到IPv4和IPv6共存的场景,这个时候就需要设备有能力同时处理IPv4和IPv6的数据。因为两类数据的报文格式不一样,一套协议无法同时处理两类数据,所有必须要让设备安装双协议栈。
我们已经知道双协议栈能同时处理IPv4和IPv6的数据,当设备支持双协议栈就能将IPv6和IPv4连接起来,形成一座桥,通过这座桥我们就能实现IPv4和IPv6通信。接下来我们介绍这种桥---隧道技术。