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地址得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据放回给客户端,完成数据服务过程;

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


你可能感兴趣的:(CDN深入理解)