欢迎光临散文网 会员登陆 & 注册

什么是CDN?CDN有什么用?3分钟教你弄懂

2023-07-29 09:34 作者:是沐风唉  | 我要投稿

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来引导用户访问是最简单有效的方式。

相关名词

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,获得相同的内容。 总的来说CDN可以对网站进行加速、防御、隐藏服务器ip

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协议 去哪购买CDN

CDN在一些大厂比如腾讯云、阿里云都可以按量进行购买,有新人优惠价也是很便宜的。 这里给小白推荐一款免费的CDN可以练练手

什么是CDN?CDN有什么用?3分钟教你弄懂的评论 (共 条)

分享到微博请遵守国家法律