通信人家园

标题: IPv6过渡机制优缺点分析、评价  [查看完整版帖子] [打印本页]

时间:  2005-5-13 08:08
作者: tian7163     标题: IPv6过渡机制优缺点分析、评价

摘 要:本文在简要地介绍Ngtrans工作组提出的大多数过渡机制的基础上,尝试对它们进行区分、分类,并对每一种过渡机制的优缺点进行分析。另外,还对这些机制的布置以及一部分支持这些机制的产品平台进行讨论。



  关键字:隧道/封装;兼容IPv6地址;站内自动隧道寻址协议;网络地址转换--协议转换;多协议标记交换



1 引言



   随着互联网的飞速发展,IPv4协议的缺陷逐渐暴露出来,由于IPv6与IPv4相比具有诸多的优越性,使得IPv6替代IPv4已经成为网络发展的必然趋势。然而,IPv4协议体系已有广泛的网络基础和应用基础,IPv6协议体系作为后来者,必须提供完整的网络技术过渡方案和应用过渡方案才能够满足互联网网络迁移到IPv6的要求。本文试图网罗当今最有市场前景、已经被标准化的以及被广泛承认和支持的过渡机制。



2 过渡机制



任何过渡机制都可以被划分为属于以下一种(或几种)类型:



·双协议栈方式



·隧道/封装方式



