1. 背景 

IPv6是“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议。IPv4地址资源紧缺严重制约了互联网的应用和发展。IPv6不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。

2017年底,中共中央办公厅和国务院办公厅印发了《推进互联网协议第六版(IPv6)规模部署行动计划》,要求加快推进基于IPv6的下一代互联网规模部署工作。计划指出,到2018年末国内IPv6活跃用户数要达到2亿,2020年末达到5亿,2025年末中国IPv6规模要达到世界第一。

新互联网时代科技进步与市场趋势的推动之下,爱奇艺积极响应并全力开展IPv6专项部署工作,推动基础网络、后台服务和前端应用全面向IPv4/IPv6双栈支持演进,并以实际的用户数和流量贡献,于2019年6月被IPv6规模部署专家委员会评为优秀案例。

爱奇艺调度系统(包括Anycast DNS调度和HTTP视频调度)作为爱奇艺CDN核心系统之一,在爱奇艺技术团队的努力下,已经全面具备IPv6服务能力,支持各项业务高效对接IPv6基础资源,加快了爱奇艺IPv6规模部署进程。 2. 调度系统设计 2.1 系统架构爱奇艺CDN调度系统全流程架构如下图所示。图2-1 IPv4/IPv6调度架构图以下是架构图中各个系统的角色介绍:

  • 客户端:爱奇艺提供的播放客户端,覆盖手机、平板、电脑、电视和网页等多个平台,客户端首先访问DNS解析HTTP视频调度域名,然后请求HTTP视频调度获取CDN下载地址,最后从CDN下载视频数据;

  • 探测服务器:一组开启双栈的HTTP服务器,为全网客户端提供探测服务,帮助客户端判断本地IPv4和IPv6可用情况;

  • Local DNS:客户端使用的DNS服务器地址,由用户所在运营商提供;客户端向Local DNS发起域名解析请求,Local DNS递归查询到爱奇艺Anycast DNS,最后把结果返回给客户端;

  • Anycast DNS:爱奇艺自研的高性能DNS系统,单机QPS可达近百万,基于Anycast技术部署,为全球用户提供高可用的DNS服务,支持IPv6后可提供IPv6 AAAA记录查询解析;

  • HTTP视频调度:CDN核心系统之一,根据客户端请求来源地址归属运营商和区域,为用户选择服务质量最优的CDN,确保用户享受极致播放体验;

  • 爱奇艺混合CDN:包括自建CDN和商业CDN,为爱奇艺数亿用户提供就近下载服务;

  • 资源管理平台(天工):资源统一管理平台,实现从资源需求收集、商务拓展、资源采购、资源部署、资源管理、基础运维和成本计算的统一管理,旨在打造以流程管理为基础的自动化运维平台;

  • 调度管理平台(伏羲):调度管理平台,管理DNS调度和HTTP视频调度各种配置和策略。调度管理平台从资源管理平台中自动同步机房和服务器基础信息,借助配置管理平台实现配置的快速下发和生效;同时支持通过域名和IP维度进行拨测,实时探测全网服务器健康状态,自动下线故障服务器;

  • 配置管理平台(Fast):作为CDN 服务器的管理平台,联动资源管理平台和调度管理平台等多个系统,同步资产和服务等基础信息。利用部署在多个运营商+区域的 Proxy 集群,保证全网 CDN 节点的连通率,提供稳定可靠的配置管理服务。

  • SDN管理平台:网络配置管理平台,实现基于模板支持自定义业务场景的网设配置功能,支持批量下发自定义业务场景配置,支持netconf、ssh和snmp多种管理方式。通过生成配置架构及网元全量配置,实现核心IDC建设自动化建设。

2.2 系统设计爱奇艺技术团队对客户端、调度和后台管理等多个系统做了大量设计工作来支持IPv6。下面简要说明各个系统模块针对IPv6功能的设计工作

  • 客户端:爱奇艺提供了包括手机、平板、电脑、电视和网页等多种播放客户端,覆盖数亿用户。目前绝大多数客户端都已经支持IPv6。当客户端启动以及检测到网络变化时,访问爱奇艺IPv6探测服务器,分别通过IPv4/IPv6发出HTTP请求,以此判断本地IPv4/IPv6网络连通性;在支持IPv6的前提下,客户端优先解析视频调度的IPv6地址;客户端在通过IPv4或IPv6请求调度器时,携带Net-Stack header,告知视频调度器本地协议栈支持情况;

  • Anycast DNS:开启双栈,支持通过IPv4/IPv6 DNS查询A记录和AAAA记录。同时提供永远在线的IPv4&IPv6权威DNS服务;

  • HTTP视频调度:开启双栈,支持通过IPv6地址查询客户端归属运营商和区域;根据用户请求头中的Net-Stack参数以及来源IP地址,判断客户端IPv4/IPv6支持情况,结合调度策略开关和IPv6资源负载,为用户返回IPv4或IPv6下载地址。对于仅支持IPv6的客户端,返回IPv6下载地址;对于支持双栈的客户端,会在IPv6资源允许的情况下,返回IPv6下载地址;对于部分支持双栈的客户端,当IPv6资源紧张的情况下,返回IPv4下载地址;对于仅支持IPv4的客户端,返回IPv4下载地址;流程如下图:

