什么是 Anycast DNS——全球边缘任播路由如何消除访问延迟
核心定义与要点提炼
Anycast 任播技术允许多个分布在全球的物理服务器共享同一个 IP 地址,自动将来访用户引流至物理距离最近的边缘节点。
任播(Anycast)是一种路由技术:同一个 IP 地址由分布在不同地点的一组终端共同使用。 Microsoft Learn 的官方概览说得很直接——任播「为一组各自持有同一个 IP 地址的终端提供多条 路由路径」,而「由路由协议来选出哪一个是最佳目的地」。
用在 DNS 上,就是让一台 DNS 服务器(或一组服务器)根据 DNS 客户端所在的地理位置来回答 查询。同一个地址由每一个提供服务的地点同时广播,网络从中选一个,于是访客得到的是离自己 最近的那个健康副本的答案,而不是某一个数据中心里的一台机器。
单播与任播路由的区别
理解任播,需要先与传统的单播路由对照:
- 单播路由:一个 IP 地址只对应一个物理位置。如果那台服务器在德国法兰克福,澳大利亚悉尼的访客就得让数据包绕地球半个来回,付出数百毫秒的路由延迟。
- 任播路由:同一个 IP 地址由东京、伦敦、纽约、圣保罗、悉尼的节点同时广播。每一位访客都由离他近的那个节点作答。
同一个地址、由每一条边缘同时广播,这就是全部:
textone address: 203.0.113.10 │ ├─ announced from Tokyo ─ the visitor in Tokyo ├─ announced from London ─ the visitor in London ├─ announced from New York ─ the visitor in New York └─ announced from Sydney ─ the visitor in Sydney
在单播下,那一个地址只指向一个地方,悉尼的访客要跨过一片海洋。是 BGP 把一个地址变成 许多个——而等价成本多路径(ECMP)路由让网络可以在它们之间分流。
一次查询究竟怎么到达正确的节点
这一段通常被讲成「保证」,而它并不是保证。微软的描述比坊间的说法更审慎:当客户端查询一个 任播地址时,「可用的路由会被逐一评估,查询被送往那个首选地点。一般来说,这个地点是 按网络拓扑而言最近的那个。」
所以准确的说法是:网络把查询送往它能看到的最短可用路由,而这条路由通常——一般来说—— 通往最近的地点,但决定因素是网络拓扑,而不是地图上的距离。一条有绕行的路由,对那一刻的 那个客户端来说,仍可能是最短的一条。
它用在哪里
微软列了三条,也就是诚实的三条:
| 任播 DNS 用来做什么 | 它实际做的事 |
|---|---|
| 响应时间 | 查询由离客户端近的地点作答,而不是由一个固定的源站作答,这「可以提升 DNS 响应时间」 |
| 冗余 | 「多一层冗余」——某个地点宕了或它的路由断了,同一个地址仍可由其他地点作答 |
| 拒绝服务防护 | 它「有助于抵御 DNS 拒绝服务攻击」,因为打向同一个地址的洪流会被摊到它的每一份副本上 |
而且这不是实验品。 任播 DNS「如今已被广泛用于为许多全球 DNS 服务导流。举例来说, 根域名系统就严重依赖任播 DNS」——Azure DNS 也用任播来服务自己的区域。
它不是什么
- 它不保证最近的那个节点。 它保证网络会挑一个好的,而「好」是按路由算的,不是按公里算的。
- 它不是 DNS 扩容的必要条件。 微软自己的 FAQ 说得很直白:任播 DNS「与本地部署的 DNS
服务无缝配合。不过,DNS 服务要扩容并不需要任播。」
- 它本身不会让网站变快。 它让的是查询变快、变本地。答案到达之后页面渲染得多快,是
另一个指标——本站量的就是那一个。
Zeso 的原生任播
站点本身就跑在同一类网络上:Zeso 把网站编译为不可变的静态资源,分发到全球 ${EDGE_CLAIMS.locations} 个 Anycast 边缘节点,响应由离访者最近的城市给出,而不是来自 某一个源站机房。
至于域名查询本身,用的是 Cloudflare 的权威名字服务器——这意味着「这个域名在哪里」这个答案, 也由同一个任播原理算出:在提问者最近的那个地点,而不是在别的某台机器上。
出处
- Microsoft Learn 的 Anycast DNS 概览 —— 定义、「首选地点……一般来说按网络拓扑最近」的措辞、三条用途、对根域名系统的依赖,以及「任播不是 DNS 扩容所必需」那问答。最后更新 2023-02-13。
- RFC 4786 §4.4.3 — Equal-Cost Paths,Microsoft Learn 正是引它来说明「同一台后端 DNS 服务器、一致的 BGP 路径」那种情况。
- Wikipedia — Anycast
在你的独立域名上体验边缘极速
全球 330+ 边缘节点、中位数低于 50ms 的 TTFB、Anycast 任播路由与全自动免费 SSL 证书。