在从 IPv4 向 v6 过渡的过程中,一定要遵照以下的准则和指标:
(1)保证 IPv4 和 IPv6 主机之间的互通;
(2)保证在更新过程中设备之间不产生依赖性(即设备的更新是独立的,不在意 其它设备是否已更新);
(3)保证整个过渡过程易于管理者与用户的理解,并且便于实现;
(4)过渡可以逐个进行;
对于 IPV4 如何向 IPV6 演进,业界提出了许多过渡策略。像 IETF 组织特别成立了 研究小组 NGTRANS 研究过渡过程,并且已经提交了各式各样演进方案,并努力使之成为 标准。纵观如今提出的各种演进方法,最有力的策略主要是下面的:
(1)双协议栈(Dual Stack)
(2)隧道技术(Tunnel)
(3)网络地址转换协议 NAT-PT(Network Address Translation Translation)
1。3。1 双协议栈技术
如果需要让 IPv4 节点与 IPv6 节点进行直接互连,最简单的方法就是在 IPv6 中加 入 IPv4 协议栈。我们称具有双协议栈的结点“IPv6/v4 结点”,“IPv6/v4 结点”既可 以处理 IPv4 分组,也可以处理 IPv6 分组。它们能应用 IPv4 协议连通 IPv4 结点,也能 应用 IPv6 协议连通 IPv6 结点。构造隧道不一定要应用双协议栈技术,但下面介绍的隧 道技术要用到双栈技术。 IPv6/v4 结点可以在配置隧道时只手工,但也支持在手工配置 的同时也自动配置隧道[7]。
双栈的工作流程可以简略描述如下:
(1)若目的地址是一个 IPv4 地址,则使用 IPv4;
(2)若目的地址是一个 IPv6 地址但兼容 IPv4,则在 IPv4 报文里封装该分组;
(3)若目的地址是其它种类的地址并且兼容,则用 IPv6,也许要封装。 后续章节会详细介绍如何将 IPv6 分组封装在 IPv4 报文里。 地址是双栈方式必须考虑的一个核心问题,这与双栈结点地址如何进行配置以及如
何通过 DNS 获取通信对方的地址相关。
(1)双栈结点的地址配置
必须同时配置 IPv4 地址及 IPv6 地址,因为双栈结点不仅支持 IPv4 还支持 IPv6 协 议。一方面通过 IPv4 机制(如 DHCP)获得 IPv4 地址,另一方面通过 IPv6 协议机制(如 无状态自动配置)获得 IPv6 地址。结点的 IPv4 地址和 IPv6 地址之间不一定要相关, 然而对于支持进行自动隧道模式的双栈结点来说,必须配置有 IPv6 地址并且要与 IPv4 地址相兼容[18]。
(2)通过 DNS 获取通信对端的地址 用户向应用层提供的只是通信对方的名字,没有地址提供,这就使得系统必须能够
提供名字与地址间的相互映射。这种映射机制 DNS 会提供,不管是对 IPv4 还是对 IPv6。 然而只有该解析库仍然是不足够的,还一定要做出判定,针对返回给应用层的地址
类型而言。在查询到 IP 地址后,对于向应用层返回的 IP 地址类型解析库提供有三个选 择:
(1)只返回 IPv6 地址;
(2)只返回 IPv4 地址;
(3)不仅返回 IPv6 地址还返回 IPv4 地址。 对前两种选择情形,应用层将分别应用 IPv4 或 IPv6 与对端进行通信;对第三种情
形,应用层必须先选择使用 IPv4 地址还是 IPv6 地址,即使用 IPv4/v6 协议。 双栈技术要求能够在 IPv4 节点上进行研究开发:
(1)IPv6、ICMPV6 和邻居发现等程序;
(2)上层 TCP、UDP 对 IPv6 的处理软件;
(3)修正一些与高层的应用程序相连的接口的库文件内容,来方便支持 IPv6 地址 及接口的扩展补充;
(4)推戴 IPv6 的域名解析服务。优点:互通性好,易于理解。
缺点:只要是 IPv6 节点,那都必须使用内部嵌有 IPv4 地址的 IPv6 地址,但是这 么做对 IPv4 地址的使用来说很浪费。