Web应用网站CDN加速访问技术原理

news/2024/5/14 11:53:18/文章来源:https://blog.csdn.net/yanghaolong/article/details/86235096

CDN全称Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

       在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应速度、优化现有Internet中信息的流动,需要在用户和服务器间加入中间层CDN. 使用户能以最快的速度,从最接近用户的地方获得所需的信息,彻底解决网络拥塞,提高响应速度,是目前大型Web网站使用的流行的应用方案. 

一. CDN 概述

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

Cache层的技术,消除数据峰值访问造成的结点设备阻塞。Cache服务器具有缓存功能,所以大部分网页对象(Web page object),如html, htm, php等页面文件,gif,tif,png,bmp等图片文件,以及其他格式的文件,在有效期(TTL)内,对于重复的访问,不必从原始网站重新传送文件实体, 只需通过简单的认证(Freshness Validation)- 传送几十字节的Header,即可将本地的副本直接传送给访问者。由于缓存服务器通常部署在靠近用户端,所以能获得近似局域网的响应速度,并有效减少广域带宽的消耗。不仅能提高响应速度,节约带宽,对于加速Web服务器,有效减轻源服务器的负载是非常有效的。

根据加速对象不同,分为 客户端加速 和 服务器加速。

客户端加速 : Cache部署在网络出口处,把常访问的内容缓存在本地,提高响应速度和节约带宽;
服务器加速 : Cache部署在服务器前端,作为Web服务器的代理缓存机,提高Web服务器的性能,加速访问速度
如果多台Cache加速服务器且分布在不同地域,需要通过有效地机制管理Cache网络,引导用户就近访问(比如通过DNS引导用户),全局负载均衡流量,这是CDN内容传输网络的基本思想.

    CDN对网络的优化作用主要体现在如下几个方面  - 解决服务器端的“第一公里”问题  - 缓解甚至消除了不同运营商之间互联的瓶颈造成的影响  - 减轻了各省的出口带宽压力  - 缓解了骨干网的压力  - 优化了网上热点内容的分布

二.CDN 的工作原理

2.1. 传统访问过程(未加速缓存服务)

我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差别:

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

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

2.2. CDN访问过程(使用缓存服务)

CDN网络是在用户和服务器之间增加Cache层,主要是通过接管DNS实现,将用户的请求引导到Cache上获得源服务器的数据
下面让我们看看访问使用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来引导用户访问是最简单有效的方式.
2.3. CDN网络的组成要素 

对于普通的Internet用户,每个CDN节点就相当于一个放置在它周围的网站服务器.
通过对dns的接管,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求.
由于它离用户更近,因而响应时间必然更快.

从上面图中 虚线圈起来的那块,就是CDN层,这层是位于 用户端 和 站点服务器之间.

    智能调度DNS(比如f5的3DNS)

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

    缓存功能服务:
        a.负载均衡设备(如lvs,F5的BIG/IP)
        b.内容Cache服务器(如squid)
        c.共享存储(根据缓存数据量多少决定是否需要)

总结:

      由于时间的关系,本篇内容先写到这里。对于CDN智能调度DNS、CND智能调度DNS简化实现等我将会在下一篇文章中来具体总结说明。总之,在建立CDN网路时,最关键的就是 智能调度DNS,这个是CND网络总协调,通过高效的调度算法,可以使用户得到最佳的访问体验.其次就是 CND节点的管理,比如涉及到 内容的同步机制,配置文件的更新等等,都需要有一套机制来保证.当然在大型网站中,也要考建设CDN体系的成本和回报率.。

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

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

相关文章

swf游戏保存进度_告别模拟器,一个网站,让你重温所有红白机、街机游戏

相信很多人都和我一样小时候的记忆第一次接触游戏听到的第一个声音便是小霸王,其乐无穷还记得当时忽悠老爹给我买时说是为了学习打字不知还有没有人记得下面这些绝版游戏我承认当时买了小霸王后第一件事的确是认(zhuang)认(mu)真(zuo)真(yang)地练习打字等老爹欣慰地…

Windows Server 2008 IIS下部署网站出现的问题

1. 无法识别“targetFramework” 用的是vs2010,应用.NET Framework 4创建的网站放在IIS(7.0)下会出现如下的错误:版本信息显示.NET Framework和ASP.NET的版本都是2.0,而我们制作网站的时候使用的.NET Framework 4.0&am…

校内闲鱼网站风险分析与会议内容

风险分析 1、技术风险 前端前端所有页面统计共有11个,可能还有一些细节的页面没有考虑到,而我们团队前端技术人员只有两人,存在的风险是可能不能按时完工。 应对措施:提早开工前端页面的代码设计,每一天都需要实现相应…

一般人不知道的SEO术语!!!

SEO就是Search Engine Optimization的缩写,中文就是搜索引擎优化。PR 值全称为PageRank(网页级别),是Google用于用来标识网页的等级、重要性的一种方法,是Google用来衡量一个网站的好坏的重要标准之一。SEM 搜索引擎营销,SEM常常是指通过付费和广告向搜索…

如何使用阿里云快速搭建个人网站

一、准备 1.windows本地远程连接Linux主机工具: XShell:http://xshellcn.com putty:http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html cmder:https://cmder.net/ 2.远程上传文件至Linux主机: winscp&am…

网站能拿到其他网站的cookie_当网站安全漏洞来袭,没有谁还能拒绝网站安全监测和加固的服务!...

