如何正确的选择CDN加速

时间:2021-11-06 来源:未知网络 作者:996建站网

哪家的 CDN 更快?

CDN 服务商经常引用独立第三方公司的拨测数据来证明自己的 CDN 服务更好。虽然这些数据在某个区域或时间段也许是准确的,实际却是盲人摸象,无法证明全时段和全网 CDN 服务的真实性能。也许从 CDN 服务商所处的网络环境和提供的技术功能入手,会是更科学和公平的对比方法。

国内用户普遍使用互联网提供商 (ISP) 的宽带上网,具体访问流程如下图:

如何正确的选择CDN加速插图

用户终端访问 CDN 的过程分两个步骤, 一是用户通过 DNS 找到最近的 CDN 边缘节点 IP; 二是数据在网络中的送达用户终端。整个过程中,有三个方面会影响用户访问 CDN 的体验。

一,拥有 DNS 优化策略的 CDN 提供商,会有更好的用户体验。

从图 1 可见, 客户终端的 DNS Resolver 负责告诉浏览器到哪里去找 CDN 的资源。理论上 ISP 的 DNS 服务器会选择离用户最近 CDN 节点 IP 并返回给用户,但是实际情况并不是这么简单。国内的大城市的 ISP 业务,除了一些区域性的 ISP,基本被联通、电信和移动这样的大运营商所垄断。由于各运营商之间存在着网间费用结算,运营商会想尽一切办法将用户的访问在自己的网内解决掉。比如,广州联调宽带的用户想访问的内容在联通北京的 CDN 节点, 尽管在广东移动的 CDN 节点有用户想访问的资源,联通的 DNS 还是会返回联通北京 CDN 节点的 IP。

另外,一些 ISP 为了节省网间流量,未经 CDN 服务商同意,自己针对一些 CDN 文件做了一层 CDN 缓存,通过“DNS 劫持”把用户访问 CDN 资源的请求都指到自己网内的非法 CDN 缓存服务器。很多时候这些缓存的内容不能及时和 CDN 节点同步更新,会造成使用该 ISP 的用户终端出现访问 CDN 资源缓慢,失败等现象。同时,国内严重的 DNS 污染问题也影响了用户的上网体验。

因此,如果能使用一些技术优化用户 DNS 查询,会大幅度提高用户的体验。目前优化 DNS 的技术主要是:

HttpDNS :客户端基于 Http 协议向 CDN 服务商指定的 DNS 服务器发送域名解析请求,从而避免 LocalDNS 造成的域名劫持和跨网访问。如图 2

如何正确的选择CDN加速插图

Http 302 跳转: CDN 厂商维护 CDN 域名 IP 库,根据用户访问终端的 IP 和 CDN 边缘节点的状态,选择最合适的 CDN 节点,发出 HTTP 的 302 返回码,将用户的请求跳转到合适的 CDN 边缘节点。例如腾讯的下载直通车就使用类似技术。 图 3

如何正确的选择CDN加速插图

三, CDN 服务商所在自治系统 AS 的相邻 AS 越多,离运营商骨干网越近,数据传输也会更有优势。

CDN 服务商所在的 AS 离运营商骨干网 AS 越近,理论上数据包传输所花时间也越少。另外, CDN 厂商如果同时租用了多个运营商品牌的带宽线路,其服务器的 IP 就会同时属于这几家运营商的 AS,跨运营商的数据传输时间也会比只有一个运营商的相对快些。就如同有多个高速公路的通行证,数据在传输过程中从一家的路面后就可直达用户,而不用来回在多个道路上切换,避免了不必要的时间损耗。

对比结果

选取 IDC 评述网排名前十的 CDN 服务商,采用以下方法收集数据:

浏览 CDN 服务商的网站,收集关于 CDN 加速的功能介绍,得到对比项一。

通过 nslookup 查询他们域名对应的 IP,使用美国 Hurricane Electric 公司提供的网页工具查寻 AS 号码和其相关联的相邻域所属的运营商得到对比项二和三。

以上数据收集方法存在如下假设:CDN 厂商把自己的主站建在和自己 CDN 同一个 AS 内,没有租用其它厂商的主机。如果厂商连自己的主站都不使用自己的产品,只能说明他们对自己的产品都没有信心。

CDN 厂商把对于 DNS 优化的功能都公布在互联网上。在竞争激烈的 CDN 行业,厂商都希望对外宣传自己的亮点,不T存T在C酒香D不怕N巷子深的说法。

如何正确的选择CDN加速插图1

微信扫一扫 关注公众号

微信扫一扫 使用小程序

百度扫一扫 使用小程序