IPv4到IPv6的过渡技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IPv4到IPv6的过渡技术
由于Internet的规模以及目前网络中数量庞大的IPv4用户和设备,IPv4到v6的过渡不可能一次性实现。而且,目前许多企业和用户的日常工作越来越依赖于Internet,它们无法容忍在协议过渡过程中出现的问题。所以IPv4到v6的过渡必须是一个循序渐进的过程,在体验IPv6带来的好处的同时仍能与网络中其余的IPv4用户通信。能否顺利地实现从IPv4到IPv6的过渡也是IPv6能否取得成功的一个重要因素。
实际上,IPv6在设计的过程中就已经考虑到了IPv4到IPv6的过渡问题,并提供了一些特性使过渡过程简化。例如,IPv6地址可以使用IPv4兼容地址,自动由IPv4地址产生;也可以在IPv4的网络上构建隧道,连接IPv6孤岛。目前针对IPv4-v6过渡问题已经提出了许多机制,它们的实现原理和应用环境各有侧重,这一部分里将对IPv4-v6过渡的基本策略和机制做一个系统性的介绍。
在IPv4-v6过渡的过程中,必须遵循如下的原则和目标:
·保证IPv4和IPv6主机之间的互通;
·在更新过程中避免设备之间的依赖性(即某个设备的更新不依赖于其它设备的更新);
·对于网络管理者和终端用户来说,过渡过程易于理解和实现;
·过渡可以逐个进行;
·用户、运营商可以自己决定何时过渡以及如何过渡。
??? 本章就支持IPv4向IPv6过渡的主要技术进行讨论,讨论主要分三个方面:
1、IP层的过渡策略与技术
2、链路层对IPv6的支持
3、IPv6对上层的影响
IP层的过渡策略与技术
对于IPV4向IPV6技术的演进策略,业界提出了许多解决方案。特别是IETF组织专门成立了一个研究此演变的研究小组NGTRANS,已提交了各种演进策略草案,并力图使之成为标准。纵观各种演进策略,主流技术大致可分如下几类:
图13 IPV4/IPV6演进策略分类
双栈策略
实现IPv6结点与IPv4结点互通的最直接的方式是在IPv6结点中加入IPv4协议栈。具有双协议栈的结点
称作“IPv6/v4结点”,这些结点既可以收发IPv4分组,也可以收发IPv6分组。它们可以使用IPv4与IPv4结点互通,也可以直接使用IPv6与IPv6结点互通。双栈技术不需要构造隧道,但后文介绍的隧道技术中要用到双栈。 IPv6/v4结点可以只支持手工配置隧道,也可以既支持手工配置也支持自动隧道。
双栈方式的工作过程可以简单描述为:
·若目的地址是一个IPv4地址,则使用IPv4;
·若目的地址是“IPv4兼容”IPv6地址,则将IPv6分组封装在IPv4报文里;
·若目的地址是其它类型的兼容地址,则使用IPv6,有可能要进行封装。
后文在介绍隧道技术时将详细讨论IPv6分组如何封装在IPv4分组里。
双栈方式要考虑的一个主要问题是地址,涉及双栈结点的地址配置和如何通过DNS获取通信对端的地址。·双栈结点的地址配置
由于双栈结点同时支持IPv4/v6协议,因此必须配置IPv4和IPv6地址。结点分别使用IPv4机制(如DHCP)获取IPv4地址,使用IPv6协议机制(如无状态自动配置)获取IPv6地址。结点的IPv4和IPv6地址之间不必有关联,但是对于支持自动隧道的双栈结点,必须配置有与IPv4地址兼容的IPv6地址,地址格式是96为0加IPv4地址。
·通过DNS获取通信对端的地址
用户给应用层提供的只是通信对端的名字而不是地址,这就要求系统中提供名字与地址之间的映射。无论是在IPv4中还是在IPv6中,这个任务都是由DNS完成的。对于IPv6地址,定义了新的记录类型“A6”和“AAAA”。由于IPv4/v6结点要能够直接与IPv4和IPv6结点通信,因此必须提供对IPv4“A”、
IPv6“A6/AAAA”类记录的解析库。
但是仅仅有解析库还不够,还必须对返回给应用层的地址类型做出决定。在查询到IP地址之后,解析库向应用层返回的IP地址可以有三个选择:
·只返回IPv6地址;
·只返回IPv4地址;
·返回IPv6和IPv4地址。
对前两种情况,应用层将分别使用IPv6或IPv4与对端通信;对第三种情况,应用层必须做出选择使用哪个地址,即使用哪个IP协议。具体选择哪一个地址与应用的环境有关。
双栈技术要求在原有的IPV4节点上开发:
(1)IPV6、ICMPV6和邻居发现等程序;
(2)上层TCP、UDP对IPV6的处理软件;
(3)修改与各种高层应用程序接口的Socket库,以便支持IPV6地址和接口的扩充;
(4)支持IPV6的DNS。??????
优点:互通性好,易于理解。
缺点:每个IPV6节点都需要使用一个内嵌IPV4地址的IPV6地址,这样比较浪费IPV4
地址。
适用情况:一般适用于V4地址不缺乏的企业或运营商,起临时过渡支持V6网络的作用。
?? 隧道技术
在IPV6发展初期,必然有许多局部的纯IPV6网络,这些IPV6网络被IPV4骨干网络隔离开来,为了使这些孤立的“IPV6岛”互通,就采取隧道技术的方式来解决。利用穿越现存IPV4因特网的隧道技术将许多个“IPV6孤岛”连接起来,逐步扩大IPV6的实现范围,这就是目前国际IPV6试验床6Bone的计划。
工作机理:在IPV6网络与IPV4网络间的隧道入口处,路由器将IPV6的数据分组封装入IPV4中,IPV4分组的源地址和目的地址分别是隧道入口和出口的IPV4地址。在隧道的出口处再将IPV6分组取出转发给目的节点。
优点:隧道技术只要求在隧道的入口和出口处进行修改,对其它部分没有要求,因而非常容易实现。
缺点:V4网络只不过是V6网络间的构造隧道的外部环境,并不能实现IPV4节点与IPV6节点间的直接通信,只能实现V6与V6间的互通。
隧道技术在实践中有四种具体形式:构造隧道、自动配置隧道、组播隧道以及6to4。
9.2.2.1 构造隧道(Configured Tunneling)
∙构造隧道的IPV6-in-IPV4的隧道目的端IPV4地址是由封装IPV6分组的IPV4节点预先配置的,隧道可以是单向的,也可以是双向的。双向配置的隧道在实际运行中就像一个虚拟的点到点的连接。
∙缺点:由于隧道只能预先配置,因此只能适应于比较稳定,不易变化的网络,且网络规模不能太大。
∙9.2.2.2 自动配置隧道(Automatic Tunneling)
∙自动配置的IPV6-in-IPV4的隧道目的端IPV4地址是不需要事先配置,使用这种隧道机制的节点必须使用IPV4兼容的IPV6地址作为其目的地址,隧道端口就根据这个IPV4兼容地址直接产生隧道端口的IPV4目的地址,然后建立隧道。
∙缺点:IPV6节点在访问目的IPV6节点时,目的节点的V6地址必须是IPV4兼容地址,显然这限制了网络的适用范围。
∙9.2.2.3 组播隧道(Multicast Tunneling)
IPV4组播隧道使用的IPV4隧道目的端口IPV4地址是通过邻居发现机制来获得的。这种隧道配置技术要求IPV4网络支持组播。
9.2.2.4 6to4
提出6to4的目的是为IPv4网络中的IPv6孤岛提供互通的手段,并且使手工配置隧道的工作两尽量少。这种方式要求每个IPv6孤岛至少有一个全网唯一的IPv4地址。6to4的基本思路是,任何一个IPv6孤岛都使用其全网唯一的IPv4地址构造自己的IPv6地址前缀,因此前缀也是全网唯一的。每个孤岛的出口路由器从IPv6目的地址中提取出隧道末端的IPv4地址,因此隧道的构造过程可以自动进行。可见6to4的关键是在IPv4地址和IPv6地址之间定义了一种映射,与“IPv4兼容”IPv6地址不同,在6to4中,IPv4到IPv6地址的映射是把IPv4地址作为IPv6地址前缀的一部分。6to4中的地址构成方法如下图所示:
即2002:v4ADDR::/48。
我们通过下图中的例子说明6to4的工作过程,图中两个有6to4地址前缀的IPv6网络要通过IPv4网络互通。