当下,随着互联网不断的发展,网站出现漏洞的频率以及网站被攻击的概率越来越高,这时候,网站安全问题如何解决呢?现在我们能做的就是做好预防工作。下面,蒙特给大家分享一些网站预防措施,有多重要&#xff0…

恶意网站可利用浏览器扩展 API,窃取浏览器数据

开发四年只会写业务代码,分布式高并发都不会还做程序员? 恶意网站可以利用浏览器扩展 API,在浏览器内执行代码,来窃取用户敏感信息,比如用户书签、历史浏览记录和 cookies。在这之后,攻击者可能劫持用户的…

在服务器上用IIS部署搭建网站教程

IIS,和apche一样是一种web服务器,有了这种服务器,我们的网站程序或其他web程序才可以正常运行。这里就教新手在服务器上怎么用IIS部署搭建一个网站。 使用iis 搭建网站 1.开始→管理工具→internet信息服务(iis)管理…

基于jQuery的网站首页宽屏焦点图幻灯片

今天给大家分享一款基于jQuery的网站首页宽屏焦点图幻灯片。这款焦点图适用浏览器&#xff1a;IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗。效果图如下&#xff1a; 在线预览 源码下载 实现的代码。 html代码&#xff1a; <!-- index-focus begin -…

有趣人物为你讲述网站开发过程

虽然这个流程与真实有点出入&#xff0c;但基本是这意思了。开发过程中三个角色&#xff1a;程序员&#xff0c;设计师和客户步骤1&#xff1a;项目讨论在接到项目后首先需要开项目开发讨论会&#xff0c;讨论网站的栏目&#xff0c;开发方向&#xff0c;文字内容和图片等等。步…

网站域名可以绑定2个服务器吗,服务器可以绑定几个域名

服务器可以绑定几个域名 内容精选换一换您可以通过Web应用防火墙服务对不再防护的网站执行删除操作。如果您已开通企业项目&#xff0c;您可以在企业项目下拉列表中选择您所在的企业项目&#xff0c;删除该企业项目下域名。已添加防护域名。防护网站部署模式为云模式时&#xf…

宝塔利用同一个ip的不同端口号架设多个网站

在成功利用****阿里云服务器以及宝塔搭建了公网ip下的网站之后&#xff0c;想在该ip下继续更换端口继续搭建其他网站&#xff0c;结果发现一直提示&#xff0c;添加的站点已经存在&#xff1a; 这里我先前创立的是80端口&#xff0c;现在想换成88端口&#xff0c;就还是会提示站…

超酷的测速网站Ookla SPEEDTEST

测试网速的工具、网站估计不少&#xff0c;在百度一搜都能搜出一大堆&#xff0c;下面介绍一个国外测试网速的网站&#xff0c;用户体验相当棒&#xff0c;感觉酷毙了&#xff0c;那些其它测试网速的网站跟这个比起来&#xff0c;简直弱毙了。这个网速测试网站就是&#xff1a;…

Nginx配置SSL证书部署HTTPS网站

一、什么是 SSL 证书&#xff0c;什么是 HTTPSSSL 证书是一种数字证书&#xff0c;它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道&#xff0c;从而实现&#xff1a;1、数据信息在客户端和服务器之间的加密传输&#xff0c;保证双方传递信息的安全…

样式问题-如何一次性设置网站英文字体样式,中文字体等样式

异常处理汇总-前端系列 http://www.cnblogs.com/dunitian/p/4523015.html 今天才发现&#xff0c;CSS 的 font-family 属性 的基本能力之一就是依其列表内字体的排序&#xff08;优先级&#xff09;来显示文字。 如果设定为「font-family: "英文字体", "中文字…

必选项:你的网站易于阅读吗?

当我们设计网站时&#xff0c;我们在想什么&#xff1f;——设计引人注目吗&#xff1f;便于理解吗&#xff1f;有品牌关联吗&#xff1f;……其实最先需要思考的是&#xff0c;文字可以被容易阅读吗&#xff1f; 微软估值高达340亿美元&#xff0c;拥有着一支由设计师、研究员…

电商网站首页商品分类列表功能实现

首先我们看下这个功能实现的效果&#xff1a; 后期理解补充&#xff1a; 其实这个功能的关键点就是分析这个模块的数据格式怎么样的&#xff1f; 对于这种商品列表展示的功能&#xff1a; 我们思路如下&#xff1a; 第一&#xff1a;开始展示的都是顶级列表&#xff0c;即paren…

教育部网站被***事件的一点小说明

刚才上网说教育部网站被黑了。 有图&#xff1a; 有地址&#xff1a;http://www.moe.gov.cn/sofprogecslive/1.jsp 截止本文发布&#xff0c;该地址仍能打开。从目录得到的信息来看&#xff0c;只是利用某种漏洞成功上传了文件&#xff0c;并未得到其他权限或更深层次的东西。 …

25 个漂亮的体育运动网站的设计

为什么80%的码农都做不了架构师&#xff1f;>>> Haro Bikes UK This site can provide the useful information for bicycle enthusiasts. You can admire the bikes, meeting the drivers and updated information about this sport. I like the colour of this s…

修改 设置 vs.net 网站 调试 设为 起始页

很简单&#xff0c;右键网站项目&#xff0c;打开【属性&#xff08;R&#xff09;】&#xff0c;找到【web】选项卡&#xff0c;然后会看到右边有一个【启动操作】&#xff0c;设置为当前页即可。 见百度问题: http://zhidao.baidu.com/question/195134372.html?an0&si1 …