继解决2000年问题之后,网络界迫在眉睫、也是最为棘手的问题当数完成从ipv4向ipv6的过渡。随着inte.net的规模以近乎于指数的趋势增长,ipv4的地址空间面临即将耗尽的危险。40亿个ipv4的地址已经用掉了3/4,另外,inte.net早期由于缺乏规划,造成了ip地址分配“贫富不均”的现象,少数团体与单位占用了许多a类地址,如mit与at&t就各自占用了1600万个ip地址,由此浪费了大量的ip地址,后来的大部分单位与公司就只能申请余下的c类地址,特别是像中国与日本这样需要大量ip地址却得不到足够多的地址的国家更是如此。
为此,ipv6将ip地址的长度由32个比特位扩展到128个比特位,将ipv6的地址空间扩展为3.4×1038个,届时地球上每个人可分配到1.8×1019个ip地址。促使推广ipv6的另一个原因是新的应用对inte.net提出了更高的要求,需要inte.net提供更复杂的寻址与路由能力,特别是下一代移动数字电话对inte.net提出了更高的要求。
需要指出的是,目前的ipv6还不是最后的标准,即使是将来采用ipv6标准时,也不会马上弃用ipv4。网络界人士认为,从1994年算起,从ipv4向ipv6的过渡至少要花费15年。但是,网络管理人员现在就应该考虑、规划ipv4向ipv6的转换,要未雨绸缪、早作准备,避免出现类似y2k问题的那种尴尬局面。
由于从ipv4向ipv6的过渡需要一个相当长的过程,在此期间,必须保证ipv4和ipv6具有互操作性。这种过渡应与顺序无关,即可先对主机升级,也可先对路由器升级,甚至也可以将部分主机与部分路由器同时升级。本文重点阐述从ipv4向ipv6过渡应采用的、且保证ipv4和ipv6具有互操作性的两种技术与策略,这两种技术分别是隧道(tunnels)技术与协议转换技术,但是究竟哪一种技术将成为主流目前仍不明朗。
隧道技术
在服务商提供ipv6主干及其服务之前,端对端的ipv6服务需要通过ipv4网建立隧道,将ipv6包封装于ipv4包的负载部分,在隧道的另一端的节点处再将ipv6包从ipv4包中剥离出来并送往目的节点。隧道的类型取决于由何种设备封装及由何种设备来解包。
●路由器—路由器隧道
用于连接被ipv4网隔离的两个ipv6网的连接;
●主机——路由器隧道
用于独立的双ip主机通过双ip路由器与ipv6网进行通信;
●路由器——主机隧道
用于将独立ipv6或ipv4节点与ipv6网络隔离;
●主机——主机隧道
用于将相互独立的ipv6/ipv4节点通过ipv4网相互通信,此时两个双ip节点作为隧道的端节点通过ipv4网进行通信。
ipv6隧道能自动配置,也可以由ipv4多目广播隧道进行配置。在一个配置好的隧道中,端点由ipv6包的目标所确定,即系统人员必须对ipv4进行封装并指明将ipv4包送往何处。当ipv6根据一个ipv4地址的内容被送往一个双ip的节点时便产生自动隧道,该自动隧道在ipv6路由架构中传播完整的ipv4路由表,但并不耗用任何的ipv4地址。
ipv4多播隧道只能在支持多播的ipv4架构下工作。在ipv4中封装的ipv6节点使用ipv4多播的邻居发现机制确定隧道的端点,该机制允许ipv6节点发现同一链路上的其他节点,确定其链路层地址以寻找路由器,维持通往活动邻居的路径信息。这样做的好处是省去了隧道的配置且不使用ipv4兼容地址。但是,它需要isp支持多播路由,遗憾的是,目前许多isp还不能在inte.net上提供多播路由功能。
协议转换
实现ipv4/ipv6互操作性的第二种方法是协议转换,但这种实现并非轻而易举,挑战之一是如何以简单的方式将ipv6地址转换为ipv4地址,挑战之二是ipv6要改变ipv4头标的内容,为了提高效率,ipv6采用了与ipv4数据报分段(fragmentation)不同的分段方法。
●头标转换机制
将ip头标通过协议网关设备由一种ip版本转换为另一种ip协议,网关设备位于ipv4与ipv6间的边界处;
●传输中继
转换网关从源节点接收tcp片段(segment)及udp数据报并将之转换为能被目标所接收的tcp与udp交通,该设备不仅要检测转换头标,而且要对传输层协议头标进行处理,使之适用于相应的ip版本;
●应用代理(application proxy)
此时的转换器为ipv4与ipv6之间的应用层网关转换器。
1.匹配机制
协议转换的主要提案之一是网络地址转换协议(nat)。该协议通过使用nat网关将一种ip网地址转换为另一种ip网地址,它允许网管人员使用一组在公网中从不使用的保留地址。此时将ipv6网视为独立而封闭的地址域,它需要使用一个“翻译器”将“内部地址”转换为“外部地址”。也可以将nat与一种协议转换机制结合而生成一个“网络地址转换器—协议的转换器(nat-pt)”用于实现协议、地址的转换。 nat-pt是nat的一个特例,因此它不可避免地也具有nat的缺点:它将端对端的网络割裂并塞入了一个潜在的单故障点,另外它还将数据报的控制功能从端点移向了网络;nat-pt不支持ipv4与ipv6互不具有的那些特性,如ipv4包的路由器分段、ipv6交通类别及信息流标号等。“网络地址与端口转换器—协议的转换器(napt-pt)”则对nat-pt做了改进,将ipv6数据报映射为tcp端口/ipv4地址对,并通过转换器增加并行端口的数目。napt-pt与nat-pt基本上基于早期的siit机制(stateless ip/icmp转换器),通过使用临时分配的ipv4地址用于ipv6与ipv4相互之间地址的转换,而socks v5对sock机制进行扩展实现应用数据的转换,sock服务器作为内部节点的代理接收与处理应用数据、将其打包使之适用于相关的ip版本。
2.转换策略
实现由ipv4向ipv6过渡的一种办法是先将整个网络的一小部分升级为ipv6网,ipv6网将被大量ipv4网所包围。此时可采取ip网中的节点不支持ipv4、但在网络边界处的节点必须支持ipv4的策略,这样ipv6的内部节点能相互直接通信并通过适用双ip的路由器经由隧道与其他ip网通信。一般来说,早期的ipv6研究实验网宜采用这种ipv6“岛”的建网方式。
另一种办法是将各个独立的节点升级使之支持ipv6与ipv4两种ip版本,那么这些节点就可以通过各自的节点链路直接通信或通过隧道与远程ipv6/ipv4节点通信,这种方案允许某些单位为了访问远程的ipv6节点与网络而将其网络中的一些节点进行升级,但其缺点是需手工配置。
ipv6的推广
从1996年起,6 bone网就为ipv6的研究提供了一个实验环境,早期的研究者可以申请6 bone地址。到目前为止,有40多个国家近400个网络已经与6 bone ipv6实验网相连。我国ipv6的研究与实验也正在紧锣密鼓地进行。北京大学、清华大学、东北大学及东南大学正在建立ipv6实验床,近期还将有几所大学加入这一行列。除了6 bone网外,还有6 ren网(6研究与教育网)可提供ipv6的连入,当然人们也可建立自己的专用ipv6主干网,但这远比连入已有的ipv6要复杂得多。
当前急需解决的问题是建立一个ipv6地址规划与分配的权威机构,避免inte.net早期地址分配的那种无序且极不合理的现象再次发生。可喜的是,美国inte.net号码登记组织(arin)最近提交了有关ipv6地址分配的草案(www.arin.net)。
总之,从ipv4向ipv6的过渡是人们未来实现全球inte.net不可跨越的步骤,它决不是一朝一夕就可以办得到的。从ipv4向ipv6的转换是一个相当长的过渡时期,在此过渡期间需要ipv4与ipv6共存,并解决好互相兼容的问题,逐步实现这一过渡,最终实现ipv6全球inte.net。我国的网络界人士对此应引起足够的重视,早做研究并采取相应策略。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器