CDN深入理解

一、背景介绍

随着互联网得发展,网络流量增长速度越来越快,基本6~9个月翻一番,随着宽带网的快速发展,催生了更多的新的互联网业务,这些业务对网络带宽要求越来越高,而有限的带宽资源也显得捉襟见肘。

从宽带运营网建设宽带网的模式来看,宽带网的接入虽然增长很快,但是骨干网的带宽并没有同比增长。因为:第一,骨干网的建设成本比接入网高得多;第二,不同用户使用的带宽是不同的,大部分用户虽然可以连网,但使用的带宽并不高,即无需为每个用户都在骨干网建设与其接入带宽想等的带宽

现在宽带网形成了一个越往用户侧接近,带宽越充分,成本越低的局面。CDN的发展其实是与宽带网架构紧密相连的。如果没有CDN,则每个用户都需要有一条从接入侧到骨干网的高带宽链路,这就会导致成本变高,稳定性变差。

CDN(内容分发网络)简单地说就是通过在不同地点缓存内容,通过负载均衡等技术将用户请求定向到最近的缓存服务器上获取内容,提高用户访问网站的响应速度。和简单的内容镜像不同,CDN通过用户就近性和服务器负载的判断,以一种更为高效的方式为用户的请求提供服务

二、CDN含义

全称Content Delivery Network即内容分发网络。

CDN是一组分布在多个不同的地理位置的WEB服务器,用于更加有效的向用户发布内容,在优化性能时,会根据距离的远近来选择。

CDN系统能实时的根据网络流量和各节点的连接,负载状况及用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,其目的是使用户能就近的获取请求数据,解决网络拥堵,提高访问速度,解决由于网络带宽小,用户访问量大,网点分布不均等原因导致的访问速度慢的问题。

由于CDN部署在网络运营商的机房,这些运营商又是终端用户网络的提供商,因此用户请求的第一跳就到达CDN服务器,当CDN服务器中缓存有用户请求的数据时,就可以从CDN直接返回给浏览器,因此就可以提高访问速度。

CDN能够缓存JavaScript脚本,css样式表,图片,图标,Flash等静态资源文件(不包括html页面),这些静态资源文件的访问频率很高,将其缓存在CDN可以极大地提高网站的访问速度,但由于CDN是部署在网络运营商的机房,所以在一般的网站很少用CDN加速。

三、分发的原理

用户向浏览器提供需要访问的域名;

浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际的IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析。如根据地理位置信息解析对应的IP地址,使得用户能就近访问;

此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的ip地址之后,向缓存服务器发出访问请求;

缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;

缓存服务器从实际IP地址得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据放回给客户端,完成数据服务过程;

客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、ETag 初识HTTP缓存-ETag 刷新页面后再次请求在请求头中却有个 If-None-Match: W/"...
    合肥黑阅读 9,397评论 0 0
  • CDN概念基本介绍 一 . CDN简介 什么是CDN? CDN的全称是Content Delivery Net...
    全能程序猿阅读 54,023评论 12 74
  • 非常好的文章,怕博主删除,再也找不到这么好的文章了,所以复制了一份,博主是2016年写,但是是到现在为止看到的,思...
    吭声_cfdc阅读 6,276评论 0 4
  • 生完宝宝以后,由于刚买的房子还没有装修,我就住在了老公的老家。坐月子、带宝宝,每天都在这里。直到现在已经两个月了,...
    i依然范特西阅读 1,950评论 1 1
  • 会说的 不一定会写 因为常挂口头上 会写的 不一定会说 因为常落在笔头上 能说会写 既有气场又有涵养 那是发自心头上
    漓园阅读 1,765评论 2 4

友情链接更多精彩内容