一般来讲,CDN网络主要由中心节点、边缘节点两部分构成。

CDN架构导引

最简单的CDN网络只需一台负责全局负载均衡的DNS和各节点一台Cache,即可运行。DNS支持根据用户源IP地址解析不同的IP,实现就近访问。为了保证高可用性等,CDN网管中心需要监控各节点的流量、健康状况等。一个节点的单台Cache承载数量不够时,才需要多台Cache,多台Cache同时工作时,才需要负载均衡器,使Cache群协同工作。

CDN中心节点

中心节点包括CDN网管中心和全局负载均衡DNS重定向解析系统,负责整个CDN网络的分发及管理。

CDN网管中心是整个CDN能够正常运转的基础保证,它不仅能对整个CDN网络中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中总的流量和各节点的流量,并保存在系统数据库中,使网管人员能够方便地进行进一步分析。一套完善的网管系统,允许用户按需对系统配置进行修改。

全局负载均衡DNS通过一组预先定义好的策略,将当时最接近用户的Cache节点地址提供给用户,使用户能够得到快速的服务。同时,它还与分布在各地的所有CDN节点保持持续通信,搜集各节点的通信状态,确保不会将用户的请求分发到不可用、或不健康的Cache节点上。

CDN边缘节点

CDN边缘节点主要指异地分发节点,由负载均衡设备、高速缓存服务器两部分组成。

负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时还负责收集节点与周围环境的信息,保持与全局负载均衡DNS的通信,实现整个系统的负载均衡。

高速缓存服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中Cache服务器就像网站的原始服务器一样,响应终端用户的请求。因其距离用户更近,故其响应时间才更快。

CDN的四大关键技术

CDN的关键技术主要有内容路由技术、内容分发技术、内容存储技术、内容管理技术等。

内容路由技术

CDN负载均衡系统实现CDN的内容路由功能。它的作用是将用户的请求导向整个CDN网络中的最佳节点。最佳节点的选定可以根据多种策略,例如距离最近、节点负载最轻等。负载均衡系统是整个CDN的核心,负载均衡的准确性和效率直接决定了整个CDN的效率和性能。

通常负载均衡可以分为两个层次:全局负载均衡(GSLB)和本地负载均衡(SLB)。全局负载均衡(GSLB)主要的目的是在整个网络范围内将用户的请求定向到最近的节点(或者区域)。因此,就近性判断是全局负载均衡的主要功能。本地负载均衡一般局限于一定的区域范围内,其目标是在特定的区域范围内寻找一台最适合的节点提供服务,因此,CDN节点的健康性、负载情况、支持的媒体格式等运行状态是本地负载均衡进行决策的主要依据。

负载均衡可以通过多种方法实现,主要的方法包括DNS、应用层重定向、传输层重定向等等。

对于全局负载均衡而言,为了执行就近性判断,通常可以采用两种方式,一种是静态的配置,例如根据静态的IP地址配置表进行IP地址到CDN节点的映射。另一种方式是动态的检测,例如实时地让CDN节点探测到目标IP的距离(可以采用RRT,Hops作为度量单位),然后比较探测结果进行负载均衡。当然,静态和动态的方式也可以综合起来使用。

对于本地负载均衡而言,为了执行有效的决策,需要实时地获取Cache设备的运行状态。获取的方法一般有两种,一种是主动探测,一种是协议交互。主动探测针对SLB设备和Cache设备没有协议交互接口的情况,通过ping等命令主动发起探测,根据返回结果分析状态。另一种是协议交互,即SLB和Cache根据事先定义好的协议实时交换运行状态信息,以便进行负载均衡。比较而言,协议交互比探测方式要准确可靠,但是目前尚没有标准的协议,各厂家的实现一般仅是私有协议,互通比较困难。

内容分发技术

内容分发包含从内容源到CDN边缘的Cache的过程。从实现上看,有两种主流的内容分发技术:PUSH和PULL.