图2-2 IPv4/IPv6调度流程图HTTP请求头Net-Stack取值示意含义如下:    = X:标识客户端仅支持IPv4;    = Y:标识客户端仅支持IPv6;    = Z:标识客户端支持双栈;

  • 爱奇艺混合CDN: 包括爱奇艺自建CDN和商业CDN,都需要开启双栈,同时支持IPv4和IPv6,结合调度管理平台,可支持部分节点和部分商业CDN支持IPv6的资源模式,可保证资源可以灰度平滑上线;

  • 资源管理平台:为了支持IPv6,资源管理平台实现了IPv6地址段管理闭环,其中包括:基于IDC的IPv6地址段录入、自动分配、拨测和回收等功能,为了完成全网IPv6地址的分配,开发了基于命令行的自动化分配工具,结合配置管理平台完成了全网存量的IPv6的配置。在服务器上线(装机子流程)流程根据IDC IPv6的状态,可以自动分配IPv6地址。

  • 调度管理平台:从资源管理平台自动同步服务器IPv6配置,增加DNS调度和HTTP视频调度IPv6地址库,拨测系统兼容IPv6;基于区域和机房两个维度的增加IPv6开关,精细控制IPv6上线节奏,在保障用户体验的同时,逐步增加IPv6流量占比;

  • 配置管理平台:各个CDN 节点接收到 IPv6 配置任务后,使用自己的资产和服务信息对任务模板进行二次渲染,得到最终的配置命令并执行,执行完毕后上报修改状态;

  • SDN管理平台:全面支持IPv6,通过生成配置架构及网元全量配置,实现一键完成核心机房IPv6相关配置,有效提升IPv6机房资源交付效率;

2.3 网络资源准备为保障各业务上线IPv6的基础网络资源需求,数据中心和网络的双栈改造是最早启动的工作环节,在2018年底基本完成了数据中心和网络能力的IPv6工作。下面是关键基础网络能力准备情况

  • 数据中心IPv6就绪:爱奇艺的数据中心包括Core、Storage和Cache三类,目前已经完成所有自建机房的IPv6地址申请、部署、分配和注册备案工作,确保IPv6网络出口安全可用,全面支持业务双栈上线。

  • 网络能力IPv6就绪:爱奇艺自有全球骨干网QNET完成IPv6升级工作,实现三大运营商和教育网等多家基础电信服务商的IPv6对接,并对基于QNET的Anycast系统进行IPv6升级,为DNS核心业务提供高可用的IPv6服务;

  • IPv6网络质量监控:流量监控和网络监控系统完成双栈升级,对比分析IPv6和IPv4网络质量差异和不同区域IPv6网络质量差异,指导和保障IPv6业务上线。

2.4 IPv6节点改造IPv6节点改造关键是机房基础设施和服务的改造,其中涉及到CDN节点和核心的平台。下面简要介绍一下节点IPv6改造的流程:(1) 通过资源管理平台管理节点的IPv6地址段,并为节点的每个服务器和网络设备自动生成IPv6地址;(2) SDN管理平台从资源管理平台获取节点中网络设备的IPv6信息,通过生成配置架构及网元全量配置,实现一键完成核心机房IPv6相关配置下发与生效;(3) 在配置管理平台中创建任务模板,自动下发IPv6配置和软件配置到服务器,服务器重启网络,软件配置平滑升级,服务支持IPv6;(4) 服务支持IPv6后,向调度管理平台注册告知自己具备IPv6服务能力;(5) 调度管理平台自动调整调度策略,在区域开启IPv6的情况下,自动切入IPv6流量;整体流程图如下:图2-3 节点改造流程借助于爱奇艺CDN完善的支撑平台,无论在硬件资源准备,还是服务软件管理,针对IPv6的支持已经完全自动化,尤其体现在基础网络设备配置、操作系统支持、IPv6资源管理、服务IPv6支持、服务注册和自动调度等方面均已实现自动化管理并上线。2.5 客户端调度流程    下面是IPv4和双栈客户端访问DNS、视频调度和视频CDN的时序图,从图中可以看到爱奇艺DNS、HTTP视频调度服务和视频服务均已支持IPv6,可以根据客户端不同的请求方式返回IPv4或者IPv6的资源。图2-4 IPv4/IPv6播放流程图 3. 平滑上线 上一部分详细介绍了整个IPv6业务调度架构和流程,本部分介绍系统上线的关键步骤,其中包括操作系统和软件层面的IPv6配置支持以及如何在调度管理平台进行平滑切量上线。3.1 系统配置系统层面配置包括内核调整和系统IPv6配置启用,IPv6启用方法如下:(1) grub配置开启IPv6删除/etc/default/grub配置文件中“ipv6.disable=1”配置(2) 重新生成grub ,配置使用命令 grub2-mkconfig --output /boot/grub2/grub.cfg 生成新的grub配置文件(3) IPv6全局开关配置新增/etc/sysconfig/network配置文件中“NETWORKING_IPV6=yes”配置(4) 配置网卡IPv6地址更新配置文件/etc/sysconfig/network-scripts/ifcfg-ethx,增加如下选项

