基于IPv4协议的互联网经过20多年的飞速发展,在全球范围内已经取得了巨大的成功。但是,随着互联网规模的持续增长和新需求、新业务的发展,基于IPv4协议的网络环境已经难以应对,网络规模的急剧扩张突显了IPv4的一系列严重问题,包括地址资源紧张、路由可扩展性不足、网络地址转换(NAT)技术[1]带来的端到端特性破坏等。

IPv6协议[2]是下一代互联网中替代IPv4的网络基础协议。由于IPv6与IPv4并不兼容,互联网在从IPv4向IPv6过渡过程中面临着异构路由、可扩展性、状态维护等问题。此外,由于大多数网络资源、服务和应用仍基于IPv4实现,终端用户对IPv4仍然存在依赖性,因特网业务提供商(ISP)对于IPv6升级存在一定惰性,以及网络设备尤其是接入网设备对IPv6的支持不足等因素,可以预见IPv4与IPv6将在较长一段时期中共存。而在二者共存期间,如何较快较好地实现全网向IPv6过渡、尤其是接入网的过渡,已经成为制约下一代互联网发展的关键。

针对IPv6过渡问题,目前国际上已提出了许多过渡技术方案[3],这些方案按技术思想分类,大体上可分为隧道技术和翻译技术[4-5].本文从隧道过渡思想出发,提出了面向全网的IPv6隧道过渡框架体系,以及主干网和接入网过渡各自适用的4over6软线隧道技术。目前4over6软线隧道过渡方案及相关技术已在国际互联网标准化组织IETF形成了RFC4925、RFC5565及RFC5747等3项国际标准,并在中国通信标准化协会形成了2项中国通信行业标准。

1全网IPv6隧道过渡框架与策略

面向全网的IPv6过渡技术方案需要满足以下需求[6]:

(1)保持端到端特性,这是实现终端节点与互联网间无障碍双向互联互通需要满足的基本要求。

(2)保持异构网络可扩展性,即IPv4、IPv6网络各自路由的独立性和可扩展性,这是在过渡时期在对既有IPv4网络进行最小化改动的情况下平滑实现IPv6过渡的重要保证。

(3)对上层移动应用呈现透明性,这是在IPv6过渡时期维护既有的IPv4应用,保证用户良好网络体验的关键保障。

全网IPv6隧道过渡问题[7]按照网络层次不同可划分为主干网IPv6过渡及接入网IPv6过渡,其隧道过渡框架如图1所示。主干网向上连接ISP网络,同级连接其他的主干网,向下连接接入网。接入网向上连接主干网,向下为各种不同类型的用户提供接入。在接入网与主干网相邻一侧有若干边界路由器(BR)与边缘路由器(PE)相连接。主干网隧道过渡要求PE升级为双栈,PE之间使用隧道为与主干网地址簇异构的分组提供透明传输。接入网隧道过渡要求BR以及用户侧边缘设备(CE)维护双栈,CE为与接入网不同地址簇的分组建立隧道发往BR,这样CE与BR间使用隧道为与接入网地址簇异构的分组提供透明传输[8].

 



图1全网IPv6隧道过渡框架示意图

全网隧道过渡路线是一个IPv4到IPv6 over IPv4到双栈到IPv4 overIPv6到IPv6的过程。过渡初期,一些IPv6接入网孤岛出现,这些网络需要互访以及访问IPv6互联网。此时由于IPv4传输仍是主流,大量主干网核心路由器(P)仍是IPv4单栈,将这些P路由器都升级为双栈比较困难。

因此应优先将少数PE路由器升级为双栈,并通过6over4隧道为IPv6孤岛提供跨越IPv4传输服务。主干网P路由器会在运行IPv4基础上启动IPv6协议栈,即升级为双栈。随着双栈P路由器规模增大,相应运维开销也逐渐增大,而IPv4传输需求越来越少,因此P路由器会逐渐关闭IPv4协议栈而只运行IPv6单栈;PE路由器则仍维持双栈,通过4over6隧道为IPv4网络提供IPv6网络跨越传输服务;最终IPv6在全网中完全部署,网络全面实现向IPv6的过渡。