PUSH是一种主动分发的技术。通常,PUSH由内容管理系统发起,将内容从源或者中心媒体资源库分发到各边缘的Cache节点。分发的协议可以采用HTTP/FTP等。通过PUSH分发的内容一般是比较热点的内容,这些内容通过PUSH方式预分发(Preload)到边缘Cache,可以实现有针对的内容提供。对于PUSH分发需要考虑的主要问题是分发策略,即在什么时候分发什么内容。一般来说,内容分发可以由CP(内容提供商)或者CDN内容管理员人工确定,也可以通过智能的方式决定,即所谓的智能分发。它根据用户访问的统计信息,以及预定义的内容分发的规则,确定内容分发的过程。

PULL是一种被动的分发技术,PULL分发通常由用户请求驱动。当用户请求的内容在本地的边缘Cache上不存在(未命中)时,Cache启动PULL方法从内容源或者其他CDN节点实时获取内容。在PULL方式下,内容的分发是按需的。

在实际的CDN系统中,一般两种分发方式都支持,但是根据内容的类型和业务模式的不同,在选择主要的内容分发方式时会有所不同。通常,PUSH的方式适合内容访问比较集中的情况,如热点的影视流媒体内容;PULL方式比较适合内容访问分散的情况。

在内容分发的过程中,对于Cache设备而言,关键的是需要建立内容源URL、内容发布的URL、用户访问的URL,以及内容在Cache中存储的位置之间的映射关系。

内容存储技术

对于CDN系统而言,需要考虑两个方面的内容存储问题。一个是内容源的存储,一个是内容在Cache节点中的存储。

对于内容源的存储,由于内容的规模比较大(通常可以达到几个甚至几十个TB),而且内容的吞吐量较大,因此,通常采用海量存储架构。如NAS和SON.

对于在Cache节点中的存储,是Cache设计的一个关键问题。需要考虑的因素包括功能和性能两个方面:在功能上包括对各种内容格式的支持、对部分缓存的支持,在性能上包括支持的容量、多文件吞吐率、可靠性、稳定性。

其中,多种内容格式的支持要求存储系统根据不同文件格式的读写特点进行优化,以提高文件内容读写的效率,特别是对流媒体文件的读写。

部分缓存能力指流媒体内容可以以不完整的方式存储和读取。部分缓存的需求来自用户访问行为的随机性,因为许多用户并不会完整地收看整个流媒体节目,事实上,许多用户访问单个流媒体节目的时间不超过10分钟。因此,部分缓存能力能够大大提高存储空间的利用率,并有效地提高用户请求的响应时间。但是部分缓存可能导致内容出现碎片问题,需要进行良好的设计和控制。

Cache存储的另一个重要因素是存储的可靠性,目前,多数存储系统都采用了RAID技术进行可靠存储。但是不同设备使用的RAID方式各有不同。

内容管理技术

内容管理在广义上涵盖了从内容的发布、注入、分发、调整、传递等一系列过程。在这里,内容管理重点强调内容进入Cache点后的内容管理,我们称为本地内容管理。

本地内容管理主要针对一个CDN节点(由多个CDN Cache设备和一个SLB设备构成)进行。本地内容管理的主要目标是提高内容服务的效率,提高本地节点的存储利用率。通过本地内容管理,可以在CDN节点实现基于内容感知的调度,通过内容感知的调度,可以避免将用户重定向到没有该内容的Cache设备上,从而提高负载均衡的效率。通过本地内容管理还可以有效地实现在CDN节点内容的存储共享,提高存储空间的利用率。

在实现上,本地内容管理主要包括如下几个方面。

一是本地内容索引。本地内容管理首先依赖于对本地内容的了解。包括每个Cache设备上内容的名称、URL、更新时间、内容信息等。本地内容索引是实现基于内容感知的调度的关键。

二是本地内容拷贝。通常,为了提高存储效率,同一个内容在一个CDN节点中仅存储一份,即仅存储在某个特定的Cache上。但是一旦对该内容的访问超过该Cache的服务提供能力,就需要在本地(而不是通过PUSL的方式)实现内容的分发。这样可以大大提高效率。

