随着网络的快速发展,作为技术决策者在选择使用 CDN 服务时最关心的三个问题是:一,哪家的 CDN 更快。二, 哪家 CDN 功能最全。三,怎么付费最划算。下面小编希望给大家提供一些启发和建议。
用户终端访问 CDN 的过程分两个步骤, 一是用户通过 DNS 找到最近的 CDN 边缘节点 IP; 二是数据在网络中的送达用户终端。整个过程中,有三个方面会影响用户访问 CDN 的体验。
一,拥有 DNS 优化策略的 CDN 提供商,会有更好的用户体验。
客户终端的 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 造成的域名劫持和跨网访问。
Http 302 跳转: CDN 厂商维护 CDN 域名 IP 库,根据用户访问终端的 IP 和 CDN 边缘节点的状态,选择最合适的 CDN 节点,发出 HTTP 的 302 返回码,将用户的请求跳转到合适的 CDN 边缘节点。例如腾讯的下载直通车就使用类似技术。
二,拥有自治系统(Autonomous system, AS)的 CDN 提供商,数据包跨越最少的网络边界,能获得更快的传输速度。
在 BGP 协议中,IP 包从一个 AS 向另一个 AS 传输时,需要经过边界路由器,如果由于网络问题造成 IP 包不可达,则需要边界路由器重新规划线路。如果 CDN 服务商自己拥有自治系统,AS 内部拥有同样的选路策略,数据就能在 CDN 服务商自己的 AS 中高效传输,理论上最终送达用户所花的时间也会最小。 就好比我们开车在省内玩,肯定要比跨多个省经过多个收费站耗时要少。
三, CDN 服务商所在自治系统 AS 的相邻 AS 越多,离运营商骨干网越近,数据传输也会更有优势。
CDN 服务商所在的 AS 离运营商骨干网 AS 越近,理论上数据包传输所花时间也越少。另外, CDN 厂商如果同时租用了多个运营商品牌的带宽线路,其服务器的 IP 就会同时属于这几家运营商的 AS,跨运营商的数据传输时间也会比只有一个运营商的相对快些。就如同有多个高速公路的通行证,数据在传输过程中从一家的路面后就可直达用户,而不用来回在多个道路上切换,避免了不必要的时间损耗。
以上就是会影响用户访问 CDN 的三个方面体验,希望给大家带来了帮助