CDN知识百科全书(上)

描述

内容交付网络(CDN)是一个全球分布的网络服务器或节点(PoP),其目的是提供更快的内容交付,内容被复制并存储在整个CDN中,因此用户可以访问存储在地理上离用户最近的位置的数据。这与仅在一个中央服务器上存储内容的传统方法不同,客户端访问客户端附近的数据副本,而不是所有客户端访问同一个中央服务器,以避免该服务器附近的瓶颈。 

 

内容分发网络的用途是什么?

CDN旨在优化网络内容的交付,它们为公司及其用户提供的一些主要优势包括:

更快的加载时间:CDN缓存的内容在地理位置上靠近其用户,从而减少了请求和响应所需的传输距离。因此,用户体验到更快的网页加载时间,这可以增加转换并降低跳出率。

降低带宽成本:从源服务器提供所有请求的内容需要在源服务器提供大量带宽和处理能力。CDN通过缓存静态内容和执行其他优化来降低带宽上的负载和带宽要求,这有助于大大降低成本。

改进的可用性和冗余性:对集中式基础架构的依赖(例如从源服务器提供所有内容)会增加由于硬件故障、网络中断和其他事件而导致停机的风险,CDN将内容和请求分布在多个位置,从而减少局部中断的影响。

增强的网站安全性:除了优化对网络内容的访问外,CDN还可以包含安全功能。通过阻止分布式拒绝服务(DDoS)攻击、增强数字证书安全和其他安全控制,CDN可以降低网络攻击的概率和影响。


 

CDN体系结构和关键组件

以下是内容交付网络的一个简单模型,其关键组件及其角色解释如下:

网络

内容提供商:交付内容的实体

授权:内容提供商授予CDN提供商交付内容的权限

报告:内容提供商要求CDN提供商进行性能分析,以评估CDN提供商的服务质量并访问其他相关数据

来源:内容提供商发送内容的副本

内容:创建和/或许可分发的数字信息

请求:用户向内容提供商请求查看或本地存储数据(内容)

交付:CDN将内容交付给用户

用户:向内容提供商请求数据(内容)的实体

 

大多数CDN架构都是使用以下关键组件设计的:

交付节点:主要目的是将内容交付给最终用户,传递节点是包含运行一个或多个内容传递应用程序的缓存的服务器。它们通常位于尽可能靠近最终用户的位置。内容可以手动存储到这些节点(推送CDN),或者传递节点可以根据缓存过期规则(拉式CDN)从源节点请求内容。推送CDN的优点是,内容可以立即提供给需要的用户。它的主要缺点是,内容提供商每次更新内容时都必须主动“推送”内容。拉式CDN的优点是自动向内容提供商索取内容。它的主要缺点是最初的内容交付速度:当用户第一次需要内容时,交付速度将与内容提供商没有使用CDN时相同。然而,在这个初始请求之后,位于同一地理位置或与提出请求的原始用户接近的所有其他用户将能够立即访问内容,因为内容将被缓存在交付节点内。

存储节点:主要目的是存储分发到交付节点的原始数据的副本。存储节点可以部署在分层模型中,以允许分层缓存。

原始节点:这些是内容的主要来源,可以在整个网络或内容所有者的基础设施中进行内容分发。

控制节点:主要目的是托管CDN的管理、路由和监控组件。

 

内容的主要类型

动态内容:由web服务器使用几种常见的web编程语言(如php、ruby或java)动态生成的内容

静态内容:通常不会经常更改并且不需要生成的内容。图像、CSS和JavaScript等。

流媒体内容:通过网络浏览器控件播放的视频或音频文件。

CDN节点通常部署在多个位置,通常通过多个主干网进行部署。组成CDN的节点和服务器的数量因体系结构而异,有些节点和服务器达到数千个节点,在许多远程存在点(PoP)上有数以万计的服务器,其他公司则建立全球网络,并拥有少量地理PoP。CDN建立在互联服务器网络上,这些服务器战略性地放置在一起,以最大限度地减少用户与最近服务器之间的距离。这些服务器缓存web内容的副本。

