原文链接http://tech.c114.net/175/a755515.html
基于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 校园网试验部署
5 结束语
本文针对下一代互联网IPv6 过渡关键技术问题,从隧道过渡角度展开研究,提出了面向全网IPv6 过渡的4over6 软线隧道技术方案。技术方案针对全网IPv6 过渡需求,提出了主干网及接入网分别适用的4over6 软线隧道技术,形成了统一的隧道过渡技术体系,通过主干网异构路由隔离混传、接入网自适应异构动态接入以及透明化自动隧道等机制实现全网IPv6 平滑过渡。目前4over6 软线隧道技术方案已形成3 项IETF 国际标准及2 项国家通信行业标准。基于技术方案的研究和标准化,4over6 软线隧道技术已完成多项系统研制、应用与部署。各项应用、实验与部署结果表明,4over6 软线隧道技术具有实现简单、易于配置与部署、运维开销小、对IPv4 应用及服务能提供良好支持等优势,为推动下一代互联网IPv6 过渡提供了重要解决方案。
参考文献
[1] SRISURESH P, EGEVANG K. Traditional IP network address translator (traditional NAT) [S]. RFC3022. 2001.
[2] DEERING S, HINDEN R. Internet protocol version 6 (IPv6) specification [S]. RFC2460.1998.
[3] WU P, CUI Y, WU J, et al. Transition from IPv4 to IPv6: A state-of-the-art survey [J].IEEE Communications Surveys and Tutorials,to be published.
[4] WU P, CUI Y, XU M, et al. Flexible integration of tunneling and translation for IPv6 transition[J]. Springer Networking Science, 2012, 1(1/2/3/4):23-33.
[5] WU P, CUI Y, XU M, et al. PET: Prefixing,encapsulation and translation for IPv4-IPv6 coexistence [C]//Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM'10), Dec 6-10,2010, Miami,FL, USA. Piscataway, NJ,USA:IEEE, 2010:5p.
[6] CUI Y, DONG J, WU P, et al. Tunnel-based IPv6 transition [J]. IEEE Internet Computing,to be published.
[7] LI X, DAWKINS S, WARD D, et al. Softwire problem statement [S]. RFC4925. 2007.
[8] CUI Y, WU P, XU M, et al. 4over6: Network layer virtualization for IPv4/IPv6 coexistence[J]. IEEE Network, 2012, 26(5):44-48.
[9] WU J, CUI Y, METZ C, et al. Softwire mesh framework [S]. RFC5565. 2009.
[10] WU J, CUI Y, LI X, et al. 4over6 transit solution using IP encapsulation and MP-BGP extensions [S]. RFC5747. 2010.
[11] CUI Y, WU J, WU P, et al. Public IPv4 over access IPv6 network [R]. IETF draft. 2012.
[12] CUI Y, SUN Q, BOUCADAIR M, et al. Lightweight 4over6: An extension to the DS-lite architecture [R]. IETF draft. 2012.
[13] CUI Y, WU P, WU J, et al. DHCPv4 over IPv6 transport [R]. IETF draft. 2012.
[14] SUN Q, XIE C, LEE Y, et al. Deployment considerations for lightweight 4over6 [R].IETF draft. 2012.