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

步骤/方法

    1. CDN (内容分发网络)

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

      2.内容分发网络(CDN)是一种新型网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度,CDN代表了一种
      基于质量与秩序的网络服务模式。简单地说,内容分发网络(CDN)是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理
      4个要件,而内容管理和全局的网络流量管理(Traffic
      Management)是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。
        总的来说,内容服务基于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有"一跳"(Single
      Hop)之遥。同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心)的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们
      客户,即内容供应商,向最终用户提供尽可能好的体验,而这些用户是不能容忍请求响应时间有任何延迟的。

      3.
      纵观整个宽带服务的价值链,内容提供商和用户位于整个价值链的两端,中间依靠网络服务提供商将其串接起来。随着互联网工业的成熟和商业模式的变革,在这条
      价值链上的角色越来越多也越来越细分。比如内容应用的运营商、托管服务提供商、骨干网络服务提供商、接入服务提供商等等。在这一条价值链上的每一个角色都
      要分工合作、各司其职才能为客户提供良好的服务,从而带来多赢的局面。从内容与网络的结合模式上看,内容的发布已经走过了ICP的内容(应用)服务器和
      IDC这两个阶段。IDC的热潮也催生了托管服务提供商这一角色。但是,IDC并不能解决内容的有效发布问题。内容位于网络的中心并不能解决骨干带宽的占
      用和建立IP网络上的流量秩序。因此将内容推到网络的边缘,为用户提供就近性的边缘服务,从而保证服务的质量和整个网络上的访问秩序就成了一种显而易见的
      选择。而这就是内容发布网(CDN)服务模式。CDN的建立解决了困扰内容运营商的内容"集中与分散"的两难选择,无疑对于构建良好的互联网价值链是有价
      值的,也是不可或缺的最优网站加速服务。

    2. cdn应用:

       
      首先简单表述一下传统的动态系统的访问方法:表述的是用户的请求过程,用户经过网络中的路由A、B的传输,最终将发送的请求交于动态系统来处理,但是由于
      IP网络本身的“尽力而为的原则”、网络链路中复杂的环境及硬件的不可靠性的确实存在,致使用户要出现重复发送的请求的现状,所以最终导致用户的请求在提
      交的过程中出现等待、数据加载时间过长的一些现象的普遍存在,这些在线提交式系统的缓慢直接地影响到办公人员的工作效率,这也是制约着很多大型企业在协同
      办公OA、ERP、SAP等信息化建设中,出现最多的问题。
        而CDN分发解决方案解决了与静态网站相关的性能和可靠性问题,而在当今在线业务体验中,与分发静态和动态元素和应用相关的独特挑战,则由速网
      的动态网站加速(动态网站加速)来解决。

      (1)主要特点
        1、本地Cache加速 提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性   
      2、镜像服务 消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。   
      3、远程加速 远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度   
      4、带宽优化 自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能。   
      5、集群抗攻击 广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量 。

      (2)关键技术

       (1)内容发布:它借助于建立索引、缓存、流分裂、组播(Multicast)等技术,将内容发布或投递到距离用户最近的远程服务点(POP)处;   
      (2)内容路由:它是整体性的网络负载均衡技术,通过内容路由器中的重定向(DNS)机制,在多个远程POP上均衡用户的请求,以使用户请求得到最近内容源的响应;   
      (3)内容交换:它根据内容的可用性、服务器的可用性以及用户的背景,在POP的缓存服务器上,利用应用层交换、流分裂、重定向(ICP、WCCP)等技术,智能地平衡负载流量;   
      (4)性能管理:它通过内部和外部监控系统,获取网络部件的状况信息,测量内容发布的端到端性能(如包丢失、延时、平均带宽、启动时间、帧速率等),保证网络处于最佳的运行状态。

      (3)产品优势

       
       CDN能几乎涵盖国内所有线路。而在可靠性上, CDN
      在结构上实现了多点的冗余,即使某一个节点由于意外发生故障,对网站的访问能够被自动导向其他的健康节点进行响应。CDN能轻松实现网站的全国铺设,不必
      考虑服务器的投入与托管、不必考虑新增带宽的成本、不必考虑多台服务器的镜像同步、不必考虑更多的管理维护技术人员。

    3. CDN的相关技术:

      CDN的实现需要依赖多种网络技术的支持,其中负载均衡技术、动态内容分发与复制技术、缓存技术是比较主要的几个,下面让我们简单看一下这几种技术。

      (1)负载均衡技术


      载均衡技术不仅仅应用于CDN中,在网络的很多领域都得到了广泛的应用,如服务器的负载均衡、网络流量的负载均衡。顾名思义,网络中的负载均衡就是将网络
      的流量尽可能均匀分配到几个能完成相同任务的服务器或网络节点上,由此来避免部分网络节点过载。这样既可以提高网络流量,又提高了网络的整体性能。在
      CDN中,负载均衡又分为服务器负载均衡和服务器整体负载均衡(也有的称为服务器全局负载均衡)。服务器负载均衡是指能够在性能不同的服务器之间进行任务
      分配,既能保证性能差的服务器不成为系统的瓶颈,又能保证性能高的服务器的资源得到充分利用。而服务器整体负载均衡允许Web网络托管商、门户站点和企业
      根据地理位置分配内容和服务。通过使用多站点内容和服务来提高容错性和可用性,防止因本地网或区域网络中断、断电或自然灾害而导致的故障。在CDN的方案
      中服务器整体负载均衡将发挥重要作用,其性能高低将直接影响整个CDN的性能。

      (2)动态内容分发与复制技术

      大家都
      知道,网站访问响应速度取决于许多因素,如网络的带宽是否有瓶颈、传输途中的路由是否有阻塞和延迟、网站服务器的处理能力及访问距离等。多数情况下,网站
      响应速度和访问者与网站服务器之间的距离有密切的关系。如果访问者和网站之间的距离过远的话,它们之间的通信一样需要经过重重的路由转发和处理,网络延误
      不可避免。一个有效的方法就是利用内容分发与复制技术,将占网站主体的大部分静态网页、图像和流媒体数据分发复制到各地的加速节点上。所以动态内容分发与
      复制技术也是CDN所需的一个主要技术。

      (3)缓存技术

      缓存技术已经不是一种新鲜技术。Web缓存服务通过几种方式来改善用
      户的响应时间,如代理缓存服务、透明代理缓存服务、使用重定向服务的透明代理缓存服务等。通过Web缓存服务,用户访问网页时可以将广域网的流量降至最
      低。对于公司内联网用户来说,这意味着将内容在本地缓存,而无须通过专用的广域网来检索网页。对于Internet用户来说,这意味着将内容存储在他们的
      ISP的缓存器中,而无须通过Internet来检索网页。这样无疑会提高用户的访问速度。CDN的核心作用正是提高网络的访问速度,所以,缓存技术将是
      CDN所采用的又一个主要技术。

    4. 谁需要CDN:

      既然CDN的核心作用是提高网络的访问速度,那么其用户也就是访问量很大的网站,例如ICP
      、ISP、大型企业、电子商务网站和政府网站等。利用CDN技术,这些网站无需投资昂贵的各类服务器,设立分站点。通过采用CDN,CDN将负责信息传递
      工作,保证信息正常传输,而技术人员只需要维护网站内容,不需要考虑流量问题。这样,网站可保证用户得到更多的新业务,可以快速访问网络上的内容,获得更
      好的服务质量。举个例子来讲,对于访问量比较大,而被访问内容更新周期比较长的网站,如政府网站,用户往往进行大量的查询工作。这类网站比较适合采用
      CDN。还有,大家是否注意到,在所谓的宽带社区中,瓶颈是社区的对外出口。这样,如果采用CDN无疑对社区用户使用视频点播、网络教育等宽带应用提供了
      保证。

    5. CDN的不足:

      任何一个新事物,在给现有模式带来改进的同时,也必然存在一定的局限,CDN也是这样。据的技术经理郭广中讲,实时性不太好是CDN的致命缺陷。随着对
      CDN需求的逐渐升温,这一缺陷将得到改进,使来自于远程服务器的网络内容网页与复本服务器或缓存器中的网页保持同步。解决方法是在网络内容发生变化时将
      新的网络内容从服务器端直接传送到缓存器,或者当对网络内容的访问增加时将数据源服务器的网络内容尽可能实时地复制到缓存服务器。

    6. CDN产品:

      下面简单分析一下的CDN——Smart
      CDN。采用整体负载均衡(GSLB)、缓存技术(Cache)及镜像技术(Mirror)相结合的方法,为客户提供异地网络加速服务。具体方案是在网站
      主站点以外的用户集中城市、地区使用的网络加速服务,智能GSLB系统通过互联通专网,引导网站用户访问“最佳”Cache/Mirror服务器,从而绕
      过互联网拥堵链路,减轻主站点服务器负载,实现异地网络加速,并解决了单纯Cache/Mirror不能解决的难题。

      Smart
      CDN通过DNS解析或HTTP重定向两种方式工作,通过Cache服务器或异地的镜像站点完成内容的传送与同步更新。DNS方式用户位置判断准确率大于

      85%,HTTP方式准确率为99%以上。经实际测算,各Cache服务器群的用户访问流入数据量与Cache服务器到原始网站取内容的数据量之比在2:

      1到3:1之间,即分担50%~70%的到原始网站重复访问数据量(主要是图片、流媒体文件等内容)。对于镜像,除数据同步的流量,其余均在本地完成,不
      访问原始服务器。

      Smart
      CDN系统基于用户实际访问的IP地址判断用户位置,直接将用户访问指向响应速度最快的站点。整个系统管理简单,用户可通过GUI确定有哪些内容需要做分
      布式分发,系统会自动完成内容的复制、更新及数据库同步的全过程。并且,系统具有自诊断、负载均衡的能力,任何环节发生故障,不会影响整个系统的可访问
      性。

      可以说,负载均衡技术在CDN中发挥着重要的作用,其能力高低对CDN的性能产生直接影响。

      Smart CDN所采用的负载均衡具有一定的优势,主要体现在如下几个方面。

      1. 高智能化

      运用虚拟IP(VIP)地址代表目标服务器和应用,Smart
      CDN将会话分配到最高可用性的服务器,全程监控每个会话。服务恢复后自动重新登记,并在转发客户机和服务器信息包时提供全地址转换。Smart
      CDN采用了包括循环法、最少连接法、散列法或最少失误法等多种不同的负载均衡方法,并对个别服务器配置最大连接数量阈值和加权值,这样可以有效避免服务
      器超载。

      2. 高可靠性

      Smart
      CDN架构在专用的高速骨干网之上,该主干网络提供延迟极小的网络连通性,从而保障GSLB的功能正常发挥和高性能,优于基于公网的GSLB。并且,当主
      站点机房的Internet出口出现故障时,Smart
      CDN还能将用户自动、透明地从其他分站点Internet入口导向主站点服务器,从而提高了网络的可靠性。

      3. 高可用性

      采用热备份方法,在极短时间内对服务器链路、交换端口和交换机进行检测和故障转移,使应用免受故障影响。一旦任何一个服务器或服务器群发生故障或阻塞,用户将被自动引导到下一个最佳备份服务器或站点,从而更进一步提高了服务和内容的可用性。

      4. 高冗余性

      Smart CDN运行在“三环嵌套”网络主干架构之上,具有高冗余特点,从而保证了高可靠性和高可用性,这一点和其他基于公网的GSLB解决方案有很大差别。