·协议翻译



  2.1 双协议栈方式



  双协议栈是IPv6过渡技术的基础,不仅用于建设双栈网络,也是各种过渡隧道机制的基础,它是指在同一网络节点支持IPv4和IPv6两种协议栈。双协议栈方式的实现可参见图1所示的概念模型。



  这种双协议栈方式主要指所有提供IPv4和IPv6协议栈的主机和路由器。即:在理论上,任何双栈结点都能够直接同IPv4和IPv6网络结点互操作。



  2.2 隧道方式



  IPv6的隧道策略就是在网络的某一结点将IPv6的整个报文封装在IPv4报文中,并将这个IPv6报文视作IPv4数据报的数据净负载,然后在目的地将其解封,得到IPv6报文。图2简要地说明了这种技术的运作机制。



  隧道技术巧妙地利用了现有的IPv4网络,提供了一种使IPv6的节点之间能够在过渡期间通信的方法,但它并不能解决IPv6节点与IPv4节点之间相互通信的问题。














  (1)IPv4兼容IPv6地址(6over4)



  这是一种通过6over4隧道实现IPv4与IPv6互通的方式。在这种方式下,IPv4终端上要使用IPv4兼容IPv6地址,地址格式如图3所示。其中,IPv4地址为全局惟一的IPv4单播地址。



  IPv4域中的IPv4终端实际上也支持双重协议栈,与其他IPv4终端通信时使用IPv4协议栈,与IPv6终端通信时使用6over4隧道。IPv4域的路由要通过网关路由器渗透到IPv6域中,以便在IPv6域中形成通往IPv4域的兼容地址自动隧道,使IPv6域内终端能够访问IPv4终端。系统构成如图4所示。



  (2)6to4



  这种机制实际上是将IPv4网络当作一个单播的点到点链路层,其特点在于特殊形式的IPv6地址运用。一个6to4站点必须具有一个或一个以上的全球唯一的IPv4地址,任何一个6to4站点都拥有图5的地址形式。该站点的IPv6地址前缀包括FP、TLA、NLA三部分,总长度为48位,表示方式是2002:V4ADDR::/48。



  6to4站点内的主机可相互通讯,当需要与一般IPv6主机通讯时,必须经过6to4 relay router,6to4 relay router必须同时具备6to4及IPv6接口,同时提供这些接口的封包传送。















  (3)站内自动隧道寻址协议



  站内自动隧道寻址协议ISATAP用于在IPv4站点内连接IPv6主机和路由器,它允许那些与IPv6路由器不共享共同链路的双栈节点,通过IPv4自动将分组以隧道的方式送到IPv6下一地址。双栈主机在与其他主机或路由器通信之前,首先要获得一个ISATAP地址。双栈主机先向ISATAP服务器发送路由请求,得到一个64位的IPv6地址前缀,然后再加上64位的接口标识符∷0:5EFE:IPv4Address,这样就构成一个ISATAP地址。双栈主机配置了ISATAP地址后,就成了一个ISATAP客户机,进而就可以在IPv4域内和其他的ISATAP客户机进行通信了。



  (4)Teredo(Tunneling IPv6 through NATs)



  由于目前的NATbox一般只支持第四层为UDP/TCP协议的转换,使得IPv6-OVER-IPv4的数据包无法顺利通过NAT,因此IEIF提出Teredo(Tunneling IPv6 through NATs)转移机制,将IPv6数据包包在UDP/IPv4 数据包中传送。



  Teredo使用特殊的地址格式,除了固定的Teredo前缀,将Teredo服务器IPv4地址、客户端的公共IPv4地址以及UDP端口插入IPv6地址中。Teredo目前尚为IEIF草案,还未指派特定的IPv6前缀作为Teredo前缀。








   2.3 翻译器



  (1)NAT-PT



  网络地址转换-协议转换(NAT-PT)是一种纯IPv4终端和纯IPv6终端之间的互通方式,也就是说,原IPv4用户终端上不需要进行升级改造,所有包括地址、协议在内的转换工作都由网络设备来完成。在这种情况下,网关路由器要向IPv6域中发布一个路由前缀Prefix::/96,凡是具有该前缀的IPv6包都被送往网关路由器。网关路由器为了支持NAT-PT功能,还具有IPv4地址池,在从IPv6向IPv4域中转发包时使用。此外,网关路由器支持DNS-ALG(DNS-应用层网关),在IPv6终端访问IPv4终端的过程中发挥作用。采用NAT-PT方式互通时的系统构成如图7所示。













  (2)BIS /BIA



  BIS(bump-in-the-stack)机制允许在IPv4节点运行的不支持IPv6的应用程序能够与纯IPv6节点通信,在IPv4协议栈中插入三个特殊的扩展模块:域名解析模块、地址映射模块和报头翻译模块。其基本思想是当IPv4应用程序与纯IPv6节点通信时,将节点的IPv6地址映射成一个备用IPv4地址池中的IPv4地址。可以认为BIS是NAT-PT在主机节点IP协议栈的特例实现。



  BIA技术在双栈主机的SockeAPI模块与TCP/IP模块之间加入一个API翻译器,API翻译器包含域名解析器、地址映射器和函数映射器三个模块,主机API检测到发出的IPv4 API,进行相应的地址映射,调用IPv6的API函数和外部的IPv6主机进行通信。BIA技术同BIS类似,只是在API层而不是在协议栈的层次上进行分组的翻译,所以它的实现比BIS要简单一些,因为不需要对IP包头进行翻译。BIS与BIA的主要区别是:BIS用在没有IPv6协议栈的系统上,BIA用在有IPv6协议栈的系统上。



  2.4 MPLS过渡技术



  MPLS是第三代网络架构,是集成式的IPoverATM技术,数据包通过虚拟电路来传送,只需在OSI第二层(数据链接层)执行硬件式交换。MPLS是面向连接的,其关键概念使用标签来识别IP报文,并把标签封装过后的报文转发到已升级改善过的交换机或路由器,由他们在网络内部继续交换标签,转发报文,网络路由器只需判别标记后即可进行转发处理。



  网络边缘的节点被称为标签边缘路由器(LER),而网络的核心节点被称为标签交换路由器(LSR)。在LSR内,MPLS控制模块以IP功能为中心,转发模块基于标签交换算法,并通过标签分配协议(LDP)在节点间完成标签信息以及相关信令的发送。但LDP信令以及标签绑定信息只在MPLS相邻节点间传递。LSR之间或LSR与LER之间仍然需要运行标准的路由协议,并由此来获得拓扑信息。通过这些信息LSR可以明确选取报文的下一跳,并可以最终建立特定的标签交换路径(LSP),在MPLS节点之间的路径就是LSP,一条LSP可以看作是一条贯穿网络的单向隧道。



  表1对上述的各种过渡机制进行分类,分析了它们的优缺点,给出方案适用的网络范围和环境以及地址分配的要求等。在实际应用中,需要综合考虑应用要求,因地制宜,以便采用合适的过渡机制。
















  3 过渡机制的支持平台



  经过3年多的发展,主要的几种操作系统(无论作为客户还是服务器),以及路由平台都在一定程度上支持IPv6过渡机制。表2给出了几种主流平台对这几种过渡机制的支持情况。



  4 结束语



  到目前为止,还没有一种机制能够适用于所有的情况,各种过渡机制都有其特定的适用环境。在部署IPv6网络的过程中,首先要明确应用的类型、范围和系统的类型,然后选择合适的过渡机制进行设计和实施。只有因地制宜、科学分析,才能更好地、更顺利地用最小的代价从IPv4网络世界逐步过渡到IPv6网络世界。





通信人家园 (https://www.txrjy.com/) Powered by C114