三是本地内容访问状态信息收集。搜集各个Cache设备上各个内容访问的统计信息,Cache设备的可用服务提供能力及内容变化的情况。

可以看出,通过本地内容管理,可以将内容的管理从原来的Cache设备一级,提高到CDN节点一级,从而大大增加了CDN的可扩展性和综合能力。

综上所述,CDN作为一种支持大规模高质量的流媒体服务的关键技术,目前已经基本成熟,具备了广泛应用的能力。

目前我们存在以下类型的CDN服务商:  

CDN 服务商 优势 劣势
专业CDN服务商,代表企业:蓝汛、帝联科技等 专注核心业务发展,易扩大经营规模进入市场较早,具有成熟的运营机制和较高的服务能力。 受制于电信运营商带宽租用费用,带宽成本是刚性的,不能形成价格优势。由于电信运营商运营支撑系统的不灵活导致带宽资费设置不灵活,不能按需索取,导致CDN的价格居高不下
提供CDN服务的IDC 运营商代表企业:网宿科技、世纪互联等 拥有带宽资源优势,进入市场较容易 需要添置大量的服务器、网络设备及存储设备,投资成本高
电信运营商,代表企业:中国电信、原中国网通    1.拥有巨大的带宽和网络优势,其带宽成本是弹性的,可以配置最优的CDN服务网络资本雄厚,有实力建设规模庞大的CDN网络,拥有品牌优势,与众多互联网公司关系密切,能够引导互联网公司使用CDN服务。    2.已建成流媒体等专用CDN网络在此基础上进行升级和改造,可快速推出多种CDN业务。    1.CDN行业属于技术驱动型产业,电信运营商的CDN技术储备较薄弱。 2.互联互通问题导致运营商只能在自己的网络上做CDN业务,跨网络运营的问题较难解决 3.CDN不是电信运营商的主营业务,缺乏运营经验和服务能力。
自建CDN的互联网企业,代表企业:优酷、土豆网等     1.节约服务成本,可控性高  2.免受CDN市场价格波动的困扰,利于成本降低   1.初期投资较大,且增加运营和研发成本  2.非核心业务,易分散对主营业务的精力  3.节点数少,不能完全满足需求
国外CDN服务商,代表企业:Akamai、Limelight Networks等     1.资金雄厚,具备技术、运营和服务实力,利于业务开展。  2.在国内开始建设节点,利于市场开拓。    1.与国内一些IDC和ISP采取代理合作的方式来销售自己的服务,难以大规模开展业务   2.非正规竞争,存在安全隐患,将域名解析权掌控在国外运营商的手里
免费自助CDN,国内的Webluker,国外的cloudflare     1.CDN产品免费提供,专注于对对网站运维技术的一站式解决。  2.自助式的CDN解决方案,简单易用,监控解析功能齐全。    1.现在处于起步阶段,功能和服务能力比较弱   2.对于CDN服务内容有限制,需要备案

