内容分发网络( 英语 :Content Delivery Network,缩写:CDN)是一种提供更快互联网访问的服务,通过在网络的边缘或核心交换区域部署内容代理服务器来实现。这些服务器利用全局负载调度机制来分发内容,从而构建了一个覆盖范围广泛的网络体系。
1996 年, 麻省理工学院 提出了CDN概念。 全球第一家CDN 网络运营商 —— 阿卡迈科技 公司于1999年开始提供商业服务。 从2002年起,众多厂商如 Array Networks 、 思科 等增加了对CDN产品方面的投入,国际数据公司 (International 数据 Corporation, IDC)企业也以自建的 数据中心 为基础,建立自己的CDN网络。
CDN由内容管理系统、内容 路由 系统、 Cache 节点网络三部分组成, 涉及内容路由技术、 内容分发技术 、内容存储技术和内容管理技术, 包括专业CDN服务商、 电信运营商 、互联网企业及其他三大 服务提供商 ,能够缓解互联网网络拥塞、提高互联网业务响应速度、改善用户业务体验。
发展历程
CDN发展浪潮
二十世纪九十年代,大多数公众通过 拨号方式 接入互联网。那时的 带宽 很低,网民数量也比较少,所以内容源服务器和骨干传输网络没有太大的压力。然而,随着互联技术的进步和网民数量的增加,给内容源服务器和骨干传输网络带来的压力越来越大。1995年, 麻省理工学院 教授和互联网发明者之一Tim Berners-Lee博士预见到了互联网拥塞将成为发展的最大障碍。为了解决这个问题,他提出了一个学术难题:发明一种全新的、能够根本解决互联网内容无法无拥塞传输的方法。最终,这个学术难题催生出了一项革新性的互联网服务,它就是CDN。
蒂姆·李 博士团队成立了全球第一家CDN 网络运营商 —— Akamai 公司,1999年,该公司开始提供商业服务,同年并成功上市,达到了当时最大规模的IPO。1998年,中国第一家专业CDN服务公司—— 蓝汛 ( ChinaCache )公司成立。1999年到2001年,全球互联网发展迅速,HTTP网页内容的加速需求非常大,CDN成为产业关注的热点。 Akamai 和Limelight分别代表了CDN行业的两种发展模式,即"节点租用"和"节点自建",引领了全球CDN行业的技术潮流。
2001年,因为 股票市场 的恐慌,第一次 互联网泡沫 破碎, 大量.com公司倒闭,网站关闭。CDN客户一夜之间骤减,CDN产业几乎立刻进入了停滞期。2002年, 美国 大型 电信运营商 AT&T 推出CDN 流媒体 内容分发架构。从2004年起,伴随着互联网的回暖和发展,流媒体服务的发展和Web 2.0的兴起使得CDN又变得热门起来。 云计算 的兴起对CDN也产生了巨大的影响。一方面,许多云计算平台在向外提供服务时不可避免地依赖CDN分发能力。另一方面,CDN本身的技术特点使其类似于一种云服务。因此,许多云计算平台供应商也纷纷进入CDN领域,推动了CDN技术和业务的新阶段发展。2006年, 国际电信联盟 ITU(International Telecommunication Union)将CDN纳入 IPTV 标准化文档体系内。
2010年, 云计算 风潮将CDN技术和业务发展推进入到了一个新的阶段。 据 欧洲 知名电子咨询公司 Informa Telecoms & Media 发布的内容分发网络市场趋势报告数据显示 2012 年全球内容分发网络市场规模达到 20 亿美元。 2014年,全球CDN市场规模为37.1亿美元。 2016年达到60.5亿美元,全球2010-2015年间的CDN市场复合年增长率为27.7%。2016年,全球CDN流量已经达到了32275PB/月,在 ALEXA INTERNET Top 1k和Top 10k网站中, 美国 CDN服务商占70%,中国CDN服务商份额分布在0.5%-3.5%之间。 截止2023年2月,中国已有超过95%的CDN节点支持IPv6。
CDN演化进程
组成及功能
CDN通常由三个部分组成,分别是内容 路由 系统、内容管理系统、 缓存 节点网络。这三个部分分别构成了CDN的管理平面、控制平面和数据平面。
内容路由系统
内容路由系统是负责将用户的请求定向到适当的设备上的关键组件。内容路由系统通常通过使用负载均衡系统来实现这个功能。它的目标是确保用户的请求被合理地分配给不同的设备,以实现高效的内容交付。通过使用负载均衡系统,内容路由可以根据设备的负载情况、网络条件和其他因素,动态地决定将请求路由到哪个设备上,以实现负载的均衡和性能的优化。内容 路由 系统的主要任务是调度用户的请求,并确保它们被快速而准确地传送到适当的设备上,以提供良好的用户体验。
内容路由系统使CDN具有调度功能,该功能指迁移流量,并为用户选择合适的网络节点以供后续访问。 CDN通过接收终端侧发起的访问请求,监测全网节点的健康状态、负载情况及内容分布情况,据调度策略将终端调度到最佳的边缘节点。
内容管理系统
内容管理系统主要承担着内容管理的职责,包括内容的注入和发布、内容的分发、内容的审核以及内容的服务等。内容管理系统确保内容的顺利注入和发布到CDN系统中,保证内容在各个节点上的高效分发,同时对内容进行审核以确保其符合规范和要求。此外,内容管理系统还提供内容的相关服务,如内容的搜索、 索引 、备份等功能,以便用户可以轻松访问和管理所需的内容。总之,内容管理系统在整个CDN系统中发挥着重要的作用,为用户提供便捷的内容管理和服务支持。
CDN的内容管理功能指实现互联网内容集中化分析、展现和决策。完成数据采集、用户交互及数据展现、基础数据管理、资源视图管理、 统计分析 、 缓存 运营管理、运营统计分析、节点设备管理、平台管理等服务。
Cache节点网络
Cache节点网络用于支持CDN的业务。它是专为面向最终用户的内容提供而设计的设备。这些节点位于全球各地,并且在 网络拓扑 中被智能地放置,以便能够最有效地传递内容给用户。
Cache与CDN 群组 能够直接面向用户终端提供内容服务,负责内容在网络边缘处的临时性存储,同时还提供本地调度、访问控制、Web服务、媒体服务、文件下载等服务,直接面向用户提供访问服务。
基本原理
CDN是在用户和服务器之间增加 缓存 层,将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现。第一,用户向浏览器提供要访问的 域名 ;第二,浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;第三,解析得到CDN 缓存 服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;第四,缓存服务器根据浏览器提供的要访问的域名,通过 Cache 内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;第五,缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,另一方面把获取的数据返回给客户端,完成数据服务过程;第六,客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。
关键技术
负载均衡系统
CDN通过负载均衡系统为用户提供服务。负载均衡系统会根据一些准则帮助用户选择合适的高速 缓存 服务器。首先,CDN会根据用户的IP地址确定最近的服务器,以确保较低的网络延迟。其次,CDN会根据用户请求的URL中的内容名称来确定希望获得该内容的用户以及它们所在的服务器。最后,CDN会查询每个服务器的当前负载情况,并决定哪些服务器仍有服务能力,以确保高效的内容分发。 负载均衡系统是整个CDN的核心,可以通过多种方式实现,主要包括DNS、 应用层 重定向、传输层重定向等。
PUSH和PULL
PUSH和PULL是两种分发模式,这两种模式主要借助于建立 索引 、 缓存 、流分裂、组播等技术,将内容发布或者投递到离用户最近的远程服务点处。 在PUSH的分发模式中,内容管理系统发起传输,将内容从中心媒资服务器分发的各个边缘节点,一般分发的是热点内容。PULL模式是被动分发,通常由用户的请求发起传输,分发的内容是基于个人需求。
RAID
由于CDN系统中分为中心媒资服务器和远程服务点,需要考虑两方面的存储。中心媒资服务器中的数据规模和吞吐量都很大,一般用NAS等海量存储架构。PoP节点的存储既需要考虑多种格式的兼容,也需要支持多文件的吞吐和可靠性、稳定性的保证, 所以采用独立 磁盘 冗余 阵列(RAID)技术较多。 利用RAID技术,可以将多个 HDD 组合成一个硬盘,以提高数据传输效率和数据安全性。
监控技术
通过内部和外部监控系统,获取网络部件的状况信息,测量内容发布的端到端性能(如包丢失、延时、平均 带宽 、启动时间、帧速率等),保证网络处于最佳的运行状态。能够减轻服务器的压力,并提升网站的性能和 可扩展性 。
内容协议
当 域名 服务范围为中国大陆境外或全球时,CDN支持HTTP和 HTTPS 协议,但不支持 FTP 、TCP、UDP、 WSS 等其他协议。而当域名服务范围为中国大陆时,CDN支持HTTP、HTTPS、 WebSocket 、WSS协议,但不支持FTP、TCP、UDP等其他协议。
P2P
P2P即Peer to Peer,也就是节点对节点的对等传输。P2P技术将各个用户互相结合成的一个网络,共享其间的 带宽 、共同处理其中的信息。 P2P可以直接在用户客户端之间进行内容交换来实现大规模内容传输。通过使用集中或分布式 目录服务 ,P2P能够在无需依赖服务器的情况下进行内容传递,且其性能随着用户规模的增加而提升。 通过将P2P的扩展能力和CDN的可靠性 与可 管理性相结合,可以建立一个 流媒体 内容分发平台,该平台可管理电信级别的内容应用并提供高质量的服务。
服务商
根据 市场经营主体 的自身定位, CDN服务的提供商可以分为专业CDN服务商、 电信运营商 、互联网企业三类。
专业CDN服务商
专业CDN服务商以 Akamai 、Limelight Networks等为代表,其中Akamai是 美国 和全球最大的CDN服务商。据《内容分发网络(CDN)白皮书(2014年)》, Akamai 的Edge Platform 平台在超过75个国家和地区部署了十万台服务器,Akamai构建了五大业务种类。2013年10月,Akamai发布了新的“开放战略”,加强第三方应用和 Akamai CDN网络的集成。
电信运营商
电信运营商 以AT&T、 英国电信 、 德国电信 等为代表。2010年底,英国电信(BT)开始提供“批发内容连接”(Wholesale Content Connect,简称 WCC)服务,以满足快速增长的互联网视频加速需求。为提供WCC服务, 英国 电信在英国本土部署了 20个高速 缓存 ,使其可优化调度的流量达到传统CDN服务器的20倍; 美国电话电报公司 推出了专门针对企业客户的特色服务ECDN(企业内容分发网络)。该服务针对视频行业的推送速度远高于 阿卡迈科技 (快30%)和Limelight(快 50%)。
互联网企业
互联网企业以 亚马逊 、 谷歌 等为代表。2008年11月, 亚马逊 宣布推出名为“Cloud Front ”的CDN服务。该服务是CDN、IDC与 云计算 的融合,是对 亚马逊 的“S3”(在线存储服务)和“EC2”(弹性计算云)服务的补充。“ CloudFront ”采取灵活的资费机制,按照流量收费,没有入门费或包月费,没有使用空间的限制,不用签订客户合同。
影响评价
影响
在 中国信通院 于2014年发布的关于CDN的 白皮书 中,曾这样描述CDN产生的影响:“随着宽带网络的快速发展,尤其是以互联网视频为代表的大流量业务的爆炸式增长,以及日益激烈的国际竞争,CDN的技术架构、 业务模式 、产业格局、监管环境等正面临着深入调整和变革。CDN的建设与发展对于进一步完善国家信息基础设施、促进互联网产业分工、推动行业和信息化的繁荣发展,以及优化互联网产业格局均将产生深远的影响。”
评价
CDN有诸多优点,方便了人们的生活。CDN是缓解互联网网络拥塞、提高互联网业务响应速度、改善用户业务体验的重要手段。CDN以其巨大的影响力受到了全球 发达国家 和互联网市场的高度关注。
2019年4月, 环球网 曾评价CDN:“CDN将领跑万亿新赛程。”
2022年3月, 人民网股份有限公司 也评价CDN:“CDN作为 边缘计算 的核心基础应用,在产业互联网各应用场景中不可或缺。”
CDN在发展的过程中也存在着一定的漏洞。2017年11月, 中国新闻网 评价CDN:“CDN服务质量方面仍存在空白。”
未来趋势
CDN地址技术向IPv6过渡
随着IPv4地址的枯竭,IP网络地址技术已经逐步开始向IPv6过渡。 截止到2023年,几乎所有的网络设备、终端设备及主要的系统、应用都已经能够支持IPv6地址。在向IPv6的过渡过程中,将长期存在三张并行的网络:现有IPv4网络、私有IPv4网络和IPv6网络。CDN能够将 数据中心 的应用和内容分发到私有IPv4、IPv6网络中,对于促进IPv4与IPv6业务互通、支撑IPv6规模部署具有重要作用。
云计算技术大幅提高CDN服务能力和投入产出比
云计算可以有效提高CDN设备的利用率,提升CDN节点的存储能力,减少人工管理的工作量,进一步提高CDN运营企业的投入产出比。CDN 服务提供商 在业务平台中规模采用云计算解决方案,加速云计算技术与CDN服务的整合,构建符合自身业务特色的云CDN平台,并探索依托云CDN平台为其他用户提供个性化CDN服务,云CDN平台已经成为CDN的重要发展方向。
大数据技术助力CDN智能化发展
大数据技术 可以从各种各样类型的数据中,快速获得有价值信息。对于CDN来说,可以利用云计算平台中所记录的服务数据,对CDN用户的业务特点进行深入挖掘,为用户提供更高质量、更加精细的服务。例如,通过对CDN服务数据的深入分析和挖掘,可以获得用户偏好和行为预期,从而帮助CDN面向用户提供个性化、智能化的资源调度和精细化的用户服务。
图形CDN的发展
图像CDN是一种专门用于转换、优化和分发图像的服务。它可以被视为一个 API ,用于处理访问网站上使用的图像。使用图像CDN加载的图像,不仅可以指定要加载的图像,还可以指定诸如大小、格式和质量等参数。这样,就可以为不同的用例创建图像的不同版本。
vCDN的发展
vCDN是一种虚拟化的CDN软件应用程序,可以在专有、裸机、虚拟化或基于容器的基础架构或电信MEC平台上运行CDN工作负载。传统上,CDN软件平台与底层硬件紧密结合,因此缺乏灵活性。vCDN则可以在Internet交换处的CDN PoP、网络或本地边缘站点上运行。这样,vCDN能够在网络或本地边缘上执行CDN工作负载,提供更灵活的解决方案。