精华内容
下载资源
问答
  • 内容分发网络

    2018-06-08 10:50:34
    CDN,全称为Content DeliveryNetwork,中文意为“内容分发网络“”。通过将网络内容发布到最靠近用户的『边缘节点』,使不同地区的用户在访问相同页面、图片或视频时就可以就近获取。这样能够减轻服务器的负载,也...

    CDN,全称为Content DeliveryNetwork,中文意为“内容分发网络“”。通过将网络内容发布到最靠近用户的『边缘节点』,使不同地区的用户在访问相同页面、图片或视频时就可以就近获取。

    这样能够减轻服务器的负载,也可以减少整个网络中流量分布不均的问题,既能够降低互联网公司的成本(硬件开销、能耗和管理成本),也能有效改善整个网络的性能。

    所谓“边缘节点”指的是CDN服务商经过精心选择的距离用户距离最近的服务器节点,即在各地均有机房集群分布,变得仅是“一跳”距离,也就是说用户在访问时不需要经过多个路由器,可以有效提高访问时间。

    平均来说,使用像网络服务商Incapsula CDN的网站,其速度可以提升50%,并同时减少70%的带宽消耗。

     我们的优势

    基于机器学习的动态缓存技术

    可靠的自愈网状网络拓扑

    对等,实现最佳覆盖的1级流量系统

    广泛的缓存控制选项

    快速缓存清除和缓存规则传播

    集成安全性和可用性功能

    展开全文
  • 内容分发网络(Content Delivery Network,CDN)已成为近年来研究热点领域之一,为减少用户访问时延从而提高网络服务质量,相关研究在CDN缓存技术的基础上引入内容预取技术来克服缓存技术的滞后性并提高CDN中资源...
  • 内容分发网络中基于内容名的缓存算法会导致路由表规模随网络增长而膨胀,将严重影响网络路由效率和性能。针对该问题,提出一种基于相关内容吸引的节点缓存算法。利用本地缓存算法,通过节点已缓存内容对其他内容的吸引...
  • Content delivery network (CDN) 内容分发网络仿真软件系统
  • CDN 内容分发网络 简介.pdf
  • 本文根据移动互联网中内容分发网络面临的问题和需求,提出了一种面向移动互联网的融合内容分发网络总体架构,包括主体功能、总体部署方案和分域部署方案,并给出了融合内容分发网络的典型业务流程,分析了其实现的...
  • 点对点内容分发网络

    2019-08-12 06:04:14
    点对点内容分发网络Peer-to-Peer Content Distribution Network
  • 基于P2P的内容分发网络及缓存替换算法研
  • 多媒体网络:从内容分发网络到未来互联网.pdf
  • 为了解决P2P内容分发网络中带宽资源稀缺且分配不合理这一突出问题,抑制节点的自私性行为,设计了一种基于拍卖的带宽分配机制。该机制通过上载带宽支付方式,迫使自私请求节点选择合适的带宽需求,使得整个P2P网络中...
  • 随着宽带技术和业务的发展以及人们对视频通信需求的...然后基于内容分发网络技术及系统,提出了一种低成本、高扩展性、高质量视频通信的系统方案,详细叙述了该方案的结构、流程及特点;最后给出了验证系统的初步结果。
  • 可重配置的WDM多播,支持基于SOA和TB-WSS的内容分发网络的内容分发
  • cdn内容分发网络

    千次阅读 2018-07-28 12:08:36
    CDN内容分发网络 CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所...

    CDN内容分发网络

    CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
    今天我们来应用cdn来发布多台服务器的内容,不仅用来加速客户端访问网络的速度,还可以分担服务器的压力.避免因为访问量过大,导致服务器的雪崩,当然也提高了网络数据的稳定性.
    首先小编为大家带来的是环境的部署,在企业中我们要操作多台企业6.5的服务器,因此我们制作了6.5版本的最简母盘,然后制作了几个子盘。

    母盘设置:

    母盘虚拟机 base rhel6.5->512MB 最小化安装选用RAM为512MB默认为最小化安装,这样的环境比较简易:


    内存大小:

    母盘命名为base

    键盘设置:


    跳过检测:

    区域选择:

    超户密码:


    分区类型:

    初始化所有:

    写入磁盘:

    完成reboot

    封装母盘:

    ip设置:

    yum 源配置:

    更改主机名和域名解析:

    火墙iptables:

    SELINUX:

    物理机上面制作base子盘

    virt-sysprep --help
    如果没有该命令需要yum whatprovides virt-sysprep
    1 yum install /usr/bin/virt-sparsify
    压缩母盘,一般当需要copy母盘文件时
    #virt-sysprep --compress base.qcow2 new.qcow
    2 cd /var/lib/libvirt/images/
    3 ls
    4 ll base.qcow2
    5 virt-sysprep -d base # 清除缓存


    在图形环境中删除母盘但不删除母盘源文件为了以后不打开母盘动用母盘中的东西

    1  virt-manager 
    2  qemu-img create  -f qcow2 -b base.qcow2 test1 #用base.qcow2建立子盘test1
    3  qemu-img create  -f qcow2 -b base.qcow2 test2
    4  qemu-img create  -f qcow2 -b base.qcow2 test3
    5  ls
    6  du -sh base.qcow2  #查看base母盘容量
    7  du -sh test1 
    8  du -sh test2
    9  du -sh test3


    在virt-manager中添加已有镜像test1
    import existing disk image
    并给添加的虚拟机命名为test1 OS type linux Version rhel6.5

    所有的操作都存储在子盘中
    如果删掉了/etc 当重新启动时,虚拟机起不来不用着急,把坏掉的子盘文件删掉重新制作
    添加就ok
    实验:(子盘终端)dd if=/dev/zero of=file bs=1M count=100
    在物理机中查看子盘容量会增加100M du -sh 子盘文件

    1 qemu-img info test1 #查看子盘的母盘是谁
    2 systemctl status libvirtd
    当关闭libvirtd时,在virt-manager中是看不见这些子盘的,但他们还是工作的
    我们可以用ssh 连接它,也可以ping
    3 systemctl stop libvirtd
    4 virsh list
    在物理机中vnet0上没有桥接怎么办
    ip link set up dev vnet0


    kvm(cpu,memory)+qemu(disk,net,i/o)
    虚拟机操作:
    virsh start test1 #开启test1子盘虚拟机

    cdn实验:

    客户端一般访问数据的程序:

    client->dns->cdn->server->cdn->cache->client

    在这里我们让server1作为cdn服务器:
    server2作为http后台终端服务器:

    varnish

    主机环境: rhel6 selinux and iptables disabled
    实验主机: 172.25.30.250
     varnish
    172.25.30.1
     apache
    172.25.30.2
     apache
    172.25.30.3

    VCL 处理流程图


    处理过程大致分为如下几个步骤:
    (1)Receive 状态,也就是请求处理的入口状态,根据 VCL 规则判断该请求应该是 Pass 或
    Pipe,或者进入 Lookup(本地查询)。
    (2)Lookup 状态,进入此状态后,会在 hash 表中查找数据,若找到,则进入 Hit 状态,否则进
    入 miss 状态。
    (3)Pass 状态,在此状态下,会进入后端请求,即进入 fetch 状态。
    (4)Fetch 状态,在 Fetch 状态下,对请求进行后端的获取,发送请求,获得数据,并进行本地
    的存储。
    (5)Deliver 状态, 将获取到的数据发送给客户端,然后完成本次请求。

    **varnish**
    yum install varnish-3.0.5-1.el6.x86_64.rpm  varnish-libs-3.0.5-1.el6.x86_64.rpm
    内核参数<-操作系统<-程序
    vim /etc/security/limits.conf #操作系统
    vim /etc/sysconfig/varnish/ #varnish参数配置设置
    vim /etc/varnish/default.vcl #程序主配置文件

    varnish参数设置:
    当需要在多台服务器上面缓存数据,就需要Varnish映射所有的URL到一台单独的主机

    NFILES========可以打开的最大文件数目
    MEMLOCK=====存储锁定
    NPROCS======进程要求
    VARNISH_LISTEN_PORT=80 =========修改VARNISH监听端口,当Varnish需要访问后端服务器时,就会访问自己的80端口.
    RELOAD_VCL=1====Varnish指定重新reload varnish的时候,重新reload一下VCL配置文件
    VARNISH_VCL_CONF=/etc/varnish/default.vcl #Varnish默认主配置文件
    VARNISH_MIN_THREADS=50 #等待连接后端的最短时间
    VARNISH_MAX_THREADS=1000
    VARNISH_THREAD_TIMEOUT=120 #Varnish中的数据超过120s就会过期
    VARNISH_STORAGE_SIZE=1G #存储空间
    VARNISH_SECRET_FILE==指定shell接口使用的密钥文件
    指定varnish进程的属主和属组
    VARNISH_USER=varnish
    VARNISH_GROUP=varnish# 指定运行时的参数,使用-p选项来指定,thread_pools=6:表示启用6个线程池,thread_pool_min=5:表示每个线程池里面最少5个线程,thread_pool_max=500:表示每个线程池里面最大500个线程,thread_pool_timeout=300:表示线程的请求超时时长
    DAEMON_OPTS=”-p thread_pools=6 -p thread_pool_min=5 -p thread_pool_max=500 -p thread_pool_timeout=300”


        1  vim /etc/sysconfig/varnish
        2  /etc/init.d/varnish restart
        3  sysctl -a |grep file


    根据varnish的参数设置,将系统的内核参数也设置和他匹配从而加快varnish缓存速度:
    vim /etc/security/limits.conf

    在后端服务器上面发布index.html

    1 yum install httpd
    2 /etc/init.d/httpd start
    3 vim /var/www/html/index.html


    配置一个后端服务器:
    测试是否发布:

    1 vim /etc/varnish/default.vcl 
    配置一个后端服务器
    backend web1 {
      .host = "172.25.30.2";
      .port = "80";
    }
    查看缓存命中情况
    sub vcl_deliver {
    if (obj.hits > 0) {
    set resp.http.X-Cache = "HIT from westos cache";
    }
    else {
    set resp.http.X-Cache = "MISS from westos cache";
    }
    return (deliver);
    }
    2 /etc/init.d/varnish restart


    在客户端测试查看发布的信息是否被varnish缓存命中:

       1  vim /etc/hosts #本地域名解析
       2  curl -I www.westos.org
       X-Cache: HIT from westos cache #命中
       X-Cache: MISS from westos cache #未命中
    1:req.:由客户发来的http请求相关
    req.http.:拿到请求报文各个首部值
    例如:req.http.Cookie 拿到请求报文中的Cookie首部的值
    2:resp.:由varnish响应给client的http响应报文
    resp.http. :响应报文的各个首部
    例如:set resp.http.X-Cache = "HIT from " + server.hostname 给X-Cache首部赋值
    3:bereq.:由varnish向backend主机发出的http请求 (backend request:后端主机的请求报文)
    bereq.http. :向backend主机发送的请求报文的对象
    4:beresp.:由backend主机发来的http响应报文
    beresp.http. :由backend主机发来的http的响应报文的对象
    5:obj. :存储在缓存空间中的缓存对象属性
     在编写vcl配置文件中,常用的对象,已经对象的意义说明

    定义多个不同域名站点的后端服务器:

    server3:添加一个http服务器2

     1  yum install httpd -y
     2  /etc/init.d/httpd start 
     3  vim /var/www/html/index.html


    varnish配置多台http服务器:

    vim /etc/varnish/default.vcl
    定义多个不同域名站点的后端服务器
    #当访问www.westos.org 就会从web1(172.25.30.2)中取数据缓存到cdn中,
    当访问bbs.westos.org 就会从web2(172.25.30.3)中取数据缓存到cdn中
    backend web1 {
      .host = "172.25.30.2";
      .port = "80";
    }
    backend web2 {
      .host = "172.25.30.3";
      .port = "80";
    }
    #当访问 www.westos.org 域名时从 web1 上取数据,访问 bbs.westos.org 域名时到 web2 取数据,访问其他页面报错。
    sub vcl_recv {
    if (req.http.host ~ "^(www.)?westos.org") {
        set req.http.host = "www.westos.org";
        set req.backend = web1;}
    elsif (req.http.host ~ "^bbs.westos.org") 
     {
        set req.backend = web2;} 
    else
        {error 404 "westos cache";}
    }

    客户端访问查看是否命中:
    <1>当没有(req.http.host ~ “^(www.)?westos.org”)时在客户端访问westos.org时是不能识别和命中的

    <2>当添加(req.http.host ~ “^(www.)?westos.org”)时在客户端访问westos.com相当于访问www.westos.com


    <3>访问bbs.westos.com即访问服务器3

    把一个文件发布到两个服务器上面,从而缓解后台服务器的压力,提高数据的稳定性,这种情况多用于当访问量过大时负载均衡到两个服务器上,即使有一个服务器坏掉了,还有一个服务器来顶替他的工作。varnish还是可以从终端的服务器中取出客户端访问的数据缓存起来。
    在server3上面发布和server2上一样的网页.

    1 mkdir /www1/
    2 vim /www1/index.html
    www.westos.org --server3/http
    vim /etc/httpd/conf/httpd.conf
    NameVirtualHost *:80 
    #当访问bbs.westos.org域名时,系统默认发布根目录为/var/www/html
    <VirtualHost *:80>
        DocumentRoot /var/www/html
        ServerName bbs.westos.org
    </VirtualHost>
    #当访问bbs.westos.org域名时,系统默认发布根目录为/www1
    <VirtualHost *:80>
        DocumentRoot /www1
        ServerName www.westos.org
    </VirtualHost>
    3 /etc/init.d/httpd restart


    varnish上面部署负载均衡

    1 vim /etc/varnish/default.vcl 
    ## 轮循分配方法round-robin  lb(自定义命名):
    director lb round-robin {
    {.backend = web1;}
    {.backend = web2;}
    }
    sub vcl_recv {
    if (req.http.host ~ "^(www.)?westos.org") {
        set req.http.host = "www.westos.org";
        set req.backend = lb;}
        ## 调用lb,当访问www.westos.org时,轮循访问web1,web2
    #return (pass);
    # http中pass生效表示不在cdn中取缓存数据,直接在后台取数据,这样的话,varnish没有起到任何作用相当于负载均衡,他只是为了在测试中更好的看到实验效果,实际中不需要添加.实验中当清空了缓存数据,有一端的后台服务器挂掉之>后,另一个服务器会顶替他,如果挂掉的服务器数据还在有效期,还是可以在cdn中方问到
    else {
    set resp.http.X-Cache = "MISS from westos cache";
    }
    return (deliver);
    }
    2 /etc/init.d/varnish reload


    pass可以让我们更好地看到实验效果,但他是直接跳过cdn直接从服务器中取数据,并没有什么实际作用。

    注释掉pass之后,我们可以看到客户端访问数据时,如果有一个服务器坏掉了,varnish还是可以从另一个服务器中缓存数据
    我们可以看到即便down掉了后台的一个服务器,在他被varnish缓存数据没有过期时,客户端还是可以访问到,但当他的数据过期时,就要从另一个服务器中缓存了,可以证明,我们访问的数据是从cdn缓存中取到的

    当我们在cdn上把从服务器上缓存清空时,如果有一个服务器坏掉了我们依然能够访问到但此时只有从开启的服务器中缓存数据
    ![](https://img-blog.csdn.net/2018072814594823?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RyZWFtZXJfeGl4aXhp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

    通过 varnishadm 手动清除缓存

    # varnishadm ban.url .*$
    #清除所有
    # varnishadm ban.url /index.html
    #清除 index.html 页面缓存
    # varnishadm ban.url /admin/$
    #清除 admin 目录缓存

    CDN推送平台:

    • 应用于网站信息已经更新但是还在cdn中缓存这样就会导致用户在访问服务器时影响信息的时效性和准确性
    • cdn推送:清除缓存信息,推送什么,清除什么
    • http终端服务器服务要打开:
    • 在cdn服务器上面安装httpd,为了避免和cdn端口冲突,需要将端口改为8080,这里的http安装是为推送cdn平台
    vim /etc/httpd/conf/httpd.conf #修改cdn中的http端口避免和cdn冲突
    /etc/iniit.d/httpd reload
    安装yum install bansys.zip php #banzip.zip给压缩包解压,php推送平台是用php语言写的
    unzip bansys.zip -d /var/www/html/ #-d指定解压路径
    cd /var/www/html/
    cd bansys/
    mv * /var/www/html/
    cd /var/www/html/
    vim config.php #更改
    #只保留如下设置,其余注释掉
    <?php
    $var_group1 = array(
    'host' => array('172.25.30.1'), #varnish服务端
    'port' => '80',
    );
    //varnish 群组定义
    //对主机列表进行绑定
    $VAR_CLUSTER = array(
    'www.westos.org' => $var_group1, 
    );
    //varnish 版本//2.x 和 3.x 推送命令不一样
    $VAR_VERSION = "3";
    ?>
    #bansys 有两种工作模式,分别是:telnet 和 http 模式
    #telnet 模式需要关闭 varnish 服务管理端口的验证,注释掉/etc/sysconfig/varnish 文件中的 “ -S $
    {VARNISH_SECRET_FILE}”这行,重启 varnish 服务即可。
    #如果是 http 模式需要对 varnish 做以下设置:
    vi /etc/varnish/default.vcl
    acl westos {
    #设置访问控制
    "127.0.0.1";
    "172.25.30.1"/24;
    }
    sub vcl_recv {
    if (req.request == "BAN")
    {
      if (!client.ip ~ westos)
        {error 405 "Not allowed.";}
        ban("req.url ~ " + req.url);
        error 200 "ban added";
    }
                 }
    # service varnish reload
     #访问推送:172.25.30.1:8080 -->推送文件
    crul www.westos.org/index.html
    展开全文
  • 北京快网科技有限公司(以下简称快网)成立于2006年,是中国领先的技术型专业内容分发网络(CDN)服务提供商。遍布中国重要省市的150多个网络节点和分布亚太、欧美等地区的几十个网络节点组成了快网CDN服务系统Cloud...
  • 诠释CDN内容分发网络

    2014-08-08 11:01:50
    CDN的全称是Content Distribution Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有...
  • 内容分发网络CDN

    千次阅读 2013-12-13 21:35:08
    1. 内容分发网络 使用GSLB设备可以为用户选择最合适的服务器群,但受Web服务器的负荷和传输距离等因素的影响,响应速度依然经常不能满足用户的需求。这一问题的解决方案就是在传输网络上利用缓存技术使得Web服务...

    1. 内容分发网络

    使用GSLB设备可以为用户选择最合适的服务器群,但受Web服务器的负荷和传输距离等因素的影响,响应速度依然经常不能满足用户的需求。这一问题的解决方案就是在传输网络上利用缓存技术使得Web服务数据流能够就近访问。内容分发网络(CDN)正是这种思想的一个实现,CDN使用GSLB设备将用户引导到最合适的缓存节点(距离近,负载低),使得用户在访问静态内容时获得更好的体验。
    (1) CDN简介
    内容分发网络(Content Delivery Network, CDN)其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。

    图 CDN原理图
    (2) CDN组成
    一个CDN网络主要由以下几部分组成:内容缓存设备、内容分发管理设备、本地负载均衡交换机、GSLB设备和CDN管理系统,其网络结构如下图所示:

    图 CDN网络结构
    其中,内容缓存设备Cache用于缓存内容实体和对缓存内容进行组织和管理。当有用户访问该客户内容时,直接由各缓存服务器响应用户的请求。
    内容分发管理设备主要负责核心Web服务器内容到CDN网络内缓存设备的内容推送、删除、校验以及内容的管理、同步。
    GSLB设备则实现CDN全网各缓存节点之间的资源负载均衡,它与各节点的SLB设备保持通信,搜集各节点缓存设备的健康状态、性能、负载等,自动将用户指引到位于其地理区域中的服务器或者引导用户离开拥挤的网络和服务器。还可以通过使用多站点的内容和服务来提高容错性和可用性,防止因本地网或区域网络中断、断电或自然灾害而导致的故障。
    CDN管理系统实现对全网设备的管理,对系统的配置。它不仅能对系统中的各个设备进行实时监控,对各种故障产生相应的告警,还能实时观测到系统中总的流量以及各节点的流量,并保存在系统的数据库中,作为统计分析的基础数据,并对日志文件进行管理、报告,作为计费的基础数据。
    (3) CDN工作流程
    CDN网络结合了GSLB与缓存技术,其工作流程如下图所示:

    图 CDN工作流程
    用户访问某个站点的内容时,若该站点使用了CDN网络,则在用户会在域名解析时获得CDN网络GSLB设备的IP地址。GSLB设备根据其预设的选择策略(如,地理区域、用户时间等)为用户选择最合适的内容缓存节点,并且使用某种方式(如,基于DNS、基于HTTP重定向、基于IP欺骗的方式等)导引用户访问所选的内容缓存节点。
    用户继续向缓存节点发出请求,若缓存中包含请求的内容,则直接返回给用户,否则从核心Web服务器中获取该内容,缓存后返回给用户。这样当用户再次访问相同内容或其他用户访问相同内容时,可以直接从缓存中读取,提高了效率。

    2. CDN内容分发网络
    CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。
    IDC建立CDN网络,IDC运营商一般需要有分部各地的多个IDC中心,服务对象是托管在IDC中心的客户,利用现有的网络资源,投资较少,容易建设。
    CDN网络的建设主要有企业建设的CDN网络,为企业服务;IDC的CDN网络,主要服务于IDC和增值服务;网络运营上主建的CDN网络,主要提供内容推送服务;CDN网络服务商,专门建设的CDN用于做服务,用户通过与CDN机构进行合作,CDN负责信息传递工作,保证信息正常传输,维护传送网络,而网站只需要内容维护,不再需要考虑流量问题。

    CDN过程:

     
    通过上图,我们可以了解到,使用了CDN缓存后的网站的访问过程变为:
    1)、用户向浏览器提供要访问的域名;
    2)、浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。
    3)、此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;
    4)、缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
    5)、缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;
    6)、客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。
    通过以上的分析我们可以得到,为了实现既要对普通用户透明(即加入缓存以后用户客户端无需进行任何设置,直接使用被加速网站原有的域名即可访问),又要在为指定的网站提供加速服务的同时降低对ICP的影响,只要修改整个访问过程中的域名解析部分,以实现透明的加速服务,下面是CDN网络实现的具体操作过程。
    1)、作为ICP,只需要把域名解释权交给CDN运营商,其他方面不需要进行任何的修改;操作时,ICP修改自己域名的解析记录,一般用cname方式指向CDN网络Cache服务器的地址。
    2)、作为CDN运营商,首先需要为ICP的域名提供公开的解析,为了实现sortlist,一般是把ICP的域名解释结果指向一个CNAME记录;
    3)、当需要进行sorlist时,CDN运营商可以利用DNS对CNAME指向的域名解析过程进行特殊处理,使DNS服务器在接收到客户端请求时可以根据客户端的IP地址,返回相同域名的不同IP地址;
    4)、由于从cname获得的IP地址,并且带有hostname信息,请求到达Cache之后,Cache必须知道源服务器的IP地址,所以在CDN运营商内部维护一个内部DNS服务器,用于解释用户所访问的域名的真实IP地址;
    5)、在维护内部DNS服务器时,还需要维护一台授权服务器,控制哪些域名可以进行缓存,而哪些又不进行缓存,以免发生开放代理的情况。

    实现CDN的主要技术手段是高速缓存、镜像服务器。

    3.CDN的网络架构
    CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cache和负载均衡器等组成。
    当用户访问加入CDN服务的网站时,域名解析请求将最终交给全局负载均衡DNS进行处理。全局负载均衡DNS通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户能够得到快速的服务。同时,它还与分布在世界各地的所有CDNC节点保持通信,搜集各节点的通信状态,确保不将用户的请求分配到不可用的CDN节点上,实际上是通过DNS做全局负载均衡。
    对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。
    每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器
    负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。
    高速缓存服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。
    CDN的管理系统是整个系统能够正常运转的保证。它不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中总的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。
    理论上,最简单的CDN网络有一个负责全局负载均衡的DNS和各节点一台Cache,即可运行。DNS支持根据用户源IP地址解析不同的IP,实现就近访问。为了保证高可用性等,需要监视各节点的流量、健康状况等。一个节点的单台Cache承载数量不够时,才需要多台Cache,多台Cache同时工作,才需要负载均衡器,使Cache群协同工作。

    参考自:

    http://sysapp.51cto.com/art/200508/504.htm

    http://blog.csdn.net/u010340143/article/details/9062213

    展开全文
  • 内容分发网络(CDN)白皮书 (2015年)
  • 关于CDN内容分发网络

    2020-04-17 18:17:21
    内容分发网络(CDN)将源站内容分发至靠近用户的加速节点,使用户可以就近获得所需的内容,解决Internet网络拥挤的状况,提高用户访问的响应速度和成功率,从而提升业务的使用体验。 市面上大厂做CDN内容分发网络,...

    什么是CDN?

    内容分发网络(CDN)将源站内容分发至靠近用户的加速节点,使用户可以就近获得所需的内容,解决Internet网络拥挤的状况,提高用户访问的响应速度和成功率,从而提升业务的使用体验。

    市面上大厂做CDN内容分发网络,自有数据中心厂家也分起一杯羹。很多做音视频行业、在线教育企业、金融、游戏等对于CDN的需求很大,多种计费方式满足企业需求。怎么计费最划算呢?感兴趣的可以了解一下!

    各云服务厂商的CDN都支持中国大陆、中国大陆境外和全球加速。因为用户需求量并发量大,用户选择流量或带宽计费模式时,会优先考虑购买更优惠的流量包进行抵扣。对比了流量计费跟带宽计费,究竟有何不一样呢?

    流量计费为后付费按小时结算,即上一个小时产生的使用量,通常会在当前计费周期结束后三小时内进行计算扣费。

    峰值带宽计费为后付费按日结算,即前一天00:00:00~23:59:59产生的使用量,会在第二天进行计算扣费。

    基于一些公司的战略发展方向,一般会选择峰值带宽计费,所以当你负责CDN购买续费的时候要考虑清楚,不过很多都有做优惠活动,可以参照各大厂商及各IDC企业咨询,毕竟市面上的CDN服务那么多。

    不过最近有套餐包免费试用,大家购买CDN的时候,别忘了领取优惠券,这样便宜了很多。建议多买几年,因为续费就没优惠了。这里有我购买时候的试用礼包,免费试用1个月。点击领取试用礼包

    展开全文
  • 基于内容分发网络的互联网电视平台建设研究.pdf
  • 浅谈CDN内容分发网络

    千次阅读 2017-03-09 16:26:34
    CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥塞...
  • 内容分发网络原理

    2018-08-01 14:19:49
    用户访问未使用CDN缓存王赞的过程为: 用户向浏览器提供要访问的域名:浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址;...CDN内容分发网络是在用户和服务器之间增加cache层,将用户的请求引...
  • GB∕T 38801-2020 内容分发网络技术要求 互联应用场景.pdf
  • CDN内容分发网络

    千次阅读 2015-09-05 19:49:55
    CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有...
  • 内容流行度分布的集中程度是决定内容分发网络处理性能的关键因素,定量衡量内容流行度的集中程度可以为内容分发网络相关研究、设计和仿真等工作提供重要依据。在以往相关研究工作基础上给出了内容流行度的规范定义,...
  • 移动内容分发网络节点位置部署建模研究,田光辉,张云飞,移动内容分发网络是学术界、产业界研究的热点问题,其中关于移动内容分发网络缓存节点位置部署研究已成为核心研究点之一。针对此
  • 内容分发网络(CDN) 是什么

    千次阅读 2019-03-25 14:27:57
    内容分发网络 (英语:Contentdeliverynetwork或Contentdistributionnetwork,缩写:CDN) 是一种透过互联网互相连接的计算机网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、影片...
  • 内容分发网络的四大关键技术简介.doc

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 149,569
精华内容 59,827
关键字:

内容分发网络