0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文详谈CDN的工作原理和应用

如意 来源:简书 作者:Kandy 2020-09-01 14:33 次阅读

一、什么是 CDN

CDN的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。

简单的说,CDN的工作原理就是将您源站的资源缓存到位于全球各地的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访问过程

通过上图,我们可以了解到,使用了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协议。
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网站
    +关注

    关注

    1

    文章

    256

    浏览量

    22757
  • CDN
    CDN
    +关注

    关注

    0

    文章

    287

    浏览量

    28508
  • CDN网络
    +关注

    关注

    0

    文章

    11

    浏览量

    6732
收藏 人收藏

    评论

    相关推荐

    CDN加速原理详解

    一、CDN加速是什么意思 CDN是Content Delivery Network)英文首字母的缩写,中文翻译为内容分发网络,由于CDN是为加快网络访问速度而被优化的网络覆盖层,因此被形象地称为
    的头像 发表于 01-12 16:06 461次阅读
    <b class='flag-5'>CDN</b>加速原理详解

    晶振的工作原理

    晶振的工作原理
    的头像 发表于 12-08 17:32 596次阅读
    晶振的<b class='flag-5'>工作原理</b>

    CDN运作原理 CDN的特点总结

    CDN运作原理 本地缓存的数据,通过key-value 的形式,将url 和本地缓存进行映射,存储结构与 Map相似,采用 hash+链表形式进行缓存。 CDN命中率 衡量我们CDN服务质量
    的头像 发表于 10-09 16:12 398次阅读
    <b class='flag-5'>CDN</b>运作原理 <b class='flag-5'>CDN</b>的特点总结

    cdn是什么意思 CDN的组成

    定。 CDN工作原理就是将源站的资源缓存CDN各个节点上,当请求命中了某个节点的资源缓存时,立即返回客户端,避免每个请求的资源都通过源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验。 举一个生活中的例子,我
    的头像 发表于 10-09 15:55 863次阅读
    <b class='flag-5'>cdn</b>是什么意思 <b class='flag-5'>CDN</b>的组成

    CDN工作原理和访问过程

    CDN工作原理 接入CDN 在接入CDN前,当我们访问某个域名,直接拿到第一个真实服务器的IP地址,整个流程如下(图有点简陋) image.png 当我们需要加速网站时,通过向运营商注
    的头像 发表于 10-09 15:41 557次阅读
    <b class='flag-5'>CDN</b><b class='flag-5'>工作原理</b>和访问过程

    从传统CDN到融合CDN的进化:技术之路

    在数字化时代,内容分发网络(CDN)已经从一个辅助工具逐渐演变为确保网站性能和用户体验的核心组件。随着技术的进步,我们已经从传统的CDN迈向了融合CDN的新时代。本文将深入探讨这一进化的历程
    的头像 发表于 09-24 08:34 1172次阅读
    从传统<b class='flag-5'>CDN</b>到融合<b class='flag-5'>CDN</b>的进化:技术之路

    从传统CDN到融合CDN的进化:技术之路

    在数字化时代,内容分发网络(CDN)已经从一个辅助工具逐渐演变为确保网站性能和用户体验的核心组件。随着技术的进步,我们已经从传统的CDN迈向了融合CDN的新时代。本文将深入探讨这一进化的历程。 01
    的头像 发表于 09-18 15:05 232次阅读

    为什么要使用融合CDN,单CDN与多CDN之间的差异对比

    CDN是现代互联网服务的重要组成部分,它CDN可帮助内容提供者高速交付内容,不同的服务器部署在全球不同的数据中心,并在它们之间共享相同的网络路径。随着企业意识到CDN的重要性,越来越多的企业正在
    的头像 发表于 08-10 08:36 515次阅读
    为什么要使用融合<b class='flag-5'>CDN</b>,单<b class='flag-5'>CDN</b>与多<b class='flag-5'>CDN</b>之间的差异对比

    EMC怎么做?读懂EMC:详谈EMC(二)

    读懂EMC:详谈EMC!
    的头像 发表于 08-01 10:47 1244次阅读
    EMC怎么做?读懂EMC:<b class='flag-5'>详谈</b>EMC(二)

    海外cdn加速有用吗?

    CDN是一个策略性部署的整体系统,能够帮助用户解决分布式存储、负载均衡、网络请求的重定向和内容管理等问题,CDN代表了一种基于质量与秩序的网络服务模式。1.想要完成CDN对网站的加速服务,先要
    的头像 发表于 07-31 17:39 377次阅读
    海外<b class='flag-5'>cdn</b>加速有用吗?

    企业应该选择融合CDN还是单CDN

    哪些情况适合单CDN或融合CDN仅针对特定地理位置的公司可以使用单一CDN解决方案,建议网站内容在全球分发的优先选择融合CDN来进行加速。如果您的网站内容/应用程序大多是静态的,那么单
    的头像 发表于 07-31 17:39 291次阅读
    企业应该选择融合<b class='flag-5'>CDN</b>还是单<b class='flag-5'>CDN</b>

    火伞云融合CDN跟传统CDN的区别

    提到CDN相信很多人都不陌生,但是说起火伞云融合CDN大家都一头雾水了吧,首先万物归根,要知道火伞云融合CDN到底是什么得先从了解CDN是什么开始,
    的头像 发表于 07-31 17:37 496次阅读
    火伞云融合<b class='flag-5'>CDN</b>跟传统<b class='flag-5'>CDN</b>的区别

    什么是融合CDN?融合CDN的优势和常见的调度模式有哪些?

    什么是融合CDN?为了理解什么是融合CDN,我们先了解什么是CDNCDN是一个地理分布的边缘服务器网络,其目标是提供更快、可靠的互联网内容交付。C
    的头像 发表于 07-31 17:36 412次阅读
    什么是融合<b class='flag-5'>CDN</b>?融合<b class='flag-5'>CDN</b>的优势和常见的调度模式有哪些?

    CDN加速服务的工作原理

    CDN(内容分发网络)加速服务是一种用于提高网站和应用性能的技术,通过将内容分发到全球多个节点,使用户可以从就近的节点获取所需内容,从而实现更快的加载速度和更稳定的访问体验。下面Ogcloud为您详细介绍CDN加速服务的工作原理
    的头像 发表于 07-31 14:12 320次阅读

    EMC难不难做?带你读懂EMC 详谈EMC

    读懂EMC:详谈EMC
    的头像 发表于 07-31 11:23 1707次阅读
    EMC难不难做?带你读懂EMC <b class='flag-5'>详谈</b>EMC