课程笔记:CDN的网络架构和术语说明
课程名称:计算机网络应用 核心摘要:本讲围绕 CDN(内容分发网络)展开,系统讲解 CDN 的两大核心组成部分——中心(GSLB 全局负载均衡)与边缘(边缘节点),剖析访问者、Local DNS、GSLB、SLB、边缘服务器、源站在整体架构中的协作流程,并梳理源站、命中率、回源、中间层服务器等关键术语,帮助学习者建立完整的 CDN 工作原理认知体系。
一、 核心概念与原理
- CDN(Content Delivery Network,内容分发网络):通过在异地部署边缘节点,使用户能够就近获取内容,从而降低源站压力、提升访问速度。
- 引入 CDN 后产生的两个核心概念:
- GSLB(Global Server Load Balance,全局负载均衡):负责全局调度,将用户请求分配到最合适的边缘节点。
- 边缘节点(Edge Node):CDN 内容分发的载体,由缓存服务器与负载均衡器组成,部署在异地(非中心机房)。
- CDN 网络架构分为两大部分:
- 中心:即"指挥部",由网关中心与 DNS 重定向解析中心共同构成 GSLB,通常部署在管理中心机房,负责全局负载均衡。
- 边缘:即"外围部队",指异地节点,作为 CDN 内容分发的载体,由缓存与负载均衡器组成。
架构类比理解(兵部—都督—将军模型)
| 明朝军事体系 | CDN 架构对应 | 职责说明 |
|---|---|---|
| 兵部 | GSLB(全局负载均衡) | 指挥全国部队作战,全局调度 |
| 都督(区域长官) | 边缘节点 / SLB | 管辖某一区域的部队 |
| 将军 | 边缘服务器 / 缓存服务器 | 实际执行作战任务,处理请求 |
| 倭寇来犯 | 用户请求到达 | 由对应区域都督派合适将军抵御 |
二、 技术细节与协议分析
CDN 网络架构组成要素
| 组件 | 英文/缩写 | 说明 |
|---|---|---|
| 访问者 | Actor | 发起内容请求的终端用户 |
| 本地 DNS | Local DNS | 用户所在地的 DNS 解析服务器 |
| 全局负载均衡 | GSLB | 接收 Local DNS 解析请求,返回合适的边缘节点负载均衡地址 |
| 本地负载均衡器 | SLB | CDN 节点内的负载均衡设备,将请求分发到具体边缘服务器 |
| 边缘服务器 | Edge Server | 又称高速缓存服务器,存储高频静态资源,直接响应客户端 |
| 源站 | Origin Server | 发布内容的原始网站,即引入 CDN 前的真实服务器 |
用户请求 CDN 的完整流程
1. 用户(Actor)发起域名访问请求
│
▼
2. 本地 DNS(Local DNS)进行域名解析
│ 最终域名解析交给 CDN 的 GSLB 处理
▼
3. GSLB 按预设策略(默认或自定义)选出"最接近用户"的节点
返回该节点对应的 SLB(本地负载均衡器)地址
│
▼
4. 用户请求到达 CDN 节点的负载均衡器(SLB)
SLB 通过 302 重定向或转发,指向合适的边缘服务器 IP
│
▼
5. 用户请求到达边缘服务器(缓存服务器)
- 命中缓存:直接返回本地缓存的静态资源
- 未命中:逐层回源获取资源
│ (缓存数据来源方向)
▼
6. 缓存内容来源链路:源站 ──▶ 负载均衡器 ──▶ 边缘服务器
CDN 节点内部结构
每个 CDN 节点 由两部分组成:
| 组成部分 | 作用 |
|---|---|
| 负载均衡设备(SLB) | 收集本节点内各缓存服务器的状态,与 GSLB 保持通讯,实现系统级负载均衡(即掌握各服务器存活与健康状态) |
| 高速缓存服务器(边缘服务器) | 存储用户高频访问的静态资源,就近响应客户端请求 |
最简 CDN 架构
- 理论最简架构:一个全局负载均衡 DNS(GSLB) + 各节点一个**缓存服务器(Cache)**即可运行。
- 实际工程考量:需考虑硬件设备、冗余设计等,自建成本远高于直接购买商业 CDN 服务。
- 企业实践:
- 涉及高频支付、安全性与独立性要求高的金融类公司可能自建 CDN。
- 约 90% 以上的企业(如拉勾等)选择直接购买阿里云等商业 CDN 产品,性价比更优。
三、 实践应用与配置命令
本讲以架构与术语讲解为主,无具体配置命令实操。关键逻辑要点如下:
- GSLB 调度策略:包含默认策略与自定义策略,用于将最接近用户的节点分配给用户。
- SLB 转发方式:
- 转发(Forward):负载均衡器将请求直接转发给后端边缘服务器。
- 重定向(302 Redirect):负载均衡器返回
302状态码及目标边缘节点服务器 IP,客户端再次发起请求。
- 静态加速资源类型:HTML、CSS、样式文件、图片、视频、音频等不易变化的静态资源,通常缓存于边缘服务器。
四、 重点与难点提示
- 易错点:GSLB 与 SLB 的区分
- GSLB:全局负载均衡,部署于中心机房,面向多节点调度。
- SLB:本地负载均衡,部署于 CDN 节点内部,面向节点内多台边缘服务器调度。
- 易错点:源站与边缘服务器的数据流向
- 数据来源于源站,经负载均衡器到达边缘服务器,中间存在一层代理,并非边缘服务器直接对接源站。
- 考点:CDN 节点的两大组成——负载均衡设备 + 高速缓存服务器。
- 考点:最简 CDN 架构的必要组件——GSLB + Cache。
- 考点:CDN 命中率的概念与计算——发出 100 个请求,50 个需回源取数据,则命中率为 50%;全部从边缘服务器获取则为 100%。
- 面试题:CDN 是如何做到"就近访问"的?(GSLB 通过预设策略选择最接近用户的节点)
- 面试题:为什么企业通常选择购买商业 CDN 而非自建?(硬件、冗余成本高,商业方案对 90% 以上企业更优)
五、 课后疑问/遗留问题
- GSLB 的具体调度策略有哪些(如基于地理位置、网络延迟、负载状态等)?默认策略与自定义策略如何配置?→ 预计后续课程展开。
- 缓存刷新与缓存预热机制如何工作?源站内容更新后,边缘节点如何同步?→ 待补充。
- 中间层服务器的收敛机制具体如何实现?多节点访问如何被收敛以提升命中率?→ 后续课程详解。
- CDN 安全性:自建 CDN 在金融高频支付场景下的安全优势体现在哪些具体方面?→ 待结合实战分析。
- HTTPS 与 CDN 的结合:证书如何在边缘节点部署,回源是否走加密链路?→ 后续课程延伸。