以下是截止GNTC大会的阿里进展
对IPv6的思考
阿里巴巴的相关决策,我们在2017年6月份就开始启动IPv6项目,为什么在这个节点就决策我们进行IPv6投入,我们有以下几方面的思考。首先当时全球有5亿以上的IPv6活跃用户,分布在印度、美国、日本、欧洲这些国家,甚至东南亚也开始了增长。截至现在我们中国截至今天,我们移动端的IPv6终端已经达到了5亿,第二,就是我们未来五年以内将有500亿的物联网终端进入互联网,如此大体量的数量是IPv4无法支撑的;第三个是5G,正在快速普及,它有高带宽、低时延、海量接入的特点,无法继续使用地址转换、会话保持、单向访问的技术。我们拥抱下一代互联网,以上三点是我们大的思考。
进展和成果
先汇报一下我们的进展,今年双十一,阿里巴巴的当天交易额总数是2135亿,交易峰值49万笔每秒,淘宝背后有IPv6支撑全栈业务。IPv6我们带来一个好处,过去我们从服务端来看我们的用户,只能看到一个什么IP地址呢?家庭网关或者4G网关,进行i大数据分析的话也会缺少很多大数据,采用IPv6绕过NAT,我们直接看到我们终端用户,进行精准分析和服务。
下面介绍一下我们的高德,导航能力非常专业准确,是DAU过亿的应用,这是我们双十一之前抓IPv6用户访问图,一周数据每天早晚高峰服务非常平顺,IPv6网络体验非常流畅。
优酷也是日活过亿的应用,世界杯期间就开始了IPv6直播,我们采用了IPv6的应用加速技术,让用户的观看更加流畅,因为省去了NAT转换流程,并且全国IPv6的网络是非常通畅的。
这些是我们一些进展和成果,我介绍一下整体方案,以及我们做这个落地遇到一些挑战。主要有三个方面,第一个就是基础网络方面,我们怎么进行网络改造,第二个应用网络,怎么去做安全防护,异地容灾,第三方面业务体验我们怎么做服务质量的优化。
架构与挑战
首先总体介绍下我们的业务架构,IPv6总体业务架构是这样的,分为接入层互联网和应用。接入层大多知名品牌终端支持了IPv6。移动端访问运营商的互联网,然后进入我们数据中心。应用侧包括三层,网络、云、应用。基础网络包括接入网、骨干网、IDC网络、网关、服务器;另外就是云平台、云网络包括我们一些安全系统,CDN、DNS、SLB等,这两层之上是我们的应用,阿里改造的五大应用运行在云的平台之上。这是我们一个总体架构,下面说一下我们过去工作里面带来一些挑战。
第一个是我们运营商对接比较复杂,因为我们在全国多个地域要开通IPv6,而我们在对接早期这个网络对接网络是不成熟的,做了很多的工作,到目前为止还有一些问题正在排查解决优化,这些工作非常复杂,代价也非常高。
第二个我们投资比较大,因为大量的网络设备是过去的积累,这些设备包括核心路由器、交换器投资非常大,我们阿里基础设施有上百万台服务器,涉及到总的硬件投资大概有几百亿以上。
另外我们工作量非常大,因为涉及到变更、替换、升级,数百台的设备,数千条链路割接,还有大量的运营工作,给我们一个整体的挑战。
另外我们再讲一下我们网络架构,我们阿里的网络架构以及IPv6的一个方案。从外向内有五层网络,接入-广域-城域-应用网络-DCN网络,内网从双栈向IPv6 only演进,这是我们的总体架构。我们有两方面的挑战,第一个就是我们成本的挑战,还有一个稳定性,我们在这个网络的升级演进过程相当于开着飞机换引擎,这对我们来说挑战非常大,出了很多大的故障,也积累了一些方法经验。另外就是技术方面的挑战,现在就会产生一些路由爆表、安全规则资源不足、管控适配这些问题。这是我们物理网络架构方面的工作。
下面再讲一下电商的业务架构,首先我们移动端PC端都是采用统一接入,本来每个业务VIP进行分配接入,但采用统一接入方法的话,可以让用户体验更好,一次连接可以访问我们所有的模块,包括天猫超市、饿了么这些业务都可以一次接入。但是IPv6演进也带来一些业务风险,大概有600个以上的应用,这些应用的我们怎么去统一切到IPv6上去,我们用户大概有5亿以上的用户,这些用户我们怎么去逐步的切换?还是我们一下子切换,风险怎么去解决,另外一个挑战就是我们面临一些DDoS攻击、薅羊毛的风险如何处理,这些我们的业务挑战。
下面讲一下应用体验的挑战。因为我们IPv6网络今年开始大规模的建设改造,包括运营商网络和企业的网络都是这样,这个网络是不成熟的,也有大量的连接失败率,比较高的网络延时,很多省份有这个问题我们怎么去解决。IPv4和IPv6有一个Fallback问题,回落时间过长怎么去解决,因为可能导致花21秒的时间去滑落,还有我们IPv6包长增加了20个字节,还有运营商老的网络MTU可能比1500比较小,IPv6协议是规定,中间网络禁止分片,所以有大量的MTU导致的丢包问题怎么去解决,这对我们网络和应用都是一个挑战。
解决方案
下面讲一下网络优化方案,分几个方面,第一个我们物理网络的覆盖,我们自研虚拟网络平台,第三方面我们的应用调度三个领域的方案。
阿里物理网络是全国覆盖的,我们已经在全国超过20个IDC已经支持了IPv6,覆盖是非常广的,第二个带宽每个区域出口达到了2T以上的带宽,北京、上海、深圳等等出口都超过了2个T。第三个覆盖广,我们在CDN在全国各地实现了IPv6的应用加速。可以保证我们业务体验更加优质,这是物理网络。
范围大了之后我们怎么去调度,怎么去发现问题,这是我们有一套活水IPv6互联网,监控系统,实时监控我们机房,全国各地我们部署了很多靶机,双向探测我们机房的时延,抖动等等一些问题。经过互联网质量探测可以实时发现问题,对接后端调度系统,用这个方案提升我们IPv6用户质量。
完整方案是这样的,首先我们是从刚才一些探测系统、移动端APP感知用户的质量问题,把这些质量数据问题送给网络大脑--活水,活水系统会把这些信息进行大数据分析,分析之后会把处理的方案和结果告诉控制器,再进行网络层调度和应用层的调度,包括SRTE网络调度、BGP路由调度,以及应用层DNS方案调度,另外我们有多个运营商出口,进行同城多出口的调度,也可以进行异地的调度。
刚才讲的是物理网络调度技术,现在讲一下虚拟网络技术平台。这个是阿里巴巴自研的一套网络平台,左边主要是我们转发层面业务,右边是我们管控层面系统,我说几个重点跟IPv6支撑几个技术。首先是我们的Netframe转发支撑平台,拥有400G级IPv6的转发能力,另外就是我们的AliBGP,实现跨厂商路由协议对接,解决了多厂商兼容性的问题;另外一个就是我们的AliGuard可以提供一个T能力的抗攻击能力,有效的防御黑产的攻击,这是我们主要是在IPv6方面做的一些工作。
下面介绍一下我们的整个应用链路和网络。应用层大概分三步,首先左侧我们是APP端我们的移动端,
第一步进行DNS解析,包括PC端方案和移动端的解析方案,后面会详细介绍;
第二步,地址解析到我们静态加速一个域名,还可以进行静态页面或者图片视频加载,这就指向CDN服务。
第三个方向就是我们动态业务请求服务,这个就指向我们的VIP,运行在云上SLB之上,实现负载均衡。
我们后端的业务需要客户的原始IP怎么办? 采用TOA携带用户原始的IP,流转到我们的Proxy,把IP信息插入HttpHeader,携带原始IP传递给后端Nginx,可通过X-Forwarded-For方法获取real-ip,这是我们整体一个应用架构。
下面讲一下应用调度能力,因为我们有大量了应用都是日活超过一亿的,所以我们不可能说一个亿的用户都一次性切换到IPv6,我们在初期肯定一步步切换换,有两个方案,
PC端或者浏览器端的服务:
域名请求先走到本地的运营商一般是本省,再向阿里云权威DNS。阿里云DNS有几个特点,提供高达1T抗攻击能力的DNS服务,目前承载了全国1200万域名服务系统;而且我们在全球18个region部署了Anycast技术。
标准DNS也有两个缺点,第一个我们调度刚才是按省份,一个省全切上去,这样风险比较大,另生效比较慢,因为(英文)有五分钟生效的问题,发现有些问题往会倒换,这个速度是非常慢的。我们有另外一个服务
移动端HttpDNS服务:
这个技术需要在 终端的APP嵌入SDK,需要域名解析的时候,终端通过Http协议请求,这样就绕过了传统Local DNS解析过程。有两个好处,第一个是域名精准调度,可以按照更细的百分比,而且还可以加灰度白名单,控制测试用户先上一些IPv6。第二个好处就是域名防劫持,以前的标准DNS走UDP协议很容易被劫持,HttpDNS很难被劫持或者是攻击。第三个好处是域名变更比以前快了很多,过去是五分钟生效,现在是秒级生效。
总结
刚才介绍整个阿里巴巴五大应用和各种平台,都是构建在阿里的云这个平台之上包括计算、存储、网络、数据库安全,阿里大体量的应用在一年不到的时间内就可以实现上线的程度,原因是依赖了已经构建好的阿里云平台,云网络。阿里云IPv6产品和方案已经服务了200个行业的场景。
总结一下,IPv6项目是一个冷启动的项目,今年在国家政策推动下加速,各个领域都没有准备好,阿里之所以快了一点,阿里早在去年就开始投入,比国家政策还要早。人类智慧发展之所以这么快,是因为我们构建在别人的肩膀之上,应用的演进也是这样的,我希望大家可以把自己的应用平台,构建在云计算的平台之上,实现更快的升级迭代,谢谢大家。