Anycast IP 技术
一个 IP 可以 同时绑定在全球多个物理机房的服务器上
用户访问这个 IP → 路由协议(BGP)会自动把请求送到 最近/最优节点
对用户来说 IP 看起来是同一个,但实际访问的节点可能在北京、上海、香港、美国等
Anycast 的好处
- 就近访问 / 低延迟
- 用户请求自动走最近节点
- 高可用 / 冗余
- 如果某个节点宕机,BGP 会自动把流量导向其他节点
- 安全
- 分布式架构可以缓解 DDoS 攻击
实际使用
用户访问 xxx.com
↓
请求 Anycast IP (215.233.215.16)
↓ BGP 路由
最近的 CDN 服务器接收请求,CDN 节点判断缓存
↓
缓存命中 → 返回缓存内容
缓存未命中 → 向源站 IP 发起请求 (26.54.118.38 / 26.54.118.49)
↓
源站返回内容 → CDN 缓存 → 返回用户
215.233.215.16 是 单一 IP
物理节点 在全球多个城市
路由选择 由互联网骨干路由(BGP)自动完成
用户访问时看不到多个节点,看到的就是单一 IP,但实际上背后有很多服务器在不同地区提供服务
总结一下:
一、访问流程总览
用户浏览器
↓ DNS 查询
本地 DNS / 递归 DNS → Cloudflare 权威 DNS (NS)
↓ 返回源站 A 记录
xxx.com. 60 IN A 26.54.118.38
xxx.com. 60 IN A 26.54.118.49
↓
用户访问域名 → 实际连接 CDN Anycast IP (215.233.215.16)
↓
CDN 节点判断缓存
├─ 缓存命中 → 直接返回内容
└─ 缓存未命中 → 向源站 IP 发起请求 (26.54.118.38 / 26.54.118.49)
↓ 源站返回内容 → CDN 缓存 → 返回用户
二、各层作用说明
| 层 | IP / 记录 | 作用 |
|---|---|---|
| NS / 权威 DNS | Cloudflare NS (duke.ns.cloudflare.com, tia.ns.cloudflare.com) | 管理域名,提供 A / AAAA / CNAME 等记录 |
| A / AAAA 记录 | 26.54.118.38 / 26.54.118.49 | 指向源站服务器(Origin Server) |
| CDN Anycast IP | 215.233.215.16 | 对外统一访问 IP,背后是全球多个 CDN 节点 |
| CDN 节点 | 全球物理服务器 | 缓存内容,处理用户请求,降低延迟和源站压力 |
| 源站服务器 | 源站 IP 对应的机器 | 生成动态内容或提供缓存未命中数据 |
三、关键特点
- DNS 与 CDN 分离
- 权威 DNS 管理源站 IP
- 用户访问域名 → 浏览器实际连接 CDN 节点
- 多 A 记录 + CDN
- 权威 DNS 返回多个源站 IP → CDN 节点在缓存未命中时可选择源站访问
- 用户看到的 IP 通常是单一 Anycast IP
- Anycast IP
- 单一 IP 对外,背后多个 CDN 节点
- BGP 自动路由 → 用户访问最近节点
- 缓存与负载均衡
- CDN 节点缓存静态内容
- 动态请求或缓存未命中 → CDN 请求源站
- 全球流量分散到不同节点
- 安全与高可用
- 源站 IP隐藏,防止直接攻击
- 多节点冗余,自动容错
四、总结一句话
用户访问域名 → DNS 返回源站 IP → 实际连接 CDN Anycast IP → CDN 判断缓存 → 缓存命中直接返回 → 缓存未命中访问源站 → 返回用户。 整个过程实现 加速、负载均衡、高可用和安全。
参考资料
关于 cloudflare 的 anycast-network 的介绍
https://www.cloudflare-cn.com/learning/cdn/glossary/anycast-network/
关于 CDN
https://www.cloudflare-cn.com/learning/cdn/what-is-a-cdn/
