作者:吴灵晓(盖优)
演进路线
阶段一(2020年末)
本阶段实现线上所有服务的IPv6革新,全面反对IPv6双栈的拜访反对;融入阿里云的IPv6生态体系,内网环境全面反对IPv4/IPv6双栈;晋升用户端侧IPv6流量占比,IPv6流量占比不低于总量的40%。
- 管:全面完成优酷主站广域网、团体级数据中心外围网络、互联网进口IPv6网络革新,IPv6在多地区多运营商开明。汰换无奈通过降级反对IPv6的外围路由器,交换机。建设CDN专属资源池,全副选用反对IPv4/IPv6的CDN节点。引入IPv6-only的专线链路,适时升高IPv6接入老本;
- 云:全面完成企业互联网域名服务器IPv6革新,反对AAAA记录和IPv6域名解析申请,次要外围业务域名全副配置A及AAAA记录。应用阿里云HTTPDNS服务,反对挪动端的IPv4/IPv6双栈及IPv6-only环境下的域名解析能力。优酷相干的服务及接口全面上云,新增的ECS,CDN等资源全副选用反对IPv6区域的资源产品;
- 端:各手机端利用APP以及web浏览器端全副反对IPv4/IPv6双栈及IPv6-only环境下的网络通信能力。尝试引入用户性能体验疏导计划,让用户能够直观地体验到IPv6带来的收益。端侧测试 IPv6流量占比不低于总量的40%;
- 平安:全面完成优酷互联网进口平安防护系统的IPv6革新,利用内的平安防护插件全面反对IPv6环境,确保整体平安防护能力不降落。建设IPv6下独立的监控体系,笼罩根底监控及利用监控,具备和IPv4雷同的监控能力。
阶段二(2021-2022年)
本阶段全面反对IPv6-only的拜访反对;全副融入阿里云的IPv6-only生态体系,内网环境全面反对IPv6-only双栈;IPv6双栈+only比例不低于80%, IPv6流量占比不低于总量的60%。
- 管:全面完成主站机房及CDN节点机房的IPv6进口革新,包含所有边疆以及热门海内节点。IPv6流量全面跑在专用链路上,全面实现IPv6下的流量收益能力;
- 云:全面完成企业互联网域名服务器IPv6革新,反对AAAA记录和IPv6域名解析申请,所有业务域名全副配置A及AAAA记录。优酷相干的服务及接口全副应用IPv6环境的资源产品,外部网络环境全副切换到IPv4/IPv6双栈模式;
- 端:全端全站反对IPv6-only拜访,用于体验无差异化。用户产品体验设计上全面偏向IPv6,疏导用户汰换老设施老终端。IPv6双栈用户比例不低于80%,并逐渐疏导IPv6-only模式;
- 平安:进一步强化IPv6的网络安全能力,全面晋升防护等级,及时发现并解决IPv6环境下衍生出的新业务状态的平安挑战。对边缘计算、物联网、车联网、云游戏等新畛域,具备全网同等级别的平安保障能力。
阶段三(2023-2025年)
本阶段全面完成所有机房及CDN节点的革新,全副反对IPv6-only的拜访;IPv6-only比例不低于80%, IPv6流量占比不低于总量的80%。
- 管:全面完成IPv6-only革新;
- 云:全副应用云上产品,所有产品都反对IPv6-only;
- 端:IPv6-only比例不低于80%,淘汰双栈模式。对有余20%的IPv4用户提供最小功能集的降级服务,激励降级到IPv6-only;
- 平安:进一步强化IPv6-only场景下的平安防护、安全监管、劫难备份与复原等能力,晋升IPv6环境下娱乐网、物联网、车联网、云计算、云游戏、VR/AI智能等畛域平安保障能力。
施行指南
网络
机房互联网进口
建设革新核心机房IPv6互联网进口
追随阿里团体整体节奏,外围服务所在的核心机房全副实现互联网出的革新,反对IPv6。在五大城网进口所在地的核心机房,全副齐全IPv6革新。优先选用BGP对接形式,不便互联网进口域内域外路由协定的统一规划。提前做好IPv6降费提速筹备,优先调度IPv6流量,进步IPv6流量令牌优先级,在等同环境下优先路由。
建设革新CDN节点机房IPv6互联网进口
由阿里云进行兼顾平安革新地区与工夫节点,业务同步做好按地区引流工作。
革新降级骨干网VIP+LVS
替换不反对通过降级反对IPv6的老旧设施,包含大量的外围路由器,交换机及负载平衡设施。对互联网进口局部的硬件防火墙、入侵检测设施等平安防护设施进行更新,不反对更新进行替换。优化路由配置,路由配置及缓存应用配比,使革新后的IPv4网络性能不降落的同时,IPv6网络性能略优于IPv4。各平安防护能力达到与IPv4进口等同或者优于IPv4环境下的防护能力。
革新降级应用服务测试环境
通过隧道形式买通生产机房与测试机房之间的IPv6链路,降级企业跳板机代理服务器反对IPv6,反对IPv6环境下登录测试环境满足业务需要。
革新企业园区网络VPN零碎
携同阿里企业智能网团队进行IT办公网络的革新,接入IPv6互联网进口,降级园区内路由器交换机以及VPN设施。降级VPN客户端,反对IPv6环境下的用户近程登录,欠缺近程接入环境IPv6平安防护策略,强化IPv6平安防护能力。
域名解析DNS/HTTPDNS及回落
业务域名网络双栈设计及开启
DNS外围降级:对业务域名开启多CNAME能力。业务域名别离配置IPv4-only及IPv6双栈的CNAME域名,具备权重调节能力。能够按地区按运营商自在地管制IPv4及IPv6双栈折解析比例。对走localdns的PC/H5端进行IPv6的灰度流量管制,实现IPv4协定和IPv6协定共存。IPv6->IPv4的回落能力由浏览器提供,局部过旧的浏览器不反对疾速回落能力。
HTTPDNS外围降级:HTTPDNS服务自身部署在IPv6环境,具备IPv6互联网进口,提供IPv6 VIP及域名AAAA解析保障。同时,降级HTTPDNS服务自身,能够依据申请客户端的网络状态,以及用户申请参数,对申请的域名下发AAAA解析记录,确保客户端运行在IPv6环境中,能够失常解析到业务域名的AAAA记录。
HTTPDNS的疾速回落:HTTPDNS在获取到客户端反对IPv6时,会把域名的AAAA记录及A记录同时下发给客户端。当客户端建联IPv6不胜利时,会同时开始建设IPv4连贯,以确保用户体验无影响。
同时,针对一些非凡的业务域名,例如:没有实现PC端降级以及对降级产生的提早无奈容忍。能够去掉权威DNS中业务域名的AAAA记录,将AAAA记录只配置在HTTPDNS中,能够满足客户端走IPv6,PC端走IPv4,既满足了IPv6的需要又能够让PC业务无损。
动静IPv6比例控制能力
IPv6建设初期,建连成功率低于IPv4,RT也高于IPv4,导致业务无奈整体切换到IPv6。同时,曾经切过去的局部,也可能因为网络变更影响网络品质,须要长期敞开IPv6。这些切换操作,如果都由运维同学手动操作的话,那么像优酷这样有几十上百个域名的,实现一次操作须要花上1-2天的工夫,时率上不可承受。因为须要建设一套蕴含DNS以及HTTPDNS的域名切换零碎,能够批量切换域名及HTTPDNS的配置,做到PC和挪动端的业务同步。同时,切换时要具备弹性能力,IPv6从100%降到0%,不能一下子切掉,须要90%-80%-70%----0%执行,确保不会给网络设备和服务器以及网络进口带来跳变。同时,须要获取业务成功率的监控数据,如果切换过程中,成功率呈现上涨的话,零碎可能停止切换或者主动回滚到上一级比例,发出报警让运维同学染指排查。
网络品质数据获取设计
客户端埋点上报反对IPv6
在手机客户端以及PC端中,通常会应用埋点技术将端侧运行数据及谬误状况,上报至采集服务器。大部分的数据上报中,并不会被动将客户端的IPv4及IPv6都带上,导致服务端并没有牢靠的数据起源去剖析IPv6下的业务状况。所以,须要革新采集服务端,反对和客户端进行IPv6建连,确保在IPv6双栈及IPv6-only环境下埋点数据能够失常上报。同时,在app启动,用户鉴权,网络变动等场景产生时,被动从服务端的应答后果中取到客户端的进口IP,并把这些信息存储在本地缓存中,在埋点上报时带上IP地址。这样采集端就能够收集到客户端的实在进口IP,如果的双栈的话,还能够同时收集到IPv4,IPv6地址并主动关联。从根本上解决了双栈环境时,服务端无奈同时获取IPv4,IPv6的问题,有助于网络品质数据分析。
资源管理、运维零碎革新
实现IPv4,IPv6资源辨别治理能力
随着IPv6深刻革新及政策反对,对应用IPv6环境的资源设施,流量带宽,调度引流等,将呈现区别于IPv4环境的应用场景和计量计费规定。缓缓地IPv6将会在某些利用场景上呈现老本上的劣势,而现有的资源管理零碎上新建网络管理、利用性能治理、认证服务器、DNS/DHCP等撑持零碎举荐采纳IPv6单栈建设,存量撑持零碎举荐进行双栈化革新,具备对IPv6设施、利用或用户的基于机器学习、常识图谱、神经网络等AI加持的智能运维、终端辨认、利用辨认、智能调优、智能漫游、大数据安全剖析等治理能力,待网元设施、利用或用户实现IPv6单栈革新后,撑持零碎需同步实现IPv6单栈切换。
实现IPv6环境独立运维能力
革新并开启运维零碎双栈协定,使零碎具备在IPv6网络环境下对双栈服务器、网络设备、利用容器、监控采集、数据库缓存中间件、配置近程推送及用户数据的治理能力。对于临时不反对IPv6的零碎及设施,提供NAT地址转换、降级IPv4等形式,来进行治理,待革新实现上线后,逐渐开启IPv6能力。
利用与服务
接口服务及PC端页面
新建利用
新建利用的部署,选用反对IPv6的主站机房资源或者阿里云地区,机房进口到负载平衡应用双栈规范。
- Web容器环境:选用反对IPv6协定的最新版本Tengine,装置toa模块,反对透传IPv6头信息至应用服务。
- 开发环境及OS零碎:利用的开发编译选用反对IPv6协定的操作系统,如Windows server 2003以上版本、MAC OS 10当前,以及Linux零碎的CentOS 7或者Alios 7U等。
- 测试环境:办公网环境与测试机房通过IPv6专线买通,办公网提供IPv6的无线/有线接入点,同时保留了原来的IPv4接入点。开发同学能够接入IPv6接入点进行日常开发和办公事务处理,须要拜访不反对IPv6的公网服务时,能够切换到IPv4网络环境。
- 业务场景1 IP地址库:应用IP地址库服务对用户归属地进行定位判断解决的,须要降级到最新版本的IP地址库数据服务,并具备定期降级能力。确保IPv6地区归属判断的准确性。
- 业务场景2 IP地址格局对立:因为IPv6地址能够略写的起因,导致间接按字符串进行判断的话,会把有略写和无略写的IPv6判断成不是一个IP地址,从而导致业务解决呈现偏差。同时,局部浏览器申请会主动略写IPv6地址,JAVA网络包,CURL等,不会被动略写IPv6地址,这会增长服务端解决的复杂性,所以须要前置一个公共解决,将所有的IPv6地址都通过公共解决进行标准化,对立业务解决逻辑,缩小业务间不统一问题。
- 业务场景3 IP地址保留:个别服务端日志落库,用户信息落库等惯例解决中,会把用户IP保留到数据库等存储中,对于严格限度数据类型和长度的数据库,须要根据存储型号进行定义,原来的IPv4只须要32位字符串或者长整型数据就能够保留,而IPv6须要扩充到128位,同时长整型也存不下,须要高64位和低64位拆分存储等形式进行解决。
- 业务场景3 接口传递:某些应用http get形式将多个用户IP通过参数模式传递时,须要留神get的1024B的下限,原来传递IPv6时10个用户一起传递没有问题,但当初改用IPv6时10个用户的IP长度就会超过get下限,须要改用post或者调低下限。
- 业务场景4 存在IP地址的hardcopy:不能把上下游调用接口的IP地址间接写在代码中或者配置文件中,因为上下游实现IPv6革新的工夫并不完全一致,上线工夫也不统一,会导致呈现线上故障。须要全副改为域名形式调用。
- 客户端IP进口地址的获得形式:在双栈环境中,同一申请,你只能从申请头部中获取到IPv4 IPv6地址中的一个,不可能两个都获取。如果心愿同时获取IPv4 或者IPv6地址,那么只能抉择反复申请,或者是通过参数将客户端地址传上来。须要扩大申请字段,将v4,v6分成两个字段提交,同时服务端也须要做接管革新解决。
- 日志剖析逻辑:家喻户晓,为了不便日志剖析和拆解,所有的业务日志都会定义一个对立的格局,日志输了的各个字段之间对立应用||等分隔符分隔或者按字段长度固定。应用分隔符的,须要思考到不能再应用:了,因为IPv6中带了这个符号。应用固定长度分隔的,也须要思考到对IP地址不能再固定32位长度了,要调整到128位,同时要向下兼容IPv4,IPv4也要补齐到128位。
- 第三方库的更新:选用反对IPv6协定的第三方SDK版本,如果三方库不再更新反对IPv6,那就须要寻找置换计划。
- 平安部署环境:接入层平安控件,限流插件,ACL白名单插件等利用平安服务应反对IPv6协定。
- 降级能力:须要从业务逻辑上原生思考IPv6网络不可用时,如何降级至IPv4来持续提供服务。
存量利用革新
存量利用可进行代码IPv6重构开发或双栈反对接口开发。对于不反对IPv6革新或者临时无奈革新的,须要独自划定小集群区域,来提供IPv4-only的服务能力。
- 接入层革新:制订IPv6降级打算,申请IPv6的VIP,将负载平衡的RS指向新的IPv6接入层,确保IPv4与IPv6的流量隔离。
- 根底镜像降级:原业务应用过旧,版本过低的OS镜像打包时,须要降级到最新反对IPv6的根底镜像,并用最新的OS进行编辑打包。
- 业务零碎革新:根据上述新建利用的业务场景梳理内容,对存量业务逻辑进行排查,存在上述场景的须要进行业务代码的重构,业务逻辑的批改,使存量业务满足IPv6环境下运行需要。
- 替换Web容器环境:降级最新版本Tengine,降级最新toa模块,反对透传IPv6头信息至应用服务。
- 降级开发环境及OS零碎:利用的开发编译选用反对IPv6协定的操作系统,如Windows server 2003以上版本、MAC OS 10当前,以及Linux零碎的CentOS 7或者Alios 7U等。
进行IPv6测试环境下的回归测试
存量利用个别都通过严格的IPv4环境下测试,但不能保障在IPv6下肯定是没有问题。所以须要在IPv6的测试环境下,对存量利用以及新建利用进行回归测试。包含对所有有改变性能点的全量测试,以及没有改变但属于外围性能点的覆盖性测试。
验收
利用革新实现后,进行线上灰度验收,依照国家网站/利用IPv6降级革新验收督查指标相干要求进行测试验证,在域名IPv6反对度、页面IPv6可达性、业务IPv6反对度、利用服务质量、IPv6平安防护等方面发展测试。
挪动终端及APP
Windows/mac端IKU利用
接入HTTPDNS服务,在客户端集成HTTPDNS服务SDK包,IKU利用具备手机挪动客户端雷同的IPv6引流灰度能力。替换IKU利用端中的网络包,具备IPv6的网络通信能力。开发在IPv6弱网条件下的降级能力,在用户能够承受的延迟时间内,切换到IPv4通信,保障用户体验无损。逐渐敞开低OS版本的应用许可,敞开低版本利用的上线应用,推动用户端进行OS或者设施的降级,进步IPv6使用率。
安卓/Iphone/Ipad 手机客户端
这块占比最大,同时用户设施类型也是最丰盛的,须要通过一直的版本更新,来升高旧版本的占有率,达到晋升IPv6使用率的指标。
- 终端IPv6反对度评估:将装置优酷APP的终端依照机型,OS版本,性能, IPv6下通信能力分类。对新上市机型进行逐台验证,别离进行IPv6反对度评估。
- 客户端APP根底套件降级:根底网络包NetworkSDK等团体二方包进行降级,实现反对IPv6的协定栈解析以及根底降级能力。应用第三方网络库的,例如:libcurl,须要降级到最新版本,同时通过业务逻辑补救上缺失的主动降级能力。
- 降级IP地址:局部APP中集成有小型的IP地址库,因为数据包大小的问题,基本上小型IP库都没有蕴含IPv6的数据。须要从新评估IP库数据包大小与APP整体包大小的关系,如果集成反对IPv6 IP库数据包过大的话,那须要通过服务端判断的形式来代替本地的IP库。
- 端侧埋点服务的革新:埋点的失常上报,是整体评估IPv6下业务可用性和用户体验一致性保障的前提。特地是在弱网、断网、降级回落的状况下,数据能够失常上报。IPv6 下埋点是否正确检测出网络环境的变动,网络切换导致的RT变动等,须要依据业务逻辑和用户操作场景,进行埋点的革新。
大屏OTT端
大屏端的硬件汰换率低于手机端,大量不反对IPv6的老设施还在持续应用着。大屏端APP应用的基础架构须要和安卓手机端进行对立,在APP层面上反对IPv6网络环境下的失常应用,参考上述安卓手机端进行革新。对于硬件局部,能通过降级OS固件形式来反对IPv6的,要踊跃推动硬件厂商进行并推送更新。无奈通过降级形式来反对,思考到硬件的整体应用周期及寿命,逐渐揭示更新。
云及CDN
云产品的选型
新建场景
跟据阿里云的IPv6革新打算,选用曾经实现改区域的云产品,应用业务原生反对IPv6环境。
存量场景
因为云产品反对IPv6后须要对原产品进行降级或者置换后,能力开启IPv6反对,所以对于存量应用的云产品,有一个迁徙的过程。须要把流量迁到曾经革新实现的地区后,对原有地区的云平台进行双栈化革新,包含ECS,ENV容器集群控制中心、容器编排零碎、VPC/虚构网关、负载平衡等进行IPv6反对革新,开释原有资源从新申请新的IPv6资源,来疾速获取IPv6反对能力。革新实现后再把流量逐渐切回,开释掉长期资源。
CDN的IPv6反对
一般减速域名
根据阿里云CDN革新打算,将各地区各运营商曾经革新实现的IPv6 CDN节点退出到调度域。调度算法须要反对IPv6 VIP,当区域内IPv6节点资源有余或者没有IPv6节点时,是进行跨省跨区域调度,还是降级IPv4。从用户体验角度来说,IPv6资源有余时降级IPv4是对用户没什么影响的。也能够通过计算反对IPv6的CDN带宽与总带宽的比例,并确定各地区的IPv6引流比例。阿里云控制台开启IPv6性能,并配置图片域名的灰度比例。从流量入口上就管制处IPv6的灰度总量,确保不会呈现IPv6资源有余或者无资源可调度的问题。
302调度域名
302域名跳转时,会有前述IPv6地址缩写的问题,浏览器拜访时会主动用缩写后的IPv6地址跳转,APP内应用libcurl等网络库时,并不会触发主动缩写,以获取到的IPv6地址原样进行申请。须要302节点配置缩写前和缩写后两套IPv6的VIP,确保任何场景下都能够跳转。在HTTPS的VIP证书中,须要加签IPv6的VIP,确保https下也能够失常跳转。
免流域名
免流调度域须要调配IPv6的VIP组,将须要向运营商报备的免流节点IP都划入进去,并且具备IPv6性能的开启和敞开能力,确保在运营商报备实现前不启用IPv6节点,运营商报务实现后又能及时启用节点,避免出现免流生效或者免流调度域水位过高的问题。
平安
IPv6网络安全整体准则:配合IPv6演进的不同阶段,明确网络、服务、利用app以及新业务场景下,IPv6网络安全的能力范畴和保障计划,强化IPv6平安防护能力以及多端共享、边缘计算、云游戏、物联网等新型业务场景下的平安防护能力。
限流能力
限流能力须要具备IPv4/IPv6双栈场景下的利用能力,可能对总流量进行限度,也能够别离对IPv4,IPv6进行限度。具备在零碎能力饱和的状况下,怎么样优先让IPv6的申请能力尽快失去解决并响应,保障IPv6优先的用户体验。
ACL黑白名单及安全策略
确保IPv6平安体系防护的完整性与高效性,对防火墙、入侵检测、行为审计、流量荡涤等网络安全设施,进行对立降级以反对IPv6环境下的失常工作。随着IPv6的倒退,IPv6的地址数量将远远超过IPv4,现有的ACL黑白名单容量将无奈满足,须要提前进行扩容革新。对于IPv6平安防护能力存在危险的节点,应进行网络安全设施降级或替换。从利用业务层面以及平安治理层面进行IPv6安全策略制订与配置,保障IPv6的安全策略蕴含了所有的IPv4策略。
IPv6+翻新
IPv6+5G
随着挪动互联网的倒退,越来越多的设施接入到挪动网络中,从某种程度上来讲,5G和IPv6是相辅相成的,指标是统一的,都是尽可能将更多的设施互联,达到万物互联的境界。IPv6解决了万物互联上设施数量受限的问题,因为地址数量有余,IPv4可能无奈满足每一个人都接入10设施。接入IPv6的话,别说每个人10个设施,10亿个也没有问题。同时,5G是解决了万物互联品质上的问题,高速率低提早是5G网络的外围劣势。量和质的问题,被IPv6+5G一起给解决了,挪动设施的需要爆炸式增长的时代还会不到来吗?5G的技术利用失去了极大的满足,当老本降至适合水平时,IPv6+5G能够代替wifi,不再须要NAT地址转换,不须要切换流量。只有平安能力满足,你和世界都是实时联通的。
IPv6+P2P分享
能够设想,今后家中每个带电的设施都会成为计算中心,娱乐中心,看优酷将不再受限于客户端设施,走到哪里看到哪里,每个人都会是内容的消费者同时也会是内容的生产者,片段化的工夫可能最正当的利用,最大水平解放双手,随时随地享受娱乐盛宴。
那么这就代表着一个终端既是服务提供方,又是服务生产方,既要为其它设施提供申请入口,又要被动申请其它服务。现有IPv4+NAT计划,限定了P2P分享的范畴,最终能共享到的资源及数据很少,IPv6下现实状态是全网都不再须要NAT,任何设施不须要做地址转换都能够间接申请到网内的所有设施。这样就极大的推展了P2P可达范畴,资源及数据简直能够全笼罩。我为人人,人人为我,全面合乎咱们的政治近景。
关注【阿里巴巴挪动技术】微信公众号,每周 3 篇挪动技术实际&干货给你思考!