百校部署4over6隧道过渡技术
发布时间: 2014-12-03 浏览次数: 47
 

http://www.edu.cn   2013-11-14 中国教育网络 作者:孙静文 崔勇 吴建平

  全球互联网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。

  过渡系统部署情况

  整体部署结构

  IPv4/IPv6过渡子项目需要在CNGICERNET2上建立有100个校园网参加的4over6过渡试商用系统,实现百所高校通过4over6进行互联互通以及访问IPv4 Internet。项目组结合各大高校的实际网络运营情况进行部署,能够很好地与校园网已有的路由相互隔离开,不对现有的校园网产生影响,同时又能很好地满足部署的需求。4over6过渡系统切实地使用CERNET2网络为各院校提供了便利,分担了院校的部分流量,保证了端到端的透明性。

图3 整体部署拓扑图

  图3 所示为实际的部署图。各校园网4over6 PE路由器需要以IPv6的形式通过扩展的MP-BGP向其他的4over6 PE路由器宣告其后所接的IPv4 网络前缀;同时核心4over6节点也需要以同样的方式将默认路由宣告给各校园网设备,这样各校园网的4over6网络所发出的IPv4分组会经过4over6PE路由器发到核心节点或是其他的校园网4over6节点。核心节点在收到封装的4over6分组后经解封装将这些分组发到I P v 4Internet上。为了使得从核心节点发出的分组的返回分组仍能经由核心节点4over6到达各校园网,核心节点将各校园网4over6地址段的路由向外宣告则能够达到返回的分组仍能经由4over6。各个院校可以根据自己的实际情况来选择校园网的部署方式。

  核心节点部署结构

  4over6系统的核心节点部署在清华大学的双栈实验室Dragon lab中。4over6的部署拓扑图如图4所示,在清华Dragon lab网络中部署4over6 PE路由器、4over6网络管理服务器用于为4over6网段进行分组转发。Dragon lab为4over6核心节点提供IPv6接入的上游路由器需保证4over6 PE路由器的IPv6可达性;过渡系统申请了一个公有地址段用于分配给各校园网,Dragon Lab同时需要向外宣告这一公有地址段的路由。

图4 核心节点拓扑图

  校园网部署

  在各校园网的4over6网络部署过程中需要考虑到对原有校园网的影响尽可能小,同时由于其他服务器需要借助4over6来为外界提供IPv4服务,因此4over6系统采用了公有地址段加上NAT的方式。公有地址分配给需要为外界提供IPv4服务的服务器,NAT用于复用公有IPv4地址,具体的部署拓扑图如图5所示。

图5 校园网部署拓扑图

  若单独搭建局域网,则需要一台服务器用于实现DHCP server和NAT功能(如图5 DHCP server)。DHCP server收取来自4over6网络中主机DHCPv4的请求并分配私有地址给4over6用户;另一方面DHCPserver收到4over6用户发往外界的报文时,需要先进行一次NAT将源地址端口映射为公有地址端口。同时DHCP server上还需要存有4over6网络中的用户数信息,供网管来进行读取。4over6 PE路由器通过扩展的MP-BGP协议将所分配到的公有网络前缀发布给其他学校的4over6 PE路由器以及核心4over6节点,并接收其他4over6节点的路由信息。这样的配置方法确保了各服务器的IPv4可达性。

  对于4over6的部署,由于边界路由器众多,因此采用路由反射器,由东北大学、西安交大、北京邮电大学和华中科技大学4所学校的4over6路由器同时作为BGP路由反射器。拓扑结构如图6所示。

图6 校园网拓扑结构图

  4over6网络管理与运行监测

  部署在核心节点的网管服务器用于向各高校节点收集4over6的运行信息,包括各个高校的4over6流量信息、速率信息以及用户数信息,并通过Web的方式给予直观的显示。为收集各校园网的4over6用户数信息,本项目在各校园网的DHCP 服务器配置私有MIB,网管系统便可以通过获取私有MIB的方式从DHCP服务器上读取校园网的4over6用户数,图7(1)和(2)是网管系统获取的清华的流量和用户数信息。

图7(2) 清华大学DHCP分配的地址数

  4over6过渡系统已部署到CNGI-CERNET2百所校园网节点上,实现这些IPv4校园网以4over6的形式通过CERNET2 IPv6主干网进行互联互通,以及实现校园网与IPv4 Internet互联互通。通过4over6方案的部署,一方面可以进一步验证4over6技术的可操作性、性能特别是可扩展性,另一方面,也对各IPv4校园网络利用CERNET2 IPv6网络进行IPv4流量分流,实现流量规划和均衡提供了可能,有着很现实的意义。通过引入4over6等IPv6过渡技术,在保证复杂环境下的网络连通性的同时,也可以有效地促进IPv6网络的应用,加速互联网向IPv6过渡的进程。

  主干网4over6过渡方案较好地解决了IPv4网络穿越IPv6核心网的互连互通问题,已经成为该过渡场景下一个较成熟的解决方案。在当前IPv6 网络逐渐大规模部署,IPv4网络仍大规模存在的情况下,4over6机制的运用将会对IPv4/IPv6网络的共存,包括互相穿越和互连互通带来较大的帮助。主干网4over6过渡技术具有轻量级和对核心网透明的优点,可扩展性高,具备高效性和高可用性。4over6技术中提出的实现跨越地址簇的动态路由和动态隧道的方法为其他过渡技术研究提供了很好的借鉴。

  (作者单位为清华大学计算机系)