2 IPv6主干网4over6软线隧道技术原理与应用

主干网边缘处的PE与上级、接入网、同级主干网之间运行外部边界网关协议(EBGP),互相传递域间路由信息,而主干网内侧的骨干路由器(PR)间则通过内部边界网关协议(IBGP)进行路由信息交互。主干网的主要任务是提供IPv4和IPv6的接入和传输服务,在IPv6单栈主干网中需要部署实现主干网4over6软线隧道技术[9].

4over6软线隧道技术通过自动隧道机制来建立4over6软线隧道。

4over6软线隧道技术对IPv6主干网的核心路由协议——多协议边界网关协议(MP-BGP)进行4over6扩展[10].

该扩展使MP-BGP报文携带IPv4目的网络的信息和隧道端点信息并发送到IPv6主干网的另一端,通过IPv4/IPv6路由异构隔离混传使PE间能建立无状态的4over6软线隧道。PE与CE之间可以通过域内或域间IPv4路由协议来交互IPv4路由,也可以由CE配置缺省路由到PE.PE需要完成分组的封装、解封装及转发处理。

在入口PE通过IPv4路由找到合适的出口PE后,入口PE需要采用IPv4-in-IPv6封装机制来封装并转发原始IPv4分组。出口PE在IPv6主干网侧收到IPv4-in-IPv6封装分组后,对分组进行解封装,并转发到相应的IPv4目的网络。

目前主干网4over6软线隧道技术已在IETF形成了2项国际标准RFC5565和RFC5747,并已在当前世界上最大的IPv6单栈主干网——CNGI-CERNET2上完成了部署,形成了有百所高校校园网参加的4over6软线隧道过渡试商用系统。主干网4over6软线隧道技术在CNGI-CERNET2部署如图2所示。主干网4over6软线隧道技术结合各大高校的实际网络运营情况进行部署,能够很好地与校园网已有的路由相互隔离开,不对现有的校园网产生影响,同时又能很好地满足部署的需求。部署与试验结果表明,主干网4over6软线隧道技术对主干网改动小,设备配置简单,可扩展性高,维护负担小,保护了原有网络设备投资,能够支持WEB、P2P等各种IPv4典型应用,具有良好可运营性。

 



图2主干网4over6软线隧道技术在CNGI-CERNET2部署示意

3 IPv6接入网4over6软线隧道技术原理

接入网的主要任务是为用户边缘设备提供接入主干网或互联网的服务。为达到这一目的,在IPv6单栈主干网中需要部署实现接入网4over6软线隧道技术[11-12].

接入网4over6软线隧道体系结构如图3所示。作为4over6隧道发起点的CE既可以是终端主机,也可以是用户驻地设备(CPE),如家庭网关等,统称为4over6 CE.作为4over6软线隧道汇聚点的BR由ISP维护,称为4over6 BR,部署在ISP IPv6网络(IPv6接入网)与IPv4互联网(或主干网)交界处,所有出入ISP网络的IPv4报文均要经过4over6 BR.

 



图3接入网4over6软线隧道体系结构

控制层面上,IPv6网络中的4over6 CE通过自适应异构动态接入机制[13]接入IPv4互联网。

为4over6 CE分配IPv4地址的DHCP服务器由ISP维护,既可与4over6 BR联合部署,也可作为独立DHCPv4服务器与4over6 BR部署在同一IPv4网络中。由于4over6 CE与4over6 BR间通过纯IPv6接入网连接,传统的动态主机配置协议(DHCP)不能在IPv6网络中正常运行,因此接入网4over6软线隧道技术对传统DHCP进行了扩展,采用了基于IPv6传输的DHCPv4 over IPv6扩展机制来进行IPv4地址分配。DHCPv4 over IPv6机制包含两种场景,如图4所示。图4(a)所示为DHCPv4客户端通过客户中继代理(CRA)与IPv6扩展DHCP服务器(TSV)进行通信,而图4(b)所示为DHCPv4客户端通过CRA和IPv6传输中继代理(TRA),与传统DHCP服务器进行通信。



