3分钟了解CDN

news/2025/1/17 18:08:11/文章来源:https://www.cnblogs.com/jianxiaoxiu/p/18394021

CDN

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

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

CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器

通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

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

属性:一种新型网络构建方式

目的:传输的更快、更稳定

基本原理

CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中

在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

CDN的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。

通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络

CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

简单来说,CDN就是一个分布式的缓存服务器,存着非常多文件,并且分布在世界各地,每个人都能就近访问

CDN 的工作过程

传统访问过程

由上图可见,用户访问未使用CDN缓存网站的过程为:

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

CDN 访问过程

通过上图,我们可以了解到,使用了CDN缓存后的网站的访问过程变为:

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

通过以上的分析我们可以得到,为了实现对普通用户透明(使用缓存后用户客户端无需进行任何设置)访问

需要使用 DNS(域名解析)来引导用户来访问 Cache 服务器,以实现透明的加速服务。

由于用户访问网站的第一步就是域名解析,所以通过修改dns来引导用户访问是最简单有效的方式。

CDN 的组成

前面我们说过,一个仓配网络是由多个仓库组成的,同理,内容分发网络(CDN)是由多个节点组成的。一般来讲,CDN网络主要由中心节点、边缘节点两部分构成。

img

中心节点

中心节点包括CDN网管中心和全局负载均衡DNS重定向解析系统,负责整个CDN网络的分发及管理。

边缘节点

CDN边缘节点主要指异地分发节点,由负载均衡设备、高速缓存服务器两部分组成。

负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时还负责收集节点与周围环境的信息,保持与全局负载均衡DNS的通信,实现整个系统的负载均衡。

高速缓存服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。

通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中Cache服务器就像网站的原始服务器一样,响应终端用户的请求。

因其距离用户更近,故其响应时间才更快。

中心节点就像仓配网络中负责货物调配的总仓,而边缘节点就是负责存储货物的各个城市的本地仓库。

CDN 相关技术

首先我们想一下,要想建设一个庞大的仓配网络都需要考虑哪些问题,需要哪些技术手段呢?

缓存算法

缓存代理软件:Squid。 缓存算法决定命中率、源服务器压力、FTP节点存储能力。

分发能力

分发能力取决于IDC能力和IDC策略性分布。

负载均衡

负载均衡软件:Nginx。 负载均衡(智能调度)决定最佳路由、响应时间、可用性、服务质量。

基于DNS

DSN服务器软件:BIND

1.基于DNS的负载均衡以CNAME实现域名中转,智取最优节点服务。

2.缓存点有客户端浏览器缓存、本地DNS服务器缓存。

3.缓存内容有DNS地址缓存、客户请求内容缓存、动态内容缓存。

支持协议

支持协议如静动态加速(图片加速、https带证书加速)、下载加速、流媒体加速、企业应用加速、手机应用加速。

内容发布

它借助于建立索引、缓存、流分裂、组播(Multicast)等技术,将内容发布或投递到距离用户最近的远程服务点(POP)处。

内容存储

对于CDN系统而言,需要考虑两个方面的内容存储问题。一个是内容源的存储 一个是内容在 Cache节点中的存储。

内容路由

它是整体性的网络负载均衡技术,通过内容路由器中的重定向(DNS)机制,在多个远程POP上均衡用户的请求,以使用户请求得到最近内容源的响应。

内容管理

它通过内部和外部监控系统,获取网络部件的状况信息,测量内容发布的端到端性能(如包丢失、延时、平均带宽、启动时间、帧速率等),保证网络处于最佳的运行状态。

相关名词

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协议

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-17,如有侵权请联系619333351@qq.com 删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/791481.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新手朋友在安装pbootcms经常遇到一些错误(PbootCMS 常见问题及解决方法)

