内容分发网络 (CDN) 是一个地理分布的服务器及其数据中心网络,有助于以最小的延迟向用户分发内容。
它通过战略性位置的数据中心(称为接入点 (PoP))将内容拉近到更靠近用户的地理位置来实现这一点。CDN 还涉及缓存服务器,用于存储和分发缓存文件,以加快网页加载时间并减少带宽消耗。
CDN 诞生于近二十年前,旨在应对快速向互联网终端用户推送海量数据的挑战。如今,CDN 已成为网站内容交付的驱动力,并持续受到学术界和商业开发者的研究和改进。
第一个内容分发网络 (CDN) 于 20 世纪 90 年代末建成,至今仍占全球互联网流量的 15% 至 30%。此后,随着宽带内容以及互联网上音频、视频及相关数据流的增长,越来越多的 CDN 应运而生。广义上讲,CDN 的演进可以分为四代:
形成前期:在 CDN 真正诞生之前,所需的技术和基础设施正在开发中。这一时期的特点是服务器集群的兴起、分层缓存、Web 服务器的改进以及缓存代理的部署。镜像、缓存和多宿主技术也为 CDN 的创建和发展铺平了道路。
第一代:CDN 的早期迭代主要侧重于动态和静态内容交付,因为这是网络上仅有的两种内容类型。当时的主要机制是创建和实施副本、智能路由和边缘计算方法。应用程序和信息被分散到各个服务器。
第二代:接下来是CDN,专注于流媒体视频和音频内容,或为用户提供Netflix等视频点播服务以及新闻服务。这一代也为向移动用户提供网站内容开辟了道路,并见证了P2P和云计算技术的运用。
第三代:第三代 CDN 是我们目前所处的阶段,并且随着新的研发不断演进。我们可以预期,未来的 CDN 将越来越多地以社区为导向。这意味着系统将由普通用户和普通个体驱动。预计自配置将成为新的技术机制,同时,自管理和自主的内容交付也将随之实现。最终用户的体验质量预计将成为未来发展的主要驱动力。
CDN 最初是为了应对极端的带宽压力而发展起来的,当时视频流的需求和 CDN 服务提供商的数量都在增长。随着连接技术的进步和每一代消费趋势的出现,CDN 服务的价格不断下降,使其成为一项大众市场技术。随着云计算的广泛应用,CDN 在业务运营的各个层面都发挥着关键作用。它们是 SaaS(软件即服务)、IaaS(基础设施即服务)、PaaS(平台即服务)和 BPaaS(业务流程即服务)等模式的关键。
CDN 的工作原理是缩短用户与源站(Web 服务器或应用服务器)之间的物理距离。它涉及一个全球分布的服务器网络,这些服务器将内容存储在距离服务器比距离源站更近的地方。为了更好地理解这一点,我们不妨分别分析一下用户在启用和未启用 CDN 的网站上访问 Web 内容的体验。
当用户在浏览器中输入网站时,会建立类似下图的连接。网站名称会通过本地 DNS 或 LDNS(例如 ISP 提供的DNS 服务器或公共 DNS 解析服务器)解析为 IP 地址。如果 DNS 或 LDNS 无法解析 IP 地址,则会递归地向上游 DNS 服务器请求解析。最终,请求可能会传递到托管该区域的权威 DNS 服务器。该 DNS 服务器解析该地址并将其返回给用户。
然后,用户的浏览器直接连接到源站并下载网站内容。每个后续请求都由源站直接处理,静态资源会缓存在用户本地。如果来自相似位置或其他位置的其他用户尝试访问同一网站,他将经历相同的流程。每次用户请求都会到达源站,源站会回复内容。整个过程中的每个步骤都会增加延迟,或称为“等待时间”。如果源站距离用户较远,响应时间将受到严重影响,从而导致用户体验不佳。
然而,在 CDN 存在的情况下,流程略有不同。当用户发起的 DNS 请求被其 LDNS 接收时,它会将请求转发到 CDN 的 DNS 服务器之一。这些服务器是全局服务器负载均衡器(简称“GSLB”)基础设施的一部分。GSLB 提供负载均衡功能,可以精确地测量整个互联网,并持续跟踪所有可用资源及其性能的信息。基于这些信息,GSLB 会使用性能最佳的边缘地址(通常靠近用户)来解析 DNS 请求。“边缘”是指一组用于缓存和分发 Web 内容的服务器。
DNS 解析完成后,用户向边缘服务器发出 HTTPS 请求。边缘服务器收到请求后,GSLB 服务器会帮助边缘服务器按照最佳路由将请求转发至源站。然后,边缘服务器获取请求的数据,将其交付给请求的最终用户,并将数据存储在本地。所有后续用户请求都将从本地数据集获得服务,而无需再次查询源站服务器。即使源站因任何原因不可用,存储在边缘服务器的内容仍可正常交付。
CDN 服务对于依靠向用户提供内容的企业至关重要,它可以有效地减少延迟、提高网站性能并降低带宽成本。
CDN 的另一个独特功能是允许边缘服务器预先获取内容。这确保了您要交付的数据存储在所有 CDN 数据中心。在 CDN 术语中,这些数据中心被称为接入点(或“POP”)。PoP 通过将 Web 内容更接近网站访问者,有助于最大限度地缩短往返时间。
例如,假设您正在开展一个广告活动,向数百万潜在客户推广您的服务或产品。您可能会预期大量客户在阅读帖子后会涌入您的网站。如果您与受众参与度较高的网红合作,流量可能会出现更大的峰值。您能确定您的源服务器能够一次性处理如此激增的流量吗?
在这种情况下,CDN 可以帮助在边缘服务器之间分配负载,确保所有服务器都能获得响应。由于只有一小部分请求会到达源站,您的服务器不会出现流量高峰、502 错误以及上游网络通道过载等问题。
根据您企业的规模和需求,CDN 的优势可分为 4 个不同的部分:
缩短网站页面加载时间
通过使用附近的 CDN 服务器(以及其他优化措施),使网页内容分发更接近网站访问者,访问者可以体验到更快的网页加载时间。通常,访问者更容易点击或跳出加载时间较长的网站。这也会给网页在搜索引擎上的排名带来负面影响。因此,使用 CDN 可以降低跳出率,并增加用户在网站上停留的时间。换句话说,加载速度快的网站可以让更多访问者停留更长时间。
降低带宽成本
每次源服务器响应请求时,都会消耗带宽。带宽消耗成本是企业的一项主要开支。通过缓存和其他优化,CDN 可以减少源服务器必须提供的数据量,从而降低网站所有者的托管成本。
提高内容可用性和冗余度
大量网络流量或硬件故障可能会中断网站的正常运行,导致网站宕机。CDN 凭借其分布式特性,能够处理更多网络流量,并且比许多源站服务器更能抵御硬件故障。此外,如果一台或多台 CDN 服务器因某种原因离线,其他正常运行的服务器可以接管网络流量,确保服务不中断。
提高网站安全性
CDN 处理流量峰值的流程与 DDoS 攻击相同,这使得 CDN 成为缓解 DDoS 攻击的理想选择。DDoS 攻击是指恶意攻击者通过发送大量请求来压垮您的应用程序或源服务器。当服务器因流量过大而宕机时,停机时间会影响网站对客户的可用性。CDN 本质上充当 DDoS 防护和缓解平台,GSLB 和边缘服务器将负载均匀地分布在整个网络容量上。CDN 还可以提供证书管理以及证书的自动生成和续订。
阅读更多:使用 CDN 的 8 个基本优势以及您的企业为何需要它
CDN 的优势远不止上述这些。现代化的 CDN 平台还能为您的业务和工程团队带来更多优势。
它可以用来管理地球上不同地区的访问。您可以允许某些地区访问,但也可以拒绝其他地区的访问。
您可以轻松地将应用程序逻辑卸载到靠近客户的边缘。您可以处理和转换请求/响应标头和正文,根据请求属性在不同来源之间路由请求,或将身份验证任务委托给边缘。
大量流量需要一套用于日志收集和处理的基础架构,以便进一步分析。CDN 负责收集日志并提供接口,方便分析访问者生成的数据。
当你熟悉某个东西时,它自然会变得容易使用。因此,CDN Pro Edge 基于 NGINX。这意味着你可以使用标准的 NGINX 指令执行任务。
我们的工程团队花费了数千小时来扩展 NGINX。
信息安全是 CDN 不可或缺的一部分。CDN 通过以下方式保护网站数据。
CDN 可以通过提供传输层安全性 (TLS)/安全套接字层 (SSL) 证书来帮助保护网站,这些证书可确保高标准的身份验证、加密和完整性。这些证书可确保在用户和网站之间传输数据时遵循某些协议。
当数据通过互联网传输时,很容易被恶意攻击者拦截。解决这个问题的方法是使用协议加密数据,确保只有目标接收者才能解码和读取信息。TLS/SSL 就是这类协议,它们可以加密通过互联网发送的数据。它是安全套接字层 (SSL) 的更高级版本。如果网站以 https:// 而不是 http:// 开头,则可以判断该网站是否使用了 TLS/SSL 认证,这表明该网站足够安全,可以用于浏览器和服务器之间的通信。
由于 CDN 部署在网络边缘,它就像一道虚拟的高安全围栏,有效抵御针对您网站和 Web 应用程序的攻击。分散的基础设施和边缘位置也使 CDN 成为阻止 DDoS 洪水攻击的理想选择。由于这些洪水攻击需要在核心网络基础设施之外进行缓解,CDN 会根据其来源在不同的 PoP 上进行处理,从而防止服务器饱和。
CDN 还能拦截威胁,并限制恶意机器人和爬虫程序占用您的带宽和服务器资源。这有助于限制其他垃圾邮件和黑客攻击,并降低您的带宽成本。
静态内容是指那些在交付给最终用户之前无需生成、处理或修改的资产。这些资产可能是图像或其他媒体文件、各种二进制文件,也可能是应用程序的静态部分,例如 HTML、CSS、JavaScript 库,甚至是 JSON、HTML 或任何不经常更改的动态响应。如前所述,您可以提前预加载此类内容。然后,当您需要使此类内容失效并将其从边缘服务器中删除时,您可以清除所需的路径。
动态加速适用于由于其动态特性而无法在边缘缓存的内容。想象一下,一个 WebSocket 应用程序监听来自服务器或 API 端点的事件,而该事件的响应会根据凭证、地理位置或其他参数而有所不同。很难以类似于缓存静态内容的方式利用边缘缓存机制。在某些情况下,应用程序与 CDN 之间更紧密的集成可能会有所帮助;然而,在某些情况下,应该使用缓存以外的其他方法。对于动态加速,可以使用 CDN 优化的网络基础设施和高级请求/响应路由算法。
传统上,在 CDN 中,您需要根据最终用户消耗的流量和请求量付费。此外,HTTPS 请求比 HTTP 请求需要更多的计算资源,这会给 CDN 提供商的设备带来更大的负载。因此,您可能需要为 HTTPS 请求支付额外费用,而 HTTP 请求则无需额外付费。
随着计算移至边缘,CPU 也成为计费对象。请求可能包含不同的处理流水线,因此所需的 CPU 时间也不同。按请求数计费并不实际;按流量 + CPU 使用时间计费更为实际。
CDN 由各种元素组成,使其能够正常运行。
这里简单解释一下三大组件的作用:
接入点 (PoP) – PoP 是战略性部署的数据中心,旨在加快用户之间的通信速度。PoP 连接网站内容和访客,能够带来更快速、更少干扰的用户体验。
缓存服务器——负责存储和分发缓存文件的组件。其主要功能是加快网站加载时间,同时减少带宽消耗。
存储(SSD/HDD + RAM) ——所有检索到的数据都存储在 SSD(固态硬盘)、HDD(硬盘驱动器)或 RAM(随机存取存储器)中。最常用的文件通常存储在速度最快的介质——RAM 中。
并非所有 CDN 都以相同的方式运行,有些 CDN 比其他 CDN 更适合提供某些类型的内容。以下是三种可供选择的 CDN 类型:
如果您以前使用过 torrent,那么您可能已经知道点对点 CDN 的工作原理。
此 CDN 采用点对点协议。在点对点 CDN 中,内容不会缓存在边缘服务器上。相反,网络中访问内容的每个用户都会共享内容。
例如,当用户从种子文件下载电影时,他同时也在后台与其他用户共享电影的部分内容。这非常划算,因为它不需要任何昂贵的硬件。
使用 Push CDN,您作为网站所有者或开发人员对此负全部责任。
您无需等待 PoP 服务器在收到请求时提取网页数据,而是在收到任何请求之前就已经将所需的内容推送到 PoP 服务器上。这些信息及其相关元素将存储在缓存中,直到被移除或清除。
使用 Push CDN,您可以完全掌控。您在 PoP 服务器上推送的内容,最终会在网络访问者发出网络请求时显示在设备上。
Origin Pull CDN,顾名思义,涉及一个 PoP 服务器从原始服务器提取网页数据和其他元素。
当收到请求时,CDN 将确定向网络用户提供哪些信息。
例如,当客户端发送一个请求,需要从 CDN 获取静态资产时,如果 CDN 没有该资产,那么它将从源服务器获取新更新的资产,并用这个新资产填充其缓存,然后将这个新的缓存资产发送给用户。
与 Push CDN 相反,这需要较少的维护,因为 CDN 节点上的缓存更新是根据从客户端到源服务器的请求执行的。
对于各种规模的企业而言,CDN 服务都至关重要,它们希望优化网络布局、确保高可用性并提供卓越的用户体验。让我们来探索不同行业如何利用 CDN 功能:
数字出版和新闻机构——向全球数百万读者提供突发新闻和互动媒体,处理选举或体育赛事等重大事件期间 1000% 的流量高峰。
媒体和娱乐平台——支持流媒体服务和社交平台,向数百万并发用户提供 4K 内容、照片和视频,同时保持一致的性能。
电子商务平台——通过提供动态目录、高分辨率图像和安全交易,为数百万并发用户提供强大的在线购物体验,尤其是在黑色星期五等高峰活动期间。
游戏公司——能够向全球玩家群无缝交付图形密集型内容、实时更新和多人互动,并满足超低延迟要求。
在线教育平台——通过流媒体讲座和向不同地理位置的学生提供互动内容来促进远程学习。
银行和金融服务——确保安全、实时的交易处理和数据传输,同时保持法规遵从性并防范网络威胁。
公共部门和政府——通过可靠的内容交付支持关键公共信息系统、公民服务和应急响应能力。
SaaS 提供商——维护基于云的服务的全球应用程序可用性、无缝软件更新和一致的 API 性能。
所有这些行业都有共同的要求:
这正是 CDN 服务的价值所在,它提供满足这些严苛需求所需的基础设施和技术,同时保持最佳用户体验。无论是服务数百万用户,还是处理 TB 级数据,CDN 都是各行各业实现现代数字体验的支柱。
CDNetworks 在 CDN 行业拥有超过 20 年的经验,在全球内容交付和边缘计算领域处于领先地位。我们强大的分布式架构由 2,800 个接入点 (PoP) 提供支持,使全球企业能够跨各种数字基础架构无缝部署内容和服务。这种无与伦比的覆盖范围使客户能够根据其独特的策略、用例和需求定制部署。
作为云分发和边缘计算领域的领导者,CDNetworks 提供强大的网络支持:
CDNetworks 通过直观易用的控制台,确保客户获得流畅、轻松的上线体验。我们专业的上线服务使客户能够快速设置和管理其网络,从而让他们能够专注于核心业务,而无需管理复杂的底层基础设施。
在 CDNetworks,我们提供一系列量身定制的服务,以满足您的需求。我们遍布全球的专业团队随时为您提供所需的指导和解决方案,确保您的业务平稳运行。无论您需要技术支持、战略建议还是运营协助,我们都能满足您的需求。我们全面的服务套件让您可以专注于自己最擅长的领域,剩下的交给我们处理。