阿里云可以通过cdn服务来解决不同地域的用户访问速度问题吗?

作为技术决策者在选择使用 CDN 服务时最关心的三个问题是:一,哪家的 CDN 更快(速度快,用户体验好)。二, 哪家 CDN 功能最全,即使现在用不到也不会给将来业务发展挖坑。三,怎么付费最划算。本文通过分析对国内 CDN 市场占有率靠前的十家服务商的网络环境和技术服务,希望给大家提供一些启发和建议。

哪家的 CDN 更快?

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

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

用户终端访问 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

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

二,拥有自治系统(Autonomous system, AS)的 CDN 提供商,数据包跨越最少的网络边界,能获得更快的传输速度。

在 BGP 协议中,IP 包从一个 AS 向另一个 AS 传输时,需要经过边界路由器,如果由于网络问题造成 IP 包不可达,则需要边界路由器重新规划线路。如果 CDN 服务商自己拥有自治系统,AS 内部拥有同样的选路策略,数据就能在 CDN 服务商自己的 AS 中高效传输,理论上最终送达用户所花的时间也会最小。 就好比我们开车在省内玩,肯定要比跨多个省经过多个收费站耗时要少。

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

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

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

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

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

以上数据收集方法存在如下假设:

CDN 厂商把自己的主站建在和自己 CDN 同一个 AS 内,没有租用其它厂商的主机。如果厂商连自己的主站都不使用自己的产品,只能说明他们对自己的产品都没有信心。

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

注:第 9 位的世纪互联的网站对其 CDN 服务的介绍很少,无法获取需要的信息,增补了第 11 位的京东云。

阿里云,腾讯云和网宿科技由于支持 HttpDNS 在技术上有领先优势,可以列为第一梯队。第二梯队的是百度云,蓝讯,Ucloud 和网易云。它们所在 AS 和两个以上运营商主干网 AS 相邻,也具有一定优势。剩下的金山云,七牛云和京东云排在第三梯队。金山云所在 AS 只和电信骨干网 AS 相连,使用其它运营商的用户访问其 CDN 节点理论上会相对电信的慢一些。七牛云和京东云其网络属于北京电信通的 AS,需要穿过两个 AS 才接入骨干网,理论上速度也会比其他 CDN 服务商稍慢。

哪家 CDN 功能最全

CDN 服务的功能点非常多,为了比较方便选择了 11 个常用的功能,主要覆盖加速优化,监控和安全三个方面:

HTTP2.0 和现在的 HTTP1.1 相比,做了很大的改动和优化,例如头部压缩、服务端推送等。因为它要求服务器端和浏览器端都得支持 HTTP2.0 协议,所以在国内获得普遍支持还有一段时间。不过作为互联网下一代 HTTP 协议,即使我们现在用不上,也应考虑为将来的系统升级留下余地。

目前 CDN 节点使用的 WEB 服务器端普遍支持 GZIP 协议的压缩, 当用户浏览器访问静态资源,并且支持 Gzip 压缩时, 服务器端可以把资源压缩打包发送给浏览器,由浏览器进行解压, 减少文件在互联网传输的数据量和时间。

为了避免传统的 CDN 节点同时去源站拉数据,造成访问洪峰压垮源站的带宽和服务器。 CDN 厂商使用源站推送功能将源站内容提前推送给边缘 CDN 节点,提前进行刷新预热。

CDN 对音视频等流媒体文件进行加速,其背后是一套复杂的技术方案,包括上传,转码,分发,以及 CDN 边缘节点根据用户终端支持协议的情况下发合适的流媒体格式。不同 CDN 服务商对点播加速的技术实现方案不同,不好做量化比较,只用是否支持播加速功能来比较。

直播加速如何解决播放延时、连麦时多路音视频的合并、以及突发热点对带宽的冲击等这些技术挑战,对 CDN 服务商的技术、硬件和网络条件都有很高的要求。也用是否支持直播加速来比较。