Parse error: syntax error, unexpected :, expecting {问题描述:在 www\core\function\handle.php 文件第 130 行出现了语法错误,提示意外的冒号。 原因分析:此错误通常出现在尝试在较旧的 PHP 版本上运行需要 PHP 7.x 或更高版本的代码时。PHP 7 引入了一些新的语法特性,…

【VMware VCF】VCF 5.2:配置管理域 vSAN 延伸集群。

VMware vSAN 解决方案中,根据集群的配置类型分为 vSAN 标准集群、vSAN 延伸集群以及双主机集群(延伸集群特例)。我们最常见的使用方式应该是 vSAN 标准集群,也就是 vSAN HCI 超融合集群,至少由 3 台 ESXi 主机所组成,这些 ESXi 主机安装位属于同一个数据中内,将本地磁盘…

Datawhale X 李宏毅苹果书AI夏令营深度学习入门(三)

一.实践方法论 (一)模型偏差 模型偏差可能会影响模型训练。若模型过于简单,一个有未知参数的函数代θ1 得到一个函数 fθ1(x),同理可得到另一个函数 fθ2(x),把所有的函数集合起来得到一个函数的集合。但是该函数的集合太小了,没有包含任何一个函数,可以让损失变低的函数不…

PlugIR:开源还不用微调,首尔大学提出即插即用的多轮对话图文检索 | ACL 2024

即插即用的PlugIR通过LLM提问者和用户之间的对话逐步改进文本查询以进行图像检索,然后利用LLM将对话转换为检索模型更易理解的格式(一句话)。首先,通过重新构造对话形式上下文消除了在现有视觉对话数据上微调检索模型的必要性,从而使任意黑盒模型都可以使用。其次,构建了…

「代码随想录算法训练营」第五十二天 | 图论 part10

目录Floyd算法题目:97. 小明逛公园A * 算法题目:126.骑士的攻击最短路算法总结 Floyd算法 Floyd算法用于求解多源最短路问题(求多个起点到多个终点的多条最短路径)。在前面学习的dijkstra算法、Bellman算法都是求解单源最短路的问题(即只能有一个起点)。 注意:Floyd算法…

定义一个正则表达式,使用finditer从表达式内取值后存储到列表中

演示代码:responce = requests.get(url = url_web,headers=head) url_obj = re.compile(r<a class="media-content" target="_blank" href="(?P<url>.*?)" title=".*?" ,re.S) list_url = url_obj.finditer(responce.tex…

大模型隐私泄露攻击技巧分析与复现

大型语言模型,尤其是像ChatGPT这样的模型,尽管在自然语言处理领域展现了强大的能力,但也伴随着隐私泄露的潜在风险。在模型的训练过程中,可能会接触到大量的用户数据,其中包括敏感的个人信息,进而带来隐私泄露的可能性。前言 大型语言模型,尤其是像ChatGPT这样的模型,尽…

反光衣自动识别检测系统

反光衣自动识别检测系统检测预警信息仪仗于完整的Ai智能分析平台,包含视频监管、视频采集、预测分析预警信息、可视化管理、时间监管、等模块,反光衣自动识别检测系统可以完成业务流程数据信息的数据共享,产生完善的安全生产管理体系。反光衣自动识别检测系统以健全设备的基…

深入剖析 PCI 转 CPCI 载板转接卡:连接不同架构的桥梁

在计算机技术不断发展的进程中,硬件接口的多样性和演进促使了各种转接卡的出现,以满足不同接口标准之间的连接和通信需求。其中,PCI 转 CPCI 载板转接卡作为一种关键的转接设备,在实现 PCI(Peripheral Component Interconnect)接口与 CPCI(CompactPCI)接口之间的转换方…

VMware Workstation 17.5.2 Pro for Linux 更新 OEM BIOS 2.7 支持 Windows Server 2025

VMware Workstation 17.5.2 Pro for Linux 更新 OEM BIOS 2.7 支持 Windows Server 2025VMware Workstation 17.5.2 Pro for Linux 更新 OEM BIOS 2.7 支持 Windows Server 2025 VMware Workstation 17.5.2 Pro macOS Unlocker & OEM BIOS 2.7 for Linux 在 Linux 上运行 m…

VMware Workstation 17.5.2 Pro for Windows 更新 OEM BIOS 2.7 支持 Windows Server 2025

VMware Workstation 17.5.2 Pro for Windows 更新 OEM BIOS 2.7 支持 Windows Server 2025VMware Workstation 17.5.2 Pro for Windows 更新 OEM BIOS 2.7 支持 Windows Server 2025 VMware Workstation 17.5.2 Pro macOS Unlocker & OEM BIOS 2.7 for Windows 在 Windows …