木匣子

Web/Game/Programming/Life etc.

内容分发网络(Content Delivery Network)

在抱怨自己家里网速很慢的时候,你有没有想过,为什么即使在这样蜗牛的网速下,有的门户网站还能以不错的速度呈现在你的浏览器中?通过这段时间在公司的实习,了解了不少东西 :) 事实上,不止是只有你希望自己的网速更快,更稳定——那些商家们也希望你能顺利访问到他们的网站。但他们所采取的方式却不一样。因为他们不可能改变你家里的带宽,于是他们希望缩短与你的距离,将自己备份到离你最近的地方供你访问。这时候——CDN技术出现了。

什么是CDN?

CDN的全称是Content Delivery Network,即内容分发网络。是通过在现有的 Internet 中增加一层新的网络架构,将网站的内容发布到最接近用户的网络 " 边缘 " ,使用户可以就近取得所需的内容,解决 Internet 网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,造成的用户访问网站的响应速度慢的问题。

通过用户就近性和服务器负载的判断, CDN 确保内容以一种极为高效的方式为用户的请求提供服务。总的来讲,内容服务基于缓存服务器,也称作代理缓存 (Surrogate) ,它位于网络的边缘,距用户仅有 “ 一跳 ”(Single Hop) 之遥。

同时,代理缓存是内容提供商源服务器的一个透明镜像。这样的架构使得 CDN 服务提供商能够代表他们客户,即内容供应商,向最终用户提供尽可能好的体验。采用 CDN 技术,能处理整个网站页面的 70% ~ 95 %的内容访问量,减轻服务器的压力,提升了网站的性能和可扩展性。

而CDN又有别于一般的镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。

总的来说,CDN是一个经策略性部署的整体系统,能够帮助用户解决分布式存储、负载均衡、网络请求的重定向和内容管理等问题;CDN代表了一种基于质量与秩序的网络服务模式。

CDN工作原理

内容分发网络(CDN)采用智能路由和流量管理技术,及时发现能够给访问者提供最快响应 的加速节点,并将访问者的请求导向到该加速节点,由该加速节点提供内容服务。利用内容分发与复制机制,CDN客户不需要改动原来的网站结构,只需修改少量 的DNS配置,就可以加速网络的响应速度。

当用户访问了使用CDN服务的网站 时,DNS域名服务器通过CNAME方式将最终域名请求重定向到CDN系统中的智能DNS负载均衡系统。智能DNS负载均衡系统通过一组预先定义好的策略 (如内容类型、地理区域、网络负载状况等),将当时能够最快响应用户的节点地址提供给用户,使用户可以得到快速的服务。

同时,它还与分布在不同地点的所有CDN节点保持通信,搜集各节点的健康状态,确保不将用户的请求分配到任何一个已经不可用的节点上。而网宿CDN还具有在网络拥塞和失效情况下,能拥有自适应调整路由的能力。

使用了CDN服务后,用户的访问流程如下:

  1. 用户向浏览器提供要访问网站的域名,域名解析的请求被发往网站的DNS域名解析服务器;
  2. 由于网站的DNS域名解析服务器对此域名的解析设置了CNAME,请求被指向CDN网络中的智能DNS负载均衡系统;
  3. 智能DNS负载均衡系统对域名进行智能解析,将响应速度最快的节点IP返回给用户;
  4. 浏览器在得到速度最快节点的IP地址以后,向CDN节点发出访问请求;
  5. 由于是第一次访问,CDN节点将回到源站取用户请求的数据并发给用户;
  6. 当有其他用户再次访问同样内容时,CDN将直接将数据返回给客户,完成请求/服务过程。

通过以上的分析我们可以看出,CDN服务对网站访问提供加速的同时,可以实现对普通访问用户透明,即加入缓存以后用户客户端无需进行任何设置,直接输入被加速网站原有的域名即可访问。

CDN能带来什么

  • 通过提高网站响应速度,改善用户体验,增强用户满意度和粘合度;
  • 轻松应对突发流量,随时展开网络推广;
  • 有效抵御洪水式网络攻击,使网站永不宕机;
  • 减少源站点负载,节省网站分布式架构的支出成本和运维成本。

国内CDN服务商 网宿科技股份有限公司(股票代码:300017)前身是上海网宿科技发展有限公司,最早成立于2000年1月,是国内领先的互联网业务平台服务提供商,主要向客户提供内容分发与加速、服务器托管、服务器租用等互联网业务平台解决方案,是国内最早开展IDC和CDN业务的厂商之一。