IPV6INIT="yes"IPV6ADDR="分配的IPv6地址"IPV6_DEFAULTGW="分配的IPv6网关"

(5) IPv6地址生效

在CentOS 7系统中,需要重启系统,IPv6地址配置才能100%确保生效,CentOS 6 系统只需要执行 service network restart即可生效(6) 测试网络连通性
通过ping6命令,可以测试IPv6地址与外部IPv6网络连通性以上工作已经开发出完善的命令行工具,实现自动获取分配IPv6信息并配置的功能。系统初始化还需要调整以下内核参数:

内核参数 参数作用
net.ipv6.conf.bond0.accept_dad IPv6 DAD(重复地址检测Duplicate Address Detect)主要是为了探测是否有其它的节点使用了该地址;对于分配静态单播地址的网卡接口,设置相关接口参数为0,提高系统初始化速度。
net.ipv6.route.max_size 内核参数net.ipv6.route.max_size是IPv6路由缓存条目的最大值,在CentOS 7中,对于此参数的预设值过小;此参数可根据生产系统实际情况评估设置,也可调整成与net.ipv4.route.max_size预设值保持一致。
net.ipv6.conf.all.disable_ipv6net.ipv6.conf.eth0.disable_ipv6 在全局系统层面预设开启了IPv6的支持,也可以对网络接口内核参数进行具体调整,设置相关接口参数为0,确保IPv6配置开启。

以上针对系统内核参数、网络配置和IP地址自动分配相关的运维工作,我们使用自研的配置管理平台,已经实现自动化任务模板。针对存量设备,自动从资源管理平台获取IP地址,自动配置;针对新设备,装机流程中自动会分配IPv6地址,自动调整相关系统配置。3.2 服务软件配置(1) 调度器和视频Cache服务器开启IPv6端口监听调度器和视频Cache是基于Nginx开发的,线上环境在server{}模块增加IPv6监听配置示例如下:

server{listen [::]:80 backlog=8192;…}

(2) DNS服务器开启IPv6端口监听爱奇艺自研DNS是基于开源的acl[1]框架,为了支持IPv6,acl框架在基础模块和配置方面都做了很多优化,开启IPv6相关的配置如下:

