欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。由于本站位于香港虚拟主机,故速度比较慢。

文摘  CDN加速及CDN加速原理

其他 本站 152 0评论

随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激增,网络访问路径过长,从而使用户的访问质量受到严重影响。特别是当用户与网站之间的链路被突发的大流量数据拥塞时,对于异地互联网用户急速增加的地区来说,访问质量不良更是一个 急待解决的问题。如何才能让各地的用户都能够进行高质量的访问,并尽量减少由此而产生的费用和网站管理压力呢?内容发布网络(Content Delivery Network,CDN)诞生了。


一、CDN是什么?


CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。


为更好地理解CDN,让我们看一下CDN的工作流程。当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。具体流程为: 

用户在自己的浏览器中输入要访问的网站的域名→浏览器向本地DNS请求对该域名的解析→本地DNS将请求发到网站的主DNS→主DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户→用户向给定的CDN节点请求相应网站的内容。


111.jpg

CDN起到内容分发的作用,就是你的内容是被复制到各个地区的不同服务器上面,这个距离离访问者所在地越近越好!上图就给大家展示了未使用CDN和使用CDN的区别图,显而易见,使用CDN可以提高访问速度。


· CND加速主要是加速静态资源,如网站上面上传的图片、媒体,以及引入的一些Js、css等文件。

· CND加速需要依靠各个网络节点,例如100台CDN服务器分布在全国范围,从上海访问,会从最近的节点返回资源,这是核心。

· CND服务器通过缓存或者主动抓取主服务器的内容来实现资源储备。

· CDN的核心技术就是其中的路由算法,怎么判断客户离哪个节点最近,有点类似于城市最短路径的算法,同时还要根据网络流量负载等情况,保证网络处于最佳的运行状态。


二、网站使用CDN加速的好处


那么对于一个网站来说,使用CDN有什么好处呢?


1、网站加速,利于Google的排名;

Google 把网站的打开速度当做一个比较重要的指标,所以网站打开的速度会影响Google排名。使用CDN之后,网站打开速度变快,就可以减少跳出率,也可以增加用户对网站的友好体验。


2、有利于提高网站的转化率;

毫无疑问,用户的访问网站的时间提高了,跳出率减少了,当然会利于网站的转化率和销售量。现在大环境下的人们都比较浮躁,我想谁都没有耐心去等一个需要10秒才能打开的网站,这样的网站一开始就不友好,更别想提高网站的转化率了。


3、提升网站的稳定性和安全性;

CDN因为节点分散,攻击者比较难下手,攻击一个节点仅仅是影响一个节点的缓存访问而已,并且CDN的“内容路由”会自动的启用另一个节点,如果CDN服务节点数量够多,那么攻击者需要的流量包就会呈几何级的增加,这样攻击成本自然就高了。


4、减少托管成本

很多网站使用VPS来托管网站,而很多VPS是有带宽限制的,使用CDN能减少成本。

使用CDN之后你的文件是被存储到不同的服务器上,所以能减少你因为带宽而产生的费用。


5、为了让你更专注业务本身

CDN加速厂商一般都会提供一站式服务,业务不仅限于CDN,还有配套的云存储、大数据服务、视频云服务等,而且一般会提供7x24运维监控支持,保证网络随时畅通,你可以放心使用。并且将更多的精力投入到发展自身的核心业务之上。


使用CDN后的http请求处理流程

222.jpg


三、CDN的相关技术


CDN的实现需要依赖多种网络技术的支持,其中负载均衡技术、动态内容分发与复制技术、缓存技术是比较主要的几个,下面让我们简单看一下这几种技术。


负载均衡技术 

负载均衡技术不仅仅应用于CDN中,在网络的很多领域都得到了广泛的应用,如服务器的负载均衡、网络流量的负载均衡。顾名思义,网络中的负载均衡就是将网络的流量尽可能均匀分配到几个能完成相同任务的服务器或网络节点上,由此来避免部分网络节点过载。这样既可以提高网络流量,又提高了网络的整体性能。在CDN中,负载均衡又分为服务器负载均衡和服务器整体负载均衡(也有的称为服务器全局负载均衡)。服务器负载均衡是指能够在性能不同的服务器之间进行任务分配,既能保证性能差的服务器不成为系统的瓶颈,又能保证性能高的服务器的资源得到充分利用。而服务器整体负载均衡允许Web网络托管商、门户站点和企业根据地理位置分配内容和服务。通过使用多站点内容和服务来提高容错性和可用性,防止因本地网或区域网络中断、断电或自然灾害而导致的故障。在CDN的方案中服务器整体负载均衡将发挥重要作用,其性能高低将直接影响整个CDN的性能。


