知识卡片

CDN路由解析靠DNS的CNAME链条导流

结构图卡

内容

CDN把用户请求导向最近缓存节点的秘密,正是[[DNS递归解析与权威服务器的 智能线路能力]]中”权威DNS可以按策略返回不同结果”这个能力的具体应用。 接入CDN时,源站IP会被注册成CDN服务商的一个”源站”,得到一个CNAME;网站 自己的DNS服务商把这个CNAME设置为域名的解析记录。此后每次用户访问,本地 DNS递归查到的不再是源站IP,而是先解析出这个CNAME,再由CDN服务商架设的 权威DNS接管:这个权威DNS根据拓扑结构、容量、时延等参数,从全国各地的 CDN节点中挑一个当前最合适的,把它的IP当作最终结果返回。浏览器全程以为 自己访问的就是源站,实际上是被DNS的CNAME链条”调度”到了缓存节点——用户 和源站都对这次调度无感知,这正是CDN”透明”二字的技术根基:不是CDN节点 主动拦截流量,而是DNS解析结果一开始就没有指向源站。

结构图

sequenceDiagram
    participant U as 用户浏览器
    participant L as 本地DNS
    participant D as 网站DNS服务商
    participant C as CDN权威DNS
    participant N as CDN缓存节点
    U->>L: 查询 icyfenix.cn
    L->>D: 递归查询
    D-->>L: 返回CNAME (icyfenix.cn.cdn.xxx.com)
    L->>C: 查询该CNAME
    C->>C: 按拓扑/容量/时延挑选最优节点
    C-->>L: 返回该节点IP (代替源站IP)
    L-->>U: 返回节点IP
    U->>N: 访问该IP (以为是源站)

参考来源

- 位置:《凤凰架构:构建可靠的大型分布式系统》第4章"透明多级分流系统" 4.4.1节"路由解析"(源文件:_epub-src对应OEBPS/Text/chapter45.xhtml) - 结论依据:原文用真实dig查询记录展示icyfenix.cn先解析出CNAME、再由 CDN权威DNS返回若干地区A记录的完整过程,并说明CDN权威服务器会根据拓扑 结构、容量、时延等参数挑选最适合的缓存节点,直接支撑本卡片结构梳理。 - 原始内容:本地DNS查询CNAME时,由于能解析该CNAME的权威服务器只有CDN 服务商所架设的权威DNS,这个DNS服务将根据一定的均衡策略和参数,如拓扑 结构、容量、时延等,在全国各地能提供服务的CDN缓存节点中挑选一个最 适合的。