cdn能解决什么问题 cdn原理及操作

CDN概述CDN的全称是Content Delivery Network,即内容分发网络。基本思路是尽可能避免互联网上可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输更快更稳定。CDN的工作原理是将源站的资源缓存在CDN的各个节点上,当请求命中某个节点的资源缓存时,会立即返回给客户端,避...

CDN概述

CDN的全称是Content Delivery Network,即内容分发网络。基本思路是尽可能避免互联网上可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输更快更稳定。

CDN的工作原理是将源站的资源缓存在CDN的各个节点上,当请求命中某个节点的资源缓存时,会立即返回给客户端,避免每一个请求的资源都通过源站获取,避免网络拥塞,缓解源站压力,保证用户访问资源的速度和体验。

举个生活例子。我们在某家店购买商品,快递可以当天送达。基本原则是在全国各地建立本地仓库。用户在购买商品时,可以通过智能配仓模式,选择最近的仓库为消费者发货,从而缩短物流配送时间。

i***ge.png

商品库存的配送流程,请参考下图,从工厂(货源站)->:地理仓(L2缓存)->:本地仓(一级缓存)

i***ge.png

内容分发网络和前面提到的智能仓库分发网络一样,解决了分发、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。用户可以就近获取所需内容,解决互联网网络拥堵,提高用户访问网站的响应速度和成功率。

i***ge.png

CDN的诞生

i***ge.png

CDN诞生于二十多年前。为了解决内容源服务器和传输骨干网压力过大的问题,1995年,麻省理工学院教授、互联网发明者之一汤姆·莱顿(Tom Leighton)带领研究生丹尼·勒温(Danny Lewin)和其他几位顶尖研究人员试图用数学问题解决网络拥塞问题。

他们用数学算法处理内容的动态路由,最终解决困扰互联网用户的问题。后来,斯隆管理学院的MBA学生乔纳森·西利格加入了莱顿的团队。此后,他们开始实施自己的商业计划,最终于1998年8月20日正式成立了一家名为Aka***i的公司。Aka***i公司通过智能互联网配送,结束了“全球范围等待”的尴尬局面。

1998年,中国第一家CDN公司ChinaCache成立。

CDN的工作原理

CDN接入

在接入CDN之前,当我们访问一个域名,直接获取第一个真实服务器的IP地址时,整个过程如下(图有点粗)

i***ge.png

当我们需要对网站进行提速时,可以向运营商注册自己的加速域名和源域名,然后输入自己域名的DNS配置信息,将A记录修改为CNAME记录。阿里云的加速应用参考如下:

i***ge.png

CDN接入流程

i***ge.png

1、用户访问图片内容,先经过 本地DNS 解析,如果 LDNS 命中,直接返回给用户。2、LDNS MISS,转发 授权DNS 查询3、返回域名 CNAME picwebws.ps***.com.wsglb0.com. 对应IP地址(实际就是DNS调度系统的ip地址)4、域名解析请求发送至DNS调度系统,DNS调度系统为请求分配最佳节点IP地址。5、返回的解析IP地址6、用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。

图:华为云站加速示意图

CDN解决了什么问题?

骨干网压力过大。

1995年,Tom Leighton带领团队尝试用数学问题解决网络拥塞问题,从而解决了骨干网压力过大的问题。随着越来越多的青少年上网,骨干网核心节点的流量吞吐量不足以支撑网民的增长。CDN可以阻止用户流量流经骨干网。

主干网络是全球局域网。一流的互联网服务提供商(ISP)将其高速光纤网络连接在一起,形成互联网的骨干网络,可以在不同的地理区域之间高效地传输流量。

1.局域网

局域网是指在一定区域内互连的一组计算机。比如晚上12点以后断网的时候,我们还能通过路由器黑CS和魔兽世界。即基于局域网互联实现数据共享和信息交流。

i***ge.png

2.中枢网络

这里引用中国电信的全网架构,骨干网可以理解为一个全国性的局域网,通过核心节点的流量互通实现全网互通。这就是为什么我们称之为互联网。

i***ge.png

北京、上海、广州是ChinaNet的超级核心。除了超级核心,ChinaNet还有天津、Xi、南京、杭州、武汉、成都等普通核心。

