内容分发网络 CDN

简介: 内容分发网络(英语:Content Delivery Network 或 Content Distribution Network,缩写:CDN)将源站资源缓存到全国各地的边缘服务器,供用户就近获取,降低源站压力。通过阅读本篇文章,你可以了解到 CDN 的工作过程。1、CDN 服务商的职责:CDN 专用的域名服务器将域名解析成缓存服务器的 IP 地址。2、CDN 使用者的任务:使用 CDN 服务的网站,将网站域名的解析权交给 CDN 专用的域名服务器,再将需要分发的内容注入 CDN(或者由 CDN 拉取),就可以实现内容加速了。

介绍 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)

相关文章
|
6月前
|
域名解析 缓存 网络协议
互联网并发与安全系列教程(04) - CDN内容分发
互联网并发与安全系列教程(04) - CDN内容分发
53 0
|
7月前
|
缓存 边缘计算 前端开发
内容分发网络 CDN 概述
内容分发网络 CDN 概述
242 0
|
3月前
|
边缘计算 缓存 网络协议
内容分发网络CDN
阿里云内容分发网络CDN(Content Delivery Network)是建立并覆盖在承载网之上,由遍布全球的边缘节点服务器群组成的分布式网络
44 2
|
3月前
|
边缘计算 网络协议 网络安全
【网络安全 | 信息收集】CDN的判断与绕过、nslookup基本使用
【网络安全 | 信息收集】CDN的判断与绕过、nslookup基本使用
206 0
|
4月前
|
缓存 负载均衡 安全
CDN:内容分发的高速公路(下)
CDN:内容分发的高速公路(下)
CDN:内容分发的高速公路(下)
|
4月前
|
缓存 安全 定位技术
CDN:内容分发的高速公路(上)
CDN:内容分发的高速公路(上)
CDN:内容分发的高速公路(上)
|
5月前
|
缓存 边缘计算 安全
云计算 - 内容分发网络CDN技术与应用全解
云计算 - 内容分发网络CDN技术与应用全解
442 0
|
12月前
|
存储 域名解析 缓存
计网 - 内容分发网络 : CDN 回源的工作机制初探
计网 - 内容分发网络 : CDN 回源的工作机制初探
229 0
|
4天前
|
网络协议 算法 Linux
【Linux】深入探索:Linux网络调试、追踪与优化
【Linux】深入探索:Linux网络调试、追踪与优化
|
1天前
|
JSON 网络协议 Linux
Linux ip命令:网络的瑞士军刀
【4月更文挑战第25天】
7 1