CDN 服务商提供图形化工具,对 CDN 的使用情况,例如点击量,命中率,公网下行流量等进行统计和监控。方便客户对于 CDN 使用效率和结果进行评估,及时发现问题和调整网络带宽预算。

提供所有客户终端访问 CDN 服务的原始日志 (access log),这些日志看似没用,其实很有价值。例如,可以通过分析原始日志的数据包总量估算出 CDN 实际的下行流量,作为支付 CDN 服务费的参考。也可以通过分析这些日志的响应时间,结合客户端 IP,评估各地区终端用户实际访问 CDN 的情况。

CDN 服务商防盗链的手段很多,例如常用的 http Referer 防盗链,其原理是利用 http header 中的 referer 属性,判断用户提交信息的网站 IP 地址,然后和真正的源站端的地址相比较,如果一致则表明是站内提交,或者为自己信任的站点提交,否则视为盗链。

黑白名单是我们可以根据业务需要对用户请求的源 IP 访问进行管理,为我们提供了主动防御的能力。使用 IP 黑名单的功能,可以有效的帮助我们阻止盗链,和恶意攻击。

网站使用 SSL/TSL 协议校验是目前防止盗链,和解决 “DNS 劫持”最好的方式。目前国内外大型网站都已经换成了基于该协议的 HTTPS 通信方式。早期的 SSL 协议默认每个 IP 地址上只能用一个证书。TLSv1z 增加了服务器名称指示(SNI)功能,通过发送虚拟主机名作为 TLS 协商的一部分这使得服务器可以在握手阶段选择正确虚拟域,并发送对应证书。这样每个 IP 上可以部署多张证书,对于运行很多虚机和域名的用户会非常节省资源。如果 CDN 服务商支持该项功能,说明 CDN 服务支持 HTTPS 和 TSL v1 以上版本。

使用 SSL 认证时,客户端会在 TLS 握手阶段,去发证机构对实时查询 OCSP (Online CerTIficate Status Protocol,在线证书状态协议)接口,来判断服务器端的证书是否作废。在获得获得 OCSP 结果前会阻塞后续流程,通常发证机构都在国外,客户端的访问会延迟整个 TLS 握手的时间。而 OCSP Stapling 功能,是指服务端在证书链中封装了发证书机构对证书的 OCSP 查询结果,从而让客户端浏览器跳过自己去验证的过程。如果 CDN 服务商支持该功能,说明其 CDN 服务支持 HTTPS 加速比较好。

对前文的十家 CDN 服务商进行打分,结果如下表:

腾讯云和网宿科技得分最高,其它厂商各有优劣。 9 分以上的厂商占了前 50%,分别是腾讯云,网宿科技,阿里云,百度云蓝汛。后 50% 的厂商分数在 8-7 分之间。

目前业内普遍使用的 CDN 计费方式有两种:每按带宽峰值和按流量。

每 5 分钟统计一个带宽峰值(单位 Mbps),每日得到 288 个峰值,取当日带宽峰值作为结算标准。计费周期普遍采用按日计费,每日零点扣费。

按照每月使用的实际流量作为结算标准。价格普遍采用阶梯定价。计费周期普遍采用按月计费,每月最后一天零点扣费。也有一些厂商采用按日计费或按小时计费和扣费。

各厂商收费标准如下表:

注:有些 CDN 厂商会对包月的大客户提供优惠,本文不做对比。

按峰值计费 10 家厂商有 6 家支持,3 家不支持,1 家网上没有公开价格。500M-5G 带宽平均市场价格在 0.69 元 Mbps。峰值带宽计费低于 0.69 元的厂商有 4 家,分别是阿里云,腾讯云,百度云和金山云。按流量计费的 9 家支持,1 家网上没有公开价格,10T-50T 阶梯的平均流量价格是 0.25 元 /G。流量计费低于 0.25 元 /G 的厂家有 5 家,分别是阿里云,腾讯云,蓝汛,金山云和七牛云。