动态内容分发与复制技术 

大家都知道,网站访问响应速度取决于许多因素,如网络的带宽是否有瓶颈、传输途中的路由是否有阻塞和延迟、网站服务器的处理能力及访问距离等。多数情况下,网站响应速度和访问者与网站服务器之间的距离有密切的关系。如果访问者和网站之间的距离过远的话,它们之间的通信一样需要经过重重的路由转发和处理,网络延误不可避免。一个有效的方法就是利用内容分发与复制技术,将占网站主体的大部分静态网页、图像和流媒体数据分发复制到各地的加速节点上。所以动态内容分发与复制技术也是CDN所需的一个主要技术。


缓存技术 

缓存技术已经不是一种新鲜技术。Web缓存服务通过几种方式来改善用户的响应时间,如代理缓存服务、透明代理缓存服务、使用重定向服务的透明代理缓存服务等。通过Web缓存服务,用户访问网页时可以将广域网的流量降至最低。对于公司内联网用户来说,这意味着将内容在本地缓存,而无须通过专用的广域网来检索网页。对于Internet用户来说,这意味着将内容存储在他们的ISP的缓存器中,而无须通过Internet来检索网页。这样无疑会提高用户的访问速度。CDN的核心作用正是提高网络的访问速度,所以,缓存技术将是CDN所采用的又一个主要技术。


四、CND的基本过程


用户通过浏览器访问传统的(没有使用CDN)网站的过程如下。 

333.jpg

1. 用户在浏览器中输入要访问的域名。 

2. 浏览器向DNS服务器请求对该域名的解析。 

3. DNS服务器返回该域名的IP地址给浏览器。 

4. 浏览器使用该IP地址向服务器请求内容。 

5. 服务器将用户请求的内容返回给浏览器。


如果使用了CDN,则其过程会变成以下这样。

444.jpg

1. 用户在浏览器中输入要访问的域名。 

2. 浏览器向DNS服务器请求对域名进行解析。由于CDN对域名解析进行了调整,DNS服务器会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。 

3. CDN的DNS服务器将CDN的负载均衡设备IP地址返回给用户。 

4. 用户向CDN的负载均衡设备发起内容URL访问请求。 

5. CDN负载均衡设备会为用户选择一台合适的缓存服务器提供服务。 

选择的依据包括:根据用户IP地址,判断哪一台服务器距离用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器的负载情况,判断哪一台服务器的负载较小。 

基于以上这些依据的综合分析之后,负载均衡设置会把缓存服务器的IP地址返回给用户。 

6. 用户向缓存服务器发出请求。 

7. 缓存服务器响应用户请求,将用户所需内容传送到用户。 

如果这台缓存服务器上并没有用户想要的内容,而负载均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉取到本地。


总结

在网站和用户之间引入CDN之后,用户不会有任何与原来不同的感觉。 

使用CDN服务的网站,只需将其域名的解析权交给CDN的负载均衡设备,CDN负载均衡设备将为用户选择一台合适的缓存服务器,用户通过访问这台缓存服务器来获取自己所需的数据。 

由于缓存服务器部署在网络运营商的机房,而这些运营商又是用户的网络服务提供商,因此用户可以以最短的路径,最快的速度对网站进行访问。因此,CDN可以加速用户访问速度,减少源站中心负载压力。


五、谁需要CDN?


既然CDN的核心作用是提高网络的访问速度,那么其用户也就是访问量很大的网站,例如ICP 、ISP、大型企业、电子商务网站和政府网站等。利用CDN技术,这些网站无需投资昂贵的各类服务器,设立分站点。通过采用CDN,CDN将负责信息传递工作,保证信息正常传输,而技术人员只需要维护网站内容,不需要考虑流量问题。这样,网站可保证用户得到更多的新业务,可以快速访问网络上的内容,获得更好的服务质量。举个例子来讲,对于访问量比较大,而被访问内容更新周期比较长的网站,如政府网站,用户往往进行大量的查询工作。这类网站比较适合采用CDN。还有,大家是否注意到,在所谓的宽带社区中,瓶颈是社区的对外出口。这样,如果采用CDN无疑对社区用户使用视频点播、网络教育等宽带应用提供了保证。


