CDN加速

产品白皮书

更新时间:2020-07-01 18:57:09

1. 方案背景

1.1. 运营商劫持

运营商,特别是一些小运营商,为了减少跨网结算成本,会在本地运营商网内搭建内容缓存服
务器。本地本网用户访问时,运营商把域名强行指向内容缓存服务器的 IP 地址,从而把本地本网
流量完全留在了本地,减少了跨网访问。为了获取更多利益,部分运营商们还会将对应解析内容替
换成第三方广告联盟的广告或是钓鱼网站等。
伴随着运营商劫持现象的频繁发生,对企业造成了诸多不良影响:
⚫ 访问失败
客户业务错综复杂,如果域名是通过 https 协议或其它端口提供服务的,用户访问就会出现
失败。部分特殊业务,比如视频类网站,由于涉及到防盗链或者视频拖拉等特殊订制功能,
一旦被运营商进行内容缓存,用户也会访问失败。
⚫ 访问不稳定
运营商的缓存服务器的运维水平参差不齐,可能会出现缓存服务器故障导致用户访问异常
的问题。
⚫ 文件更新不及时
运营商自建的缓存服务器配有自己的缓存策略,且该策略独立于 CDN,无法被客户所控制,
会造成当文件更新后,终端用户仍访问到被劫持的旧文件内容。
由于运营商自建缓存会导致被 DNS 劫持的访问出现故障、访问效果不佳、访问内容未更新甚
至访问到第三方广告等现象,最终造成用户大量投诉。

1.2. 转发解析请求

运营商的 LocalDNS 会存在解析转发的情况,解析转发是指运营商自身不进行域名递归解析,
而是把域名解析请求转发到其它运营商的递归 DNS 上。
客户使用 CDN 加速服务后,当解析被运营商转发,网宿的权威 DNS 收到的域名解析请求的来
源 IP 就成了其它运营商或其他地区的 IP(因为网宿的权威 DNS 是根据来源 IP 进行解析调度),那
么用户流量就被导向了错误的节点,造成跨域、跨省、跨运营商访问后果:网站访问缓慢甚至无法
访问。

1.3. DNS 多出口

DNS 多出口,是指运营商的 LocalDNS 按照标准 DNS 协议进行递归查询时,由于存在网络多
出口且配置了目标路由 NAT 的情况,最终导致 LocalDNS 进行递归解析的出口 IP 非本网 IP 地址。
使用网宿 CDN 加速服务后,网宿权威 DNS 会根据来源 IP 进行解析调度。DNS 多出口的情况
会造成调度系统收到的域名解析请求来源 IP 变成其它运营商的 IP,最终引发域名解析错误、流量
跨网。

1.4. DNS 攻击

当前网络攻击越来越激烈,从历史来看,每次攻击的影响范围都很大,主要攻击类型:
① 针对公网 dns 服务的攻击,这个攻击影响的是所有解析用户。一旦受攻击,意味着所有用
户的域名解析都会出问题,大家上网都会出现故障。
② 针对网宿 dns 服务的攻击,通常为 DDOS 攻击,网宿平台可应对,其余类型攻击则影响网
宿平台该 DNS 服务的所有用户。
由于 CDN 加速是通过 CNAME 的方式别名到网宿入口,无论是公网 DNS 受到攻击还是网宿
DNS 受到攻击,都将对客户的服务造成严重影响,甚者直接导致区域服务中断。

2. 网宿 HttpDNS 方案

2.1. HttpDNS 原理

常规域名解析是通过 DNS 协议进行解析的,其最终结果就是获取域名对应的真实服务器地址,
无法绕开 DNS 拦截和故障问题。
而 HttpDNS 则是以 HTTP 的方式代替传统 DNS 协议传递解析结果,能够有效避开 DNS 层面
的拦截和故障。客户端通过接口向网宿 HttpDNS 集群发起“DNS 查询”请求,网宿 HttpDNS 集群根
据请求携带的域名和 IP 信息,查询 CDN 内部调度策略,通过响应请求的方式,返回给客户端最优
节点 IP。客户端得到最优节点 IP,通过在 header 中指定 host 字段,进行正常的业务访问。

2.2. 访拓扑图流程

⚫ 拓扑图
“两会”开幕在即,这份网络安全重保方案请收好
⚫ 访问流程
客户端已根据《HTTPDNS.接入指南》完成客户端改造,客户端与 HTTPDNS 系统的业务流程
如下:
① 客户端向网宿 HttpDNS 中心集群发起查询请求,携带用户域名和终端 IP(可选)。
② 服务集群查询 CDN 内部调度系统(若内部调度系统查询不到数据,目前返回为空,后续
考虑在中心集群进行递归查询),将域名最佳访问节点 IP 以 HTTP 响应的方式传递给客
户端。
③ 客户端,收到响应结果,向节点发起请求。
④ 若客户端向网宿 HttpDNS 集群请求失败,则启用备选,走正常 DNS 解析过程,向 Local
DNS 发起请求。
⑤ LocalDNS 进行递归查询。
⑥ 最终返回 DNS 结果
⑦ 客户端拿到最优 IP 后,建立连接,发起正常访问操作