以 1Mbps 带宽作为计算如下:

通过计算,1Mbps 带宽的网络,一天 24 小时跑满的话可以消耗约 10.5G 的流量。以网络利用率占峰值的 10%,20%,25%, 30% 为参数计算使用峰值带宽和按流量计费的花费对比,结果如下表:

通常大家都会选择按流量计费。但是如果带宽的实际利用率大于 30% 后,实际花费的钱是小于实际消耗的流量计费模式的。 例如我们使用 50Mbps 峰值带宽每天花费 34.5 元。 如果 CDN 利用率大于 30%,使用的实际流量为 131.25G 对应流量计费要花费 39.38 元,按峰值宽带计费会更划算。

使用峰值宽带计费大家普遍的担心是被恶意攻击造成短时间内巨大的峰值,以峰值来计算整天的费用非常不划算。使用单链接限速可以避免这样的问题。所谓单链接限速,就是在 CDN 边缘节点的 WEB 服务器上,设置限制单连接的下载速度,使其最高速度限定在预设值内。该功能可在保障用户访问体验的同时,在一定程度上平滑带宽值,合理节省带宽成本。不过国内现在只有网宿科技宣称支持该功能,其它 CDN

回答了关于 CDN 服务商的速度、功能和价格三个问题,哪家的性价比最高呢?最后做一个综合比较:

速度评分中,第一梯队的记 3 分,以此类推第二梯队 2 分,第三梯队 1 分。

功能评分中,大于 9 分的 CDN 服务商得 1 分,其他不得分。

价格评分中,峰值带宽计费 500M-5G 带宽低于平均市场价格 0.69 元的 CDN 服务商得 1 分,流量计费低于 0.25 元 /G 的得 1 分。

阿里云和腾讯云 6 分并列第一,在 CDN 服务上优势明显。百度,网宿科技,蓝讯都是 4 分并列第二,百度价格有优势,网宿科技在访问速度上有势,蓝讯各方面比较平均。金山云列第三。其他 CDN 服务商得分小于 3 分,不到总分(6 分)的 50%,在 CDN 行业的竞争中处于劣势。

}

    关注技术领域的头条文章

    聚合全网技术文章,根据你的阅读喜好进行个性推荐

DDoS 攻击防护在哪买

聚合全网技术文章,根据你的阅读喜好进行个性推荐

深圳市奥思网络科技有限公司版权所有

}

上一篇文章提到过,使用第三方储存像阿里云的oss或者腾讯云的cos都是储存服务,可以用来储存网站任何文件、例如图片、备份文件数据、软件下载安装包等等。本来是提交工单问客服的,后面看到使用cos储存的时候,有个帮助文档里面可以添加cos储存官方交流群,进去提问了,客服也是很负责,很有耐心地为我解答了心中的疑惑。

首先是之前的一个错误认知就是之前使用阿里云oss储存的时候,使用宝塔定时备份网站文件数据到oss上去,一直以为可以走外网流量,其实备份原理就是通过上传宝塔备份文件到oss的过程叫上传文件,腾讯云cos上传流量是不计费用的,免费的!所以上传时候还是走的服务器宽带(内网)。

有时候欠费的时候,是因为没有买外网下行流量资源包,怎么理解外网下行流量?就是访客访问链接下载文件(或者浏览储存在cos里面的图片)后产生的流量。一般我之前只用来备份网站文件,所以下行流量用得比较少,只有提取文件时候才会消耗流量,毕竟是私有读取的,所以欠费不会很多,一个月下来欠只有几毛钱。

在腾讯云cos里面正常使用需要买3个资源包,那就是存储容量包+外网下行流量包+标准储存请求包。如果你没买容量包,还是可以正常使用,如果你没买,到时候按量给你计算收费,就会产生账户欠费。这3个资源包如果一开始就不买的话,等数据延迟计算后,就按量计算,这就等于平时大家使用手机卡,超过套餐流量后,继续使用就会按量付费(单价比平时资源包贵很多)。

