作者: Kandy

https://www.jianshu.com/p/1dae6e1680ff

一、什么是 CDN

CDN的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。
简单的说,CDN的工作原理就是将您源站的资源缓存到位于全球各地的CDN节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验

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访问过程

通过上图,我们可以了解到,使用了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网络的组成要素

对于普通的Internet用户,每个CDN节点就相当于一个放置在它周围的网站服务器. 通过对dns的接管,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求. 由于它离用户更近,因而响应时间必然更快.

从上面图中 虚线圈起来的那块,就是CDN层,这层是位于 用户端 和 站点服务器 之间.

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

  • 缓存功能服务
    负载均衡设备(如lvs,F5的BIG/IP)
    内容Cache服务器(如squid)
    共享存储

三、名词解释

CNAME记录(CNAME record)

CNAME即别名( Canonical Name );可以用来把一个域名解析到另一个域名,当 DNS 系统在查询 CNAME 左面的名称的时候,都会转向 CNAME 右面的名称再进行查询,一直追踪到最后的 PTR 或 A 名称,成功查询后才会做出回应,否则失败。
例如,你有一台服务器上存放了很多资料,你使用docs.example.com去访问这些资源,但又希望通过documents.example.com也能访问到这些资源,那么你就可以在您的DNS解析服务商添加一条CNAME记录,将documents.example.com指向docs.example.com,添加该条CNAME记录后,所有访问documents.example.com的请求都会被转到docs.example.com,获得相同的内容。

CNAME域名

接入CDN时,在CDN提供商控制台添加完加速域名后,您会得到一个CDN给您分配的CNAME域名, 您需要在您的DNS解析服务商添加CNAME记录,将自己的加速域名指向这个CNAME域名,这样该域名所有的请求才会都将转向CDN的节点,达到加速效果。

DNS

DNS即Domain Name System,是域名解析服务的意思。它在互联网的作用是:把域名转换成为网络可以识别的ip地址。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。比如:上网时输入的www.baidu.com会自动转换成为220.181.112.143
常见的DNS解析服务商有:阿里云解析,万网解析,DNSPod,新网解析,Route53(AWS),Dyn,Cloudflare等。

回源host

回源host:回源host决定回源请求访问到源站上的具体某个站点。

例子1:源站是域名源站为www.a.com,回源host为www.b.com,那么实际回源是请求到www.a.com解析到的IP,对应的主机上的站点www.b.com

例子2:源站是IP源站为1.1.1.1, 回源host为www.b.com,那么实际回源的是1.1.1.1对应的主机上的站点www.b.com

协议回源

指回源时使用的协议和客户端访问资源时的协议保持一致,即如果客户端使用 HTTPS 方式请求资源,当CDN节点上未缓存该资源时,节点会使用相同的 HTTPS 方式回源获取资源;同理如果客户端使用 HTTP 协议的请求,CDN节点回源时也使用HTTP协议。

最后

  1. 感谢阅读,欢迎分享给身边的朋友,

  2. 记得关注噢,黑叔带你飞!

亲,点这涨工资 

前端必会:CDN加速原理相关推荐

  1. 一文读懂CDN加速原理

    一文读懂CDN加速原理 什么是 CDN 工作原理 传统访问过程 CDN 访问过程 组成要素 智能调度 DNS 缓存功能服务 负载均衡设备 内容 Cache 服务器 共享存储 名词解释 CNAME记录( ...

  2. CDN加速原理及步骤

    内容分发网络.其基本思路是避开互联网上可能影响数据传输速度和稳定性的瓶颈和链接,从而使内容传输更快.更稳定.通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够 ...

  3. cdn搭建原理_beijingshij:cdn加速原理图解cdn加速原理以及实现

    cdn加速原理图解cdn加速原理以及实现 伴随着互联网技术的发展趋势,用户在应用互联网时对网址的访问速率和实际效果更加高度重视,但因为用户数量猛增,互联网访问相对路径太长,进而使用户的访问品质遭受比较 ...

  4. 5分钟了解CDN 加速原理 | +新书推荐

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 来源:r6d.c ...

  5. 【官方】BootCDN-稳定、快速、免费的前端开源项目 CDN 加速服务

    关于 BootCDN BootCDN 是 极兔云 联合 Bootstrap 中文网 共同支持并维护的前端开源项目免费 CDN 服务,致力于为 Bootstrap.jQuery.React.Vue.js ...

  6. CDN加速原理(转载)

    首先,让我们来看一下传统的Internet网络的基本结构和数据传输情况,如下图所示. Internet 网络基本结构及数据传输方式 根据传统的网络结构,用户的访问流程基本如下: 用户在自己的浏览器中输 ...

  7. 【拓展】701- 前端需知:CDN 加速原理

    一.什么是 CDN CDN的全称是(Content Delivery Network),即内容分发网络.其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近 ...

  8. 一文搞懂CDN加速原理

    目录 一.什么是 CDN 二.CDN工作原理 传统访问过程 CDN访问过程 CDN网络的组成要素 三.名词解释 CNAME记录(CNAME record) CNAME域名 DNS 回源host 协议回 ...

  9. 一文看懂CDN加速原理

    随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激增,网络访问路径过长,从 而使用户的访问质量受到严重影响.特别是当用户与网站之间的链路被突发的大流量数据拥塞时,对于异 ...

最新文章

  1. vue中过渡动画(类名实现方式)
  2. Progressbar 实现从右向左 加载(逆向)
  3. 【HTTPS】Let's Encrypt certbot renew
  4. Twemproxy -- 针对MemCached与Redis的代理
  5. P3195-[HNOI2008]玩具装箱【斜率优化dp】
  6. 机器学习:算法模型:决策树
  7. CSS 强制换行和禁止换行学习
  8. 子元素个数不定的垂直居中布局
  9. 华为交换机开启ftp服务,上传和下载文件,get和put操作实例
  10. 华为云虚拟服务器怎么搭建,云服务器怎么搭建虚拟主机
  11. 洛谷 U80455 逃跑的Seaway
  12. MySQL查询之内存临时表
  13. 第十七章 齐桓公失败之后梦初醒 管夷吾多管齐下修内政
  14. [python爬虫]暴力破解Wifi密码
  15. 从经济学角度解释:为什么画家总是死后成名?
  16. PS如何批量处理图片尺寸大小?免费哟
  17. Java(转型-多态-契约)
  18. TypeScript 实用工具类型之 Pick 类型
  19. 智能生产调度系统代码
  20. html5教程单摆,单摆实验的基本原理和实验方法

热门文章

  1. crmeb商城部署(踩坑及解决方法)
  2. 探究ExecutorService的invokeAll()方法获取的结果是否具有顺序性
  3. VisionPro_9.5中多图像拼接简单操作
  4. 药学 计算机基础 ppt,融入药学知识的计算机基础特色课堂教学课件汇总.ppt
  5. RationalDMIS2020小测针测量
  6. 我的网络通信相关文章
  7. sql查询字段重复的数据 并且修改数据某个字段
  8. NLP第12课:完全基于情感词典的文本情感分析
  9. linux中 ~ / . ..分别表示什么
  10. 数据结构习题——栈和队列(二)