i***ge.png

三公里的中间距离

通常情况下,网络接入会有“三公里”的距离。

第一公里为:源站到ISP接入点第二公里为:源站ISP接入点到访问用户的ISP接入点第三公里(最后一公里)为:用户ISP接入点到用户客户端

CDN的网络层主要用于加速第二公里,

在CDN的基础设施中,通常使用两级服务器进行加速:

L1(下层):距离用户(或俗称网民)越近越好,通常用于缓存那些可缓存的静态数据,称之为 lastmile(最后一公里)。L2(上层):距离源站越近越好,称之为 firstmile(第一公里),当 L1 无法命中缓存,或内容不可缓存时,请求会通过 L1 透传给 L2,若 L2 仍然没有命中缓存或内容不可缓存,则会继续透传给 L2 的 upstream(有可能是源站,也有可能是 L3),同时 L2 还可以做流量、请求数的量级收敛,减少回源量(如果可缓存),降低源站压力。L1 和 L2 之间的部分,是 CDN 的 ”内部网络“,称之为 middlemile(中间一公里)。

i***ge.png

CDN构成了全球负载平衡系统GLB(Global Load Balance)

i***ge.png

当用户访问加入CDN服务的网站时,域名解析请求将最终由 “智能调度DNS”负责处理。它通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户可以得到快速的服务。同时它需要与分布在各地的CDN节点保持通信,跟踪各节点的健康状态、容量等信息,确保将用户的请求分配到就近可用的节点上.

缓存服务器

缓存服务器主要的功能就是缓存热点数据,数据类型包括:静态资源(html,js,css等),多媒体资源(img,mp3,mp4等),以及动态数据(边缘渲染)等。缓存服务器的主要功能是缓存热数据,包括静态资源(html、js、css等。)、多媒体资源(img、mp3、mp4等。)和动态数据(边缘渲染)。

与CDN相关的知名开源软件有:

SquidVarnishNginxOpenRestyATSHAProxy

详情请参考https://blog.csdn.net/joeyon1985/article/details/46573281.

CDN的层次架构

i***ge.png

源站

源站点是指发布内容的原始站点。网站文件的添加、删除、更改都是在源站上完成的;此外,缓存服务器捕获的所有对象都来自源站。

CDN调度策略

DNS调度

基于请求者的本地DNS和运营商的DNS调度的出站IP归属。

DNS计划的问题:

DNS 缓存时间在 TTL 过期前是不会刷新的, 这样会导致节点异常的时候自动调度延时很大,会直接影响线上业务访问。大量的 local DNS 不支持 EDNS 协议,拿不到客户的真实IP,CDN 绝大多数时候只能通过local DNS IP来做决策,经常会出现跨区域调度的情况。

Http调度

客户端请求一个固定的HTTP DNS地址,根据返回得到解析结果。可以提高解析的准确性(不像DNS调度,只能通过本地DNS IP进行决策),可以很好的避免劫持等问题。

当然这种模式也有一些问题,比如客户端每次加载一个URL可能会生成一个HTTP DNS查询,对性能和网络访问要求很高。

02调度

基于客户端IP和302调度集群的实时流量调度。

让我们看一个例子:

访问 URL 链接后,此时请求到了调度群集上,我们能拿到的客户端信息有 客户端的出口IP(绝大多情况下是相同的),接下来算法和基于 DNS 的调度可以是一样的,只是判断依据由 local DNS 出口 ip 变成了客户端的出口IP。浏览器收到302回应,跟随 Location 中的 URL,继续发起 http 请求,这次请求的目标 IP 是CDN 边缘节点,CDN节点会响应实际的文件内容。

32调度的优势:

实时调度,因为没有 local DNS 缓存的,适合 CDN 的削峰处理,对于成本控制意义重大;准确性高,直接获取客户端出口 IP 进行调度。

32日程安排的缺点:

每次都要跳转,对于延时敏感的业务不友好。一般只适用于大文件。

选播BGP路由调度

基于BGP的选播路由策略,只需提供少量外部IP,可以快速调整路由策略。

目前AWS CloudFront和CloudFlare都采用这种方式在路由层面进行调度。

