CDN加速原理详解

  • A+
所属分类:计算机

什么是CDN加速

CDN的全称是Content Delivery Network,即内容分发网络。构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
CDN 的关键技术主要有内容存储和分发技术。简单来讲,CDN就是根据用户位置分配最近的资源。
于是,用户在上网的时候不用直接访问源站,而是访问离他“最近的”一个 CDN 节点,术语叫「边缘节点」,其实就是缓存了源站内容的代理服务器
CDN就是将您源站的资源缓存到位于全球各地的CDN节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验。
CDN加速主要是加速静态资源,如网站上面上传的图片、媒体,以及引入的一些Js、css等文件。
CDN加速需要依靠各个网络节点,例如100台CDN服务器分布在全国范围,从上海访问,会从最近的节点返回资源,这是核心。CDN服务器通过缓存或者主动抓取主服务器的内容来实现资源储备。

CDN简单来说,就是加速,当一个网站开启了CDN加速,其给用户的感觉是访问网站速度或者下载东西的速度会明显比没有开启加速更快,变快或者下载东西变快了。
CDN加速原理详解

原理

在没有应用CDN时,我们使用域名访问某一个站点时的路径为
用户提交域名→浏览器对域名进行解释→DNS 解析得到目的主机的IP地址→根据IP地址访问发出请求→得到请
求数据并回复

应用CDN后,DNS 返回的不再是 IP 地址,而是一个CNAME(Canonical Name ) 别名记录,
指向CDN的全局负载均衡,CNAME实际上在域名解析的过程中承担了中间人(或者说代理)的角色,
这是CDN实现的关键。由于没有返回IP地址,于是本地DNS会向负载均衡系统再发送请求 ,
则进入到CDN的全局负载均衡系统进行智能调度:
看用户的 IP 地址,查表得知地理位置,找相对最近的边缘节点看用户所在的运营商网络,
找相同网络的边缘节点检查边缘节点的负载情况,
找负载较轻的节点其他,比如节点的“健康状况”、服务能力、带宽、响应时间等结合上面的因素,
得到最合适的边缘节点,然后把这个节点返回给用户,用户就能够就近访问

为什么CDN会加快访问速度

为什么网站开启CDN用户访问会更快呢?因为CDN将源站内容分发至全国所有的节点,
缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性,解决网络带宽小、
用户访问量大、网点分布不均等问题。

简单来说,当网站开启CDN,用户访问该网站,并非直接访问该网站的原服务器,
而是一个服务器分发的离你最近的一个服务器节点,由于服务器离你近了,
所以访问速度或者下载速度会更快。

CDN加速就是提前在不同的地方放置好资源,就近拿取。

CDN加速有什么用?

对访客用户的好处:

对于用户来说,如果一个网站开启了CDN,用户访问速度或者下载速度会比没有开启时更快。
一般目前只要好一些的网站,都会开启CDN功能,主要在于提升用户体验。

对网站的好处:

对于网站或者站长来自,开启了CDN不仅可以提升网站打开速度,提升用户体验。
更重要的是开启CDN可以减少黑客工具和服务器宽带压力。开启CDN后的网站,
不同地区用户访问会是不同的服务器,而网站的真实服务器(源服务器)
一般只有CDN节点回去访问获取,全国各地的用户访问的CDN节点服务器,
并不直接访问源服务器,这样就可以介绍网站服务器宽带资源,降低服务器压力。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: