打开Netflix观看一部电影时,视频数据并不一定每次都要从美国的服务器跨越太平洋传来。更常见的情况是,内容已提前缓存在离用户更近的节点上,播放请求发出后,可直接由附近服务器完成分发。
在数以千万计的用户同时看视频、下载游戏的场景下,如果所有数据都集中由单一源站发出,效率显然不高。用户离服务器越远,数据传输路径越长;一旦访问量集中到特定服务器或链路,速度下降和拥塞的风险也会随之上升。为解决这类问题,内容分发网络(CDN,Content Delivery Network)应运而生。
◆ 核心逻辑:把内容尽量放到离用户更近的地方
CDN的原理并不复杂。视频、图片、游戏安装包等内容,不再只存放于单一源站,而是分布在多个地区的服务器上。用户发起请求后,系统会优先由距离更近的CDN节点返回数据,而不是每次都回到源站获取内容。
承担内容复制和缓存功能的服务器,通常被称为缓存服务器或边缘服务器。其作用在于缩短数据传输距离,降低访问时延,同时分散源站和主干链路的流量压力。
当然,并不是所有内容都会长期保存在离用户最近的节点上。如果用户请求的数据已命中缓存,节点可直接返回;如果未命中,则需要从源站或上层节点拉取内容后再转发。关键在于,当同一内容被反复访问时,系统无需每次都回源到远端服务器。
Netflix就是典型案例。该公司运营自有CDN体系“Open Connect”,并通过在互联网服务提供商(ISP)网络内部部署专用服务器“Open Connect Appliance(OCA)”,或与部署在互联网交换中心(IXP)等位置的服务器节点直连,提升内容分发效率。
用户播放视频时,如果附近的OCA已经缓存了相关内容,视频数据就可直接从该节点发出。Netflix介绍称,部署在ISP网络内部的OCA可按地区分散处理流量,所需内容也会定期补充和更新。
运营YouTube的Google也采用了类似架构。Google在ISP网络内部部署“Google Global Cache(GGC)”,将部分Google内容放在更靠近用户的位置提供。Google表示,此举有助于降低ISP外部网络和互联链路的流量负担。
◆ 访问高峰时,CDN的价值更为明显
CDN的作用,在访问量短时集中爆发时尤为突出。无论是热门剧集新一季上线,还是大型体育赛事开赛,都会在短时间内推高同一内容的并发访问量。如果所有请求都由单一源站处理,不仅服务器本身会承压,连接源站的网络链路也可能成为瓶颈。
通过CDN,请求可以被分散到多台服务器处理。首尔用户可以从首尔或周边网络节点获取内容,其他地区用户则从各自附近节点接收数据。系统还可以设置为当某个节点发生故障时,自动切换至其他节点继续分发。
不过,CDN并不能彻底消除所有视频卡顿问题。用户侧的Wi-Fi环境、移动网络质量以及终端性能等“最后一公里”因素,同样会影响最终体验。这也是OTT服务通常会将CDN与自适应码率(ABR)等技术结合使用、根据网络状态动态调整画质的原因。
◆ 运营商与云厂商也在加码CDN布局
CDN并非只有Netflix、Google等平台企业在运营。当地通信运营商和云服务商也在依托全国通信网络和数据中心提供CDN服务。SK Broadband运营支持直播和大容量下载的CDN服务;KT Cloud同样提供可将大容量内容分散传输至多个节点的CDN方案。
对通信运营商而言,直接连接用户的网络资源是其天然优势。将内容部署在更靠近用户的网络节点,不仅有助于减少长距离链路传输流量,也能在大规模接入场景下更有效地分散负载。因此,CDN与通信网络本身始终保持着紧密联系。
归根结底,CDN反映的是一个并未过时的互联网规律:距离仍然重要。网络虽然能够连接全球服务器,但数据要传多远、在哪里处理,仍会直接影响用户感知到的速度和服务质量。用户在Netflix按下播放键后能迅速看到高清画面,背后正是分布在各地、离用户更近的CDN节点在发挥作用。