图4 DHCPv4 over IPv6机制应用场景

CRA与DHCPv4客户端处于同一主机中,负责对DHCPv4客户端与TSV/TRA之间的DHCPv4信息进行中继。CRA与DHCPv4客户端通过IPv4进行通信,与TSV/TRA则通过UDPv6报文进行通信。TRA部署在IPv6网络与IPv4网络之间,负责对CRA与纯IPv4的传统DHCPv4服务器之间的DHCPv4消息进行中继。TSV是支持IPv6报文传输的DHCP服务器。它部署在IPv6网络中,与CRA或TRA进行IPv6报文承载的DHCP数据传输,从而完成与DHCP客户端的交互,并为客户端主机分配IPv4地址。通过该机制,DHCP客户端无需进行任何改动,即能获取TSV分配的IPv4地址及其他资源。

数据层面上,在4over6软线隧道两端,4over6 CE与4over6 BR分别完成IPv4-in-IPv6的封装和解封装工作。

当4over6 CE需要向4over6 BR发起通信时,4over6 CE首先根据本机IPv6地址以及事先得知的4over6 BR端IPv6地址,对IPv4报文进行IPv6报文头的封装,原本的IPv4报文成为了IPv6报文的负载。之后4over6 CE将该报文发送至IPv6网络,报文经由IPv6网络被递交给4over6 BR.4over6BR在收到该报文后,首先对该IPv6报文进行解封装,将其还原为IPv4报文,之后4over6 BR将报文交由IPv4网络进行后续转发过程。

当4over6 BR需要向4over6 CE发起通信时,4over6 BR首先检查在本机维护的4over6 CE端IPv6地址与IPv4地址映射表,通过匹配IPv4报文目的地址与映射记录,找出对应的IPv6地址作为IPv6头的目的地址,并以4over6 BR本机的IPv6地址为源地址,对IPv4报文进行IPv6报文头的封装,IPv4头及以内的内容成为了IPv6报文的负载。之后4over6 BR将该报文发送至IPv6网络,报文经由IPv6网络被递交给4over6 CE.4over6 CE在收到该报文后,解封装其IPv6报文头,将报文还原为IPv4报文,并转交给上层应用。

4over6 BR通过轻量级的用户级状态维护来记录4over6 CE的IPv4-IPv6地址对应信息。4over6 BR并不关心4over6 CE建立的会话数,仅维护4over6 CE的IPv6地址与IPv4地址的映射,因此这是一个每用户有状态、每流无状态映射。用户级状态维护机制的运用极大地减少了4over6BR的运维开销,减轻了ISP网络负担,提升了终端用户的网络体验。

4 IPv6接入网4over6软线隧道技术系统研制与部署试验

清华大学完成了基于Linux、Windows7及Android系统的4over6软线隧道软件系统实现。软件系统源代码于2012年在开源社区Github上开源,开源项目将为扩大技术方案影响、吸引同行共同参与完善技术方案做出重要贡献。

目前接入网4over6软线隧道过渡方案及相关技术已在IETF softwire及dhc工作组形成了多项标准草案,引起了业界的广泛关注。在推动技术方案标准化过程中,清华大学也带动中国多家设备厂商进行了4over6软线隧道技术的设备实现。基于多种软硬件平台的技术实现形成了接入网4over6软线隧道技术原型系统体系。在此基础上,清华大学在IPv6校园网进行了接入网4over6软线隧道技术试验部署,如图5所示。此外,中国电信在湖南省网部署了面向宽带网的IPv4与IPv6双栈环境,完成了轻量级4over6软线隧道技术LAFT6的现网试验部署[14].各项实验与试验部署结果显示,接入网4over6软线隧道技术实现简单,易于部署,运维开销小,扩展性强,能对既有IPv4应用和服务提供良好支持。



图5清华大学IPv6校园网试验部署