CDN的发展史和未来

news2024/9/29 1:19:49

互联网是一种不断变化的机制,新形式的数据和内容正在不断创造。在它商业化后不久,必须解决尽快将大量数据推送给最终用户的问题,CDN因此应运而生。

CDN的根源产生于近20年前,并一直是内容交付的驱动力,自其创立以来,学术界和商业开发商一直在对这项技术进行重大研究,CDN可以很容易地被认为是影响我们网络体验的顶级新兴技术之一。

第一个内容交付网络由总部位于马萨诸塞州剑桥市的Akamai Technologies,Inc.构建。他们的CDN占全球互联网流量的15-30%。他们在120个国家拥有2200多个存在点,隶属于1500个网络。紧随其后并建立CDN的公司包括AT&T、澳大利亚电信和德国电信。自CDN推出以来,宽带内容的交付以及音频、视频和相关数据在互联网上的流传输在市场上得到了显著的推动。

内容交付网络的发展可以分为四个阶段:

  • 预形成时期:第一个时期产生了服务器场、分层缓存、Web服务器的改进和缓存代理部署。第一个重大步骤是基础设施开发、镜像、缓存和多宿。这些技术为CDN的制造和发展创造了一个完美的起点。
  • 第一代:第一代CDN主要关注动态和静态内容交付,因为这是网络上仅有的两种内容类型。第一代的主要机制是复制品、智能路由和边缘计算方法的创建和实现。应用程序和信息在服务器之间进行了拆分。
  • 第二代:第二代CDN主要专注于视频点播,也称为VoD,在用户和新闻服务之间传输视频和音频内容。第二代CDN为向移动用户提供内容扫清了道路,当时它确实是革命性的。第二代CDN还被认为使用了P2P、云计算技术来交付和维护内容。不过,它还处于初级阶段。
  • 第三代:第三代CDN即将推出,预计将为社区建模,这意味着系统将由普通用户和普通个人驱动。自我配置有望成为新的技术机制,以及自我管理和自主内容交付。预计体验质量将成为焦点。

CDN市场的下一步发展还有很多研究和开发要做。内容交付网络的发展试图应对极端的带宽压力,首先是因为视频流的需求和内容提供商的数量都在增长。随着云计算的出现,CDN已经成为一种持续的趋势,涉及云计算的各个层面:

SaaS(软件即服务),例如谷歌文档

IaaS(基础设施即服务),例如亚马逊

PaaS(平台即服务),例如谷歌应用引擎

BPaaS(业务流程即服务),例如广告、支付

内容交付网络的未来

未来这个行业将呈指数级增长,这意味着用于运行CDN的技术将进一步发展。

未来的主要目标是性能、可用性和安全性。

CDN提供商目前只有一种收集PoP性能数据的方式,那就是通过日志文件。它们的数量、种类和更新速度使解决问题、系统升级和质量评估成为更多的任务。因此,CDN未来的目标之一是开发基于机器学习的预测分析和算法,以预测行为模式。这些基于OSI通信功能模型的技术应该取代目前负责引导互联网流量的BGP(边界网关协议),并完全消除安全威胁。Facebook已经开发了一种名为Open/R的类似技术,谷歌也开发了自己的名为Espresso的技术,负责提出将取代BGP的技术。

BGP的三个主要缺点

对网络可扩展性的负面影响:属于自治系统或网络的每个路由器都必须将属于同一网络的所有其他路由器的地址存储在其路由表中。网络越大,路由表就越长,这需要路由器有足够的内存,而许多旧路由器没有(或无法更新)。这个问题可以通过在网络中添加路由反射器来解决。路由器没有相互连接,而是全部连接到路由反射器。这种表增长是由使用BGP引起的,总体上对网络可扩展性有负面影响。

灵活性:BPG运行的路由器无法预测网络拥塞是否会发生以及何时发生,因为它们的数据包转发机制只能到达数据包的传输层。这意味着路由器无法访问数据包的状态和数据包到达目的地的最佳路径等信息。可以手动控制路径选择的某些方面,但这仍然不够可扩展。

安全问题:互联网流量几乎总是涉及通过几个自主系统(例如ISP及其基础设施)传输数据包,这些系统之前已经就允许流量的条款和条件达成了一致。自治系统必须相互信任,这就是问题的产生。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业电子招投标系统源码之了解电子招标投标全流程

随着各级政府部门的大力推进,以及国内互联网的建设,电子招投标已经逐渐成为国内主流的招标投标方式,但是依然有很多人对电子招投标的流程不够了解,在具体操作上存在困难。虽然各个交易平台的招标投标在线操作会略有不同&#xff0…

虚拟机里安装ubuntu-23.04-beta-desktop-amd64,开启SSH(换源、备份),配置中文以及中文输入法等

一、下载 官网 清华镜像站(推荐) 二、配置虚拟机 【自定义】 点击“下一步”,此处【默认】,再点击“下一步”。 点击“稍后安装操作系统”,再点击“下一步”。 点击“Linux(L)”,版本选择【Ubuntu 64 位】,再点击…

升级H2数据库2.x版本遇见的问题

目录 一、引言二、集成H2基础配置三、升级H2版本2.x遇到的问题报错1报错2 三、H2关键字 一、引言 之前在跑代码单元测试时,一直用的内存数据库H2代替实际的Mysql数据库,如此便省去了对Dao的大量mock代码,类似于在跑Junit单元测试时直接跑了集…

报错:crbug/1173575 non-js module files deprecated

文章目录 报错分析解决方法一:尽可能使用JS模块文件方法二:使用type"module"属性方法三:忽略警告 报错 分析 这个错误报告 (crbug/1173575) 指的是非 JavaScript 模块文件将不再被支持,并且已经弃用。这个问题是因为Ch…

