内容分发网络

CDN - 内容分发网络

内容分发网络(Content delivery network或Content distribution network,常简写成CDN)是指一种通过互联网互相连接的电脑网络系统,提供高性能、可扩展性、及低成本的网络将内容传递给用户。

CDN的优势

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

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

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

CDN另外一个好处在于有异地备援。当某个服务器故障时,系统将会调用其他邻近地区的服务器服务,进而提供接近100%的可靠度。
除此之外,CDN提供给服务提供者更多的控制权。提供服务的人可以针对客户、地区,或是其他因子调整。

技术

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

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

使用Squid Cache可以创建一个CDN。