CDN的原理

CDN测评 0 264

CDN的原理


CDN这个技术其实说起来并不复杂,最初的核心理念,就是将内容缓存在终端用户附近


内容源不是远么?那么,我们就在靠近用户的地方,建一个缓存服务器,把远端的内容,复制一份,放在这里,不就OK了?

动图

因为这项技术是把内容进行了分发,所以,它的名字就叫做CDN——Content Delivery Network,内容分发网络


具体来说,CDN就是采用更多的缓存服务器(CDN边缘节点),布放在用户访问相对集中的地区或网络中。当用户访问网站时,利用全局负载技术,将用户的访问指向距离最近的缓存服务器上,由缓存服务器响应用户请求。(有点像电商的本地仓吧?)


大家可能觉得,这个不就是“镜像服务器”嘛?其实不一样。镜像服务器是源内容服务器的完整复制。而CDN,是部分内容的缓存,智能程度更高。


确切地说,CDN=更智能的镜像+缓存+流量导流


而且还需要注意的是,CDN并不是只能缓存视频内容,它还可以对网站的静态资源(例如各类型图片、html、css、js等)进行分发,对移动应用APP的静态内容(例如安装包apk文件、APP内的图片视频等)进行分发。


我们来举个例子,看看CDN的具体工作流程


如果某个用户想要访问优酷的视频点播内容,那么:

v2-5e53690a7bfaace4a5a61d1c2bfab609_r.jpg

具体步骤:

①、当用户点击APP上的内容,APP会根据URL地址去本地DNS(域名解析系统)寻求IP地址解析。

②、本地DNS系统会将域名的解析权交给CDN专用DNS服务器

③、CDN专用DNS服务器,将CDN的全局负载均衡设备IP地址返回用户。

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

⑤、CDN负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的缓存服务器

⑥、负载均衡设备告诉用户这台缓存服务器的IP地址,让用户向所选择的缓存服务器发起请求。

⑦、用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。

⑧、如果这台缓存服务器上并没有用户想要的内容,那么这台缓存服务器就要网站的源服务器请求内容。

⑨、源服务器返回内容给缓存服务器,缓存服务器发给用户,并根据用户自定义的缓存策略,判断要不要把内容缓存到缓存服务器上。


CDN的好处


采用CDN技术,最大的好处,就是加速了网站的访问——用户与内容之间的物理距离缩短,用户的等待时间也得以缩短。


而且,分发至不同线路的缓存服务器,也让跨运营商之间的访问得以加速。


例如中国移动手机用户访问中国电信网络的内容源,可以通过在中国移动假设CDN服务器,进行加速。效果是非常明显的。


此外,CDN还有安全方面的好处。内容进行分发后,源服务器的IP被隐藏,受到攻击的概率会大幅下降。而且,当某个服务器故障时,系统会调用临近的健康服务器,进行服务,避免对用户造成影响。


正因为CDN的好处很多,所以,目前所有主流的互联网服务提供商,都采用了CDN技术。所有的云服务提供商,也都提供了CDN服务(价格也不算贵,按流量计费)。



v2-aee8bbae5cf731eb90376bbc167ce1e6_r.jpg

CDN和通信行业


CDN是从传统IT行业发展起来的一项服务。但是,对于我们通信行业来说,CDN也有非常大的商业价值。


互联网服务提供商采用CDN,是以存储换时延。花钱购置CDN服务器或云计算服务,以此换取更好的用户体验。


通信运营商也追捧CDN,但它们的目的,是以存储换带宽——通过服务“下沉”,减轻上层骨干网络的流量压力,避免硬件扩容,降低网络建设成本。


这个很好理解啊,如果大量的业务流量数据在骨干网跑来跑去,骨干网肯定吃不消,要拼命扩容。如果这些业务流量数据在底层就被解决了,那么,骨干网的带宽压力自然就减轻了。不是么?


v2-3c80761e11564dff74e73841f243979d_r.jpg

很多运营商已经将CDN下沉到地市级,以此减轻压力,同时可以提升用户体验。






也许您对下面的内容还感兴趣:

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。