cdn是什么和作用有些的更多相关文章

  1. CDN流量放大攻击思路

    首先,为了对CDN进行攻击,我们必须清楚CDN的工作原理,这里我们再来简单介绍一下CDN的工作模型. CDN的全称是Content Delivery Network(内容分发网络),通过在网络各处的加 ...

  2. CDN(Content Delivery Network)技术原理概要

    简介 CDN(Content Delivery Network)即内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调度等功能,使用户就近获取所需内容,提高用户访问响应速度和 ...

  3. 七牛云域名DV SSL证书申请流程以及CDN融合加速配置

    从2017年起,苹果ios以及微信小程序都陆续要求请求连接request地址是使用HTTPS协议的.所以在项目开发阶段就要考虑解决https的问题,同时这也是为项目实际安全所考虑.最近我也是在折腾项目 ...

  4. CDN对于动态加速是否有效

    CDN对于动态加速是否有效的问题.关于这个问题,一直存在一些分歧,部分人认为有效,部分人认为无效,主要是CDN技术也在更新,而且是比较低调的进行着更新,所以并不是所有人都清楚CDN对动态加速的效果.其 ...

  5. 网络应用(3):CDN与P2P的概念

    我前面说了流量的概念,流量是使用网络时经常要考虑的一个因素--如何才能更快的使用流量,如何才能节省流量使用的成本,对于这样的问题,你可能要了解一下什么是cdn,什么是p2p. (1)cdn是什么 cd ...

  6. HTTP 协议缓存

    http 缓存分为客户端缓存和服务端缓存 1. 客户端缓存 客户端缓存指的是浏览器缓存, 浏览器缓存是最快的缓存, 因为它直接从本地获取(但有可能需要发送一个请求), 它的优势是可以减少网络流量, 加 ...

  7. 23.app后端如何架设文件系统

    现在app展现内容的形式多种多样的,有文字,图片,声音,视频等等,其中文件占了一个很大的比重.随着app不断运营,文件会越来越多,占用的磁盘空间也不断增大,架设一套高效的文件系统,对于整个app架构有 ...

  8. prerender-spa-plugin预渲染踩坑

    为什么要使用预渲染? 为了应付SEO(国内特别是百度)考虑在网站(vue技术栈系列)做一些优化.大概有几种方案可以考虑: 服务端做优化: 第一,ssr,vue官方文档给出的服务器渲染方案,这是一套完整 ...

  9. CDN概念+作用+特点+原理

    CDN的全称是Content Delivery Network,即内容分发网络.其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘" ...

