一、背景与目标

在中央网信办信息化发展局和工业和信息化部信息通信发展司的号召下,我国全面推进IPv6规模部署和应用方针指导下,同时为了全面兼容用户网络环境,提升用户服务质量,我们决定在满足工业和信息化部改造要求的基础上,进一步扩大IPv6部署规模,做到对外对内全站支持IPv6。

二、部署实施

Qunar现有业务不允许中断或者停机,所以IPv6改造的整个过程,都必须无损支持IPv4,即底层网络到上层业务,都要支持IPv4/IPv6双栈协议。

1)前期分析

在部署实施最初,我们没有盲目上线;我们需要一些数据,来决定需要准备哪些资源,准备多少资源;首先我们要搞清楚,部署IPv6影响我们现在哪些系统,也就是要改造哪些系统;二是现有IPv6用户规模,如果有问题会影响我们多少用户和业务量。针对第一个问题,我们通过学习IPv6知识和原理,结合我们现有系统得出结论;第二个问题,我们通过后台日志分析网络类型和国家IPv6发展检测平台查询,预估了用户规模和数量。

基于上面分析,我们大力改造自身网络,以Qunar全站为目标,把原来IPv4 Only 网络升级为IPv4/IPv6双栈协议网络,为用户服务储备更好的服务潜力。

2)基础网络实施

Qunar网络系统非常庞大,涉及多个IDC机房,多种厂商设备和多种网络协议。在改造过程中,必须制定相应的执行手册和回滚方案。

机房网络,不仅对外服务支持IPv4/IPv6双栈,而且机房访问第三方业务也支持IPv4/IPv6双栈协议。

访问第三方IPv6服务

为了给业务线提供IPv6测试环境,我们搭建了一套IPv6 Only网络环境。只需连接指定无线网络,即可切换为IPv6 Only网络环境,测试服务在IPv6下是否正常。

IPv6 Only网络环境

3)基础服务实施

基础服务包括操作系统、监控系统、智能DNS系统、负载均衡系统,CDN系统和日志分析系统等。

服务器在系统初始化时,就要全面支持IPv6,而后再交付机器。

监控系统,如果不支持IPv6,就不能监控IPv6层面的所有业务。尤其是智能DNS系统会通过监控系统中的网络监控状态,来判断是否进行用户/机房切换。

智能DNS系统改造最多,涉及到DNS解析功能、切换功能、反解功能和IPv6地址管理功能。DNS解析功能,通过修改bind配置来支持IPv6;网络检测和切换功能,是指用户通过DNS访问Qunar服务时,如果智能DNS检测到服务节点网络异常,则会自动把对应服务切到其他机房;反解功能,公司内部对一个ip的反解依赖性很强;网段管理,公司内所有ip地址分配,都是DNS系统管理。经过调研、方案设计、开发、测试,最终完成上线,最复杂的系统改造完成给了我们很大的信心。

DNS系统网段管理

IPv6访问过程

随着公司不断快速发展,负载均衡集群达到了上百台,每天处理百亿次以上请求。对整个集群升级支持IPv6,难度不言而喻。最终我们负载均衡系统对外支持IPv4/IPv6,对内和上游也同时支持IPv4/IPv6。

负载均衡集群

负载均衡系统改造的同时,日志分析系统同步支持IPv6,给日志分析提供了有力保证。

CDN系统,涉及多家厂商。结合不同厂商,我们制定了不同IPv6方案,服务对IPv6的连续支持得到了保证。

CDN支持IPv6

4)业务服务实施

业务服务,在业务层处理用户请求时,是否对ip地址有处理,这个需要业务方确认,这个过程我们能做的不多,但是业务错综复杂,相对是最耗时的。不过在项目最初我们就联系业务并预排期,对整体完成时间没有影响。在我们基础服务改造完成后,业务方马上介入,进而整体项目顺利完成。

三、成效与亮点

1)成效

几个月的实施,众多业务线改造先后上线,没有发生一个故障。我们完成了Qunar对外服务同时支持IPv4/IPv6双栈协议。APP内IPv6流量不低于90%。

APP内IPv6流量占比

对外服务的域名90%支持IPv6,同时得益于IPv6协议,用户平均请求时间降低10ms左右。

IPv4/IPv6请求时间

2)亮点

从自身网络出发,借助IPv6强大优势,实现了对外提供IPv6服务和能够访问第三方IPv6服务;不但超额完成任务,还储备了技术能力。

结合公司业务特点,提前部署IPv6 Only网络环境,让业务能够快速测试,并且IPv6 Only中测试更能暴露问题,达到理想的测试效果。

四、经验与创新

认真学习IPv6基础知识,结合厂商操作手册,制定变更手册和回滚步骤,在测试环境要反复实施验证。

业务测试,尽量选择IPv6 Only,因为双栈网络环境下,通信协议需要客户端和服务器协商,不利于测试。

IPv4和IPv6会共存很长时间,在设计方案和目标时一定要明确,做好长时间兼容双栈协议的准备。同时还要做好两种流量区分策略,以便后期进行统计和资源调配。