2.3. 调用方式

⚫ 网宿 HttpDNS 集群
网宿 HttpDNS 集群中心在海外地区接入了 BGP Anycast 网络,遍布全球各大洲 20+节点,用户
可以实现就近快速接入服务。
国内网宿 HttpDNS 集群中心,调度服务器节点数量在 100+,支持海量 HttpDNS 访问,轻松支
撑上千万并发访问。
安全上,网 HttpDNS 建设有多个异地灾备点,当任意一个节点发生故障时均能无缝切换到备
份节点,保证用户解析正常。为了保证 HTTPDNS 业务稳定及正常,在保证 HttpDNS 中心集群稳定
性同时建立分布于全国各地的边缘服务网络。
⚫ 调用方式
可采用如下方式进行请求:
1.国内:
① 主-备-备方式
客户端访问的时候支持主备备的方式。当前访问主集群,如果收到的响应为空或者集群连
接超时,则切换备份集群,如果备份集群访问也为空或者连接不上,则可选择尝试下一个
备集群或者直接走正常的 dns 解析。
② 域名 https 方式
2.海外地区:
采用 Anycast ip 的方式调用,并实现了多地跨机房容灾。可以保证 HTTPDNS 服务的高可用性,
HttpDNS 方案·DNS 防劫持方案
网宿科技股份有限公司 www.chinanetcenter.com 第7页
使服务得到有效保障。

2.4. 查询方式

⚫ 直接 HTTP 查询 DNS 接口访问方式
网宿自定义两种 http 查询 dns 接口的方式:http 和 https
① http 方式:请求内容包括用户加速域名,客户端 IP;响应内容则包括 DNS 记录和 TTL 时
间。
② https 方式 :对要查询的域名和返回结果进行加密传输,可以防止明文 HTTP 请求在传输
过程中被篡改,进一步保障传输安全性。

3. 方案优势&适用场景

3.1. 方案优势

⚫ 高速稳定接入
全国互通的多个 BGP 集群可择优接入,多个集群异地容灾。海外地区已经部署 Anycast IP。
可保证各个运营商用户都可高速稳定接入。
⚫ 就近请求,快速响应
引入边缘节点,就近访问,低延迟,分散中心风险。
⚫ 大容量,高并发
国内 100+节点服务器、海外 20+节点服务器,轻松支撑千万并发访问,日千亿请求。
⚫ 支持接入的域名范围广
支持所有的域名接入 HTTPDNS,即包括网宿加速的域名以及非网宿加速的域名。
⚫ 绿色防劫持
无劫持,无跳转,防止 DNS 被拦截,提升 DNS 解析成功率。
⚫ DNS 安全通道
若根域解析异常,客户端的域名解析不会受到 DNS 根域的影响。
⚫ 精准调度
精确识别来源请求,直接根据用户 IP 进行调度,将用户访问导向最佳的节点,提高访问速
度和体验。
⚫ 解析效率提升
HttpDNS 方案·DNS 防劫持方案
网宿科技股份有限公司 www.chinanetcenter.com 第8页
可在一次 http 请求中查询多个域名结果,提升了解析效率。
⚫ 低成本
接入网宿 HttpDNS 仅需在客户端接入层做少量改造即可,而且 Http 协议请求构造非常简
单,兼容性强,成本低。
3.2. 适用场景
当客户的网站或应用业务受到运营商劫持、DNS 解析出错、DNS 攻击等多方面影响时,企业
可考虑使用网宿 HttpDNS 方案,真正实现:
⚫ 避免因为运营商劫持造成访问错误;
⚫ 避免因为运营商劫持访问到旧文件、广告文件等错误内容;
⚫ 避免因为 DNS 多出口、转发解析等因素,造成终端访问过慢,影响用户体验;
⚫ 保障在 DNS 受到攻击时,网站或应用服务能够照常进行。
注:需要有客户端进行配合,进行一定的开发,适用于有客户端的场景。

4. 客户案例

网易游戏
业务场景:手游厂商,在线玩家人数众多,并经常需要进行游戏更新包升级。
存在问题:由于玩家 DNS 设置等问题,经常出现更新包下载过慢的情况
解决办法:使用网宿 HttpDNS 方案,获得用户终端 IP 对应的最佳加速节点,使更
新包下载速度得到很大提升