李 琪,刘相坤,徐东平,刘彦麟,韩梦源
(中国铁道科学研究院集团有限公司 电子计算技术研究所,北京 100081)
互联网服务的发展趋势是让服务更加智能化,这就需要为互联网上的每台设备都分配IP地址,实现基于个性化特征的定位、推送及交互等服务。随着物联网技术的迅速发展,需要连接网络的物体越来越多,而全球IPv4 地址资源已在2011 年2 月3日向五个区域因特网注册机构分配完毕[1],现有的IPv4地址池已接近枯竭。互联网的下一代协议IPv6提供了理论上虽然有限但实际使用中几乎无穷的IP地址。丰富的IP地址可以把网络智能解析的威力发挥到极致。地址越大带来的可能性就越多,与IPv4的32 bit二进制报头相比,IPv6的报头增加至128 bit位二进制数,使得我们可以把信息放在IPv6数据包中,IPv6地址可以变得更智能,在确定其通过网络的路径方面发挥更积极的作用。IPv6在构建智能网络中的关键地位,使得由IPv4过渡到IPv6已势在必行。
目前网络设备厂商的主流产品均已支持IPv6协议。3大电信运营商的骨干网络也已具备支持IPv6的能力。国内主要的商业网站均制定了分阶段的演进计划。2017年国务院印发通知,提出用5~10年时间,形成下一代互联网自主技术体系和产业生态,建成全球最大规模的IPv6商业应用网络。铁路12306互联网售票系统(简称:12306系统)当前网络为IPv4架构。为了给旅客提供更丰富、更智能化的服务,需要选择适合的过渡技术分阶段稳定演进到IPv6。
根据中国通信标准化协会的工作计划与安排,IP与多媒体工作委员会目前已经完成对IPv6系列标准的规划设计工作。在新的规划设计书中,将我国的IPv6标准划分为以下几个大类:基本协议类,网络体系结构与性能指标分配,网络的评估标准和测试方法,网络设备规范和网络设备的测试规范,支持移动通信类,业务与应用类型[2]。在IPv6演进过程中应按照标准推进。
《IPv6规模部署行动计划》中指出,到2018年末,市场驱动的良性发展环境基本形成,IPv6活跃用户数达到2亿,在互联网用户中的占比不低于20%;到2020年末,市场驱动的良性发展环境日臻完善,IPv6活跃用户数将超过5亿,在互联网用户中的占比超过50%;到2025年末,我国IPv6网络规模、用户规模、流量规模将位居世界第一,形成全球领先的下一代互联网技术产业体系。12306系统的IPv6演化进度也应按照20%、50%、100%的比例渐进演化为IPv4/IPv6双栈环境,直到IPv4完全退出后变为IPv6环境。
IPv4 到IPv6 的过渡技术主要包括双栈技术、隧道技术,以及地址转换(NAT,Network Address Translation)技术[3]。
双栈技术是指网络以及网络中所有节点同时支持IPv 4和IPv 6协议栈,使得网络或者节点能处理两种类型的协议,同时,包括service(业务、应用等)具备支持双协议栈的能力[4],从而实现分别与IPv4或IPv6节点间的信息互通。通信源节点可根据目的节点的协议类型选择运行的协议栈,而网络设备则根据报文的协议类型选择不同的协议栈进行处理和转发[5]。
双栈机制的优点是,它是IPv6节点与IPv4节点兼容的最直接的方式,不必为不同类型的用户单独部署网络配置,互通性好、开销小、管理简单、逻辑清晰。缺点是,不支持双栈的设备需要更换,必要时需要补充使用NAT技术,应用软件也需做适应性改造。
隧道技术是通过将一种IP 协议嵌套在另一种IP协议中,跨过网络传递到另一个路由器的技术。隧道技术是基于现有的IPv4 路由体系来传送IPv6 数据包的。它将IPv6数据报文作为载荷封装到IPv4 数据包内,并沿着隧道所标识的虚拟链路进行发送,最后到达隧道的终点[6]。隧道技术只要求在隧道的入口和出口处进行双栈升级改造,对网络的其他部分没有要求,因此较容易实现。双栈技术并不要求建立隧道,只有当IPv6节点需利用IPv4的路由机制传递信息包时隧道才是必需的,但隧道的建立却需要双协议栈的支持[7]。
隧道技术的优点是,不用把所有的设备都升级为双栈,只要求网络的边缘设备实现双栈和隧道功能。除边缘节点外,其它节点不需要支持双协议栈;缺点是,隧道技术不能实现IPv4主机和IPv6主机的直接通信,只是过渡技术,不是最终的解决方案。
NAT技术通过对数据包的转换实现IPv4和IPv6的互相访问,提供了IPv4网络和IPv6网络之间的互通方案。
NAT技术的优点是实现纯IPv6网络与IPv4网络之间的互通,提供IPv6与IPv4之间的互相访问且无需改动现有网络;缺点是,存在业务质量降低、加密报文无法翻译的风险。
目前12306系统使用IPv4协议运行,该协议运行基本稳定。局域网络具备相当的用户规模,如果重建局域网将面临投资较大、网络重新规划、业务整合等一系列问题,可以考虑采用过渡技术解决方案。遵循稳定、安全、可靠的基本原则,通过对比分析双栈技术、隧道技术和NAT技术3种方式的优缺点,确定12306系统IPv6演进应采用主体部署双栈和NAT技术补充的方案,当12306系统和办公区域都支持IPv6后,可考虑逐步关闭IPv4网络协议栈,并通过NAT技术来解决少量的IPv4内容访问需求。
(1)内容分发网络改造
12306系统通过内容分发网络(CDN,Content Delivery Network)为互联网用户提供售票服务,CDN需进行改造以提供IPv4/IPv6双栈服务。
(2)主体网络及安全设备改造
在第1和第2数据中心需进行IPv4/IPv6双栈改造调试的网络及安全设备包括:互联网接入设备(例如安全设备、链路负载均衡设备等)、客服外网核心交换机、客服外网安全及加密设备、客服外网双中心互连设备(例如防火墙、路由器等)、客服内外网安全平台、客服内网核心交换机、客服内网安全设备、客服内网双中心互连设备(例如防火墙、路由器等)、客票网安全平台、客票网核心交换机、客票网二层互联设备和客票网核心路由器。
(3)服务器及存储设备改造
将第1和第2数据中心的服务器及存储设备,按照CDN接入用户的IPv6流量所占比例以及整体进度要求进行IPv4至IPv4/IPv6双栈迁移改造。同时对其上的基础及系统软件进行调试并试运行。
(4)应用系统改造
IPv6整体演进改造过程中,除了关于网络层的改造,对应用系统的改造也是关键所在。目前大部分应用软件不支持IPv6,如果需要使用IPv6,需要对其进行升级开发,做必要的适应性改造,并在试验环境中进行测试验证。应用系统改造工作主要包括运行环境配置和相关网络协议的代码行改造两部分。运行环境配置主要是对操作系统、中间件、数据库等基础平台运行环境进行相关配置改造。相关网络协议的代码行改造主要是指IPv4 过渡到IPv6 需要修改的网络协议[8]。
12306系统IPv6演进改造方案的总体架构图如图1所示。
图1 12306系统IPv6演进架构图
12306系统进行IPv6改造涉及互联网接入区、客服外网区、客服内网区、客票网区4个网络分区;涉及的设备为网络及安全设备、服务器及存储设备两大类;涉及的软件为基础及系统软件、应用软件两大类。
系统的演进分步实施主要按照以下步骤。
(1)在实验室搭建一套虚拟试验环境,模拟12306互联网售票,对环境和应用软件进行适应性测试验证,对于双栈设备进行性能评估。
(2)对于4个区域的网络及安全设备进行支持IPv4/IPv6双栈改造调试。12306系统中的设备是在不同时期、不同工程中采购的,所以在IPv6演进改造迁移过程中需充分考虑设备到期更新的需求,将即将到期的设备优先用在IPv4/IPv6双栈中。在此后的新增设备和新开发软件都应将支持IPv4/IPv6双栈作为一项基本标准和要求。通过将既有设备进行改造迁移或者在设备到期更新时完成改造,可以节省投资,但需在测试验证和迁移改造过程的维护方面做充分的工作。
(3)对4个区域的服务器及存储设备按照20%的流量比例进行IPv4至IPv4/IPv6双栈迁移改造,同时对其上的基础及系统软件、应用软件进行调试并试用行。
(4)根据IPv6流量比例的需要以及整体进度要求进行改造迁移。
3.4.1 演进中的域名问题
由于系统采用统一资源标识符(URI,Uniform Resource Identfier)对外提供服务,而用户通过域名服务器(DNS,Domain Name Server)来解析应用的服务器地址,因此在演进过程中会遇到DNS的解析问题。为解决该问题运营商针对同一URI可以支持向用户同时返回IPv4地址和IPv6地址,由用户终端决定采用哪个地址进行通信。在实际实施时,应用系统可以按照现有域名同时设置IPv4地址和IPv6地址。当然也可以考虑为IPv4和IPv6分别独立设置一个域名[9]。综合分析两种方法,前者更为便捷。
3.4.2 演进中的安全问题
相对于IPv4而言,IPv6协议由于内嵌Internet安全性协议及海量的地址对应用平台,安全性有了一定程度的提高。但在大规模推广时也可能出现新的安全问题。部署IPv6后,原有的安全设备需要同步升级,实现对分布式拒绝服务攻击、入侵检测等多层面防护。如原有安全设备可以升级,尽量采用升级的方式,如不支持,可将原有安全设备仍然作为IPv4的防护,新增安全设备作为IPv6的防护[9]。
3.4.3 用户接入流量统一调度
在12306系统的两个数据中心分别新增运营商IPv4/IPv6双栈通道,新增CDN到一中心和二中心的IPv4/IPv6访问,实现CDN到两个数据中心IPv4和IPv6不同通道的同时访问。同时要求 CDN具备根据实际需要实时调整IPv4和IPv6访问流量比例的功能。也可以考虑在互联网接入区增配流量控制设备,对IPv4和IPv6流量统一调度,设置优先级。但考虑到新增通道成本问题,应采用第1个方案。
3.4.4 演进中的应急措施
在12306系统进行IPv6演进改造的过程中,为了保证系统运行的稳定性,主要能采取以下几项应急措施。
(1)在演进实施之初不应立即接入IPv6的流量,应先对设备和软件进行验证。在应用系统功能验证和双栈设备性能评估均达标后再接入IPv6的流量。
(2)改造设备时先改造一个数据中心的设备,做好必要的应急准备,一旦出现问题,可用另一个数据中心承担生产业务。改造经确认没有问题后再改造另一个数据中心的设备。
(3)服务器集群一般情况下由多个设备承担同一功能任务,应按照IPv6流量的占比,以及1.2节提到规划中的比例(20%、50%、100%)进行服务器集群分批改造。改造后的集群是双栈的,可以同时处理IPv4和IPv6的业务,因此改造比例应为IPv6的上限值。
(4)有个别设备在单一数据中心里单独承担任务,应逐一分时改造两个数据中心的设备为双栈模式,以免同时出现问题。
(5)应在客服外网、客服内网、客票网各区域的核心交换机处设置NAT网关,补充实际流量与处理能力不匹配的部分。保留一定规模量的NAT能力,既可为业务预留升级的时间窗口,也可弥补升级后不匹配的问题。在IPv4至IPv4/IPv6双栈服务器的迁移中,如果流量不符合实际,可以通过NAT技术达到总体平稳可用。客服外网到客服内网以及客服内网到客票网,及时调节IPv4和IPv4/IPv6流量的处理能力。但是为了不使NAT网关成为瓶颈,需要控制NAT的总量,尽量科学计算流量比例,分阶段分批对服务器设备进行迁移和调整。
IPv6的推广是一次全球网络信息技术的创新与变革,是时代挑战也是机遇。加快推进IPv6规模部署有利于构建智能化的下一代铁路信息网,提高承载能力和服务水平,也是铁路信息网融入国际互联网环境的迫切需求。未来应积极将IPv6技术投入到12306售票系统及其他铁路系统中,为旅客提供更加丰富、智能化的服务。IPv6演进过程中的安全问题、性能问题、可管理性等都是需要进一步研究的方向。