指尖上的记忆指尖上的记忆
Home
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
Home
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

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 / 权威 DNSCloudflare 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 IP215.233.215.16对外统一访问 IP,背后是全球多个 CDN 节点
CDN 节点全球物理服务器缓存内容,处理用户请求,降低延迟和源站压力
源站服务器源站 IP 对应的机器生成动态内容或提供缓存未命中数据

三、关键特点

  1. DNS 与 CDN 分离
  • 权威 DNS 管理源站 IP
  • 用户访问域名 → 浏览器实际连接 CDN 节点
  1. 多 A 记录 + CDN
  • 权威 DNS 返回多个源站 IP → CDN 节点在缓存未命中时可选择源站访问
  • 用户看到的 IP 通常是单一 Anycast IP
  1. Anycast IP
  • 单一 IP 对外,背后多个 CDN 节点
  • BGP 自动路由 → 用户访问最近节点
  1. 缓存与负载均衡
  • CDN 节点缓存静态内容
  • 动态请求或缓存未命中 → CDN 请求源站
  • 全球流量分散到不同节点
  1. 安全与高可用
  • 源站 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/