全球互联网IPv4地址于2011年2月配完毕。基于新一代互联网协议IPv6建设全球下一代互联网已经成为业界广泛共识。IPv6融合并涵盖了多种先进的网络技术,成为新型网络体系结构中的网络层支撑协议。我国已将互联网变革这一机遇作为国家信息领域建设的一项发展战略,积极采用IPv6建设中国下一代互联网(CNGI)。随着IPv6网络的大规模建设,过渡技术成为制约IPv6网络发展的核心问题。因此,IPv4/IPv6过渡技术已经成为影响国家下一代互联网发展乃至信息基础设施建设的关键技术。虽然国内外对IPv4/IPv6过渡技术已有很多研究成果,但大多数过渡技术都是解决基于IPv4骨干网的小规模IPv6接入网络之间互联的问题以及IPv4/IPv6网络之间的互联互通性问题。随着IPv6技术的进一步发展,新型网络体系结构将依托于IPv6核心网,因此过渡技术的一个关键在于实现IPv4 网络及IPv4应用通过IPv6核心网进行互联互通。
基于“2008年下一代互联网业务试商用及设备产业化专项”,在CNGI-CERNET2上建立有100个校园网参加的IPv4/IPv6过渡的试商用系统,针对IPv4与IPv6间互联互通的需求,清华大学牵头提出了主干网4over6 mesh隧道过渡系统以及IVI翻译机制,并研发相应的主干网和校园网IPv4/IPv6过渡设备。
4over6过渡总体系统方案
主干网基于mesh的IPv6过渡方案
主干网基于mesh 的过渡路线是一个IPv4→ 6over4 → dual stack→4over6 → IPv6的过程:随着IPv6的部署开始出现一些IPv6的网络孤岛,这些网络需要相互通信,此时由于IPv4传输仍是主流,主干网的大量核心路由器(P路由器)仍是IPv4单栈的,对这些P 路由器升级成双栈在实现和维护上都很困难,因此只升级少量的主干网边界路由器(PE路由器)为双栈,通过PE间隧道提供IPv6孤岛跨越IPv4主干网实现互访,即6over4;随着IP6的逐渐部署使得IPv6传输成为主流,主干网将主要基于IPv6,P路由器有一个IPv4向IPv6切换的过程,即在IPv4 运行的基础上启动配置P 路由器的IPv6协议栈,这个过程使用的是双栈技术;由于在全网进行双栈的维护开销非常大,而且IPv4的用户会越来越少,因此P路由器会关闭IPv4协议栈只维护IPv6单栈,PE路由器仍使用双栈为IPv4网络提供隧道跨越IPv6主干网,这个过程即4over6;直至最终IPv6完全大规模使用,实现向IPv6的过渡,则PE路由器和P路由器均只需维护单栈IPv6即可。
图1 Softwire mesh框架图
网状软线(Softwire mesh)是一种应用于IPv4(或IPv6)主干网络场景下各不同的IPv6(或IPv4)网络之间互联的隧道机制。如图1所示:Softwire mesh通过扩展MPBGP协议实现了各PE之间相互传播,它们所接的外部IP地址/前缀信息,从而能够实现隧道的自动配置。在Softwire mesh的方案下,IPv4和IPv6的编址和路由是相互独立的, 因此该技术可以应用于大规模网络、支持6over4和4over6且不存在可扩展性问题。Softwire mesh框架描述了一种用于解决多种不同的地址簇穿越IPv4或IPv6网络的通用方法。
网状软线机制可以提供IPv4和IPv6的传输服务,对于与主干网相同协议簇的分组直接转发,而不同协议簇的分组则可采用隧道的方式封装后转发。通过MP-BGP协议使各PE相互将其所接外部网络IP/前缀信息自动进行转发更新,这样PE的封装表能及时更新。网状软线需要边缘的PE路由器升级为双栈的并能够支持扩展的MPBGP协议,内部P路由器仍维持单栈使得升级代价小。网状软线机制可以满足主干网上基于隧道进行过渡的需求。
基于MP-BGP扩展的4over6过渡机制
网状软线Softwire Mesh可以解决IPv4网络通过纯IPv6骨干网络实现互联的问题(以下称为4over6机制)。通过扩展MP-BGP协议实现IPv4客户网路由信息在IPv6主干网边界路由器间的传播,支持IP-IP、GRE、MPLS、L2TP、IPsec等不同隧道类型并提供相应的信令机制。
总体来说,4over6机制包括2方面的问题:控制平面和数据平面。控制平面需要解决的问题是如何通过隧道端点发现机制来建立4over6隧道。由于多个PE路由器连接到IPv6传输网上,为了准确地封装IPv4分组并转发到某个出口PE路由器,入口PE路由器需要知道具体哪个PE路由器是出口路由器。通过技术扩展MP-BGP协议,在IPv6骨干网上携带IPv4目的网络的信息和隧道端点信息并发送到IPv6骨干网的另一端,以此来在PE路由器上建立无状态的4over6隧道。PE与CE之间可以通过域内或域间IPv4路由协议来交互IPv4路由,也可以由CE路由器配置缺省路由到PE路由器,视具体使用场景而定。
在建立4over6 隧道的基础上,数据平面主要关注包括封装和解封装的分组转发处理。在入口PE路由器找到恰当的出口路由器后,入口路由器需要采用某一特定的封装机制来封装并转发原始IPv4分组。出口路由器从IPv6传输网络收到封装分组后,出口路由器对分组进行解封装,并转发到相应的IPv4目的网络。由于4over6机制主要运行在PE路由器上,且只涉及对IPv4分组最外层头部的封装处理,因此也同样适用于IPv4 网络中使用NAT机制的场景。
图2 4over6机制示意图
以图2为例说明4over6机制的实际工作过程。PE2从CE2学习到到达目的IPv4网络Net B和Net C的路由信息,更新本地的IPv4路由表(PE2 IPv4 Routing table),进而产生本地封装表(PE2Encapsulation table),并将本地封装表发送给MP-BGP模块。PE2的MP-BGP模块把目的IPv4网络Net B和NetC的可达性信息以及隧道端点信息(PE2的4over6 VIF)通过BGP Update消息发送到PE1。PE1在接收到BGP更新分组后,把Net B和Net C的网络地址以及隧道端点(PE2的4over6VIF)存储到封装表(PE1 Encapsulationtable),并在本地IPv4路由表中增加相关信息,把目的地址为Net B和Net C的转发接口置为本地4over6 VIF,即PE1 VIF。
在完成上述路由信息交互后,PE1和PE2分别维护了图2所示的封装表和路由表。来自源网络Net A的目的地址在网络Net B内部的IPv4分组到达PE1后,PE1在IPv4转发表中进行路由查找,发现对应转发接口为本地VIF接口,交由本地VIF接口处理。VIF接口处理中,查找封装表,找到对应的IPv6地址(即PE2的4over6虚接口的IPv6地址),将该地址作为目的IPv6地址并将本地4over6虚接口的IPv6地址作为源地址进行封装,进而发送到IPv6网络。PE2收到封装后的分组后,进行解封装,并根据原始IPv4分组的目的地址查找IPv4转发表,转发到目的网络Net B。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。