service hpdns{master_disable = no;master_service = |53 # 监听所有网络地址的53端口…}


3.3 业务切量
通过爱奇艺调度管理平台,可以灵活的对IPv6流量进行调整控制,对于管理的视频IDC节点,设置开启IDC的IPv6服务支持选项,即可在IDC节点层面打开视频服务的IPv6访问支持:
调度管理平台支持按照用户区域和运营商配置IPv6的开启:实际的推进过程中,也是通过对用户区域和调度资源(IDC)两个维度进行配置实现灰度切量的,确保不影响用户体验并对用户无感知。4. 总结和展望 经过一年多的努力,爱奇艺调度系统已经全面具备IPv6服务能力,正在按照区域和运营商,逐步增加IPv6用户覆盖。截至2019年6月底,爱奇艺IPv6月活用户达到上亿级别,峰值带宽达到数百G;未来,我们仍将继续推进IPv6部署,稳步增加IPv6带宽占比,充分利用IPv6技术优势,为用户带来更好的播放体验。同时,推进IPv6网络部署和系统架构改造,进一步提升用户体验和降低成本。[1]: https://github.com/acl-dev/acl

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69945252/viewspace-2653590/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69945252/viewspace-2653590/

干货丨爱奇艺CDN IPv6系统配置相关推荐

  1. 毕设新思路丨爱奇艺后台管理项目详细步骤抓紧看!

    1. 项目背景 随着中国经济的稳步发展,居民人均消费支出不断增长,消费结构也发生了显著变化,在此背景下精神消费需求快速增长. 据国家统计局数据,近年来我国居民恩格尔系数已降低到了28.4%,而教育文化 ...

  2. 爱奇艺CDN运维平台实践

    CDN的全称是Content Delivery Network,即内容分发网络.它是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调度等功能模块, ...

  3. 爱奇艺编码团队:我们让AV1编码速度提升5倍

    爱奇艺综艺<青春有你>THE9成团 编者按: 如果说VVC是编码标准中的白富美,那么AV1就代表了广大的互联网玩家--承受不起高昂的专利版税.为了实现免专利费的目标,AV1不得不" ...

  4. 爱奇艺 Flutter 跨平台 Hybrid 实践

    Linux编程 点击右侧关注,免费入门到精通! 作者丨爱奇艺技术产品团队 爱奇艺开播助手项目,又称"直播机",该项目目标是通过一个移动平台为主播提供多样化的直播内容.现阶段所涵盖的 ...

  5. 爱奇艺携手网心科技构建下一代混合CDN,入选IDC中国边缘云最佳实践

    近日,国际权威分析机构IDC正式发布<中国边缘云最佳实践,2022>(以下简称<报告>),爱奇艺携手网心科技"构建下一代混合分发传输网络(CDN),为互联网视频打造极 ...

  6. 爱奇艺容器实践(内附云原生落地沙龙干货下载)

    4月10日下午,爱奇艺技术产品团队举办了"i技术会"线下技术沙龙,本次技术会的主题是"云原生落地探索与实践",邀请快手.百度和字节跳动的技术专家,与爱奇艺技术产 ...

  7. 爱奇艺谢丹铭:用AI让创作者提升效率,让消费者简单快乐丨MEET2021

    编辑部 整理自 MEET 2021 量子位 报道 | 公众号 QbitAI AI技术,究竟能在哪些行业实现规模化应用? 这是视频行业面对AI浪潮,交出的一份答卷: 素材智能检索.老电影修复.音色克隆. ...

  8. 硬纪元干货|爱奇艺吴霜:看好互动视频、AI陪伴以及VR直播

    以爱奇艺的内容,爱奇艺的大平台共同去推动行业市场的成熟和发展. 5月18日,由镁客网.IT耳朵联合举办的"2017中国VR/AR产业应用创新峰会"在北京朗丽兹西山花园酒店盛大举行. ...

  9. 干货|爱奇艺数据库实践:不同场景如何快速选择数据库

    郭磊涛 爱奇艺数据库和中间件负责人 本文主要分享数据库选型方面的一些思路,在数据库选型的时候要考虑哪些问题?比如,有哪些需求?待选用的数据库是否和需求对应的上?是不是直接就可以拿来用?需不需要一些额外 ...

  10. 蚂蚁金服启动Pre-IPO轮融资;爱奇艺诉手机电影索赔百万;高通与华为谈专利纠纷丨价值早报

    第[883]期早报由[周四]赞助播出 01 今日头条 消息称蚂蚁金服启动Pre-IPO轮融资,回应:不予置评 3月7日消息 据市界报道,从多个核心信源获知,蚂蚁金服已经启动Pre-IPO轮融资,融资完 ...

最新文章

  1. 中国信通院:2019年Q1全球人工智能产业数据报告
  2. ORA-20011 ORA-29913 KUP-11024 GATHER_TABLE_STATS
  3. Java Review - 并发编程_StampedLock锁探究
  4. 特征缩放 feature scaling
  5. windows7怎么恢复出厂设置_电脑恢复出厂设置会怎么样图文教程_windows7教程
  6. 牛客网 --java问答题
  7. payara 创建 集群_Apache Payara:让我们加密
  8. 字体编辑器_Mac系统常见的Birdfont字体编辑器
  9. html5中地理位置,Chrome中的HTML 5地理位置提示
  10. react-native Navigator 填坑
  11. sensor接口之DVP
  12. 解决华为手机无法使用Android StudioUSB调试功能
  13. win10安装Dreamweaver cc 2019报无法写入注册表的错误
  14. android波纹动画,Android实现水波纹特效
  15. USB无线网卡配置ICS失败,你可以连接到SoftAP,但可能无法使用internet服务
  16. 白酒行业如何结合互联网模式突破年营业额过亿
  17. Eclipse 基本 java lombok maven 示例
  18. FPGA - 7系列 FPGA内部结构之CLB -01- CLB资源概述
  19. 怎样对论文重复率进行检查
  20. 华为OD机试题:小朋友高矮排列

热门文章

  1. Word交叉引用连续引用多个参考文献
  2. 图像处理的OTSU算法
  3. java语言判断101到200之间素数
  4. 使用youtube语音识别功能给视频加自动字幕
  5. VS2015 社区版本 打包程序 发布
  6. 尝试用朴素贝叶斯分析借款信用等级
  7. python time和datetime、pytz
  8. 松下伺服电机uvw接线图_松下Panasonic伺服电机电源线选择与接线方法
  9. 北京朝阳数北机房简介
  10. 吉隆坡兰卡威旅游信息整理