本文最后更新于 2023-05-14,文章内容可能已经过时。

内容分发网络(英语:Content Delivery Network或Content Distribution Network,缩写:CDN)它是指一种透过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户

优点

内容分发网络的总承载量可以比单一骨干最大的带宽还要大。这使得内容分发网络可以承载的用户数量比起传统单一服务器多。也就是说,若把有100Gbps处理能力的服务器放在只有10Gbps带宽的数据中心,则亦只能发挥出10Gbps的承载量。但如果放到十个有10Gbps的地点,整个系统的承载量就可以到10*10Gbps。

同时,将服务器放到不同地点,可以减少互连的流量,进而降低带宽成本。

对于TCP传输而言,TCP的速度(throughput)会受到延迟时间(latency)与数据包漏失率(packet loss)影响。为了改善这些负面因素,内容分发网络通常会指派较近、较顺畅的服务器节点将资料传输给用户。虽然距离并不是绝对因素,但这么做可以尽可能提高性能,用户将会觉得比较顺畅。这使得一些比较高带宽的应用(传输高清视频)更容易推动。

内容分发网络另外一个好处在于有异地备援。当某个服务器故障时,系统将会调用其他邻近地区的服务器服务,进而提供接近100%的可靠度。

除此之外,内容分发网络提供给服务提供者更多的控制权。提供服务的人可以针对客户、地区,或是其他因子调整。

技术

内容分发网络节点会在多个地点,多个不同的网络上摆放。这些节点之间会动态的互相传输内容,对用户的下载行为优化,并借此减少内容供应者所需要的带宽成本,改善用户的下载速度,提高系统的稳定性。

内容分发网络所需要的节点数量随着需求而不同,依照所需要服务的对象大小,有可能有数万台服务器。

服务器的运作方式一般是基于nginx的模式,也就是仅仅缓存网站的静态内容,不过,随着2017年世界各地CDN服务商纷纷推出HTTPS加速功能,运作方式也变得略有不同,变成了nginx+SNI(一个CDN节点上可以借此技术绑定N个域名),同时,BGP anycast技术也逐渐引入了CDN领域中。

P2P CDN

因部署或租用机房带来的多方面高昂成本和管理压力,学界和业界也研究了将P2P技术融入CDN部署和管理的技术,以降低运营成本和通信时延。中国大陆的迅雷、优酷、百度、阿里巴巴等公司就在2010年代多次尝试用户端运行的P2P众包类CDN服务、专用设备,模式为用户自愿以PC或专用设备利用闲置上行带宽充当CDN缓存节点,提供服务并赚取积分,而积分可兑换现金红包、特定商品或服务。

<完>