:::tips 內容分发网络(Content Delivery Network 或 Content Distribution Network,简称 CDN) 通过将源站内容分发至 最接近用户 的节点,从而 降低核心系统负载(系统、网络),使用户可就近取得所需内容,提高用户访问的响应速度。这种技术方案解决了因分布、带宽、服务器性能带来的访问延迟问题,适用于图片小文件、大文件下载、音视频点播、全站加速和安全加速等场景。
:::
工作原理
通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN 系统能够实时地根据 网络流量 和 各节点的连接、负载状况 以及 到用户的距离 和 响应时间 等综合信息将用户的请求重新导向离用户最近的服务节点上。 利用公式简述 CDN 可表示为:简单地说,CDN 是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向 和 内容管理 4 个要件,而内容管理和全局的网络流量管理(Traffic Management)是 CDN 的核心所在。
CDN = 更智能的镜像 + 缓存 + 流量导流;
工作流程
用户终端访问 CDN 的过程分为两个步骤,一是用户通过 DNS 找到最近的 CDN 边缘节点 IP,二是数据在网络中送达用户终端。 最简单的 CDN 网络由一个 DNS 服务器和几台缓存服务器组成,假设您的加速域名为 www.taobao.com,接入 CDN 网络,开始使用加速服务后,当终端用户(广州)发起 HTTP 请求时,处理流程如下:步骤解析
- 当终端用户(广州)向 www.taobao.com 下的某资源发起请求时,首先向 LDNS(本地 DNS)发起域名解析请求。
- LDNS 检查缓存中是否有 www.taobao.com 的 IP 地址记录。如果有,则直接返回给终端用户;如果没有,则向授权 DNS 查询。
- 当授权 DNS 解析 www.taobao.com 时,返回域名 CNAME www.taobao.alicdn.com 对应 IP 地址。
- 域名解析请求发送至 DNS 调度系统,并为请求分配最佳节点 IP 地址。
- LDNS 获取 DNS 返回的解析 IP 地址。
- 用户获取解析 IP 地址。
- 用户向获取的 IP 地址发起对该资源的访问请求。
- 如果该 IP 地址对应的节点已缓存该资源,则会将数据直接返回给用户,例如,图中步骤 7 和 8,请求结束。
- 如果该 IP 地址对应的节点未缓存该资源,则节点向它的上级缓存服务器请求内容,直至追溯到网站的源站发起对该资源的请求。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,例如,途中的杭州节点,并返回给用户,请求结束。