当用户请求网页时,动态请求路由可确保其到达最近的可用CDN服务器。如果CDN服务器的缓存中有请求内容的最新副本,它将直接响应请求。如果没有,CDN服务器将把请求转发到原始服务器,原始服务器将填充请求。CDN服务器还可以缓存响应的副本以支持未来的请求。
 

CDN如何与DNS配合使用?

域名系统(DNS)将域名转换为IP地址,这意味着每次对网络内容的请求都从DNS查找开始。基于DNS的CDN系统使用DNS实现请求路由和重定向。当用户请求特定的网页时,他们将使用相同的域名,而不考虑位置。

然而,DNS服务器将根据请求者的位置进行响应,将用户引导到最方便的CDN服务器。这种设计利用了DNS的设计来执行请求重定向,而不需要复杂或低效的附加基础设施。

CDN应用示例?

Netflix就是一个很好的CDN例子。像Netflix这样的网站为用户提供大型多媒体文件,同时,积极的用户体验在很大程度上取决于这些内容的快速交付,以避免视频缓冲。

从源服务器提供所有视频内容将是资源密集型的,并增加网络延迟。相反,Netflix使用分布在其服务区域的CDN服务器。当用户想要观看视频时,他们的请求会由最方便的CDN服务器来填充,从而减少网络拥塞,降低延迟和视频缓冲。

Web性能优化说明

当涉及到运行网站时,出色的用户体验就是一切。一方面,用户的期望值是巨大的;网站应该提供互动性、媒体和信息,但另一方面,互联网正在发展,这使得提供一个用户友好的网站变得越来越困难。

当我们考虑网站速度时,我们会考虑各种方法来优化不同元素的加载速度,包括网页、图片、视频、应用程序和用户保存到计算机或通过互联网浏览器下载的其他元素。

一个加载速度高的网站会有更好的用户体验,在搜索引擎中占有更好的地位,也能有更高的转化率(转向客户的网站访问者数量)

内容交付的重要性

2022年全球零售电子商务销售额达到5.2万亿美元,比上年增长17.1%。移动设备在其中所占的份额估计为60.1%。到2026年,电子商务可能会带来约8.1万亿美元的收入。

 

以电子商务为例我们可以看出网站速度优化的重要性。在电子商务中,销售额与网站内容的交付速度直接相关。
 

根据调查机构Portent 2022年的一项研究发现,即使页面加载速度略有提高,也会对转化率产生巨大影响:

1秒的加载时间转化为40%的转化率。

1秒内加载的页面的转换率是5秒加载页面的3倍。

在10秒内加载的页面的转换率比在1秒内加载的页面低10倍。

实现销售额最大化的最佳装载时间不到2秒。

电子商务页面1秒的加载时间平均转化率为3.05%。

电子商务转化率每秒加载时间下降0.3%。

更多数据证明网站速度和销售额之间的联系:

沃尔玛的总销售额每秒增加2%,网页加载速度加快

网页加载速度每增加400毫秒,雅虎的流量就会增加9%

网页加载速度每增加100毫秒,亚马逊的总营业额就会增加1%

Shopzilla将网页加载速度从6秒优化为1.2秒。这导致网站总流量增长25%,收入增长12%

访问速度直接影响您的网站收入,衡量标准影响品牌认知、忠诚度和访问者参与度,也与以下指标息息相关:

1.用户满意度

长加载时间等于高弹跳率。反弹率是任何网站所有者都应该始终考虑的一个重要因素。简单地说,就是用户访问你的网站,而不是继续查看同一网站中的其他页面,然后离开。它被认为是衡量网站有效性的最重要指标之一。

考虑到当今技术的进步,一个内容简单的网站应该在2秒内完全加载。加载时间至关重要,因为它直接影响访问者的满意度或不满意度,从而影响页面收入。换句话说,时间至关重要!

