ECS

ECS(EDNS Client Subnet,RFC 7871)让递归解析器向权威携带一部分客户端网段,使 CDN 能做更精准的地理调度,但代价是隐私暴露与缓存复用率下降。

#type / concept #status / growing #tech / network #protocol / dns

[!info] related notes

ECS

一句话定义

ECS(EDNS Client Subnet,RFC 7871) 是 EDNS 的一个选项,让递归解析器向权威服务器携带一部分客户端网络前缀(如 /24),使 CDN/权威能据此做更精准的地理调度。

核心机制 / 工作原理

客户端 129.225.x.x
可能携带 129.225.x.x/24

递归解析器在查询里附带这个子网段,权威据此返回「离该子网最近」的边缘节点 IP。

最小例子 / 最小场景

没有 ECS 时,权威只知道递归解析器在法兰克福;有 ECS 时,它知道客户端子网在柏林,从而返回柏林边缘而非法兰克福边缘。

边界与易混淆点

  • 隐私代价:ECS 把客户端网段暴露给权威(及链路旁观者),是 GeoDNS 精准度与隐私的权衡。
  • 缓存复用率下降:同一公共 DNS 对不同客户端子网要缓存不同答案,命中率降低、查询量上升。
  • 是否启用、携带多长前缀,由递归解析器与权威协商;许多解析器默认只对自己网络内的用户启用,或只对支持 ECS 的权威发送。
  • ECS 不改变「递归解析器 IP 仍是最常看到的来源」这一事实(见 geodns)——它只是补充了一层客户端位置提示。
  • 它是「为什么不同客户端拿到不同 CDN 节点」的机制之一(见 why-same-domain-different-ip)。
创建于 2026/7/31 更新于 2026/7/31