首页 > 其他分享 >内容分发网络 CDN

内容分发网络 CDN

时间:2023-03-01 15:25:45浏览次数:50  
标签:分发 缓存 CDN 网络 域名 DNS 服务器 com

介绍 CDN

内容分发网络(英语:Content Delivery Network 或 Content Distribution Network,缩写:CDN)是建立并覆盖在承载网上,由不同区域的服务器组成的分布式网络。将源站资源缓存到全国各地的边缘服务器,供用户就近获取,降低源站压力。


CDN 基于这样的原理:

  • 挑选最优的设备为用户提供服务;
  • 如果某个内容被很多用户所需要,那么就将它缓存到距离用户最近的节点中。

CDN 公司在整个互联网上部署数以百计的 CDN 服务器(Cache),这些服务器通常在运营商的互联网数据中心(Internet Data Center,IDC)中,尽量靠近接入网络和用户。CDN 在 Cache 中复制内容,当内容的提供者更新内容时,CDN 向 Cache 重新分发这些被刷新的内容。

CDN 提供一种机制,当用户请求内容时,该内容能够由以最快速度交付的 Cache 来向用户提供,这个挑选 “最优” 的过程就叫做负载均衡。被选中的最优 Cache 可能最靠近用户,或者有一条与用户之间条件最好的路径。

CDN 的工作过程

使用 CDN 服务的网站是如何向用户提供服务的呢?

基于 DNS 解析的 GSLB 系统是目前 CDN 服务商采用比较多的 GSLB 方案。基于 DNS 解析的 GSLB 系统的实现又有几种不同的方式:

  • 通过 CNAME 方式实现负载均衡;
  • 负载均衡器作为权威 DNS 服务器;
  • 负载均衡器作为代理 DNS 服务器。

其中通过 CNAME 方式实现负载均衡是目前业界使用最多的方式。


通过 CNAME 方式实现负载均衡,一个用户的访问流程为:

image-20230301143452601.png

当用户在浏览器的地址栏中输入 URL 并点击回车后,浏览器首先判断 URL 中的是 IP 地址,还是域名。如果 URL 中的是域名,那么首先要做的就是域名解析。

域名解析的过程:首先是浏览器查看浏览器的缓存。

  • 1、2、3:如果浏览器中没有该域名的缓存,那么浏览器询问【本地 DNS 解析器】,【本地 DNS 解析器】首先查看本地 DNS 缓存。如果本地 DNS 缓存中没有该域名的缓存,那么【本地 DNS 解析器】请求【本地 DNS 服务器】进行域名解析。
  • 4、5、6:如果【本地 DNS 服务器】中没有该域名的缓存,那么【本地 DNS 服务器】向 DNS 系统中的其他远程 DNS 服务器发送查询请求。

在 domain.com 域的域名服务器中,将 host.domain.com 域名的 CNAME 记录设置为其他的域名(CDN 服务商的域名的子域名),比如设置为 host.domain.com.cdn.dnsv1.com。

  • 7:【本地 DNS 服务器】获取到 domain.com 域的域名服务器,向其发送 host.domain.com 域名解析请求, domain.com 域的域名服务器返回 CNAME 记录,该 CNAME 记录的值为 host.domain.com.cdn.dnsv1.com(CDN 服务商的域名的子域名)。
  • 8:【本地 DNS 服务器】获取到 cdn.dnsv1.com 域的域名服务器(CDN 专用的域名服务器),向其发送 host.domain.com.cdn.dnsv1.com 域名解析请求。

这样就将网站域名的解析权交给了 CDN 专用的域名服务器,由 CDN 专用的域名服务器进行网站域名的解析。

  • 9、10:【本地 DNS 服务器】收到域名的解析结果后,【本地 DNS 服务器】缓存数据,并将解析结果返回给【本地 DNS 解析器】。【本地 DNS 解析器】缓存数据,并将解析结果返回给【客户端】。
  • 11:【客户端】缓存数据,并向缓存服务器发送请求,缓存服务器响应【客户端】的请求,将用户所需的内容返回给【客户端】。如果这台缓存服务器上并没有用户想要的内容,那么这台缓存服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。

CDN 服务商的职责:CDN 专用的域名服务器将域名解析成缓存服务器的 IP 地址。

CDN 使用者的任务:使用 CDN 服务的网站,将网站域名的解析权交给 CDN 专用的域名服务器,再将需要分发的内容注入 CDN(或者由 CDN 拉取),就可以实现内容加速了。

CDN 的应用

CDN 可完成:内容缓存、负载均衡、流媒体加速、动态内容加速 等任务。

参考资料

《CDN 技术详解》

CDN技术详解-雷葆华著-微信读书 (qq.com)

内容分发网络 | 凤凰架构 (icyfenix.cn)

标签:分发,缓存,CDN,网络,域名,DNS,服务器,com
From: https://www.cnblogs.com/feiyu2/p/CDN.html

相关文章

  • 网络通信基本概念
    通信人与人、人与物、物与物之间通过某种媒介和行为进行信息传递与交流网络通信指终端设备之间通过计算机网络进行的通信数据通信网络由路由器、交换机、防火墙、无线......
  • openwrt 网络检测脚本
    背景openwrt有些固件不太稳定,会时不时的断网,导致家里无法上网,遇到这种情况只能手动重启openwrt设备,该操作不方便,作为一个极客爱好者,那肯定是要实现自动化处理的了,写一个......
  • LeetCode算法训练-贪心算法 455.分发饼干 376. 摆动序列 53. 最大子序和
    欢迎关注个人公众号:爱喝可可牛奶LeetCode算法训练-贪心算法455.分发饼干376.摆动序列53.最大子序和前置知识贪心算法核心是找局部最优解,通过局部最优推导出全局最......
  • 性能测试-dstat以及sar(网络相关数据查看)
    dstatyuminstalldstat-ydstat-lcmdry性能分析命令:topvmstatsysstat:mpstatiostatpidstatnetstatdstatsar:主要用在网络相......
  • 网络原理4
    实验总结实验一配置实验环境同种设备用交叉线,异种设备用直通线(路由器和PC机是同种设备)配置PC1IP为192.168.1.2网关为192.168.1.1配置PC2IP为192.168.1.3网关为192.168.1.1......
  • 28 openEuler管理网络-配置主机名
    28openEuler管理网络-配置主机名28.1简介hostname有三种类型:static、transient和pretty。static:静态主机名,可由用户自行设置,并保存在/etc/hostname文件中。transien......
  • 关于OpenShift(OKD)网络Service、Routes的一些认识
    写在前面博文内容为OpenShift网络相关组件Service、Routes的一些认识理解不足小伙伴帮忙指正傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生......
  • 中睿天下当选信通院网络安全卓越合作伙伴
    2月23日,2023年中国网络和数据安全产业高峰论坛—网络安全技术创新赋能产业发展分论坛在四川成都成功召开,分论坛以“技术创新、场景赋能、实效验证”为主题,由工业和信息化部......
  • java网络编程-待测试
    publicclassServer2{publicstaticvoidmain(String[]args)throwsException{System.out.println("==服务器的启动==");//1.注册端口......
  • 基于PCNN脉冲耦合神经网络的图像分割
    1.算法描述       脉冲耦合神经网络(PCNN-PulseCoupledNeuralNetwork)与传统神经网络相比,有着根本的不同。PCNN有生物学的背景,它是依据猫、猴等动物的大脑皮层上......