生效地域的选择,如果你的访客需求不大的话,例如你的网站没有国外访客,就只需要买大陆通用资源包就可以了。如果你想买海外通用的,其实就是为了让海外访问你的文件数据时候能更快地响应。如果你是只买了大陆通用,海外地区也是可以正常访问的,正常的话只需要买一个地区就行了,那就是中国大陆通用。

那个流量包选择10g购买时长一个月,就是无论你在当月用不用完这10g流量也会过期,超过了就会按量付费!根据实际情况选择吧。

流量资源包可以选择两个:1.外网下行流量。2.cdn回源流量。第一个流量贵一点,第二个便宜一点!

外网流量好处就是不会缓存节点,能实时查看最新文件,cdn原理大家都知道了,就是缓存文件,访问节点下载文件。那么正常情况什么时候会使用到下行流量,登录cos文件管理下载自己的文件的时候,所以一般对外读取文件的话,建议还是使用cdn流量。先买cdn回源流量包,再买cdn流量包。

建议就是cdn加速文件,然后消耗cdn流量而不是使用外网下行流量,这样划算很多!上传文件到cos的时候,可以看到上传文件后,如下图!

对象地址就是下载链接,对象访问权限如果你是想别人能访问下载的,就设置成“公有读私有写”。指定域名,选择默认源站域名,走的是外网下行流量资源包,选择“默认加速域名”走的是cdn流量,两个下载地址都是不同的。再就是如何配置cdn缓存?

首先是浏览器缓存过期优先级大于节点缓存。

浏览器缓存意思就是,缓存文件,只要是用户第一次下载文件后,就会缓存起来,然后下一次下载文件,就不会走cdn流量了,直到缓存过期了才会重新到节点获取最新资源。记住了,通过刷新缓存,是不能刷新访客浏览器本地缓存的,所以你的文件是需要经常更新的,不要设置浏览器缓存规则!

节点缓存,比如某个访客是广东地区的,访问节点后,获取了源站资源,下一个广东地区的访客,就不会再访问源站获取资源而是直接在节点上获取缓存后的内容!

那cdn流量是怎样消耗的?首先回源流量就是节点过期后,从源站下载数据,就是消耗回源流量!单纯的cdn流量,就是用户下载缓存文件的时候,就会开始消耗,下载多次节点缓存文件也会计算多次流量!

总结:使用cos储存下载文件好用,单单上传软件到自己服务器供别人下载,如果配置不高,访客下载过程会直接让网站打不开。使用cos的话,使用cdn加速下载文件速度够快,用户体验好!换作备份网站文件需要将存储桶设置为“私有读取”不对外开放,成本低,只需要买容量包和请求数据包(很便宜),只要大家不下载备份文件,就不会产生外网下行流量。一年费用最低只需要10多元,外行流量资源包是10g一个月3.6元左右,可以等你需要下载备份文件的时候,再去购买就可以省钱了!

价格对比:阿里云和腾讯云,腾讯的话外网下行流量资源包和容量包都比阿里云贵一点,然后就是cdn加速这里的话,回源流量包门槛方面腾讯低点,可以最低买50g流量一年费用60元,这个流量一般都是足够的,因为50g流量是每一个月都有50g。阿里云的话最低入手1t流量半年156元。然后就是cdn下行流量,两者区别不大,算起数来腾讯云那边划算一点。

我是最想不到,创建cos成功后,就弹出客服群(这点可以看出腾讯云用户体验做得不错的),自己扫码加入后,自己是个小白,问了客服很多问题,都是很有耐心为我解答,特别感谢客服们,要是提交工单问的话,估计没一个星期也了解不透,有群交流的话,一天时间已经弄明白了!

}

我要回帖

更多关于 阿里云cdn服务 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信