cache节点、CDN的四大关键技术及CDN服务商类型相关推荐

  1. 商务智能 BI 的四大关键技术

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 商务智能 ...

  2. cdn属于一种技术吗

    用户在购买CDN服务之后,在使用过程中会比较关心是否有实际效果,首先大家要先确保是否已经开通成功,然后按照基本步骤添加加速域名.配置CNAME,这些都成功搞定之后,接下来就可以正常使用CDN了.许多用 ...

  3. MOS管发热原因-总结有4大关键技术原因解析

    做电源或者驱动的使用,当然就是用它的开关作用.了解MOS管发热四大关键技术. 1.芯片发热 本次内容主要针对内置电源调制器的高压驱动芯片.假如芯片消耗的电流为2mA,300V的电压加在芯片上面,芯片的 ...

  4. MFC六大关键技术之初始化过程

    MFC六大关键技术之初始化过程 我并不认为MFC减轻了程序员们的负担,MFC出现的目的虽然似乎是为了让程序员不用懂得太多就可以进行视窗编程,但本人在MFC里徘徊了很久很久(因为那时没有书本详细介绍MF ...

  5. 学习MFC-----MFC六大关键技术

    MFC六大关键技术  MFC六大关键技术之初始化过程 我并不认为MFC减轻了程序员们的负担,MFC出现的目的虽然似乎是为了让程序员不用懂得太多就可以进行视窗编程,但本人在MFC里徘徊了很久很久(因为那 ...

  6. 【转】 MFC六大关键技术

    MFC六大关键技术之初始化过程 我并不认为MFC减轻了程序员们的负担,MFC出现的目的虽然似乎是为了让程序员不用懂得太多就可以进行视窗编程,但本人在MFC里徘徊了很久很久(因为那时没有书本详细介绍MF ...

  7. CDN如何实现,关键技术是什么?

    转载自  CDN如何实现,关键技术是什么? CDN原理 CDN网络是在用户和服务器之间增加Cache层,如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现,这就是CDN的最 ...

  8. CDN关键技术研究与应用—内容路由技术

    内容路由技术作为CDN中关键技术之一对业务的支撑效果起着举足轻重的作用.在LiveVideoStackCon2019上海 大会中,爱奇艺高级技术经理白帆从技术背景,架构优化,特殊场景应用等多方面详细介 ...

  9. 图解通信原理与案例分析-23:5G NR的三大场景、四大基本特征、三组关键技术、两大网络架构演进、八大组网方案

    目录 第一章  移动通信发展路径 第二章 5G三大应用场景(外在服务) 2.1 eMBB 增强移动宽带 2.2  URLLC 超可靠低时延通信 2.3 mMTC 海量机器类通信 第三章  5G的四大特 ...

最新文章

  1. parted磁盘分区与GPT
  2. Python使用文本拼图
  3. Scrapy中的splash的安装应用
  4. BSP细分时代即将来临
  5. jQuery库中的变量$和其它类库的变量$冲突解决方案
  6. Java标识符与命名规则
  7. honeywell扫码枪取消回车_霍尼韦尔条码扫描器常见问题与解决方法
  8. [PHP] 面向对象
  9. 3d激光雷达开发(多雷达标定)
  10. 工业机器人九龙坡区职教中心_2020年度机械行业职业教育技能大赛“汇博杯”精密模具智能制造综合技术应用赛项于重庆工业职业技术学院正式闭幕...
  11. 【报告分享】阿里妈妈:熬夜真相-0点经济报告.pdf(附下载链接)
  12. 事业单位非编制值得去吗?
  13. mysql show_db 权限_菜鸟课堂:MySQL权限的详细解答
  14. junsansi 列表(4) - 三思笔记,ORACLE学习轨迹~~~~ - ITPUB个...
  15. ffmpeg编程入门学习笔记(一) -入门
  16. 自己读Go程序设计语言的一些总结(更新ing...)
  17. 自抗扰控制中的扩张状态观测器收敛性分析3
  18. 创意发明:带分频整形的单片机频率计(1Hz—20MHz)源程序,仿真与设计论文等全套资料
  19. zeus平台常见故障及排查方法
  20. linux与windows文件互传(scp指令)

热门文章

  1. x86_64与ARM64的signaling NaN与Quiet NaN,以及浮点数的舍入模式
  2. 【课件制作软件】Focusky教程 | 对齐工具快刀斩乱麻
  3. 线性代数——理解向(4)
  4. 悬赏任务app 开发介绍 悬赏发布 试*玩 阅读 视频 赚*钱 兼*职 等界面的设计
  5. 构建ML分子系统发育树如何分区
  6. windows升级以后屏幕和任务栏一直闪烁
  7. Android平台dalvik模式下java Hook框架ddi的分析(2)--dex文件的注入和调用
  8. 2020高考倒计时html,2020高考倒计时激励句子100句精选大全
  9. 分布式Id自增生成器
  10. Centos环境下如何安装WPS