Chinaunix首页 | 论坛 | 博客
  • 博客访问: 509658
  • 博文数量: 143
  • 博客积分: 4072
  • 博客等级: 上校
  • 技术积分: 1442
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-20 19:27
文章分类

全部博文(143)

文章存档

2014年(2)

2011年(4)

2010年(1)

2009年(9)

2008年(34)

2007年(93)

我的朋友

分类: 系统运维

2007-02-21 12:08:56

这里只是学习的一部分,内容算是在理解的基基础上抄下来的

 

目的:从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因解决用户访问网站的响应速度慢的根本原因
定义:是一个经策略性部署的整体系统,包括  分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在
 
优点:CDN能够为网络的快速、安全、稳定、可扩展等方面提供保障。
IDC 的CDN条件:IDC建立CDN网络,IDC运营商一般需要有分部各地的多个IDC中心,服务对象是托管在IDC中心的客户,利用现有的网络资源,投资较少,容易建设。例如某IDC全国有10个机房,加入IDC的CDN网络,托管在一个节点的Web服务器,相当于有了10个镜像服务器,就近供客户访问。宽带城域网,域内网络速度很快,出城带宽一般就会瓶颈,为了体现城域网的高速体验,解决方案就是将Internet网上内容高速缓存到本地,将Cache部署在城域网各POP点上,这样形成高效有序的网络,用户仅一跳就能访问大部分的内容,这也是一种加速所有网站CDN的应用。
 
 
普通WEB请求过程:
  1)、用户向浏览器提供要访问的域名;(客户端发出域名访问请求)

  2)、浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址;(本地DNS解析获取域名)

  3)、浏览器使用所得到的IP地址,域名的服务主机发出数据访问请求;(同时本地域名服务器发出访问请求)

  4)、浏览器根据域名主机返回的数据显示网页的内容。(BROWSER根据域名主机返回的数据显示页面内容)(这个好像不对诶
 
而做过CDN的域名被访问的过程:
  1)、用户向浏览器提供要访问的域名;

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

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

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

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

  6)、客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。
 
实现过程:
  1)、作为ICP,只需要把域名解释权交给CDN运营商,其他方面不需要进行任何的修改;操作时,ICP修改自己域名的解析记录,一般用cname方式指向CDN网络Cache服务器的地址。

  2)、作为CDN运营商,首先需要为ICP的域名提供公开的解析,为了实现sortlist,一般是把ICP的域名解释结果指向一个CNAME记录;

  3)、当需要进行sorlist时,CDN运营商可以利用DNS对CNAME指向的域名解析过程进行特殊处理,使DNS服务器在接收到客户端请求时可以根据客户端的IP地址,返回相同域名的不同IP地址;

  4)、由于从cname获得的IP地址,并且带有hostname信息,请求到达Cache之后,Cache必须知道源服务器的IP地址,所以在CDN运营商内部维护一个内部DNS服务器,用于解释用户所访问的域名的真实IP地址;

  5)、在维护内部DNS服务器时,还需要维护一台授权服务器,控制哪些域名可以进行缓存,而哪些又不进行缓存,以免发生开放代理的情况。(这个如何实现)
 
 
 
EXAMPLE:最简单的CDN网络有一个负责全局负载均衡的DNS和各节点一台Cache,即可运行。DNS支持根据用户源IP地址解析不同的IP,实现就近访问。为了保证高可用性等,需要监视各节点的流量、健康状况等。一个节点的单台Cache承载数量不够时,才需要多台Cache,多台Cache同时工作,才需要负载均衡器,使Cache群协同工作。
 
 
 
 
zone "." {
type hint;(表示13个ROOT)
file "root.cache";
};
 
一个简单的实现过程可参考以下连接
阅读(1564) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~