2.提高搜索排名

自2010年起,谷歌开始在对网站进行排名时考虑加载时间。提高页面加载时间是帮助访问者更快地到达目的地的有效方法,它可以帮助您掌握搜索结果,这是被潜在用户发现的最佳方式,这也让页面速度比以往任何时候都更重要。无论你的客户是为了一个漂亮的界面、明确的隐私政策、最便宜的价格,还是仅仅因为他们找到了他们想要的东西,他们都必须尽快到达那里。如果你能把通往网站的路径缩短,这只需要几毫秒的时间,你就可以把更多的访问转化为实际订单。

3.移动用户

手机用户比电脑用户更有耐心,主要原因是他们习惯了网速较慢。但考虑到当今的连接速度,移动设备的加载时间是一个重要因素。尽管固定连接足以不会给网站加载时间带来太多问题,但因为现在网络浏览主要通过移动设备进行,所以移动页面优化比以往任何时候都更重要。根据最近的研究,250毫秒的页面加载时间的优势是防止您的客户去找竞争对手。通过选择CDN而不是标准托管,您可以确保从离最终用户最近的服务器交付内容。这也将为您节省为服务器购买额外硬件和软件的费用。

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


 

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及其基础设施)传输数据包,这些系统之前已经就允许流量的条款和条件达成了一致。自治系统必须相互信任,这就是问题的产生。

内容交付网络的好处

基于移动和应用程序的互联网迫使越来越多的内容提供商、内容出版商和在线供应商简化导航并改善用户体验,主要是网站的页面加载时间。

以下是您必须考虑在业务生态系统中实施CDN的8个原因:

全球可访问性:内容交付网络有助于使内容在全球范围内可用和可访问,通过拥有多个存在点(PoP)来绕过内容来源和目的地的问题。这有助于全球商业交易。

分布式存储:如果网络的主服务器距离位于亚洲的客户整整一个大陆,那么当客户进行查询时,内容交付将很慢。因此,CDN使用的服务器尽可能靠近最终用户的地理位置。这大大加快了内容交付。

自动数据分析:通常,CDN提供商根据数据量对其服务收费。这包括数据分析:最常用的搜索查询、时间、位置等。数据分析使公司能够改进其商业模式,了解哪些做法有效,哪些做法无效,以及哪里有增长空间。

减少延迟:CDN使用全局可访问的服务器并复制内容。他们的最终用户通常比主服务器更接近PoP,这减少了内容交付的延迟。

低网络拥塞率:当拥塞率较低时,性能会更好。当大量用户想要同时访问一个网站时,经常会出现网络拥塞。能够将用户重定向到复制的内容,可以减少网络拥塞,提高整体性能和更好的用户体验。

DDoS攻击防护:DDoS攻击的目的不仅仅是使网站暂时不可用。他们的目的是削弱对运营该网站的公司的信任,对公众对CDN提供商和其他相关服务的看法产生负面影响。

提高可靠性和可信度:与通过其他来源交付的内容相比,通过CDN交付的内容很有可能保持最佳质量。CDN的设计使内容能够以更快的速度分发。这使得共享的事实信息更加值得信赖,这对客户满意度有积极影响。

降低管理费用:CDN无需为昂贵的国外服务和多个提供商付费。通过这些网络分发的内容在全球范围内只需一家提供商的帮助即可获得。付费客户可以将互联网流量分配给更多的交付节点,如果这是他们所需要的,并且可以有效地解决内容可用性问题。

以下还有部分CDN可以为网站提供的一些其他好处,这些好处可以极大地提高网站性能和用户体验:

页面加载时间每增加100毫秒,收入就会增加1%

留住更多的客户(他们更满意)

更易于管理的流量

产品的最大可用性

轻松交付视频、音频丰富的内容

建立更多的交互式网站,而不会因延迟而损失访问者

轻松接触移动客户

设置您自己的标准,为您的网站实现最佳性能

