爱奇艺DNS解析
爱奇艺DNS
(一)定义与作用
DNS(Domain Name System)即域名系统,是互联网上用于将域名解析为IP地址的系统,爱奇艺DNS则是专门用于解析爱奇艺相关域名的系统,当用户在浏览器中输入爱奇艺的域名时,系统会通过DNS解析将域名转换为对应的IP地址,然后浏览器才能与该IP地址对应的服务器建立连接,获取网页内容。
(二)重要性
- 加速访问:通过合理的DNS解析策略,可以将用户请求导向离用户最近的服务器,从而减少访问延迟,提高用户体验,不同地区的用户访问爱奇艺时,DNS会将其引导至当地或距离较近的服务器节点,让用户能够更快地加载视频等内容。
- 高可用性:爱奇艺可能在全球范围内部署多个服务器,通过DNS解析可以实现负载均衡,当某个服务器不可用时,可以自动将用户请求导向其他可用的服务器,确保服务的高可用性,即使在部分服务器出现故障或维护的情况下,用户也能正常访问爱奇艺的服务。
- 安全性:DNS解析过程中可以实现域名与IP地址的映射,从而隐藏真实的服务器IP地址,增加了系统的安全性,防止恶意攻击者直接访问服务器。
爱奇艺内网DNS架构
(一)私有云环境下内网DNS架构
爱奇艺内网DNS采用分层架构,依据分层原则主要分为四层,各层角色及作用如下:
层次 | 角色及作用 |
---|---|
主机DNS | 主要部署在主机上,为物理机、虚拟机和容器等提供高效DNS服务,具备90%以上的DNS缓存能力,当域名信息未命中主机DNS缓存时,会转发该DNS查询请求至后端的缓存DNS。 |
缓存DNS | 接收并响应来自主机DNS转发的域名解析请求,若未命中本地缓存,则将带有主机DNS子网信息的DNS请求转发至后端的权威DNS,接收到权威DNS返回结果后将其回传给请求者,同时在本地进行缓存,采用Anycast方案使每组缓存DNS都绑定相同Anycast IP,统一主机DNS配置,提升维护效率。 |
权威DNS | 存放所有内网权威域名的地址信息,当缓存DNS转发的请求域名为内网权威域名时,会根据主机DNS子网信息优先返回其所属区域的地址信息;若请求域名为非内网权威域名,则会将该DNS请求进一步转发至递归DNS处理。 |
递归DNS | 主要用来对非内网权威域名进行递归解析,将解析结果返回给权威DNS、缓存DNS直至主机DNS。 |
(二)内网DNS架构演化
- 一代DNS架构:早期内网DNS架构相对简单,只有权威DNS,采用master/slave模式,但随着业务发展,内网DNS访问压力与日俱增,单层DNS架构已无法满足业务访问要求。
- 二代DNS架构:在主机上增加主机DNS承载大部分访问压力,中间层增加缓存DNS,进一步降低权威DNS负载,随着主机规模不断增大,中间层缓存DNS的节点数量不断扩增,每次DNS节点扩增或调整,都需要修改主机DNS上的配置项,维护复杂,且DNS服务高可靠性缺乏保障。
- 三代DNS架构:借助于Anycast的网络架构,使DNS架构具备了弹性伸缩的能力,同时统一并简化了主机DNS配置,降低了故障率与维护成本。
(三)融合Anycast的内网DNS架构
Anycast技术将一个单播地址分配到网络中多个不同物理位置的主机上,发送到这个地址的报文被网络转发到“的目标主机,从而达到负载均衡及就近访问的目的,爱奇艺DNS Anycast将路由协议部署到DNS主机上,和网络设备进行联动,通过动态路由控制Anycast IP浮动,出现故障时,将Anycast IP在故障主机上摘除,业务请求即可自动转发到其他Anycast主机。
爱奇艺将DNS进行平台化管理,平台具备以下功能:
- 管理所有DNS主机,通过平台快速进行主机DNS服务部署、路由模块部署等。
- 提供一键上下线的功能,可通过平台直接操作或者接口调用。
- 故障自主检测,一旦检测到故障即触发故障主机摘除,其他DNS主机自动接管服务。
这种融合Anycast的DNS架构,实现了DNS服务地址的统一,全网主机都可配置同一个DNS地址,大大降低了维护成本;平台化管理,实现DNS配置标准化,支持故障主机自动摘除切换,用户端无感知,充分保障了DNS服务持续稳定、安全、可靠、高效地运行。
混合云时代的爱奇艺内网DNS架构
(一)面临的问题
为实现业务高效灵活部署,爱奇艺与国内外多家主流云厂商进行合作,形成自建私有云和公有云结合的混合云模式,但不同的云厂商都有独立的DNS服务,并且只能解析自己相关的域名,无法解析私有云域名,更无法跨公有云进行域名解析。
(二)解决方案
爱奇艺技术团队选择Anycast DNS + 定向转发的方案思路,同时将公有云DNS纳入原DNS管理平台实现统一化管理,以实现标准化配置、统一化管理、全局化服务的混合云DNS服务目标。
(三)混合云场景下的内网DNS架构
- 网络架构:原私有云通过专线连接多个IDC,公有云节点类似于爱奇艺自有IDC,通过专线连接到爱奇艺核心PoP点,公有云节点可以横向扩展,云下IDC仍采用物理机和网络设备实现DNS Anycast,云上采用LB + 虚机的部署方式,混合云内网DNS充分考虑各云厂商的网络状况。
- DNS架构:主机DNS、缓存DNS、权威DNS、递归DNS的层级关系依然清晰,云下通过传统网络实现Anycast,云上通过LB实现,云下权威服务器和云上权威服务器网络互通,并通过统一平台进行管理。
爱奇艺Anycast DNS调度系统
(一)系统架构及角色介绍
爱奇艺CDN调度系统全流程架构中,Anycast DNS是重要组成部分,客户端首先访问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建设自动化建设。
(二)系统设计
- Anycast DNS:开启双栈,支持通过IPv4 / IPv6 DNS查询A记录和AAAA记录,同时提供永远在线的IPv4&IPv6权威DNS服务。
- HTTP视频调度:开启双栈,支持通过IPv6地址查询客户端归属运营商和区域;根据用户请求头中的Net Stack参数以及来源IP地址,判断客户端IPv4 / IPv6支持情况,结合调度策略开关和IPv6资源负载,为用户返回IPv4或IPv6下载地址。
- 爱奇艺混合CDN:包括爱奇艺自建CDN和商业CDN,都需要开启双栈,同时支持IPv4和IPv6,结合调度管理平台,可支持部分节点和部分商业CDN支持IPv6的资源模式,可保证资源可以灰度平滑上线。
- 资源管理平台:为了支持IPv6,实现了IPv6地址段管理闭环,其中包括基于IDC的IPv6地址段录入、自动分配、拨测和回收等功能,开发了基于命令行的自动化分配工具,结合配置管理平台完成了全网存量的IPv6的配置。
- 调度管理平台:从资源管理平台自动同步服务器IPv6配置,增加DNS调度和HTTP视频调度IPv6地址库,拨测系统兼容IPv6;基于区域和机房两个维度的增加IPv6开关,精细控制IPv6上线节奏,在保障用户体验的同时,逐步增加IPvv6流量占比。
- SDN管理平台:全面支持IPv6,通过生成配置架构及网元全量配置,实现一键完成核心机房IPv6相关配置,有效提升IPv6机房资源交付效率。
相关问题与解答
(一)问题一:为什么爱奇艺要采用融合Anycast的内网DNS架构?
答:融合Anycast的内网DNS架构具有多方面优势,Anycast技术能实现负载均衡及就近访问,将用户请求导向最近的可用DNS主机,降低访问延迟,提升用户体验,例如不同地区的业务主机能快速获取DNS解析服务,减少等待时间,该架构便于统一管理和维护,通过平台化管理,所有DNS主机可集中管理,如一键部署、一键上下线等功能,降低了运维成本,在出现故障时,能实现故障主机自动摘除,其他主机自动接管服务,保障了DNS服务的高可用性和稳定性,有效应对业务规模的不断扩大和复杂的网络环境变化。
(二)问题二:爱奇艺Anycast DNS调度系统如何保障IPv6业务的顺利开展?
答:爱奇艺Anycast DNS调度系统从多个层面保障IPv6业务,首先在系统设计上,Anycast DNS开启双栈,支持IPv4 / IPv6 DNS查询A记录和AAAA记录,并提供永远在线的IPv4&IPv6权威DNS服务,为IPv6业务提供基础的域名解析支持,HTTP视频调度根据客户端IPv6支持情况及调度策略,结合IPv6资源负载为用户返回合适下载地址,确保视频内容能在IPv6环境下准确调度,资源管理平台实现IPv6地址段管理闭环,包括录入、分配、拨测和回收等,保障IPv6地址资源的合理管理与使用,调度管理平台增加IPv6地址库,兼容IPv6拨测,精细控制上线节奏,逐步增加IPv6流量占比,SDN管理平台全面支持IPv6,实现核心机房IPv6相关配置自动化,提升资源交付效率,从网络配置层面助力IP