该方法可以很好地抵御DDOS攻击,减少网络拥塞。

当然这种方式成本和方案设计比较复杂,所以国内的CDN还是在用单播。

一些概念

CDN的工作原理

本地缓存的数据以键值的形式被url和本地缓存映射。存储结构类似Map,以hash+链表的形式缓存。

i***ge.png

CDN命中率

衡量我们CDN服务质量的一个核心标准,当用户访问的资源恰好在缓存系统中,可以直接返回给用户,表示CDN命中;如果CDN缓存中没有资源命中,则会触发返回源的动作。

CDN回到源

当CDN本地缓存命中失败时,触发返回源的动作,

一级缓存 访问二级缓存是否有相关数据,如果有,返回一级缓存。二级缓存 Miss,触发 二级缓存 回源请求,请求源站对应数据。获取结果后,缓存到本地缓存,返回数据到一级缓存。一级缓存 获取数据,缓存本地后,返回给用户。

CDN预热数据

上述访问模式都是基于拉取模式,由用户决定哪些热数据最终会保留在CDN缓存中;对于大促场景,我们往往需要提前预热活动相关资源到边缘节点(L1),避免大促开启后大量用户访问,造成源站压力过大。此时采用推送模式。

CDN的特点概述

1.资源访问加速:本地缓存加速,提高了企业网站(尤其是图片和静态页面数量较多的网站)的访问速度,大大提高了上述网站的稳定性。

2.消除运营商之间网络互联的瓶颈问题:镜像服务消除了不同运营商之间互联瓶颈带来的影响,实现跨运营商的网络加速,保证不同网络的用户都能获得良好的接入质量。

3.远程加速:远程访问用户根据DNS负载均衡技术智能自动选择缓存服务器,选择最快的缓存服务器加速远程访问。

4.带宽优化:自动生成服务器的远程镜像缓存服务器。远程用户访问时,可以从缓存服务器读取数据,减少远程访问的带宽,分担网络流量,减轻原WEB服务器的负载。

5.集群抗攻击:广泛分布的CDN节点加上节点间的智能冗余机制,可以有效防止黑客入侵,降低各种D.D.o.S攻击对网站的影响,同时保证更好的服务质量。

本文来自热恋少女投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/601426.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 06-21
下一篇 06-21

相关推荐

  • 图灵测试是什么(图灵测试内容、过程、原理)

    人工智能一直是科技发展的前沿课题之一,世界各地的科学家都在努力开发机器的人工智能,以便更好地服务于人类。但是,如何判断机器是否具有人工智能呢?为此,科学界有一个非常简单的测试方法,那就是图灵测试。我们来谈谈图灵测试。图灵测试的内容、过程和原理。1.什么是图灵

    2023-07-29 06:04:01
    250 0
  • 淘宝购物返利平台(京东购物返利原理)

    双12快到了,肯定有很多购物需求!让我告诉你一个小秘密。有一些返利app。你在淘宝、JD.COM、拼多多等购买商品后。,你还是可以按比例拿一些佣金的。绝对是省钱利器。1.多多的头是拼多多的返利APP在品多多享受低价的基础上,又能拿到返利,不是很美好吗?报名方式:下载多多头

    2023-07-29 01:47:01
    863 0
  • 数据挖掘概念与技术第三版pdf 数据挖掘原理与算法第三版

    前不久我们的推荐算法还不够精准?让知识图谱解决”和“如何将知识图谱特征学习应用于推荐系统”的系列文章受到了同学们的广泛欢迎。大家都很关心推荐系统及其相关的底层数据挖掘技术。为了帮助朋友们更好地学习相关内容,我们邀请了微软亚洲研究院社会计算组研究员张福正为大

    2023-07-28 06:09:01
    984 0
  • 百度seo排名点击器平台 原理和使用方法

    之前我说过不打算写这个快递排了。第一,我自己的网站没有运营过所谓的快递排。第二,我不能像很多网上的一样透露百度快递排。(老实说,你可以透露所有的方法。真的有用吗?真正懂的人都在低调赚钱)。我只是站在一个白人的角度,让更多的白人知道所谓的百度快递排列是什么,同

    2023-07-27 15:14:02
    269 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信