什么是 CDN?
CDN(Content Delivery Network,内容分发网络)又称内容分发网络,是一组地理上分散且相互连接的服务器,它们从最靠近用户的网络位置提供缓存的互联网内容,以加快其交付速度。
CDN 的主要目标是通过减少向用户发送内容和富媒体所需的时间来提高网络性能。如今,CDN 处理大部分网络流量,包括来自 Facebook、Netflix 和 Amazon 等知名网站的流量。
为什么使用 CDN 很重要?
内容交付网络对于提供商和网站所有者来说至关重要,因为他们可以更轻松地将内容(例如图像、视频和网站文件)传输到世界各地的众多服务器。这可以增强用户体验,尤其是对于远离原始服务器的用户。它还可以加快网页加载时间,同时减轻主服务器的压力。
由于内容由众多服务器提供,CDN 可以帮助提高网站的安全性和可靠性,使其不易受到安全攻击和停机。
CDN 如何工作?
CDN 网络边缘访问内容缓存的过程对用户来说几乎总是透明的。CDN 管理软件会动态计算哪个服务器最接近用户,并根据这些计算发送请求和交付内容。CDN 边缘服务器与内容的原始服务器进行通信,以向用户交付缓存和未缓存的新内容。
边缘服务器缩短了内容传输的距离和数据包中的跳数。结果是数据包丢失更少、带宽优化和性能更快。这最大限度地减少了超时、延迟和抖动,同时还改善了用户体验。如果发生互联网攻击或中断,缓存和托管在 CDN 服务器上的新内容仍可由最靠近边缘的用户使用,直到 CDN 服务器的生命周期到期。例如,如果网站服务器发生故障,并且该网站在不同的地理分散的服务器上正确缓存,则访问者仍然可以访问该网站。
组织从 CDN 提供商购买服务,以将内容路由到地理位置最近的用户。CDN 提供商可以自行托管内容,也可以向网络运营商和互联网服务提供商付费以托管 CDN 服务器。
CDN 提供商还使用负载平衡和固态硬盘来帮助数据更快地到达用户。他们使用压缩和特殊算法来减小文件大小,并部署机器学习和人工智能来缩短加载和传输时间。
CDN 缓存如何工作?
CDN 的功能主要依赖于缓存静态内容。数据由 CDN 边缘服务器存储和缓存。
以下是CDN缓存过程的典型示例:
位于芝加哥的网络服务器托管位于华盛顿特区的网站访问者请求的静态网络内容
位于芝加哥的源服务器收到请求后,会向网站访问者发送响应,同时会将响应的副本发送到地理位置上距离网站访问者最近的 CDN 接入点 (POP)。
CDN POP 将其副本存储为缓存文件。
当同一个访问者或同一位置的其他访问者再次提出类似请求时,缓存服务器(而不是原始服务器)将提供响应。
CDN 和网络主机
尽管使用类似的技术,CDN 和虚拟主机的目的却完全不同。两者的主要区别如下:
与网络主机不同,CDN 不向消费者提供最后一英里的内容,而仅提供临时内容存储和缓存。
Web 托管通常提供对单个服务器的访问,该服务器处理从主机名解析到请求交付的所有事务。另一方面,CDN 利用全球服务器网络来缩短网站响应时间,因为数据是从最近的边缘位置提供的。
网站托管商负责托管网站。CDN 虽然不托管内容,但它会在网络边缘缓存内容以提高性能。大多数面临性能问题的网站都会选择 CDN。
Web 托管提供所有类型的内容,而 CDN 仅提供和托管静态数据。因此,CDN 服务器的工作量减少,使其能够专注于边缘交付的主要任务。
传统网络托管偶尔会遇到带宽限制、服务中断、安全风险等问题,CDN 通过在边缘服务器上使用内容缓存来解决这些问题。
CDN 的用途是什么?
CDN 的主要目的是通过服务器网络以安全高效的方式交付内容。这些网络可以提高内容的安全性、性能和可用性。其他 CDN 用例包括收集用户分析和跟踪网络流量数据。CDN 提供各种内容,包括网站、移动应用程序、流媒体和可下载对象。社交媒体和搜索引擎流量通过 CDN 传输。
内容所有权组织使用 CDN 服务来加速静态和动态内容、在线游戏、移动内容、流媒体视频和其他专门服务的交付。
以下是一些 CDN 使用示例:
一家电子商务组织使用 CDN 在全年流量可能激增的繁忙时段提供内容。
银行使用 CDN 安全地传输敏感的客户数据。
移动应用程序提供商使用 CDN 来减少加载时间并增加响应时间,从而改善移动用户的客户体验。
CDN 有哪些好处?
CDN具有以下优势:
效率。CDN 可以缩短网页加载时间并降低跳出率。这两个优势可以防止用户放弃加载缓慢的网站或电子商务应用程序。
安全性。除了内容缓存和 Web 交付之外,CDN 提供商还提供补充其核心功能并利用其在网络边缘存在的服务。这些服务包括分布式拒绝服务 (DDoS) 攻击缓解、Web 应用程序防火墙 (WAF) 和机器人缓解。
可用性。由于网站分布在多个地理分散的服务器上,CDN 具有可扩展性。它们可以处理更多流量,并且比原始服务器更好地避免网络故障。因此,内容随时可用。
优化。这些网络提供各种性能和网络内容优化服务,以补充缓存的网站内容。
节省资源和成本。CDN可以减少带宽消耗和成本。
降低延迟。CDN 架构旨在降低长距离和跨网络流量传输造成的网络延迟。随着越来越多的动态内容、视频和软件即服务被交付到越来越多的移动设备,消除延迟变得至关重要。信誉良好的 CDN 提供商可以帮助以极低的延迟率交付高质量的内容。
缓存。CDN 提供商将缓存内容存储在其 POP 或第三方数据中心。当用户从也缓存在 CDN 上的网站请求内容时,它会将请求重定向到最靠近用户的服务器,并从网络边缘的位置提供缓存内容。此过程对用户是不可见的。
提高性能。许多组织使用 CDN 来缓存网站内容以满足其性能要求。随着网站提供越来越多的流媒体视频、电子商务和云应用程序(高性能是关键),对 CDN 服务的需求正在增加。很少有 CDN 在每个国家/地区都有 POP。因此,组织必须使用多个 CDN 提供商来确保他们满足其客户和用户的需求,无论他们位于何处。
特殊服务。提供的其他服务包括 Web 和应用程序性能和加速服务、流媒体视频和广播媒体优化以及视频数字版权管理。一些 CDN 提供商向企业提供其应用程序编程接口 (API),以满足其独特需求。
有哪些 CDN 平台的例子?
市场上有很多 CDN,每个产品提供各种功能。
一些 CDN 提供商(例如 Cloudflare 和 Limelight)将其平台作为 CDN 进行营销,并提供附加服务(包括 DDoS 或 WAF)。其他提供商(例如ArvanCloud)将 CDN 服务作为更广泛的云服务(例如云安全和托管域名系统)的一部分提供。
CDN的历史
CDN是现代互联网架构中不可或缺的一部分,它们为了维持高效的网站性能而诞生,至今仍然发挥着这一作用。
CDN经过多年的发展,大致可以分为以下三代:
静态 CDN
Akamai 于 1998 年推出了其首个静态 CDN。该公司的技术是当今 CDN 的基础。第一代 CDN 主要专注于静态内容,例如软件下载以及音频和视频流。
静态CDN提供以下功能:
提供的内容包括 HTML 和可下载的文件。
使用源推送缓存。
提高了服务器性能。
采用分散的网络拓扑结构。
花了很多钱。
满足商界的需求。
动态 CDN
随着云计算和移动计算的兴起,第二代CDN服务也在不断发展。它们可以高效地交付更复杂的动态多媒体和网络内容。随着互联网使用量的增加,CDN提供商的数量成倍增加,它们提供的服务也越来越多。
动态CDN提供以下功能:
向最终用户提供静态和动态内容,包括富媒体。
使用原点来提取缓存。
使用合并的网络拓扑。
提高服务器和资源的效率和可访问性。
花费昂贵的钱。
满足商业领域的需求。
多用途 CDN
第三代或下一代 CDN 使用来自不同 CDN 提供商的多个 CDN。使用大规模 POP 网络(而不是仅使用一个)可进一步提高内容交付速度、扩大区域和全球覆盖范围,并消除网络安全风险和中断。
多用途CDN具有以下特点:
提供静态和动态内容,包括富媒体。
使用原点来提取缓存。
使用高度集成的网络拓扑。
提高安全性、性能和可用性。
花费可承受的金额。
多用途 CDN 的目标受众包括拥有网站的任何人。
有些 CDN 商业模式是基于使用量定价或内容交付容量。有些 CDN 商业模式对基本服务收取固定费用,甚至免费提供,并对性能和优化服务收取额外费用。