【获奖案例巡展】信创先锋之星——云上贵州信创工程中心大数据中台

为表彰使用大数据、人工智能等基础软件为企业、行业或世界做出杰出贡献和巨大创新的标杆项目,星环科技自2021年推出了“新科技 星力量” 星环科技科技实践案例评选活动,旨在为各行业提供更多的优秀产品案例,彰显技术改变世界的力量&#xff0…

【ctfshow】命令执行->web29-web44

前言 半夜网抑云听歌听emo了 z 刷会儿题不然睡不着了呜呜呜 红中(hong_zh0) CSDN内容合伙人、2023年新星计划web安全方向导师、 华为MindSpore截至目前最年轻的优秀开发者、IK&N战队队长、 吉林师范大学网安大一的一名普通学生、搞网安论文拿了回大挑校二、 阿里云专家博…

2023年,人工智能和数据训练呈现哪些新趋势?

最近,多才多艺的“全能网友”ChatGPT一次次火出圈。未来人工智能将以多快的速度、发展到何种地步?人们已经开始坐下来认真地探讨和思考。 我们生活在这个日新月异的时代。新的一年,人工智能的真正能力和应用场景又发生了哪些演进?…

【学习笔记】go-gRPC 初尝试

安装protoc 安装地址 找到对应版本的anz安装文件 解压,将文件夹移动到goroot目录中,可以通过命令go env查看goroot目录。 如我的goroot目录为D:\Program Files\Go 或者移动到自定义目录,并将该目录设置到环境变量中即可。 安装go插件 …

混淆矩阵的输出,异常检测可视化(针对二分类)

对于二分类任务: 真阳性(True Positives, TP)为真实值为1,预测值为1,即正确预测出的正样本个数真阴性(True Negatives, TN)为真实值为0,预测值为0,即正确预测出的负样本…

网关(史上最全)

什么是网关 网关,很多地方将网关比如成门,没什么问题,但是需要区分网关与网桥的区别。 网桥工作在数据链路层,在不同或相同类型的LAN之间存储并转发数据帧,必要时进行链路层上的协议转换。可连接两个或多个网络&…

漫画:是喜,还是悲?AI竟帮我们把Office破活干完了

图文原创:亲爱的数据 国产大模型烈火制造。阿里百度字节美团各科技大佬不等闲。 大模型嘛,重大工程,对我等“怀保小民”来说,只关心怎么用,不关心怎么造。 我来介绍一下自己,我是一个写稿男团组合的成员&am…

13、fishhook原理Dobby

一、fishhook原理 1.1 fishhook代码分析 int rebind_symbols(struct rebinding rebindings[], size_t rebindings_nel) {//prepend_rebindings的函数会将整个 rebindings 数组添加到 _rebindings_head 这个链表的头部//Fishhook采用链表的方式来存储每一次调用rebind_symbols…

Java动态代理(JDK/CGLIB)静态代理

Java Guide动态代理阅读笔记。 一、代理模式 代理模式是一种比较好的理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real obiect)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。 …

vue2+vue3——36+

vue2vue3——36 尚硅谷vue2vue2 Vue监测数据的原理_数组【18:56】数组vue 查看 没有 set() get()对象 有 get() set() 监测不到 不更新测试 : 数据改了 , 单页面没变 修改数组的 7方法 : filter 不改变原数组, 返回新的 数组 可以替换掉 原数…

逍遥自在学C语言 | 位运算符~的高级用法

前言 在上一篇文章中,我们介绍了^运算符的高级用法,本篇文章,我们将介绍~ 运算符的一些高级用法。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 ——…

linux 安装git(centos7)-yum

文章目录 在 Linux 系统上安装 Git步骤一:使用自带软件管理器安装步骤二:检查 Git步骤三:设置git环境变量 在 Linux 系统上安装 Git Git 是一种分布式版本控制系统,适用于处理从小型到非常大型的项目。在 Linux 系统上&#xff0…

c++11 标准模板(STL)(std::queue)(四)

定义于头文件 <queue> template< class T, class Container std::deque<T> > class queue; std::queue 类是容器适配器&#xff0c;它给予程序员队列的功能——尤其是 FIFO &#xff08;先进先出&#xff09;数据结构。 类模板表现为底层容器的包…

flac格式如何转mp3,3招帮你搞定

flac格式如何转mp3&#xff0c;3招帮你搞定的方法来啦。当你的音频是flac格式是不是很头疼&#xff0c;又不知道怎么转mp3 。然后网上搜索出很多方法又不知道从哪个下手&#xff0c;是不是很疑惑&#xff1f;那今天就来看看小编推荐的方法吧&#xff0c;一定让你眼前一亮&#…

petalinux-2021.1在zynq7020的flash上启动linux

一、 前言 在电脑上安装虚拟机或者找一个电脑安装linux&#xff0c;用于编译petalinux工程&#xff1b;安装与vivado对应的petalinux-tool&#xff1b;版本信息&#xff1a; 1&#xff09;linux&#xff1a;ubuntu16.04.06&#xff1b; 2&#xff09;vivado&#xff1a;v2021.…

row_number 和 cte 使用实例:考场监考安排

row_number 和 cte 使用实例&#xff1a;考场监考安排 考场监考安排使用 cte 模拟两个表的原始数据使用 master..spt_values 进行数据填充优先安排时长较长的考试使用 cte 安排第一个需要安排的科目统计老师已有的监考时长尝试使用 cte 递归&#xff0c;进行下一场考试安排&…