8.什么是CDN? CDN是怎么工作的?

CDN:

CDN的全称是Content Delivery Network,即内容分发网络。

CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络"边缘"的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。

Cache层的技术,消除数据峰值访问造成的结点设备阻塞。Cache服务器具有缓存功能,所以大部分网页对象(Web page object),如html, htm, php等页面文件,gif,tif,png,bmp等图片文件,以及其他格式的文件,在有效期(TTL)内,对于重复的访问,不必从原始网站重新传送文件实体, 只需通过简单的认证(Freshness Validation)- 传送几十字节的Header,即可将本地的副本直接传送给访问者。由于缓存服务器通常部署在靠近用户端,所以能获得近似局域网的响应速度,并有效减少广域带宽的消耗。不仅能提高响应速度,节约带宽,对于加速Web服务器,有效减轻源服务器的负载是非常有效的。

CDN的关键技术主要有内容存储和分发技术。

CDN网络的组成

CDN网络中包含的功能实体包括内容缓存设备、内容交换机、内容路由器、CDN内容管理系统等组成。

内容缓存为CDN网络节点,位于用户接入点,是面向最终用户的内容提供设备,可缓存静态Web内容和流媒体内容,实现内容的边缘传播和存储,以便用户的就近访问。

内容交换机处于用户接入集中点,可以均衡单点多个内容缓存设备的负载,并对内容进行缓存负载平衡及访问控制。

内容路由器负责将用户的请求调度到适当的设备上。内容路由通常通过负载均衡系统来实现,动态均衡各个内容缓存站点的载荷分配,为用户的请求选择最佳的访问站点,同时提高网站的可用性。内容路由器可根据多种因素制定路由,包括站点与用户的临近度、内容的可用性、网络负载、设备状况等。负载均衡系统是整个CDN的核心。负载均衡的准确性和效率直接决定了整个CDN的效率和性能。

内容管理系统负责整个CDN的管理,是可选部件,作用是进行内容管理,如内容的注入和发布、内容的分发、内容的审核、内容的服务等。

CDN的功能

(1)节省骨干网带宽,减少带宽需求量;
(2)提供服务器端加速,解决由于用户访问量大造成的服务器过载问题;
(3)服务商能使用Web Cache技术在本地缓存用户访问过的Web页面和对象,实现相同对象的访问无须占用主干的出口带宽,并提高用户访问因特网页面的相应时间的需求;
(4)能克服网站分布不均的问题,并且能降低网站自身建设和维护成本;
(5)降低“通信风暴”的影响,提高网络访问的稳定性。

CDN缓存

相关知识链接:
CDN缓存的相关博客

CDN的工作过程

传统访问过程(未加速缓存服务)

我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差别:

1.用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址.
2.LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期)
3.ROOT DNS将域名授权dns记录回应给 LocalDns
4.LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址
5.域名授权dns 查询域名记录后,回应给 LocalDns
6.LocalDns 将得到的域名ip地址,回应给 用户端
7.用户得到域名ip地址后,访问站点服务器
8.站点服务器应答请求,将内容返回给客户端.

CDN访问过程(使用缓存服务)

CDN网络是在用户和服务器之间增加Cache层,主要是通过接管DNS实现,将用户的请求引导到Cache上获得源服务器的数据

下面让我们看看访问使用CDN缓存后的网站的过程:

1.用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址.
2.LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期)
3.ROOT DNS将域名授权dns记录回应给 LocalDns
4.LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址
5.域名授权dns 查询域名记录后(一般是CNAME),回应给 LocalDns
6.LocalDns 得到域名记录后,向智能调度DNS查询域名的ip地址
7.智能调度DNS 根据一定的算法和策略(比如静态拓扑,容量等),将最适合的CDN节点ip地址回应给 LocalDns
8.LocalDns 将得到的域名ip地址,回应给 用户端
9.用户得到域名ip地址后,访问站点服务器
10.CDN节点服务器应答请求,将内容返回给客户端.(缓存服务器一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程)

通过以上的分析我们可以得到,为了实现对普通用户透明(使用缓存后用户客户端无需进行任何设置)访问,需要使用DNS(域名解析)来引导用户来访问Cache服务器,以实现透明的加速服务. 由于用户访问网站的第一步就是 域名解析 ,所以通过修改dns来引导用户访问是最简单有效的方式.

CDN网络的组成要素

智能调度DNS(比如f5的3DNS)

智能调度DNS是CDN服务中的关键系统.当用户访问加入CDN服务的网站时,域名解析请求将最终由 智能调度DNS 负责处理. ;它通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户可以得到快速的服务.同时它需要与分布在各地的CDN节点保持通信,跟踪各节点的健康状态,容量等,确保将用户的请求分配到就近可用的节点上.

缓存功能服务

负载均衡设备(如lvs,F5的BIG/IP)
内容Cache服务器(如squid)
共享存储(根据缓存数据量多少决定是否需要)

DNS的七大资源记录介绍

A记录、NS记录、SOA记录、MX记录、CNAME记录、SRV记录、PTR记录的介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值