随机推荐

  1. 【cheerio】nodejs的抓取页面模块

    http://baike.baidu.com/link?url=8V1CZsEzNE05ujOzISquom_pvFj16sWu1rRb8js11pmd9HNq7ePW_aKfG9oyXj6Txuu5 ...

  2. C#时间戳与时间互转

    /// <summary> /// 时间戳转成时间类型 /// </summary> /// <param name="timeStamp">& ...

  3. 为什么要用Hibernate框架? 把SessionFactory,Session,Transcational封装成包含crud的工具类并且处理了事务,那不是用不着spring了?

    既然用Hibernate框架访问管理持久层,那为何又提到用Spring来管理以及整合Hibernate呢?把SessionFactory,Session,Transcational封装成包含crud的 ...

  4. python学习笔记27(python中sys模块的使用)

    sys.argv           命令行参数List,第一个元素是程序本身路径 sys.modules.keys() 返回所有已经导入的模块列表 sys.exc_info()     获取当前正在 ...

  5. Hadoop的安装与配置说明

    安装hadoop是一件非常容易的事情,读者可以在官网上下载到最近的几个hadoop版本.网址为http://apache.etoak.com//hadoop/core/.   目前,hadoop可以运 ...

  6. mv 的使用

    Linux下目录的合并以及文件的覆盖案例 功能说明:将源文件重命名为目标文件,或将源文件移动至指定目录. 用法:mv [选项]... [-T] 源文件 目标文件 或:mv [选项]... 源文件... ...

  7. 内存泄露 memory leak 的原因

    #include <iostream> using namespace std; void foo() { MyClass *x; x = new MyClass(); //指向的丢失了 ...

  8. MVC4多语言IHttpModule实现

    最近项目需要多语言环境了. 由于项目页面较多,逐个Action去读取资源文件不大现实.就想到了使用 IHttpModule配合MVC的路由规则来实现. 首先创建以个mvc4的应用程序,添加资源文件夹( ...

  9. Samza文档翻译 : Architecture

    http://samza.incubator.apache.org/learn/documentation/0.7.0/introduction/architecture.html Samza由三层组 ...

  10. Servlet课程0426(十一)Servlet Cookie实现两周内不用重复登录

    Welcome.java //登录界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; import java ...