业务的可扩展性更强,您可以随心所欲地增长业务

 

什么是好CDN

选择一种领先于网络和移动技术不断进步以及不断演变的威胁格局的CDN,将使您能够始终如一地为客户提供尽可能好的在线体验,同时最大限度地降低运营复杂性和管理成本。

但问题来了:什么才是最好的CDN?

这个问题的唯一答案是:最好的CDN取决于您的实际需要。

选择CDN是一项艰巨的任务,因为乍一看,它们可能看起来很相似,但一旦你深入了解细节,你会发现不同CDN厂商之间的逻辑和产品存在一些显著的差异。

您的需求

在开始比较和分析各种CDN提供商之前,您必须首先评估自己的需求和要求。你有什么样的网站?您的用户位于哪里?您为用户提供的服务最多的是哪种媒体(文本、视频等)?你的预算是多少?你必须首先搞清楚这些问题,这样你就可以大致了解你需要什么。不同的CDN可能有不同的专长,选择能满足您需求的CDN很重要。

用户地理位置

地理位置在内容交付中起着重要作用,你需要知道你的用户在哪里。是本地的、地区的还是全球的?选择在受众所在区域具有节点(PoP)的CDN非常重要。每个PoP都应该有足够的出口容量,以确保您的受众获得尽可能快的体验。CDN还应与本地互联网服务提供商(ISP)和为您的受众提供服务的最后一公里网络签订对等协议,以消除CDN和用户互联网连接之间的“最后一公里”瓶颈。如果您计划只向本地受众提供内容,则不需要全球性CDN,使用本地CDN可能会更好。

此外,一些CDN提供商专门从事特定的地理区域。例如,如果你想向中国交付内容,你不仅面临地理距离,还需要考虑中国政府提出的额外备案和其他相关要求。

速度和可靠性

您决策的关键因素之一很可能是CDN的速度和可靠性。衡量速度和可靠性的三种最重要的方法是:

响应时间-服务器响应浏览器请求所需的时间指标;

延迟-主机服务器接收和处理对对象(如CSS文件或图像)的请求所需的时间。当访问者点击您的页面时,需要加载的对象数量将影响总响应时间;

吞吐量-内容交付的稳定性。

您选择的CDN服务提供商应该拥有一个大型节点网络。简单地说,您拥有的服PoP越多,您就可以更快、更可靠地交付内容。更多的服务器意味着更少的缓冲、更大的冗余和更大的可扩展性。由于最终用户通过CDN连接到您的网站,因此您需要确保最大限度的正常运行时间和可用性,评估CDN对SLA负责的能力。

成本和定价模型

在选择CDN之前,对成本和性能进行优先级排序非常重要。您需要了解几毫秒的延迟可能会如何影响您的用户体验。如果您运行的是一个关键任务网站或应用程序,几百毫秒的时间会对您的业务产生重大影响,您可能需要选择性能最好的CDN。然而,也许你的网站或应用程序不是关键任务,这几百毫秒对你的用户来说是看不见的或无关紧要的。在这种情况下,您可以选择成本更低、性能相对较好的CDN。

安全性

在选择CDN时,安全性是一个重要的考虑因素。加密、DDoS防御和合规性等功能都在选择供应商方面发挥着关键作用。加密可确保您的客户的身份、交易和网站的完整性在端点和CDN边缘之间的传输过程中得到保护。DDoS攻击是一股无处不在的力量,云供应商经常与之斗争;确保供应商具有抵御这些攻击的必要实力,以便您的内容始终能够得到服务。最后,如果您从CDN提供的内容需要额外的注意(如敏感的医疗信息、财务数据等),则合规性在供应商选择中发挥着关键作用。

支持

CDN的支持和服务人员的质量直接反映了CDN的质量。合适的CDN提供了具有深度专业知识和丰富经验的团队,他们能够提供专业管理的交付和安全服务,提供全天候、积极主动的全球监控和支持。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分