六、CDN的不足


任何一个新事物,在给现有模式带来改进的同时,也必然存在一定的局限,CDN也是这样。实时性不太好是CDN的致命缺陷。随着对CDN需求的逐渐升温,这一缺陷将得到改进,使来自于远程服务器的网络内容网页与复本服务器或缓存器中的网页保持同步。解决方法是在网络内容发生变化时将新的网络内容从服务器端直接传送到缓存器,或者当对网络内容的访问增加时将数据源服务器的网络内容尽可能实时地复制到缓存服务器。


七、分享几个CDN加速服务


CDN其实现在市面上有很多,有些免费有些付费。如果是个人站长,流量不多,我个人觉得可以使用免费的。如果有条件,可以买付费的CDN。不过我们不说付费的,我们来说说免费的CDN。


市面上其实有很多免费的CDN供大家选择,比如七牛云、百度云加速、又拍云……这些大家可以去网上搜索。除此,目前也有一些建站系统将CDN的设置添加到后台界面当中,用户只需选择在CDN设置栏目中是否开启就可以直接使用,也是非常方便的。


总结一下国内外几个好不错的CDN网站加速服务。可能会有一些熟知的在里面。


Incapsula CDN网站加速服务。Incapsula是美国一家专门提供CDN服务的网站,虽不是最早提供CDN服务的商家,国内一家站长想要选择国外的CDN服务的话,Incaosula依然是首选。Incapsula提供免费的CDN服务,默认的免费CDN没有流量限制,只是与付费的CDN在ddos、网页优化加载等方面存在区别。最重要的Incaosula提供的CDN节点有日本、香港、新加坡等亚太线路,非常适合国内的网站作加速访问。Incapsula节点最多的还是在美国。日本的节点由于用的人太多,现在优化加速的效果不是明显。


CloudFlare-IPv6免费CDN 加速和免费SSL。CloudFlare成立的时间早于Incapsula,且不论从规模还是技术产品等方面都要强于incapsula。Cloudflare创建于2009年7月,目前用户已经超过了150万。CLoudFlare的CDN节点分布于全球14个地区,包括美国、日本、欧洲、亚太等地区,全球CDN节点中只要一个节点。不过Incapsula可以让免费用户用上日本、香港等地的CDN节点,而CloudFlare只有美国CDN节点,且只能通过修改DNS的方法加入CloudFlareCDN。比较无奈的是,Cloudflare的不少的美国CDN节点已经在国内被K了。


Google PageSpeed Service,谷歌出品的免费CDN。此款是谷歌前几年推出的网站加速产品,能自动对你的网站进行CSS、图片、JS、Html压缩优化,对内容、DNS缓存等开启并优化,并且具备了强大的抗ddos和CC攻击的能力。用上了Google PageService后,网站的Ip地址就显示为谷歌的服务器Ip了,目前Google PageService仍然在免费试用中,免费流量和CDN节点并没有什么限制,不过注册起来可能要困难一些。


百度云加速-百度出品的免费CDN加速服务。其实百度云加速也可以试用未BA的域名来使用,不过经过部落测试发现百度云加速会对没有BA号的域名的CDN加速节点调整到国外,而国外的CDN节点则只要是Cloudflare的服务器,CDN加速效果大打折扣。如果有BA号的话,可以用百度云加速国内版,百度云加速通过智能DNS解析等技术,将访问网站的用户引导至最近最快的节点,并利用告诉缓存、页面优化压缩、回源合并等技术大幅提高网站的访问速度。


在安全防护方面,百度云加速可以同时防护包括SQL注入、XSS、web服务器漏洞、应用程序漏洞以及访问控制等问题。另外,百度云加速还将百度统计百度站长平台相应功能整合在一起,各种SEO功能也比较多。


参考网址:

CND加速:https://blog.csdn.net/w3624270/article/details/81747455 

如何通过CDN加速网站的访问?https://blog.csdn.net/wangguo86/article/details/80133644 

国内9大加速CND汇总:https://blog.csdn.net/qq_25281775/article/details/77479785 

CDN实现原理:https://www.cnblogs.com/rayray/p/3553696.html 

CND的基本过程:https://blog.csdn.net/lihao21/article/details/52808747 


转载请注明: ITTXX.CN--分享互联网 » CDN加速及CDN加速原理

最后更新:2019-02-14 13:12:06

赞 (2) or 分享 ()
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